X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fcups.git;a=blobdiff_plain;f=cups%2Fusersys.c;h=28b40d0be537dff00a28345ac4f5a02c6173d77d;hp=b75dc3790539bfa51a550717cba9765562a9f686;hb=568fa3faf16f8694653600d87955473941cc03c1;hpb=f7faf1f5c3235dfa4f883522da7dc6446f028247 diff --git a/cups/usersys.c b/cups/usersys.c index b75dc3790..28b40d0be 100644 --- a/cups/usersys.c +++ b/cups/usersys.c @@ -1,26 +1,17 @@ /* - * "$Id: usersys.c 5182 2006-02-26 04:10:27Z mike $" + * "$Id: usersys.c 6649 2007-07-11 21:46:42Z mike $" * * User, system, and password routines for the Common UNIX Printing * System (CUPS). * + * Copyright 2007-2008 by Apple Inc. * Copyright 1997-2006 by Easy Software Products. * * These coded instructions, statements, and computer programs are the - * property of Easy Software Products and are protected by Federal - * copyright law. Distribution and use rights are outlined in the file - * "LICENSE.txt" which should have been included with this file. If this - * file is missing or damaged please contact Easy Software Products - * at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636 USA - * - * Voice: (301) 373-9600 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * property of Apple Inc. and are protected by Federal copyright + * law. Distribution and use rights are outlined in the file "LICENSE.txt" + * which should have been included with this file. If this file is + * file is missing or damaged, see the license at "http://www.cups.org/". * * This file is subject to the Apple OS-Developed Software exception. * @@ -49,6 +40,7 @@ #ifdef WIN32 # include #endif /* WIN32 */ +#include "debug.h" /* @@ -62,9 +54,9 @@ static cups_file_t *cups_open_client_conf(void); * 'cupsEncryption()' - Get the default encryption settings. * * The default encryption setting comes from the CUPS_ENCRYPTION - * environment variable, then the ~/.cupsrc file, and finally the + * environment variable, then the ~/.cups/client.conf file, and finally the * /etc/cups/client.conf file. If not set, the default is - * HTTP_ENCRYPT_IF_REQUESTED. + * @code HTTP_ENCRYPT_IF_REQUESTED@. */ http_encryption_t /* O - Encryption settings */ @@ -141,7 +133,7 @@ cupsEncryption(void) /* * 'cupsGetPassword()' - Get a password from the user. * - * Uses the current password callback function. Returns NULL if the + * Uses the current password callback function. Returns @code NULL@ if the * user does not provide a password. */ @@ -159,7 +151,13 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */ void cupsSetEncryption(http_encryption_t e) /* I - New encryption preference */ { - _cupsGlobals()->encryption = e; + _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ + + + cg->encryption = e; + + if (cg->http) + httpEncryption(cg->http, e); } @@ -224,15 +222,21 @@ cupsServer(void) linenum = 0; while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum) != NULL) + { + DEBUG_printf(("cupsServer: %d: %s %s\n", linenum, line, + value ? value : "(null)")); + if (!strcasecmp(line, "ServerName") && value) { /* * Got it! */ + DEBUG_puts("cupsServer: Got a ServerName line!"); server = value; break; } + } cupsFileClose(fp); } @@ -242,6 +246,8 @@ cupsServer(void) * Copy the server name over and set the port number, if any... */ + DEBUG_printf(("cupsServer: Using server \"%s\"...\n", server)); + strlcpy(cg->server, server, sizeof(cg->server)); if (cg->server[0] != '/' && (port = strrchr(cg->server, ':')) != NULL && @@ -249,6 +255,7 @@ cupsServer(void) { *port++ = '\0'; + DEBUG_printf(("cupsServer: Using port %d...\n", atoi(port))); ippSetPort(atoi(port)); } @@ -265,7 +272,7 @@ cupsServer(void) /* * 'cupsSetPasswordCB()' - Set the password callback for CUPS. * - * Pass NULL to restore the default (console) password callback. + * Pass @code NULL@ to restore the default (console) password callback. */ void @@ -285,7 +292,7 @@ cupsSetPasswordCB(cups_password_cb_t cb)/* I - Callback function */ * 'cupsSetServer()' - Set the default server name. * * The "server" string can be a fully-qualified hostname, a numeric - * IPv4 or IPv6 address, or a domain socket pathname. Pass NULL to + * IPv4 or IPv6 address, or a domain socket pathname. Pass @code NULL@ to * restore the default server name. */ @@ -318,13 +325,19 @@ cupsSetServer(const char *server) /* I - Server name */ cg->server[0] = '\0'; cg->servername[0] = '\0'; } + + if (cg->http) + { + httpClose(cg->http); + cg->http = NULL; + } } /* * 'cupsSetUser()' - Set the default user name. * - * Pass NULL to restore the default user name. + * Pass @code NULL@ to restore the default user name. */ void @@ -471,11 +484,17 @@ cups_open_client_conf(void) snprintf(filename, sizeof(filename), "%s/.cups/client.conf", home); if ((fp = cupsFileOpen(filename, "r")) != NULL) + { + DEBUG_printf(("cups_open_client_conf: Using \"%s\"...\n", filename)); return (fp); + } snprintf(filename, sizeof(filename), "%s/.cupsrc", home); if ((fp = cupsFileOpen(filename, "r")) != NULL) + { + DEBUG_printf(("cups_open_client_conf: Using \"%s\"...\n", filename)); return (fp); + } } snprintf(filename, sizeof(filename), "%s/client.conf", cg->cups_serverroot); @@ -484,5 +503,5 @@ cups_open_client_conf(void) /* - * End of "$Id: usersys.c 5182 2006-02-26 04:10:27Z mike $". + * End of "$Id: usersys.c 6649 2007-07-11 21:46:42Z mike $". */