/*
- * "$Id: client.h 5069 2006-02-04 05:24:35Z mike $"
+ * "$Id: client.h 6503 2007-05-01 23:06:44Z mike $"
*
* Client definitions for the Common UNIX Printing System (CUPS) scheduler.
*
- * Copyright 1997-2006 by Easy Software Products, all rights reserved.
+ * Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
* property of Easy Software Products and are protected by Federal
* WWW: http://www.cups.org
*/
+#ifdef HAVE_AUTHORIZATION_H
+# include <Security/Authorization.h>
+#endif /* HAVE_AUTHORIZATION_H */
+
/*
* HTTP client structure...
*/
/* Localized URL/URI for GET/PUT */
*filename, /* Filename of output file */
*command, /* Command to run */
- *options; /* Options for command */
+ *options, /* Options for command */
+ *query_string; /* QUERY_STRING environment variable */
int file; /* Input/output file */
int file_ready; /* Input ready on file/pipe? */
int pipe_pid; /* Pipe process ID (or 0 if not a pipe) */
http_addr_t clientaddr; /* Client address */
char servername[256];/* Server name for connection */
int serverport; /* Server port for connection */
+#ifdef HAVE_GSSAPI
+ int no_negotiate; /* Don't offer WWW-Authenticate: Negotiate */
+ gss_buffer_desc gss_output_token;
+ /* Output token for Negotiate header */
+ gss_cred_id_t gss_delegated_cred;
+ /* Credentials from client header */
+#endif /* HAVE_GSSAPI */
+#ifdef HAVE_AUTHORIZATION_H
+ AuthorizationRef authref; /* Authorization ref */
+#endif /* HAVE_AUTHORIZATION_H */
};
#define HTTP(con) &((con)->http)
extern void cupsdCloseAllClients(void);
extern int cupsdCloseClient(cupsd_client_t *con);
extern void cupsdDeleteAllListeners(void);
-extern int cupsdEncryptClient(cupsd_client_t *con);
-extern int cupsdIsCGI(cupsd_client_t *con, const char *filename,
- struct stat *filestats, mime_type_t *type);
+extern int cupsdFlushHeader(cupsd_client_t *con);
extern void cupsdPauseListening(void);
extern int cupsdProcessIPPRequest(cupsd_client_t *con);
-extern int cupsdReadClient(cupsd_client_t *con);
+extern void cupsdReadClient(cupsd_client_t *con);
extern void cupsdResumeListening(void);
extern int cupsdSendCommand(cupsd_client_t *con, char *command,
char *options, int root);
-extern int cupsdSendError(cupsd_client_t *con, http_status_t code);
-extern int cupsdSendFile(cupsd_client_t *con, http_status_t code,
- char *filename, char *type,
- struct stat *filestats);
+extern int cupsdSendError(cupsd_client_t *con, http_status_t code,
+ int auth_type);
extern int cupsdSendHeader(cupsd_client_t *con, http_status_t code,
- char *type);
+ char *type, int auth_type);
extern void cupsdShutdownClient(cupsd_client_t *con);
extern void cupsdStartListening(void);
extern void cupsdStopListening(void);
extern void cupsdUpdateCGI(void);
-extern int cupsdWriteClient(cupsd_client_t *con);
+extern void cupsdWriteClient(cupsd_client_t *con);
/*
- * End of "$Id: client.h 5069 2006-02-04 05:24:35Z mike $".
+ * End of "$Id: client.h 6503 2007-05-01 23:06:44Z mike $".
*/