From a9e008ee36c8fd9ca79b3bdfdc78111939c3e539 Mon Sep 17 00:00:00 2001 From: Luca Olivetti Date: Tue, 4 May 2010 15:07:57 -0700 Subject: Fix bug #7263 - Unable to print using Samba 3.5.1 and cups-1.1.23-40.46 on SLES10. Fix cups encryption setting I had the same problem and it's due to the fact that samba doesn't respect the "cups encryption" setting since lp_cups_encrypt changes the value: if you set "cups encryption=no", the first call will change it to HTTP_ENCRYPT_NEVER, since that is 1 (i.e. true), the next call will change it to HTTP_ENCRYPT_ALWAYS and after that it'll remain set as HTTP_ENCRYPT_ALWAYS. This patch fixes this problem. Don't mix up the HTTP_ENCRYPT_XXX constants up with the enumeration constants (True, False, Auto) used in the loadparm code. --- source3/param/loadparm.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'source3') diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 350f3c077c..113b8677a1 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -5678,20 +5678,21 @@ FN_LOCAL_STRING(lp_cups_options, szCupsOptions) FN_GLOBAL_STRING(lp_cups_server, &Globals.szCupsServer) int lp_cups_encrypt(void) { + int result = 0; #ifdef HAVE_HTTPCONNECTENCRYPT switch (Globals.CupsEncrypt) { case Auto: - Globals.CupsEncrypt = HTTP_ENCRYPT_REQUIRED; + result = HTTP_ENCRYPT_REQUIRED; break; case True: - Globals.CupsEncrypt = HTTP_ENCRYPT_ALWAYS; + result = HTTP_ENCRYPT_ALWAYS; break; case False: - Globals.CupsEncrypt = HTTP_ENCRYPT_NEVER; + result = HTTP_ENCRYPT_NEVER; break; } #endif - return Globals.CupsEncrypt; + return result; } FN_GLOBAL_STRING(lp_iprint_server, &Globals.szIPrintServer) FN_GLOBAL_INTEGER(lp_cups_connection_timeout, &Globals.cups_connection_timeout) -- cgit