cups/cups-str4205.patch

70 lines
2.8 KiB
Diff

From 7d54edf278380093a00fd850ca3f88d6e4777e46 Mon Sep 17 00:00:00 2001
From: mike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Date: Wed, 12 Dec 2012 12:27:27 +0000
Subject: [PATCH] Don't set auth-info-required all of the time (STR #4205)
git-svn-id: http://svn.easysw.com/public/cups/trunk@10749 7a7537e8-13f0-0310-91df-b6672ffda945
diff -up cups-1.5.4/scheduler/printers.c.str4205 cups-1.5.4/scheduler/printers.c
--- cups-1.5.4/scheduler/printers.c.str4205 2012-12-18 14:15:01.000000000 +0100
+++ cups-1.5.4/scheduler/printers.c 2012-12-18 14:24:12.269701428 +0100
@@ -2213,8 +2213,6 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
int i, /* Looping var */
length; /* Length of browse attributes */
char resource[HTTP_MAX_URI]; /* Resource portion of URI */
- int num_air; /* Number of auth-info-required values */
- const char * const *air; /* auth-info-required values */
cupsd_location_t *auth; /* Pointer to authentication element */
const char *auth_supported; /* Authentication supported */
ipp_t *oldattrs; /* Old printer attributes */
@@ -2222,15 +2220,6 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
cups_option_t *option; /* Current printer option */
char *name, /* Current user/group name */
*filter; /* Current filter */
- static const char * const air_none[] =
- { /* No authentication */
- "none"
- };
- static const char * const air_userpass[] =
- { /* Basic/Digest authentication */
- "username",
- "password"
- };
DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -2254,20 +2243,6 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
*/
auth_supported = "requesting-user-name";
- num_air = 1;
- air = air_none;
-
- if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
- {
- num_air = p->num_auth_info_required;
- air = p->auth_info_required;
- }
- else if ((p->type & CUPS_PRINTER_AUTHENTICATED) &&
- (p->type & CUPS_PRINTER_DISCOVERED))
- {
- num_air = 2;
- air = air_userpass;
- }
if (p->type & CUPS_PRINTER_CLASS)
snprintf(resource, sizeof(resource), "/classes/%s", p->name);
@@ -2349,8 +2324,10 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
"job-k-limit", p->k_limit);
ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
"job-page-limit", p->page_limit);
- ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
- "auth-info-required", num_air, NULL, air);
+ if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
+ ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
+ "auth-info-required", p->num_auth_info_required, NULL,
+ p->auth_info_required);
if (cupsArrayCount(Banners) > 0 && !(p->type & CUPS_PRINTER_DISCOVERED))
{