From: Michael R Sweet Date: Tue, 16 Jul 2019 13:27:13 +0000 (-0400) Subject: Fix lpadmin with cupsIPPSupplies and cupsSNMPSupplies (Issue #5610) X-Git-Tag: v2.3.0~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9539c53065170e97836503074e770d7b5fbf9f83;p=thirdparty%2Fcups.git Fix lpadmin with cupsIPPSupplies and cupsSNMPSupplies (Issue #5610) --- diff --git a/CHANGES.md b/CHANGES.md index 96141157c0..aea1045b34 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ Changes in CUPS v2.3.0 - Removed dead code from the scheduler (Issue #5593) - "make" failed with GZIP options (Issue #5595) - Fixed a NULL pointer dereference bug in `httpGetSubField2` (Issue #5598) +- The `lpadmin` command did not always update the PPD file for changes to the + `cupsIPPSupplies` and `cupsSNMPSupplies` keywords (Issue #5610) - The scheduler now uses both the group's membership list as well as the various OS-specific membership functions to determine whether a user belongs to a named group (Issue #5613) diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c index f428368d4d..ca6d386b2e 100644 --- a/systemv/lpadmin.c +++ b/systemv/lpadmin.c @@ -1467,6 +1467,7 @@ set_printer_options( (boolval = cupsGetOption("cupsIPPSupplies", num_options, options)) != NULL) { + ppdchanged = 1; wrote_ipp_supplies = 1; cupsFilePrintf(out, "*cupsIPPSupplies: %s\n", (!_cups_strcasecmp(boolval, "true") || @@ -1477,6 +1478,7 @@ set_printer_options( (boolval = cupsGetOption("cupsSNMPSupplies", num_options, options)) != NULL) { + ppdchanged = 1; wrote_snmp_supplies = 1; cupsFilePrintf(out, "*cupsSNMPSupplies: %s\n", (!_cups_strcasecmp(boolval, "true") || @@ -1537,6 +1539,8 @@ set_printer_options( (boolval = cupsGetOption("cupsIPPSupplies", num_options, options)) != NULL) { + ppdchanged = 1; + cupsFilePrintf(out, "*cupsIPPSupplies: %s\n", (!_cups_strcasecmp(boolval, "true") || !_cups_strcasecmp(boolval, "yes") || @@ -1547,6 +1551,8 @@ set_printer_options( (boolval = cupsGetOption("cupsSNMPSupplies", num_options, options)) != NULL) { + ppdchanged = 1; + cupsFilePrintf(out, "*cupsSNMPSupplies: %s\n", (!_cups_strcasecmp(boolval, "true") || !_cups_strcasecmp(boolval, "yes") || @@ -1561,8 +1567,7 @@ set_printer_options( * Do the request... */ - ippDelete(cupsDoFileRequest(http, request, "/admin/", - ppdchanged ? tempfile : file)); + ippDelete(cupsDoFileRequest(http, request, "/admin/", ppdchanged ? tempfile : file)); /* * Clean up temp files... (TODO: catch signals in case we CTRL-C during