diff options
author | Didier Raboud <odyx@debian.org> | 2019-08-17 15:32:31 +0200 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2019-08-17 15:32:44 +0200 |
commit | fecb588399b17da2258dd7e31730f7d263ec955b (patch) | |
tree | bff2792084ceb2e2afd5c7951ba8c5aa605aa908 /debian/patches | |
parent | d8028e6c25bb0d343ee4e261ee0938147ab81706 (diff) | |
parent | 1cd07131ecfb487064814a2c315e89b38066d73c (diff) |
merge patched-debian/master into debian/master
Diffstat (limited to 'debian/patches')
47 files changed, 89 insertions, 1866 deletions
diff --git a/debian/patches/0003-Install-root-backends-world-readable.patch b/debian/patches/0003-Install-root-backends-world-readable.patch index c9c130d02..b3d1fd7b1 100644 --- a/debian/patches/0003-Install-root-backends-world-readable.patch +++ b/debian/patches/0003-Install-root-backends-world-readable.patch @@ -1,4 +1,4 @@ -From ee92595c22b31cabc5a53268803fc8e53db14813 Mon Sep 17 00:00:00 2001 +From 03907fe3af14450016228a5f37f100c52c8c49d5 Mon Sep 17 00:00:00 2001 From: Martin Pitt <mpitt@debian.org> Date: Tue, 9 Aug 2016 18:11:06 +0200 Subject: Install root backends world-readable @@ -52,7 +52,7 @@ index 42eaa59ff..3bdb48302 100644 cupsDirClose(dir); diff --git a/scheduler/job.c b/scheduler/job.c -index 638f256db..bbef60c64 100644 +index 1a7a34ca9..dcee43d83 100644 --- a/scheduler/job.c +++ b/scheduler/job.c @@ -1250,7 +1250,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I - Job */ diff --git a/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch b/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch index 5f18548c5..fa138ed4f 100644 --- a/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch +++ b/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch @@ -1,4 +1,4 @@ -From 3f8584b5142fccf1a495dc1d1e6ab66248a3f6a3 Mon Sep 17 00:00:00 2001 +From 23fedad956e4bb366e1da86cfc7994f7818fdd87 Mon Sep 17 00:00:00 2001 From: Tim Waugh <twaugh@redhat.com> Date: Tue, 9 Aug 2016 18:11:30 +0200 Subject: Let snmp backend also use manufacturer-specific MIBs diff --git a/debian/patches/0034-Build-mantohtml-with-the-build-architecture-compiler.patch b/debian/patches/0034-Build-mantohtml-with-the-build-architecture-compiler.patch index 09339f4e2..05bfb25fe 100644 --- a/debian/patches/0034-Build-mantohtml-with-the-build-architecture-compiler.patch +++ b/debian/patches/0034-Build-mantohtml-with-the-build-architecture-compiler.patch @@ -1,4 +1,4 @@ -From 9c5b4d679e611fb391b58725076d936d2ec1ac9a Mon Sep 17 00:00:00 2001 +From d5966671d8b2ccbf1350589f2f9bd2f50835474e Mon Sep 17 00:00:00 2001 From: Helmut Grohne <helmut@subdivi.de> Date: Tue, 9 Aug 2016 18:11:49 +0200 Subject: Build mantohtml with the build architecture compiler @@ -18,7 +18,7 @@ Bug-Debian: https://bugs.debian.org/837936 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Makedefs.in b/Makedefs.in -index 656d7b44c..d6fa23e89 100644 +index 83eae7ce8..4f6247a68 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -25,6 +25,7 @@ CUPS_VERSION = @CUPS_VERSION@ @@ -30,7 +30,7 @@ index 656d7b44c..d6fa23e89 100644 CXX = @LIBTOOL_CXX@ @CXX@ DSO = @DSO@ diff --git a/configure.ac b/configure.ac -index c7696c7b9..f57b97dbf 100644 +index 776259933..864ba340a 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,15 @@ sinclude(config-scripts/cups-common.m4) diff --git a/debian/patches/0035-The-lp-and-lpr-commands-now-provide-better-error-mes.patch b/debian/patches/0035-The-lp-and-lpr-commands-now-provide-better-error-mes.patch deleted file mode 100644 index fcd175c95..000000000 --- a/debian/patches/0035-The-lp-and-lpr-commands-now-provide-better-error-mes.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f67a4b249a53f91ecb70dce59a8c41ca1c3b04ed Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michaelrsweet@gmail.com> -Date: Wed, 1 Nov 2017 15:45:50 -0400 -Subject: =?UTF-8?q?The=20`lp`=20and=20`lpr`=20commands=20now=20provide=20b?= - =?UTF-8?q?etter=20error=20messages=20when=20the=20default=0Aprinter=20can?= - =?UTF-8?q?not=20be=20found=20(Issue=20#5096)?= - -- berkeley/lpr.c: Use cupsLastErrorMessage() for not-found errors. -- cups/dest.c: Set the last error message in cupsGetNamedDest(). -- systemv/lp.c: Use cupsLastErrorMessage() for not-found errors. - -Bug-Debian: #870463 ---- - cups/dest.c | 38 +++++++++++++++++++++++++++++++++++++- - 1 file changed, 37 insertions(+), 1 deletion(-) - -diff --git a/cups/dest.c b/cups/dest.c -index 7ef85a1b9..d92d23d8e 100644 ---- a/cups/dest.c -+++ b/cups/dest.c -@@ -1883,6 +1883,9 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT - snprintf(filename, sizeof(filename), "%s/.cups/lpoptions", home); - - dest_name = cups_get_default(filename, defname, sizeof(defname), &instance); -+ -+ if (dest_name) -+ set_as_default = 2; - } - - if (!dest_name) -@@ -1893,6 +1896,9 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT - - snprintf(filename, sizeof(filename), "%s/lpoptions", cg->cups_serverroot); - dest_name = cups_get_default(filename, defname, sizeof(defname), &instance); -+ -+ if (dest_name) -+ set_as_default = 3; - } - - if (!dest_name) -@@ -1901,7 +1907,8 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT - * No locally-set default destination, ask the server... - */ - -- op = IPP_OP_CUPS_GET_DEFAULT; -+ op = IPP_OP_CUPS_GET_DEFAULT; -+ set_as_default = 4; - - DEBUG_puts("1cupsGetNamedDest: Asking server for default printer..."); - } -@@ -1932,7 +1939,36 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT - dest = data.dest; - } - else -+ { -+ switch (set_as_default) -+ { -+ default : -+ break; -+ -+ case 1 : /* Set from env vars */ -+ if (getenv("LPDEST")) -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("LPDEST environment variable names default destination that does not exist."), 1); -+ else if (getenv("PRINTER")) -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("PRINTER environment variable names default destination that does not exist."), 1); -+ else -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("No default destination."), 1); -+ break; -+ -+ case 2 : /* Set from ~/.cups/lpoptions */ -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("~/.cups/lpoptions file names default destination that does not exist."), 1); -+ break; -+ -+ case 3 : /* Set from /etc/cups/lpoptions */ -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("/etc/cups/lpoptions file names default destination that does not exist."), 1); -+ break; -+ -+ case 4 : /* Set from server */ -+ _cupsSetError(IPP_STATUS_ERROR_NOT_FOUND, _("No default destination."), 1); -+ break; -+ } -+ - return (NULL); -+ } - } - - DEBUG_printf(("1cupsGetNamedDest: Got dest=%p", (void *)dest)); diff --git a/debian/patches/0036-Protect-against-continuing-to-read-from-a-file-at-EO.patch b/debian/patches/0036-Protect-against-continuing-to-read-from-a-file-at-EO.patch deleted file mode 100644 index 61d370e84..000000000 --- a/debian/patches/0036-Protect-against-continuing-to-read-from-a-file-at-EO.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5b2890774c0879bd62ee4abb6c8d87e5c6abcb36 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Wed, 9 Jan 2019 13:26:37 -0500 -Subject: Protect against continuing to read from a file at EOF (Issue #5473) - -Fixed a potential memory leak when reading at the end of a file ---- - cups/file.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/cups/file.c b/cups/file.c -index 5c9ddf8fe..f67a6668e 100644 ---- a/cups/file.c -+++ b/cups/file.c -@@ -679,6 +679,12 @@ cupsFileGetChar(cups_file_t *fp) /* I - CUPS file */ - return (-1); - } - -+ if (fp->eof) -+ { -+ DEBUG_puts("5cupsFileGetChar: End-of-file!"); -+ return (-1); -+ } -+ - /* - * If the input buffer is empty, try to read more data... - */ -@@ -1651,6 +1657,12 @@ cupsFileRead(cups_file_t *fp, /* I - CUPS file */ - if (bytes == 0) - return (0); - -+ if (fp->eof) -+ { -+ DEBUG_puts("5cupsFileRead: End-of-file!"); -+ return (-1); -+ } -+ - /* - * Loop until all bytes are read... - */ diff --git a/debian/patches/0037-Use-the-same-requested-attributes-values-for-all-IPP.patch b/debian/patches/0037-Use-the-same-requested-attributes-values-for-all-IPP.patch deleted file mode 100644 index d26c4b69a..000000000 --- a/debian/patches/0037-Use-the-same-requested-attributes-values-for-all-IPP.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 2f25fc8b426f4b97f549d8ad2b84be9850aa709a Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 21 Jan 2019 11:28:24 -0500 -Subject: Use the same requested-attributes values for all IPP Everywhere setup - requests (Issue #5484) - -The lpadmin command, web interface, and scheduler all queried an IPP -Everywhere printer differently, resulting in different PPDs for the same -printer - -Switch to using "all" and "media-col-database" because some vendors apparently -do not know how to read ---- - cgi-bin/admin.c | 10 ++++++++-- - scheduler/ipp.c | 9 +++++++-- - systemv/lpadmin.c | 6 ++---- - 3 files changed, 17 insertions(+), 8 deletions(-) - -diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c -index 00830e486..690fbbc73 100644 ---- a/cgi-bin/admin.c -+++ b/cgi-bin/admin.c -@@ -1,8 +1,8 @@ - /* - * Administration CGI for CUPS. - * -- * Copyright 2007-2018 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -4224,6 +4224,11 @@ get_printer_ppd(const char *uri, /* I - Printer URI */ - host[256], /* Hostname */ - resource[256]; /* Resource path */ - int port; /* Port number */ -+ static const char * const pattrs[] = /* Printer attributes we need */ -+ { -+ "all", -+ "media-col-database" -+ }; - - - /* -@@ -4264,6 +4269,7 @@ get_printer_ppd(const char *uri, /* I - Printer URI */ - - request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); -+ ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", (int)(sizeof(pattrs) / sizeof(pattrs[0])), NULL, pattrs); - response = cupsDoRequest(http, request, resource); - - if (!_ppdCreateFromIPP(buffer, bufsize, response)) -diff --git a/scheduler/ipp.c b/scheduler/ipp.c -index 6ea3e37f2..e00275b09 100644 ---- a/scheduler/ipp.c -+++ b/scheduler/ipp.c -@@ -1,7 +1,7 @@ - /* - * IPP routines for the CUPS scheduler. - * -- * Copyright © 2007-2018 by Apple Inc. -+ * Copyright © 2007-2019 by Apple Inc. - * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * This file contains Kerberos support code, copyright 2006 by -@@ -5279,6 +5279,11 @@ create_local_bg_thread( - *response; /* Response from printer */ - ipp_attribute_t *attr; /* Attribute in response */ - ipp_status_t status; /* Status code */ -+ static const char * const pattrs[] = /* Printer attributes we need */ -+ { -+ "all", -+ "media-col-database" -+ }; - - - /* -@@ -5313,7 +5318,7 @@ create_local_bg_thread( - request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); - ippSetVersion(request, 2, 0); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, printer->device_uri); -- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", NULL, "all"); -+ ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", (int)(sizeof(pattrs) / sizeof(pattrs[0])), NULL, pattrs); - - response = cupsDoRequest(http, request, resource); - status = cupsLastError(); -diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c -index ee2438c1d..e979e56c4 100644 ---- a/systemv/lpadmin.c -+++ b/systemv/lpadmin.c -@@ -1,7 +1,7 @@ - /* - * "lpadmin" command for CUPS. - * -- * Copyright © 2007-2018 by Apple Inc. -+ * Copyright © 2007-2019 by Apple Inc. - * Copyright © 1997-2006 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the -@@ -1194,9 +1194,7 @@ get_printer_ppd( - int port; /* Port number */ - static const char * const pattrs[] = /* Attributes to use */ - { -- "job-template", -- "printer-defaults", -- "printer-description", -+ "all", - "media-col-database" - }; - diff --git a/debian/patches/0038-Add-a-USB-quirk-rule-for-the-Lexmark-E120n-Issue-547.patch b/debian/patches/0038-Add-a-USB-quirk-rule-for-the-Lexmark-E120n-Issue-547.patch deleted file mode 100644 index 480594d9a..000000000 --- a/debian/patches/0038-Add-a-USB-quirk-rule-for-the-Lexmark-E120n-Issue-547.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 62283fab59e63c2be87171bc36c00717a91b7663 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 21 Jan 2019 11:32:42 -0500 -Subject: Add a USB quirk rule for the Lexmark E120n (Issue #5478) - ---- - backend/org.cups.usb-quirks | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/backend/org.cups.usb-quirks b/backend/org.cups.usb-quirks -index 3f99f60de..00d3b2545 100644 ---- a/backend/org.cups.usb-quirks -+++ b/backend/org.cups.usb-quirks -@@ -293,3 +293,6 @@ - - # Zebra ZD420 (Issue #5395) - 0x0a5f 0x0120 unidir no-reattach -+ -+# Lexmark E120n (Issue #5478) -+0x043d 0x00cc no-reattach diff --git a/debian/patches/0039-Updated-the-USB-quirks-rule-for-Zebra-label-printers.patch b/debian/patches/0039-Updated-the-USB-quirks-rule-for-Zebra-label-printers.patch deleted file mode 100644 index 73530b0c7..000000000 --- a/debian/patches/0039-Updated-the-USB-quirks-rule-for-Zebra-label-printers.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d218d3e75bea23c39ab48cb44799db13267b9c94 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Wed, 23 Jan 2019 11:15:29 -0500 -Subject: Updated the USB quirks rule for Zebra label printers (Issue #5395) - -Now all Zebra label printers use unidir and no-reattach. ---- - backend/org.cups.usb-quirks | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/backend/org.cups.usb-quirks b/backend/org.cups.usb-quirks -index 00d3b2545..0586602ab 100644 ---- a/backend/org.cups.usb-quirks -+++ b/backend/org.cups.usb-quirks -@@ -140,8 +140,8 @@ - # Samsung ML-2160 Series (https://bugzilla.redhat.com/show_bug.cgi?id=873123) - 0x04e8 0x330f unidir - --# All Zebra devices (https://bugs.launchpad.net/bugs/1001028) --0x0a5f unidir -+# All Zebra devices (https://bugs.launchpad.net/bugs/1001028) (Issue #5395) -+0x0a5f unidir no-reattach - - # Canon CP-10 - 0x04a9 0x304a blacklist -@@ -291,8 +291,5 @@ - # Star TSP743 (Issue #5443) - 0x0519 0x0001 delay-close - --# Zebra ZD420 (Issue #5395) --0x0a5f 0x0120 unidir no-reattach -- - # Lexmark E120n (Issue #5478) - 0x043d 0x00cc no-reattach diff --git a/debian/patches/0040-Add-USB-quirks-rule-for-Xerox-printers-Issue-5523.patch b/debian/patches/0040-Add-USB-quirks-rule-for-Xerox-printers-Issue-5523.patch deleted file mode 100644 index 515af009d..000000000 --- a/debian/patches/0040-Add-USB-quirks-rule-for-Xerox-printers-Issue-5523.patch +++ /dev/null @@ -1,20 +0,0 @@ -From f8eac850dfbdb4a8d6a02f4d5eb2a473e7b088b4 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Tue, 19 Feb 2019 11:11:54 -0500 -Subject: Add USB quirks rule for Xerox printers (Issue #5523) - ---- - backend/org.cups.usb-quirks | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/backend/org.cups.usb-quirks b/backend/org.cups.usb-quirks -index 0586602ab..77233ea18 100644 ---- a/backend/org.cups.usb-quirks -+++ b/backend/org.cups.usb-quirks -@@ -293,3 +293,6 @@ - - # Lexmark E120n (Issue #5478) - 0x043d 0x00cc no-reattach -+ -+# All Xerox printers (Issue #5523) -+0x0924 no-reattach diff --git a/debian/patches/0041-Add-a-USB-quirks-rule-for-the-DYMO-450-Turbo-Issue-5.patch b/debian/patches/0041-Add-a-USB-quirks-rule-for-the-DYMO-450-Turbo-Issue-5.patch deleted file mode 100644 index ad790c8b8..000000000 --- a/debian/patches/0041-Add-a-USB-quirks-rule-for-the-DYMO-450-Turbo-Issue-5.patch +++ /dev/null @@ -1,20 +0,0 @@ -From d4d7ff4dad47ad4d278ca2c84efd602354a4e627 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Thu, 21 Feb 2019 09:54:59 -0500 -Subject: Add a USB quirks rule for the DYMO 450 Turbo (Issue #5521) - ---- - backend/org.cups.usb-quirks | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/backend/org.cups.usb-quirks b/backend/org.cups.usb-quirks -index 77233ea18..44d6bb8cb 100644 ---- a/backend/org.cups.usb-quirks -+++ b/backend/org.cups.usb-quirks -@@ -296,3 +296,6 @@ - - # All Xerox printers (Issue #5523) - 0x0924 no-reattach -+ -+# Dymo 450 Turbo (Issue #5521) -+0x0922 0x0021 unidir diff --git a/debian/patches/0042-Fix-compile-error-on-Linux-Issue-5483.patch b/debian/patches/0042-Fix-compile-error-on-Linux-Issue-5483.patch deleted file mode 100644 index d7810fd01..000000000 --- a/debian/patches/0042-Fix-compile-error-on-Linux-Issue-5483.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6f2402e51d47e9cebe27eec5bfdb0e5543127e2a Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 21 Jan 2019 11:54:58 -0500 -Subject: Fix compile error on Linux (Issue #5483) - ---- - cups/hash.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cups/hash.c b/cups/hash.c -index 50dc5fb30..a31372595 100644 ---- a/cups/hash.c -+++ b/cups/hash.c -@@ -1,7 +1,7 @@ - /* - * Hashing function for CUPS. - * -- * Copyright © 2015-2018 by Apple Inc. -+ * Copyright © 2015-2019 by Apple Inc. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -235,7 +235,7 @@ cupsHashData(const char *algorithm, /* I - Algorithm name */ - - gnutls_hash_fast(alg, data, datalen, hash); - -- return (gnutls_hash_get_len(alg)); -+ return ((ssize_t)gnutls_hash_get_len(alg)); - } - - #else diff --git a/debian/patches/0043-Stop-parsing-the-Emulators-keywords-in-PPD-files-Iss.patch b/debian/patches/0043-Stop-parsing-the-Emulators-keywords-in-PPD-files-Iss.patch deleted file mode 100644 index 95378ee79..000000000 --- a/debian/patches/0043-Stop-parsing-the-Emulators-keywords-in-PPD-files-Iss.patch +++ /dev/null @@ -1,159 +0,0 @@ -From fb2f9b86fabc11f9b0fad804199064bdd555201e Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 21 Jan 2019 13:44:43 -0500 -Subject: Stop parsing the Emulators keywords in PPD files (Issue #5475) - -This also addresses a potential memory leak... ---- - cups/ppd.c | 76 ++---------------------------------------------------- - cups/ppd.h | 8 +++--- - 2 files changed, 6 insertions(+), 78 deletions(-) - -diff --git a/cups/ppd.c b/cups/ppd.c -index 5f27484aa..968ea8bf3 100644 ---- a/cups/ppd.c -+++ b/cups/ppd.c -@@ -1,8 +1,8 @@ - /* - * PPD file routines for CUPS. - * -- * Copyright 2007-2018 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products, all rights reserved. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -117,7 +117,6 @@ void - ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - { - int i; /* Looping var */ -- ppd_emul_t *emul; /* Current emulation */ - ppd_group_t *group; /* Current group */ - char **font; /* Current font */ - ppd_attr_t **attr; /* Current attribute */ -@@ -144,21 +143,6 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - _cupsStrFree(ppd->jcl_end); - _cupsStrFree(ppd->jcl_ps); - -- /* -- * Free any emulations... -- */ -- -- if (ppd->num_emulations > 0) -- { -- for (i = ppd->num_emulations, emul = ppd->emulations; i > 0; i --, emul ++) -- { -- _cupsStrFree(emul->start); -- _cupsStrFree(emul->stop); -- } -- -- ppd_free(ppd->emulations); -- } -- - /* - * Free any UI groups, subgroups, and options... - */ -@@ -443,7 +427,6 @@ _ppdOpen( - _ppd_localization_t localization) /* I - Localization to load */ - { - int i, j, k; /* Looping vars */ -- int count; /* Temporary count */ - _ppd_line_t line; /* Line buffer */ - ppd_file_t *ppd; /* PPD file record */ - ppd_group_t *group, /* Current group */ -@@ -461,7 +444,6 @@ _ppdOpen( - /* Human-readable text from file */ - *string, /* Code/text from file */ - *sptr, /* Pointer into string */ -- *nameptr, /* Pointer into name */ - *temp, /* Temporary string pointer */ - **tempfonts; /* Temporary fonts pointer */ - float order; /* Order dependency number */ -@@ -1203,60 +1185,6 @@ _ppdOpen( - else if (!strcmp(string, "Plus90")) - ppd->landscape = 90; - } -- else if (!strcmp(keyword, "Emulators") && string) -- { -- for (count = 1, sptr = string; sptr != NULL;) -- if ((sptr = strchr(sptr, ' ')) != NULL) -- { -- count ++; -- while (*sptr == ' ') -- sptr ++; -- } -- -- ppd->num_emulations = count; -- if ((ppd->emulations = calloc((size_t)count, sizeof(ppd_emul_t))) == NULL) -- { -- pg->ppd_status = PPD_ALLOC_ERROR; -- -- goto error; -- } -- -- for (i = 0, sptr = string; i < count; i ++) -- { -- for (nameptr = ppd->emulations[i].name; -- *sptr != '\0' && *sptr != ' '; -- sptr ++) -- if (nameptr < (ppd->emulations[i].name + sizeof(ppd->emulations[i].name) - 1)) -- *nameptr++ = *sptr; -- -- *nameptr = '\0'; -- -- while (*sptr == ' ') -- sptr ++; -- } -- } -- else if (!strncmp(keyword, "StartEmulator_", 14)) -- { -- ppd_decode(string); -- -- for (i = 0; i < ppd->num_emulations; i ++) -- if (!strcmp(keyword + 14, ppd->emulations[i].name)) -- { -- ppd->emulations[i].start = string; -- string = NULL; -- } -- } -- else if (!strncmp(keyword, "StopEmulator_", 13)) -- { -- ppd_decode(string); -- -- for (i = 0; i < ppd->num_emulations; i ++) -- if (!strcmp(keyword + 13, ppd->emulations[i].name)) -- { -- ppd->emulations[i].stop = string; -- string = NULL; -- } -- } - else if (!strcmp(keyword, "JobPatchFile")) - { - /* -diff --git a/cups/ppd.h b/cups/ppd.h -index 6e628cb60..ae63c0d66 100644 ---- a/cups/ppd.h -+++ b/cups/ppd.h -@@ -5,8 +5,8 @@ - * -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS. THIS HEADER AND THESE - * FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS. - * -- * Copyright 2007-2015 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products, all rights reserved. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -304,8 +304,8 @@ typedef struct ppd_file_s /**** PPD File ****/ - int throughput; /* Pages per minute */ - ppd_cs_t colorspace; /* Default colorspace */ - char *patches; /* Patch commands to be sent to printer */ -- int num_emulations; /* Number of emulations supported */ -- ppd_emul_t *emulations; /* Emulations and the code to invoke them */ -+ int num_emulations; /* Number of emulations supported (no longer supported) @private@ */ -+ ppd_emul_t *emulations; /* Emulations and the code to invoke them (no longer supported) @private@ */ - char *jcl_begin; /* Start JCL commands */ - char *jcl_ps; /* Enter PostScript interpreter */ - char *jcl_end; /* End JCL commands */ diff --git a/debian/patches/0044-Fix-potential-unaligned-accesses-in-the-string-pool-.patch b/debian/patches/0044-Fix-potential-unaligned-accesses-in-the-string-pool-.patch deleted file mode 100644 index 5f77f3cc8..000000000 --- a/debian/patches/0044-Fix-potential-unaligned-accesses-in-the-string-pool-.patch +++ /dev/null @@ -1,1130 +0,0 @@ -From ffbb46708544f6408bc72f200aa7365ba1222f97 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 21 Jan 2019 14:21:57 -0500 -Subject: Fix potential unaligned accesses in the string pool (Issue #5474) - -This set of changes makes the PPD functions use strdup and free - they were -modifying the contents of the string in places and doing other things that -were not safe for (immutable) strings in the pool. - -Clean out some more _cupsStr cruft that might potentially cause an unaligned memory access (Issue #5474) - -Don't directly use the string pool in the CGI programs or scheduler. ---- - cgi-bin/admin.c | 12 ++--- - cgi-bin/var.c | 42 +++++++-------- - cups/ppd-cache.c | 134 +++++++++++++++++++++-------------------------- - cups/ppd-mark.c | 12 ++--- - cups/ppd.c | 115 ++++++++++++++++++++-------------------- - cups/string.c | 21 ++++---- - scheduler/ipp.c | 8 +-- - 7 files changed, 161 insertions(+), 183 deletions(-) - -diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c -index 690fbbc73..06199a96b 100644 ---- a/cgi-bin/admin.c -+++ b/cgi-bin/admin.c -@@ -767,7 +767,7 @@ do_am_class(http_t *http, /* I - HTTP connection */ - attr = ippAddStrings(request, IPP_TAG_PRINTER, IPP_TAG_URI, "member-uris", - num_printers, NULL, NULL); - for (i = 0; i < num_printers; i ++) -- attr->values[i].string.text = _cupsStrAlloc(cgiGetArray("MEMBER_URIS", i)); -+ ippSetString(request, &attr, i, cgiGetArray("MEMBER_URIS", i)); - } - - /* -@@ -2417,7 +2417,7 @@ do_list_printers(http_t *http) /* I - HTTP connection */ - attr; - attr = ippFindNextAttribute(response, "device-uri", IPP_TAG_URI)) - { -- cupsArrayAdd(printer_devices, _cupsStrAlloc(attr->values[0].string.text)); -+ cupsArrayAdd(printer_devices, strdup(attr->values[0].string.text)); - } - - /* -@@ -2555,7 +2555,7 @@ do_list_printers(http_t *http) /* I - HTTP connection */ - for (printer_device = (char *)cupsArrayFirst(printer_devices); - printer_device; - printer_device = (char *)cupsArrayNext(printer_devices)) -- _cupsStrFree(printer_device); -+ free(printer_device); - - cupsArrayDelete(printer_devices); - } -@@ -2952,7 +2952,7 @@ do_set_allowed_users(http_t *http) /* I - HTTP connection */ - * Add the name... - */ - -- attr->values[i].string.text = _cupsStrAlloc(ptr); -+ ippSetString(request, &attr, i, ptr); - - /* - * Advance to the next name... -@@ -3761,8 +3761,8 @@ do_set_options(http_t *http, /* I - HTTP connection */ - - attr = ippAddStrings(request, IPP_TAG_PRINTER, IPP_TAG_NAME, - "job-sheets-default", 2, NULL, NULL); -- attr->values[0].string.text = _cupsStrAlloc(cgiGetVariable("job_sheets_start")); -- attr->values[1].string.text = _cupsStrAlloc(cgiGetVariable("job_sheets_end")); -+ ippSetString(request, &attr, 0, cgiGetVariable("job_sheets_start")); -+ ippSetString(request, &attr, 1, cgiGetVariable("job_sheets_end")); - - if ((var = cgiGetVariable("printer_error_policy")) != NULL) - ippAddString(request, IPP_TAG_PRINTER, IPP_TAG_NAME, -diff --git a/cgi-bin/var.c b/cgi-bin/var.c -index 579f23ba3..8b8f26472 100644 ---- a/cgi-bin/var.c -+++ b/cgi-bin/var.c -@@ -1,8 +1,8 @@ - /* - * CGI form variable and array functions for CUPS. - * -- * Copyright 2007-2015 by Apple Inc. -- * Copyright 1997-2005 by Easy Software Products. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2005 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -33,10 +33,10 @@ - - typedef struct /**** Form variable structure ****/ - { -- const char *name; /* Name of variable */ -+ char *name; /* Name of variable */ - int nvalues, /* Number of values */ - avalues; /* Number of values allocated */ -- const char **values; /* Value(s) of variable */ -+ char **values; /* Value(s) of variable */ - } _cgi_var_t; - - -@@ -139,10 +139,10 @@ cgiClearVariables(void) - - for (v = form_vars, i = form_count; i > 0; v ++, i --) - { -- _cupsStrFree(v->name); -+ free(v->name); - for (j = 0; j < v->nvalues; j ++) - if (v->values[j]) -- _cupsStrFree(v->values[j]); -+ free(v->values[j]); - } - - form_count = 0; -@@ -168,7 +168,7 @@ cgiGetArray(const char *name, /* I - Name of array variable */ - if (element < 0 || element >= var->nvalues) - return (NULL); - -- return (_cupsStrRetain(var->values[element])); -+ return (strdup(var->values[element])); - } - - -@@ -234,7 +234,7 @@ cgiGetVariable(const char *name) /* I - Name of variable */ - var->values[var->nvalues - 1])); - #endif /* DEBUG */ - -- return ((var == NULL) ? NULL : _cupsStrRetain(var->values[var->nvalues - 1])); -+ return ((var == NULL) ? NULL : strdup(var->values[var->nvalues - 1])); - } - - -@@ -382,10 +382,9 @@ cgiSetArray(const char *name, /* I - Name of variable */ - { - if (element >= var->avalues) - { -- const char **temp; /* Temporary pointer */ -+ char **temp; /* Temporary pointer */ - -- temp = (const char **)realloc((void *)(var->values), -- sizeof(char *) * (size_t)(element + 16)); -+ temp = (char **)realloc((void *)(var->values), sizeof(char *) * (size_t)(element + 16)); - if (!temp) - return; - -@@ -401,9 +400,9 @@ cgiSetArray(const char *name, /* I - Name of variable */ - var->nvalues = element + 1; - } - else if (var->values[element]) -- _cupsStrFree((char *)var->values[element]); -+ free((char *)var->values[element]); - -- var->values[element] = _cupsStrAlloc(value); -+ var->values[element] = strdup(value); - } - } - -@@ -460,10 +459,9 @@ cgiSetSize(const char *name, /* I - Name of variable */ - - if (size >= var->avalues) - { -- const char **temp; /* Temporary pointer */ -+ char **temp; /* Temporary pointer */ - -- temp = (const char **)realloc((void *)(var->values), -- sizeof(char *) * (size_t)(size + 16)); -+ temp = (char **)realloc((void *)(var->values), sizeof(char *) * (size_t)(size + 16)); - if (!temp) - return; - -@@ -480,7 +478,7 @@ cgiSetSize(const char *name, /* I - Name of variable */ - { - for (i = size; i < var->nvalues; i ++) - if (var->values[i]) -- _cupsStrFree((void *)(var->values[i])); -+ free((void *)(var->values[i])); - } - - var->nvalues = size; -@@ -515,9 +513,9 @@ cgiSetVariable(const char *name, /* I - Name of variable */ - { - for (i = 0; i < var->nvalues; i ++) - if (var->values[i]) -- _cupsStrFree((char *)var->values[i]); -+ free((char *)var->values[i]); - -- var->values[0] = _cupsStrAlloc(value); -+ var->values[0] = strdup(value); - var->nvalues = 1; - } - } -@@ -563,10 +561,10 @@ cgi_add_variable(const char *name, /* I - Variable name */ - if ((var->values = calloc((size_t)element + 1, sizeof(char *))) == NULL) - return; - -- var->name = _cupsStrAlloc(name); -+ var->name = strdup(name); - var->nvalues = element + 1; - var->avalues = element + 1; -- var->values[element] = _cupsStrAlloc(value); -+ var->values[element] = strdup(value); - - form_count ++; - } -@@ -598,7 +596,7 @@ cgi_find_variable(const char *name) /* I - Name of variable */ - if (form_count < 1 || name == NULL) - return (NULL); - -- key.name = name; -+ key.name = (char *)name; - - return ((_cgi_var_t *)bsearch(&key, form_vars, (size_t)form_count, sizeof(_cgi_var_t), - (int (*)(const void *, const void *))cgi_compare_variables)); -diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c -index ab91f0fd4..8b496e3b2 100644 ---- a/cups/ppd-cache.c -+++ b/cups/ppd-cache.c -@@ -1,7 +1,7 @@ - /* - * PPD cache implementation for CUPS. - * -- * Copyright © 2010-2018 by Apple Inc. -+ * Copyright © 2010-2019 by Apple Inc. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -508,24 +508,20 @@ _ppdCacheCreateWithFile( - else if (!_cups_strcasecmp(line, "Filter")) - { - if (!pc->filters) -- pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - cupsArrayAdd(pc->filters, value); - } - else if (!_cups_strcasecmp(line, "PreFilter")) - { - if (!pc->prefilters) -- pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - cupsArrayAdd(pc->prefilters, value); - } - else if (!_cups_strcasecmp(line, "Product")) - { -- pc->product = _cupsStrAlloc(value); -+ pc->product = strdup(value); - } - else if (!_cups_strcasecmp(line, "SingleFile")) - { -@@ -625,8 +621,8 @@ _ppdCacheCreateWithFile( - } - - map = pc->bins + pc->num_bins; -- map->pwg = _cupsStrAlloc(pwg_keyword); -- map->ppd = _cupsStrAlloc(ppd_keyword); -+ map->pwg = strdup(pwg_keyword); -+ map->ppd = strdup(ppd_keyword); - - pc->num_bins ++; - } -@@ -680,8 +676,8 @@ _ppdCacheCreateWithFile( - goto create_error; - } - -- size->map.pwg = _cupsStrAlloc(pwg_keyword); -- size->map.ppd = _cupsStrAlloc(ppd_keyword); -+ size->map.pwg = strdup(pwg_keyword); -+ size->map.ppd = strdup(ppd_keyword); - - pc->num_sizes ++; - } -@@ -709,15 +705,15 @@ _ppdCacheCreateWithFile( - - pwgFormatSizeName(pwg_keyword, sizeof(pwg_keyword), "custom", "max", - pc->custom_max_width, pc->custom_max_length, NULL); -- pc->custom_max_keyword = _cupsStrAlloc(pwg_keyword); -+ pc->custom_max_keyword = strdup(pwg_keyword); - - pwgFormatSizeName(pwg_keyword, sizeof(pwg_keyword), "custom", "min", - pc->custom_min_width, pc->custom_min_length, NULL); -- pc->custom_min_keyword = _cupsStrAlloc(pwg_keyword); -+ pc->custom_min_keyword = strdup(pwg_keyword); - } - else if (!_cups_strcasecmp(line, "SourceOption")) - { -- pc->source_option = _cupsStrAlloc(value); -+ pc->source_option = strdup(value); - } - else if (!_cups_strcasecmp(line, "NumSources")) - { -@@ -764,8 +760,8 @@ _ppdCacheCreateWithFile( - } - - map = pc->sources + pc->num_sources; -- map->pwg = _cupsStrAlloc(pwg_keyword); -- map->ppd = _cupsStrAlloc(ppd_keyword); -+ map->pwg = strdup(pwg_keyword); -+ map->ppd = strdup(ppd_keyword); - - pc->num_sources ++; - } -@@ -813,8 +809,8 @@ _ppdCacheCreateWithFile( - } - - map = pc->types + pc->num_types; -- map->pwg = _cupsStrAlloc(pwg_keyword); -- map->ppd = _cupsStrAlloc(ppd_keyword); -+ map->pwg = strdup(pwg_keyword); -+ map->ppd = strdup(ppd_keyword); - - pc->num_types ++; - } -@@ -844,13 +840,13 @@ _ppdCacheCreateWithFile( - pc->presets[print_color_mode] + print_quality); - } - else if (!_cups_strcasecmp(line, "SidesOption")) -- pc->sides_option = _cupsStrAlloc(value); -+ pc->sides_option = strdup(value); - else if (!_cups_strcasecmp(line, "Sides1Sided")) -- pc->sides_1sided = _cupsStrAlloc(value); -+ pc->sides_1sided = strdup(value); - else if (!_cups_strcasecmp(line, "Sides2SidedLong")) -- pc->sides_2sided_long = _cupsStrAlloc(value); -+ pc->sides_2sided_long = strdup(value); - else if (!_cups_strcasecmp(line, "Sides2SidedShort")) -- pc->sides_2sided_short = _cupsStrAlloc(value); -+ pc->sides_2sided_short = strdup(value); - else if (!_cups_strcasecmp(line, "Finishings")) - { - if (!pc->finishings) -@@ -871,13 +867,13 @@ _ppdCacheCreateWithFile( - else if (!_cups_strcasecmp(line, "MaxCopies")) - pc->max_copies = atoi(value); - else if (!_cups_strcasecmp(line, "ChargeInfoURI")) -- pc->charge_info_uri = _cupsStrAlloc(value); -+ pc->charge_info_uri = strdup(value); - else if (!_cups_strcasecmp(line, "JobAccountId")) - pc->account_id = !_cups_strcasecmp(value, "true"); - else if (!_cups_strcasecmp(line, "JobAccountingUserId")) - pc->accounting_user_id = !_cups_strcasecmp(value, "true"); - else if (!_cups_strcasecmp(line, "JobPassword")) -- pc->password = _cupsStrAlloc(value); -+ pc->password = strdup(value); - else if (!_cups_strcasecmp(line, "Mandatory")) - { - if (pc->mandatory) -@@ -888,9 +884,7 @@ _ppdCacheCreateWithFile( - else if (!_cups_strcasecmp(line, "SupportFile")) - { - if (!pc->support_files) -- pc->support_files = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->support_files = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - cupsArrayAdd(pc->support_files, value); - } -@@ -1130,8 +1124,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - */ - - new_size = old_size; -- _cupsStrFree(old_size->map.ppd); -- _cupsStrFree(old_size->map.pwg); -+ free(old_size->map.ppd); -+ free(old_size->map.pwg); - } - } - -@@ -1152,8 +1146,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - * Save this size... - */ - -- new_size->map.ppd = _cupsStrAlloc(ppd_size->name); -- new_size->map.pwg = _cupsStrAlloc(pwg_name); -+ new_size->map.ppd = strdup(ppd_size->name); -+ new_size->map.pwg = strdup(pwg_name); - new_size->width = new_width; - new_size->length = new_length; - new_size->left = new_left; -@@ -1173,14 +1167,14 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - pwgFormatSizeName(pwg_keyword, sizeof(pwg_keyword), "custom", "max", - PWG_FROM_POINTS(ppd->custom_max[0]), - PWG_FROM_POINTS(ppd->custom_max[1]), NULL); -- pc->custom_max_keyword = _cupsStrAlloc(pwg_keyword); -+ pc->custom_max_keyword = strdup(pwg_keyword); - pc->custom_max_width = PWG_FROM_POINTS(ppd->custom_max[0]); - pc->custom_max_length = PWG_FROM_POINTS(ppd->custom_max[1]); - - pwgFormatSizeName(pwg_keyword, sizeof(pwg_keyword), "custom", "min", - PWG_FROM_POINTS(ppd->custom_min[0]), - PWG_FROM_POINTS(ppd->custom_min[1]), NULL); -- pc->custom_min_keyword = _cupsStrAlloc(pwg_keyword); -+ pc->custom_min_keyword = strdup(pwg_keyword); - pc->custom_min_width = PWG_FROM_POINTS(ppd->custom_min[0]); - pc->custom_min_length = PWG_FROM_POINTS(ppd->custom_min[1]); - -@@ -1199,7 +1193,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - - if (input_slot) - { -- pc->source_option = _cupsStrAlloc(input_slot->keyword); -+ pc->source_option = strdup(input_slot->keyword); - - if ((pc->sources = calloc((size_t)input_slot->num_choices, sizeof(pwg_map_t))) == NULL) - { -@@ -1251,8 +1245,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - "_"); - } - -- map->pwg = _cupsStrAlloc(pwg_name); -- map->ppd = _cupsStrAlloc(choice->choice); -+ map->pwg = strdup(pwg_name); -+ map->ppd = strdup(choice->choice); - } - } - -@@ -1315,8 +1309,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - "_"); - } - -- map->pwg = _cupsStrAlloc(pwg_name); -- map->ppd = _cupsStrAlloc(choice->choice); -+ map->pwg = strdup(pwg_name); -+ map->ppd = strdup(choice->choice); - } - } - -@@ -1342,8 +1336,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - { - pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword), "_"); - -- map->pwg = _cupsStrAlloc(pwg_keyword); -- map->ppd = _cupsStrAlloc(choice->choice); -+ map->pwg = strdup(pwg_keyword); -+ map->ppd = strdup(choice->choice); - } - } - -@@ -1558,7 +1552,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - - if (duplex) - { -- pc->sides_option = _cupsStrAlloc(duplex->keyword); -+ pc->sides_option = strdup(duplex->keyword); - - for (i = duplex->num_choices, choice = duplex->choices; - i > 0; -@@ -1566,16 +1560,16 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - { - if ((!_cups_strcasecmp(choice->choice, "None") || - !_cups_strcasecmp(choice->choice, "False")) && !pc->sides_1sided) -- pc->sides_1sided = _cupsStrAlloc(choice->choice); -+ pc->sides_1sided = strdup(choice->choice); - else if ((!_cups_strcasecmp(choice->choice, "DuplexNoTumble") || - !_cups_strcasecmp(choice->choice, "LongEdge") || - !_cups_strcasecmp(choice->choice, "Top")) && !pc->sides_2sided_long) -- pc->sides_2sided_long = _cupsStrAlloc(choice->choice); -+ pc->sides_2sided_long = strdup(choice->choice); - else if ((!_cups_strcasecmp(choice->choice, "DuplexTumble") || - !_cups_strcasecmp(choice->choice, "ShortEdge") || - !_cups_strcasecmp(choice->choice, "Bottom")) && - !pc->sides_2sided_short) -- pc->sides_2sided_short = _cupsStrAlloc(choice->choice); -+ pc->sides_2sided_short = strdup(choice->choice); - } - } - -@@ -1583,9 +1577,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - * Copy filters and pre-filters... - */ - -- pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - cupsArrayAdd(pc->filters, - "application/vnd.cups-raw application/octet-stream 0 -"); -@@ -1642,9 +1634,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - - if ((ppd_attr = ppdFindAttr(ppd, "cupsPreFilter", NULL)) != NULL) - { -- pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - do - { -@@ -1661,7 +1651,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - */ - - if (ppd->product) -- pc->product = _cupsStrAlloc(ppd->product); -+ pc->product = strdup(ppd->product); - - /* - * Copy finishings mapping data... -@@ -1818,7 +1808,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - */ - - if ((ppd_attr = ppdFindAttr(ppd, "cupsChargeInfoURI", NULL)) != NULL) -- pc->charge_info_uri = _cupsStrAlloc(ppd_attr->value); -+ pc->charge_info_uri = strdup(ppd_attr->value); - - if ((ppd_attr = ppdFindAttr(ppd, "cupsJobAccountId", NULL)) != NULL) - pc->account_id = !_cups_strcasecmp(ppd_attr->value, "true"); -@@ -1827,7 +1817,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - pc->accounting_user_id = !_cups_strcasecmp(ppd_attr->value, "true"); - - if ((ppd_attr = ppdFindAttr(ppd, "cupsJobPassword", NULL)) != NULL) -- pc->password = _cupsStrAlloc(ppd_attr->value); -+ pc->password = strdup(ppd_attr->value); - - if ((ppd_attr = ppdFindAttr(ppd, "cupsMandatory", NULL)) != NULL) - pc->mandatory = _cupsArrayNewStrings(ppd_attr->value, ' '); -@@ -1836,9 +1826,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */ - * Support files... - */ - -- pc->support_files = cupsArrayNew3(NULL, NULL, NULL, 0, -- (cups_acopy_func_t)_cupsStrAlloc, -- (cups_afree_func_t)_cupsStrFree); -+ pc->support_files = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free); - - for (ppd_attr = ppdFindAttr(ppd, "cupsICCProfile", NULL); - ppd_attr; -@@ -1894,8 +1882,8 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */ - { - for (i = pc->num_bins, map = pc->bins; i > 0; i --, map ++) - { -- _cupsStrFree(map->pwg); -- _cupsStrFree(map->ppd); -+ free(map->pwg); -+ free(map->ppd); - } - - free(pc->bins); -@@ -1905,22 +1893,21 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */ - { - for (i = pc->num_sizes, size = pc->sizes; i > 0; i --, size ++) - { -- _cupsStrFree(size->map.pwg); -- _cupsStrFree(size->map.ppd); -+ free(size->map.pwg); -+ free(size->map.ppd); - } - - free(pc->sizes); - } - -- if (pc->source_option) -- _cupsStrFree(pc->source_option); -+ free(pc->source_option); - - if (pc->sources) - { - for (i = pc->num_sources, map = pc->sources; i > 0; i --, map ++) - { -- _cupsStrFree(map->pwg); -- _cupsStrFree(map->ppd); -+ free(map->pwg); -+ free(map->ppd); - } - - free(pc->sources); -@@ -1930,26 +1917,23 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */ - { - for (i = pc->num_types, map = pc->types; i > 0; i --, map ++) - { -- _cupsStrFree(map->pwg); -- _cupsStrFree(map->ppd); -+ free(map->pwg); -+ free(map->ppd); - } - - free(pc->types); - } - -- if (pc->custom_max_keyword) -- _cupsStrFree(pc->custom_max_keyword); -- -- if (pc->custom_min_keyword) -- _cupsStrFree(pc->custom_min_keyword); -+ free(pc->custom_max_keyword); -+ free(pc->custom_min_keyword); - -- _cupsStrFree(pc->product); -+ free(pc->product); - cupsArrayDelete(pc->filters); - cupsArrayDelete(pc->prefilters); - cupsArrayDelete(pc->finishings); - -- _cupsStrFree(pc->charge_info_uri); -- _cupsStrFree(pc->password); -+ free(pc->charge_info_uri); -+ free(pc->password); - - cupsArrayDelete(pc->mandatory); - -diff --git a/cups/ppd-mark.c b/cups/ppd-mark.c -index 464c09a98..2d106ba9e 100644 ---- a/cups/ppd-mark.c -+++ b/cups/ppd-mark.c -@@ -1,8 +1,8 @@ - /* - * Option marking routines for CUPS. - * -- * Copyright 2007-2017 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products, all rights reserved. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -890,9 +890,9 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */ - case PPD_CUSTOM_PASSWORD : - case PPD_CUSTOM_STRING : - if (cparam->current.custom_string) -- _cupsStrFree(cparam->current.custom_string); -+ free(cparam->current.custom_string); - -- cparam->current.custom_string = _cupsStrAlloc(choice + 7); -+ cparam->current.custom_string = strdup(choice + 7); - break; - } - } -@@ -967,9 +967,9 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */ - case PPD_CUSTOM_PASSWORD : - case PPD_CUSTOM_STRING : - if (cparam->current.custom_string) -- _cupsStrFree(cparam->current.custom_string); -+ free(cparam->current.custom_string); - -- cparam->current.custom_string = _cupsStrRetain(val->value); -+ cparam->current.custom_string = strdup(val->value); - break; - } - } -diff --git a/cups/ppd.c b/cups/ppd.c -index 968ea8bf3..435b992f4 100644 ---- a/cups/ppd.c -+++ b/cups/ppd.c -@@ -34,8 +34,6 @@ - * Definitions... - */ - --#define ppd_free(p) if (p) free(p) /* Safe free macro */ -- - #define PPD_KEYWORD 1 /* Line contained a keyword */ - #define PPD_OPTION 2 /* Line contained an option name */ - #define PPD_TEXT 4 /* Line contained human-readable text */ -@@ -135,13 +133,12 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - * Free all strings at the top level... - */ - -- _cupsStrFree(ppd->lang_encoding); -- _cupsStrFree(ppd->nickname); -- if (ppd->patches) -- free(ppd->patches); -- _cupsStrFree(ppd->jcl_begin); -- _cupsStrFree(ppd->jcl_end); -- _cupsStrFree(ppd->jcl_ps); -+ free(ppd->lang_encoding); -+ free(ppd->nickname); -+ free(ppd->patches); -+ free(ppd->jcl_begin); -+ free(ppd->jcl_end); -+ free(ppd->jcl_ps); - - /* - * Free any UI groups, subgroups, and options... -@@ -152,7 +149,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++) - ppd_free_group(group); - -- ppd_free(ppd->groups); -+ free(ppd->groups); - } - - cupsArrayDelete(ppd->options); -@@ -163,14 +160,14 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - */ - - if (ppd->num_sizes > 0) -- ppd_free(ppd->sizes); -+ free(ppd->sizes); - - /* - * Free any constraints... - */ - - if (ppd->num_consts > 0) -- ppd_free(ppd->consts); -+ free(ppd->consts); - - /* - * Free any filters... -@@ -185,9 +182,9 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - if (ppd->num_fonts > 0) - { - for (i = ppd->num_fonts, font = ppd->fonts; i > 0; i --, font ++) -- _cupsStrFree(*font); -+ free(*font); - -- ppd_free(ppd->fonts); -+ free(ppd->fonts); - } - - /* -@@ -195,7 +192,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - */ - - if (ppd->num_profiles > 0) -- ppd_free(ppd->profiles); -+ free(ppd->profiles); - - /* - * Free any attributes... -@@ -205,11 +202,11 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - { - for (i = ppd->num_attrs, attr = ppd->attrs; i > 0; i --, attr ++) - { -- _cupsStrFree((*attr)->value); -- ppd_free(*attr); -+ free((*attr)->value); -+ free(*attr); - } - -- ppd_free(ppd->attrs); -+ free(ppd->attrs); - } - - cupsArrayDelete(ppd->sorted_attrs); -@@ -231,7 +228,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - case PPD_CUSTOM_PASSCODE : - case PPD_CUSTOM_PASSWORD : - case PPD_CUSTOM_STRING : -- _cupsStrFree(cparam->current.custom_string); -+ free(cparam->current.custom_string); - break; - - default : -@@ -279,7 +276,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ - * Free the whole record... - */ - -- ppd_free(ppd); -+ free(ppd); - } - - -@@ -617,15 +614,15 @@ _ppdOpen( - if (pg->ppd_status == PPD_OK) - pg->ppd_status = PPD_MISSING_PPDADOBE4; - -- _cupsStrFree(string); -- ppd_free(line.buffer); -+ free(string); -+ free(line.buffer); - - return (NULL); - } - - DEBUG_printf(("2_ppdOpen: keyword=%s, string=%p", keyword, string)); - -- _cupsStrFree(string); -+ free(string); - - /* - * Allocate memory for the PPD file record... -@@ -635,8 +632,8 @@ _ppdOpen( - { - pg->ppd_status = PPD_ALLOC_ERROR; - -- _cupsStrFree(string); -- ppd_free(line.buffer); -+ free(string); -+ free(line.buffer); - - return (NULL); - } -@@ -833,7 +830,7 @@ _ppdOpen( - * Say all PPD files are UTF-8, since we convert to UTF-8... - */ - -- ppd->lang_encoding = _cupsStrAlloc("UTF-8"); -+ ppd->lang_encoding = strdup("UTF-8"); - encoding = _ppdGetEncoding(string); - } - else if (!strcmp(keyword, "LanguageVersion")) -@@ -854,10 +851,10 @@ _ppdOpen( - - - cupsCharsetToUTF8(utf8, string, sizeof(utf8), encoding); -- ppd->nickname = _cupsStrAlloc((char *)utf8); -+ ppd->nickname = strdup((char *)utf8); - } - else -- ppd->nickname = _cupsStrAlloc(string); -+ ppd->nickname = strdup(string); - } - else if (!strcmp(keyword, "Product")) - ppd->product = string; -@@ -867,17 +864,17 @@ _ppdOpen( - ppd->ttrasterizer = string; - else if (!strcmp(keyword, "JCLBegin")) - { -- ppd->jcl_begin = _cupsStrAlloc(string); -+ ppd->jcl_begin = strdup(string); - ppd_decode(ppd->jcl_begin); /* Decode quoted string */ - } - else if (!strcmp(keyword, "JCLEnd")) - { -- ppd->jcl_end = _cupsStrAlloc(string); -+ ppd->jcl_end = strdup(string); - ppd_decode(ppd->jcl_end); /* Decode quoted string */ - } - else if (!strcmp(keyword, "JCLToPSInterpreter")) - { -- ppd->jcl_ps = _cupsStrAlloc(string); -+ ppd->jcl_ps = strdup(string); - ppd_decode(ppd->jcl_ps); /* Decode quoted string */ - } - else if (!strcmp(keyword, "AccurateScreensSupport")) -@@ -945,10 +942,10 @@ _ppdOpen( - ppd->num_filters ++; - - /* -- * Retain a copy of the filter string... -+ * Make a copy of the filter string... - */ - -- *filter = _cupsStrRetain(string); -+ *filter = strdup(string); - } - else if (!strcmp(keyword, "Throughput")) - ppd->throughput = atoi(string); -@@ -971,7 +968,7 @@ _ppdOpen( - } - - ppd->fonts = tempfonts; -- ppd->fonts[ppd->num_fonts] = _cupsStrAlloc(name); -+ ppd->fonts[ppd->num_fonts] = strdup(name); - ppd->num_fonts ++; - } - else if (!strncmp(keyword, "ParamCustom", 11)) -@@ -1136,7 +1133,7 @@ _ppdOpen( - strlcpy(choice->text, text[0] ? text : _("Custom"), - sizeof(choice->text)); - -- choice->code = _cupsStrAlloc(string); -+ choice->code = strdup(string); - - if (custom_option->section == PPD_ORDER_JCL) - ppd_decode(choice->code); -@@ -1338,7 +1335,7 @@ _ppdOpen( - - option->section = PPD_ORDER_ANY; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - - /* -@@ -1366,7 +1363,7 @@ _ppdOpen( - strlcpy(choice->text, - custom_attr->text[0] ? custom_attr->text : _("Custom"), - sizeof(choice->text)); -- choice->code = _cupsStrRetain(custom_attr->value); -+ choice->code = strdup(custom_attr->value); - } - } - else if (!strcmp(keyword, "JCLOpenUI")) -@@ -1445,7 +1442,7 @@ _ppdOpen( - option->section = PPD_ORDER_JCL; - group = NULL; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - - /* -@@ -1469,7 +1466,7 @@ _ppdOpen( - strlcpy(choice->text, - custom_attr->text[0] ? custom_attr->text : _("Custom"), - sizeof(choice->text)); -- choice->code = _cupsStrRetain(custom_attr->value); -+ choice->code = strdup(custom_attr->value); - } - } - else if (!strcmp(keyword, "CloseUI")) -@@ -1483,7 +1480,7 @@ _ppdOpen( - - option = NULL; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "JCLCloseUI")) -@@ -1497,7 +1494,7 @@ _ppdOpen( - - option = NULL; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "OpenGroup")) -@@ -1544,14 +1541,14 @@ _ppdOpen( - if (group == NULL) - goto error; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "CloseGroup")) - { - group = NULL; - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "OrderDependency")) -@@ -1609,7 +1606,7 @@ _ppdOpen( - option->order = order; - } - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strncmp(keyword, "Default", 7)) -@@ -1852,7 +1849,7 @@ _ppdOpen( - * Don't add this one as an attribute... - */ - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "PaperDimension")) -@@ -1874,7 +1871,7 @@ _ppdOpen( - size->width = (float)_cupsStrScand(string, &sptr, loc); - size->length = (float)_cupsStrScand(sptr, NULL, loc); - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (!strcmp(keyword, "ImageableArea")) -@@ -1898,7 +1895,7 @@ _ppdOpen( - size->right = (float)_cupsStrScand(sptr, &sptr, loc); - size->top = (float)_cupsStrScand(sptr, NULL, loc); - -- _cupsStrFree(string); -+ free(string); - string = NULL; - } - else if (option != NULL && -@@ -1954,7 +1951,7 @@ _ppdOpen( - (mask & (PPD_KEYWORD | PPD_STRING)) == (PPD_KEYWORD | PPD_STRING)) - ppd_add_attr(ppd, keyword, name, text, string); - else -- _cupsStrFree(string); -+ free(string); - } - - /* -@@ -1977,7 +1974,7 @@ _ppdOpen( - goto error; - } - -- ppd_free(line.buffer); -+ free(line.buffer); - - /* - * Reset language preferences... -@@ -2059,8 +2056,8 @@ _ppdOpen( - - error: - -- _cupsStrFree(string); -- ppd_free(line.buffer); -+ free(string); -+ free(line.buffer); - - ppdClose(ppd); - -@@ -2498,9 +2495,9 @@ ppd_free_filters(ppd_file_t *ppd) /* I - PPD file */ - if (ppd->num_filters > 0) - { - for (i = ppd->num_filters, filter = ppd->filters; i > 0; i --, filter ++) -- _cupsStrFree(*filter); -+ free(*filter); - -- ppd_free(ppd->filters); -+ free(ppd->filters); - - ppd->num_filters = 0; - ppd->filters = NULL; -@@ -2527,7 +2524,7 @@ ppd_free_group(ppd_group_t *group) /* I - Group to free */ - i --, option ++) - ppd_free_option(option); - -- ppd_free(group->options); -+ free(group->options); - } - - if (group->num_subgroups > 0) -@@ -2537,7 +2534,7 @@ ppd_free_group(ppd_group_t *group) /* I - Group to free */ - i --, subgroup ++) - ppd_free_group(subgroup); - -- ppd_free(group->subgroups); -+ free(group->subgroups); - } - } - -@@ -2559,10 +2556,10 @@ ppd_free_option(ppd_option_t *option) /* I - Option to free */ - i > 0; - i --, choice ++) - { -- _cupsStrFree(choice->code); -+ free(choice->code); - } - -- ppd_free(option->choices); -+ free(option->choices); - } - } - -@@ -3299,7 +3296,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ - lineptr ++; - } - -- *string = _cupsStrAlloc(lineptr); -+ *string = strdup(lineptr); - - mask |= PPD_STRING; - } -@@ -3421,7 +3418,7 @@ ppd_update_filters(ppd_file_t *ppd, /* I - PPD file */ - filter += ppd->num_filters; - ppd->num_filters ++; - -- *filter = _cupsStrAlloc(buffer); -+ *filter = strdup(buffer); - } - while ((attr = ppdFindNextAttr(ppd, "cupsFilter2", NULL)) != NULL); - -diff --git a/cups/string.c b/cups/string.c -index 0d4ed0f50..dd9c12ce8 100644 ---- a/cups/string.c -+++ b/cups/string.c -@@ -1,8 +1,8 @@ - /* - * String functions for CUPS. - * -- * Copyright 2007-2014 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products. -+ * Copyright © 2007-2019 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright -@@ -316,15 +316,6 @@ _cupsStrFree(const char *s) /* I - String to free */ - - key = (_cups_sp_item_t *)(s - offsetof(_cups_sp_item_t, str)); - --#ifdef DEBUG_GUARDS -- if (key->guard != _CUPS_STR_GUARD) -- { -- DEBUG_printf(("5_cupsStrFree: Freeing string %p(%s), guard=%08x, " -- "ref_count=%d", key, key->str, key->guard, key->ref_count)); -- abort(); -- } --#endif /* DEBUG_GUARDS */ -- - if ((item = (_cups_sp_item_t *)cupsArrayFind(stringpool, key)) != NULL && - item == key) - { -@@ -332,6 +323,14 @@ _cupsStrFree(const char *s) /* I - String to free */ - * Found it, dereference... - */ - -+#ifdef DEBUG_GUARDS -+ if (key->guard != _CUPS_STR_GUARD) -+ { -+ DEBUG_printf(("5_cupsStrFree: Freeing string %p(%s), guard=%08x, ref_count=%d", key, key->str, key->guard, key->ref_count)); -+ abort(); -+ } -+#endif /* DEBUG_GUARDS */ -+ - item->ref_count --; - - if (!item->ref_count) -diff --git a/scheduler/ipp.c b/scheduler/ipp.c -index e00275b09..9be8a7f3b 100644 ---- a/scheduler/ipp.c -+++ b/scheduler/ipp.c -@@ -2601,8 +2601,7 @@ add_printer(cupsd_client_t *con, /* I - Client connection */ - if (!strcmp(attr->values[i].string.text, "none")) - continue; - -- printer->reasons[printer->num_reasons] = -- _cupsStrRetain(attr->values[i].string.text); -+ printer->reasons[printer->num_reasons] = _cupsStrAlloc(attr->values[i].string.text); - printer->num_reasons ++; - - if (!strcmp(attr->values[i].string.text, "paused") && -@@ -4892,8 +4891,9 @@ copy_printer_attrs( - - if ((p2_uri = ippFindAttribute(p2->attrs, "printer-uri-supported", - IPP_TAG_URI)) != NULL) -- member_uris->values[i].string.text = -- _cupsStrRetain(p2_uri->values[0].string.text); -+ { -+ member_uris->values[i].string.text = _cupsStrAlloc(p2_uri->values[0].string.text); -+ } - else - { - httpAssembleURIf(HTTP_URI_CODING_ALL, printer_uri, diff --git a/debian/patches/0045-Fix-an-issue-with-PreserveJobHistory-and-time-values.patch b/debian/patches/0045-Fix-an-issue-with-PreserveJobHistory-and-time-values.patch deleted file mode 100644 index e4a3f6a2b..000000000 --- a/debian/patches/0045-Fix-an-issue-with-PreserveJobHistory-and-time-values.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 917e6f4ff70eed933c80d21eed4c6bfeb2cb68b7 Mon Sep 17 00:00:00 2001 -From: Michael R Sweet <michael.r.sweet@gmail.com> -Date: Mon, 11 Mar 2019 13:54:46 -0400 -Subject: Fix an issue with `PreserveJobHistory` and time values (Issue #5538) - -Closes: #921741 ---- - scheduler/job.c | 36 ++++++++++++++++++------------------ - 1 file changed, 18 insertions(+), 18 deletions(-) - -diff --git a/scheduler/job.c b/scheduler/job.c -index cc9283fb8..d4793cbb1 100644 ---- a/scheduler/job.c -+++ b/scheduler/job.c -@@ -437,10 +437,20 @@ cupsdCleanJobs(void) - curtime = time(NULL); - JobHistoryUpdate = 0; - -+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdCleanJobs: curtime=%d", (int)curtime); -+ - for (job = (cupsd_job_t *)cupsArrayFirst(Jobs); - job; - job = (cupsd_job_t *)cupsArrayNext(Jobs)) - { -+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdCleanJobs: Job %d, state=%d, printer=%p, history_time=%d, file_time=%d", job->id, (int)job->state_value, (void *)job->printer, (int)job->history_time, (int)job->file_time); -+ -+ if ((job->history_time && job->history_time) < JobHistoryUpdate || !JobHistoryUpdate) -+ JobHistoryUpdate = job->history_time; -+ -+ if ((job->file_time && job->file_time < JobHistoryUpdate) || !JobHistoryUpdate) -+ JobHistoryUpdate = job->file_time; -+ - if (job->state_value >= IPP_JOB_CANCELED && !job->printer) - { - /* -@@ -456,21 +466,9 @@ cupsdCleanJobs(void) - else if (job->file_time && job->file_time <= curtime) - { - cupsdLogJob(job, CUPSD_LOG_DEBUG, "Removing document files."); -- cupsdLogJob(job, CUPSD_LOG_DEBUG2, "curtime=%ld, job->file_time=%ld", (long)curtime, (long)job->file_time); - remove_job_files(job); - - cupsdMarkDirty(CUPSD_DIRTY_JOBS); -- -- if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate) -- JobHistoryUpdate = job->history_time; -- } -- else -- { -- if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate) -- JobHistoryUpdate = job->history_time; -- -- if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate) -- JobHistoryUpdate = job->file_time; - } - } - } -@@ -1729,7 +1727,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */ - job->completed_time = attr->values[0].integer; - - if (JobHistory < INT_MAX) -- job->history_time = attr->values[0].integer + JobHistory; -+ job->history_time = job->completed_time + JobHistory; - else - job->history_time = INT_MAX; - -@@ -1740,7 +1738,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */ - JobHistoryUpdate = job->history_time; - - if (JobFiles < INT_MAX) -- job->file_time = attr->values[0].integer + JobFiles; -+ job->file_time = job->completed_time + JobFiles; - else - job->file_time = INT_MAX; - -@@ -2862,8 +2860,10 @@ cupsdUpdateJobs(void) - * Update history/file expiration times... - */ - -+ job->completed_time = attr->values[0].integer; -+ - if (JobHistory < INT_MAX) -- job->history_time = attr->values[0].integer + JobHistory; -+ job->history_time = job->completed_time + JobHistory; - else - job->history_time = INT_MAX; - -@@ -2877,7 +2877,7 @@ cupsdUpdateJobs(void) - JobHistoryUpdate = job->history_time; - - if (JobFiles < INT_MAX) -- job->file_time = attr->values[0].integer + JobFiles; -+ job->file_time = job->completed_time + JobFiles; - else - job->file_time = INT_MAX; - -@@ -4693,7 +4693,7 @@ set_time(cupsd_job_t *job, /* I - Job to update */ - job->completed_time = curtime; - - if (JobHistory < INT_MAX && attr) -- job->history_time = attr->values[0].integer + JobHistory; -+ job->history_time = job->completed_time + JobHistory; - else - job->history_time = INT_MAX; - -@@ -4701,7 +4701,7 @@ set_time(cupsd_job_t *job, /* I - Job to update */ - JobHistoryUpdate = job->history_time; - - if (JobFiles < INT_MAX && attr) -- job->file_time = curtime + JobFiles; -+ job->file_time = job->completed_time + JobFiles; - else - job->file_time = INT_MAX; - diff --git a/debian/patches/airprint-support.patch b/debian/patches/airprint-support.patch index 415227c60..8441efd23 100644 --- a/debian/patches/airprint-support.patch +++ b/debian/patches/airprint-support.patch @@ -1,4 +1,4 @@ -From 93864a81b630172c7d8162394c0fc9d2a2cb7f78 Mon Sep 17 00:00:00 2001 +From cd67c9b31e932eaa8cbbb4755b75cea4ef1ff4eb Mon Sep 17 00:00:00 2001 From: Till Kamppeter <till.kamppeter@gmail.com> Date: Tue, 9 Aug 2016 18:11:29 +0200 Subject: Patch to support Apple AirPrint (printing from iPhone, iPad, iPod @@ -48,7 +48,7 @@ index fa5371486..84cb0fffe 100644 # # Text files... diff --git a/scheduler/conf.c b/scheduler/conf.c -index 9c1be7089..52f2a6d35 100644 +index 11c94d2e4..2d02af752 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -745,7 +745,7 @@ cupsdReadConfiguration(void) @@ -78,10 +78,10 @@ index 3dab90ca9..f21942af3 100644 { keyvalue[count ][0] = "air"; diff --git a/scheduler/printers.c b/scheduler/printers.c -index 865e3693b..968005059 100644 +index 6f04711f1..1135b133f 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c -@@ -3765,7 +3765,9 @@ add_printer_formats(cupsd_printer_t *p) /* I - Printer */ +@@ -3759,7 +3759,9 @@ add_printer_formats(cupsd_printer_t *p) /* I - Printer */ } else if (!_cups_strcasecmp(type->super, "image")) { diff --git a/debian/patches/confdirperms.patch b/debian/patches/confdirperms.patch index afb824ee6..43e6cccc5 100644 --- a/debian/patches/confdirperms.patch +++ b/debian/patches/confdirperms.patch @@ -1,4 +1,4 @@ -From 2a03d964274a972df70409b72302ef65ff43b043 Mon Sep 17 00:00:00 2001 +From 743868ed0a64d376638adb5b454a18baf8a541ed Mon Sep 17 00:00:00 2001 From: Martin Pitt <mpitt@debian.org> Date: Tue, 9 Aug 2016 18:11:41 +0200 Subject: Do not mess with the permissions of cupsd.conf. @@ -11,7 +11,7 @@ Patch-Name: confdirperms.patch 1 file changed, 2 insertions(+) diff --git a/scheduler/conf.c b/scheduler/conf.c -index 03fc8ecd5..86e37582b 100644 +index a159b6ff8..6892085a4 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -1134,10 +1134,12 @@ cupsdReadConfiguration(void) diff --git a/debian/patches/cups-set-default-error-policy-retry-job.patch b/debian/patches/cups-set-default-error-policy-retry-job.patch index f96173a29..5f4c82a59 100644 --- a/debian/patches/cups-set-default-error-policy-retry-job.patch +++ b/debian/patches/cups-set-default-error-policy-retry-job.patch @@ -1,4 +1,4 @@ -From de6d00cd1b3c7a447281e09f7496f25efe5f0957 Mon Sep 17 00:00:00 2001 +From 6edfb5edc10c8fb5b8ade6db14c0efc642092fdb Mon Sep 17 00:00:00 2001 From: Martin Pitt <martin.pitt@ubuntu.com> Date: Tue, 9 Aug 2016 18:11:47 +0200 Subject: Set default job error policy to "retry-job", since it is less @@ -18,7 +18,7 @@ Patch-Name: cups-set-default-error-policy-retry-job.patch 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/help/man-cupsd.conf.html b/doc/help/man-cupsd.conf.html -index 4ba6ecf8f..7f7126475 100644 +index 8850f3523..e5a2d3dd4 100644 --- a/doc/help/man-cupsd.conf.html +++ b/doc/help/man-cupsd.conf.html @@ -91,9 +91,9 @@ The default value is "30". @@ -34,7 +34,7 @@ index 4ba6ecf8f..7f7126475 100644 <dd style="margin-left: 5.0em">Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems. A limit of 0 disables filter limiting. diff --git a/man/cupsd.conf.man.in b/man/cupsd.conf.man.in -index 6cec33969..df2b5bbd5 100644 +index 2d6c5b89e..a870ff91d 100644 --- a/man/cupsd.conf.man.in +++ b/man/cupsd.conf.man.in @@ -136,10 +136,10 @@ Specifies that a failed print job should be aborted (discarded) unless otherwise @@ -51,7 +51,7 @@ index 6cec33969..df2b5bbd5 100644 .TP 5 \fBFilterLimit \fIlimit\fR diff --git a/scheduler/conf.c b/scheduler/conf.c -index 755243170..aae7443de 100644 +index 743f64cab..1b70afc94 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -751,7 +751,7 @@ cupsdReadConfiguration(void) diff --git a/debian/patches/cupsd-set-default-for-SyncOnClose-to-Yes.patch b/debian/patches/cupsd-set-default-for-SyncOnClose-to-Yes.patch index e435688a4..78104c861 100644 --- a/debian/patches/cupsd-set-default-for-SyncOnClose-to-Yes.patch +++ b/debian/patches/cupsd-set-default-for-SyncOnClose-to-Yes.patch @@ -1,4 +1,4 @@ -From e7fd9b04ab5847dc694607543ed8bbd4655044dd Mon Sep 17 00:00:00 2001 +From 71646b0c6c2caf1bb758dc3e500e53f76d2e243c Mon Sep 17 00:00:00 2001 From: Tim Waugh <twaugh@redhat.com> Date: Tue, 9 Aug 2016 18:11:46 +0200 Subject: Set the default for SyncOnClose to Yes @@ -53,7 +53,7 @@ index f5e6a9f39..c3d8eeb2b 100644 .TP 5 \fBSystemGroup \fIgroup-name \fR[ ... \fIgroup-name\fR ] diff --git a/scheduler/conf.c b/scheduler/conf.c -index b12bda1f6..755243170 100644 +index 898b84f3e..743f64cab 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -735,7 +735,7 @@ cupsdReadConfiguration(void) @@ -62,6 +62,6 @@ index b12bda1f6..755243170 100644 StrictConformance = FALSE; - SyncOnClose = FALSE; + SyncOnClose = TRUE; - Timeout = DEFAULT_TIMEOUT; + Timeout = 900; WebInterface = CUPS_DEFAULT_WEBIF; diff --git a/debian/patches/debianize_cups-config.patch b/debian/patches/debianize_cups-config.patch index b17824746..f14890ed5 100644 --- a/debian/patches/debianize_cups-config.patch +++ b/debian/patches/debianize_cups-config.patch @@ -1,4 +1,4 @@ -From 46797627880e057a4e6e35575636b93b8450d54d Mon Sep 17 00:00:00 2001 +From 7a2def69b1ef279ea750c661b0f95a24b3f1574f Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:49 +0200 Subject: Use dpkg-architecture in cups-config to make it diff --git a/debian/patches/default_log_settings.patch b/debian/patches/default_log_settings.patch index dce4c16bd..e99596564 100644 --- a/debian/patches/default_log_settings.patch +++ b/debian/patches/default_log_settings.patch @@ -1,4 +1,4 @@ -From 309d0a1a54ca11e25b545e9ba5903d59bbdce1b1 Mon Sep 17 00:00:00 2001 +From 4051e3ad3ccfb42fde52f612696b9edb4521f8d9 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:40 +0200 Subject: Deactivate CUPS' own log rotating as the system already provides a diff --git a/debian/patches/do-not-broadcast-with-hostnames.patch b/debian/patches/do-not-broadcast-with-hostnames.patch index dd521216c..ef0e16d29 100644 --- a/debian/patches/do-not-broadcast-with-hostnames.patch +++ b/debian/patches/do-not-broadcast-with-hostnames.patch @@ -1,4 +1,4 @@ -From 1779852a06df8333c948b745c3aa3f1f231be64f Mon Sep 17 00:00:00 2001 +From d3ec4d94e1f8c178c4a7d228da2dde11041f33ef Mon Sep 17 00:00:00 2001 From: Till Kampetter <till.kampetter@gmail.com> Date: Tue, 9 Aug 2016 18:11:35 +0200 Subject: Do not use host names for broadcasting print queues and @@ -13,7 +13,7 @@ Patch-Name: do-not-broadcast-with-hostnames.patch 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scheduler/conf.c b/scheduler/conf.c -index 52f2a6d35..03fc8ecd5 100644 +index 2d02af752..a159b6ff8 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -898,7 +898,7 @@ cupsdReadConfiguration(void) diff --git a/debian/patches/drop_unnecessary_dependencies.patch b/debian/patches/drop_unnecessary_dependencies.patch index bd18f89c3..a11d03796 100644 --- a/debian/patches/drop_unnecessary_dependencies.patch +++ b/debian/patches/drop_unnecessary_dependencies.patch @@ -1,4 +1,4 @@ -From f5a40c519699d77a7265fbe7993df890ab4c00c0 Mon Sep 17 00:00:00 2001 +From c9157cfdf76f24d00775745d9651716112972937 Mon Sep 17 00:00:00 2001 From: Martin Pitt <mpitt@debian.org> Date: Tue, 9 Aug 2016 18:11:25 +0200 Subject: Do not link libcups.so and libcupsimage.so unnecessarily @@ -16,7 +16,7 @@ Patch-Name: drop_unnecessary_dependencies.patch 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makedefs.in b/Makedefs.in -index f614c0c1d..431d14019 100644 +index 8541b4976..dd86cde4b 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -156,7 +156,7 @@ DBUS_NOTIFIER = @DBUS_NOTIFIER@ diff --git a/debian/patches/fixes-for-jobs-with-multiple-files-and-multiple-formats.patch b/debian/patches/fixes-for-jobs-with-multiple-files-and-multiple-formats.patch index 9e6a8d07d..db22baf1b 100644 --- a/debian/patches/fixes-for-jobs-with-multiple-files-and-multiple-formats.patch +++ b/debian/patches/fixes-for-jobs-with-multiple-files-and-multiple-formats.patch @@ -1,4 +1,4 @@ -From 958625d59f2ff723fbf4a535cee7e6ea251b8732 Mon Sep 17 00:00:00 2001 +From d07ce26c5b3a2a79a8e97821a1a88f2ad54b30ee Mon Sep 17 00:00:00 2001 From: Tim Waugh <twaugh@redhat.com> Date: Tue, 9 Aug 2016 18:11:07 +0200 Subject: Fix jobs with multiple files or multiple formats @@ -12,7 +12,7 @@ Patch-Name: fixes-for-jobs-with-multiple-files-and-multiple-formats.patch 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/ipp.c b/backend/ipp.c -index f14a44e66..bc678f50a 100644 +index c364e1978..e072249bd 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -1788,7 +1788,10 @@ main(int argc, /* I - Number of command-line args */ diff --git a/debian/patches/log-debug-history-nearly-unlimited.patch b/debian/patches/log-debug-history-nearly-unlimited.patch index a973aaae8..eabfc4b80 100644 --- a/debian/patches/log-debug-history-nearly-unlimited.patch +++ b/debian/patches/log-debug-history-nearly-unlimited.patch @@ -1,4 +1,4 @@ -From 833d317f0520b037c79ad4b1ceeca31529797641 Mon Sep 17 00:00:00 2001 +From 8d4d092df601951637c199a190666b1c11d7be43 Mon Sep 17 00:00:00 2001 From: Till Kampetter <till.kampetter@gmail.com> Date: Tue, 9 Aug 2016 18:11:45 +0200 Subject: Make log debug history nearly unlimited @@ -11,7 +11,7 @@ Patch-Name: log-debug-history-nearly-unlimited.patch 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scheduler/conf.c b/scheduler/conf.c -index 86e37582b..b12bda1f6 100644 +index 6892085a4..898b84f3e 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -721,7 +721,7 @@ cupsdReadConfiguration(void) diff --git a/debian/patches/logfiles_adm_readable.patch b/debian/patches/logfiles_adm_readable.patch index 27370c326..af03afba7 100644 --- a/debian/patches/logfiles_adm_readable.patch +++ b/debian/patches/logfiles_adm_readable.patch @@ -1,4 +1,4 @@ -From 868577abc6613d776682af81906a38cc2f68d5fb Mon Sep 17 00:00:00 2001 +From 48fcd4a99f5e75be488426a7aa01d2e393bd5520 Mon Sep 17 00:00:00 2001 From: Martin Pitt <mpitt@debian.org> Date: Tue, 9 Aug 2016 18:11:38 +0200 Subject: Make log files readable to group "adm", if present. diff --git a/debian/patches/man-cups-lpd-drop-dangling-references.patch b/debian/patches/man-cups-lpd-drop-dangling-references.patch index 3e11dd901..761339339 100644 --- a/debian/patches/man-cups-lpd-drop-dangling-references.patch +++ b/debian/patches/man-cups-lpd-drop-dangling-references.patch @@ -1,4 +1,4 @@ -From 361a21356d8f1bbb0794cad4509bfed141f1a721 Mon Sep 17 00:00:00 2001 +From 2e3633bed229ae17798c9456625591012469ef5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20ROUCARI=C3=88S?= <bastien.roucaries@u-cergy.fr> Date: Tue, 9 Aug 2016 18:11:48 +0200 Subject: Drop dangling references from cups-lpd.man diff --git a/debian/patches/manpage-hyphen-minus.patch b/debian/patches/manpage-hyphen-minus.patch index 645cf7a6a..2c7134cee 100644 --- a/debian/patches/manpage-hyphen-minus.patch +++ b/debian/patches/manpage-hyphen-minus.patch @@ -1,4 +1,4 @@ -From 4d804d883eed3c12719fd830bb24a8e9bc638105 Mon Sep 17 00:00:00 2001 +From ca4c0f32fb4b03e8f1be9feb64abdfe367aac7a3 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:05 +0200 Subject: Fix hyphen-used-as-minus-sign manpage errors @@ -254,7 +254,7 @@ index 8672afa09..04ba12d35 100644 .BR cupsd (8), .BR cupsd.conf (5), diff --git a/man/cupsd.conf.man.in b/man/cupsd.conf.man.in -index 15a5fa9e6..6cec33969 100644 +index 97bf87917..2d6c5b89e 100644 --- a/man/cupsd.conf.man.in +++ b/man/cupsd.conf.man.in @@ -443,7 +443,7 @@ The \fIAllowDH\fR option enables cipher suites using plain Diffie-Hellman key ne @@ -324,7 +324,7 @@ index 253e05799..ce26c50ca 100644 Expressions may also contain modifiers: .TP 5 diff --git a/man/ipptoolfile.man b/man/ipptoolfile.man -index 35b050419..c10254f64 100644 +index 5e8384b69..b7c594a0f 100644 --- a/man/ipptoolfile.man +++ b/man/ipptoolfile.man @@ -169,8 +169,8 @@ The following directives are understood within a \fItest\fR: diff --git a/debian/patches/manpage-translations.patch b/debian/patches/manpage-translations.patch index 480d1add0..1e326e7e0 100644 --- a/debian/patches/manpage-translations.patch +++ b/debian/patches/manpage-translations.patch @@ -1,4 +1,4 @@ -From 9615ef5f2b8374bfe2816f8ff4314234362ce841 Mon Sep 17 00:00:00 2001 +From 1cd07131ecfb487064814a2c315e89b38066d73c Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:50 +0200 Subject: po4a infrastructure and translations for manpages. diff --git a/debian/patches/move-cupsd-conf-default-to-share.patch b/debian/patches/move-cupsd-conf-default-to-share.patch index c181061f2..e437d81c4 100644 --- a/debian/patches/move-cupsd-conf-default-to-share.patch +++ b/debian/patches/move-cupsd-conf-default-to-share.patch @@ -1,4 +1,4 @@ -From 636736bf6b694603432da1f72f07754d29e1673d Mon Sep 17 00:00:00 2001 +From df76c461bbe020dade1881bcdaa3732182303092 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:24 +0200 Subject: Move cupsd.conf.default from SERVERROOT to DATADIR @@ -15,7 +15,7 @@ Patch-Name: move-cupsd-conf-default-to-share.patch 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c -index ce9297765..00830e486 100644 +index 43fad787e..f0d01598d 100644 --- a/cgi-bin/admin.c +++ b/cgi-bin/admin.c @@ -1922,6 +1922,7 @@ do_config_server(http_t *http) /* I - HTTP connection */ diff --git a/debian/patches/no-conffile-timestamp.patch b/debian/patches/no-conffile-timestamp.patch index 3915049d7..9ee7f150a 100644 --- a/debian/patches/no-conffile-timestamp.patch +++ b/debian/patches/no-conffile-timestamp.patch @@ -1,4 +1,4 @@ -From 1d450c07d37d9a44ebc8ee270e0dd322bfbeb7f0 Mon Sep 17 00:00:00 2001 +From cafaeeefc9d27d50954752525cd534069354df78 Mon Sep 17 00:00:00 2001 From: Joey Hess <joeyh@debian.org> Date: Tue, 9 Aug 2016 18:11:31 +0200 Subject: Disable time stamps in conffiles, to avoid ever-changing files in @@ -29,7 +29,7 @@ index 57f9a8f44..74036fd46 100644 /* diff --git a/scheduler/job.c b/scheduler/job.c -index bbef60c64..cc9283fb8 100644 +index dcee43d83..79142bc61 100644 --- a/scheduler/job.c +++ b/scheduler/job.c @@ -2205,7 +2205,7 @@ cupsdSaveAllJobs(void) @@ -42,10 +42,10 @@ index bbef60c64..cc9283fb8 100644 /* diff --git a/scheduler/printers.c b/scheduler/printers.c -index 968005059..fda5316ee 100644 +index 1135b133f..309c1cbe1 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c -@@ -1458,7 +1458,7 @@ cupsdSaveAllPrinters(void) +@@ -1452,7 +1452,7 @@ cupsdSaveAllPrinters(void) strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Printer configuration file for " CUPS_SVERSION "\n"); @@ -55,10 +55,10 @@ index 968005059..fda5316ee 100644 /* diff --git a/scheduler/subscriptions.c b/scheduler/subscriptions.c -index b2abf14ee..bf36ced4e 100644 +index cac340520..c0e03b8cb 100644 --- a/scheduler/subscriptions.c +++ b/scheduler/subscriptions.c -@@ -1085,7 +1085,7 @@ cupsdSaveAllSubscriptions(void) +@@ -1088,7 +1088,7 @@ cupsdSaveAllSubscriptions(void) strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Subscription configuration file for " CUPS_SVERSION "\n"); diff --git a/debian/patches/pwg-raster-attributes.patch b/debian/patches/pwg-raster-attributes.patch index 9fa2373d3..3ecf47a46 100644 --- a/debian/patches/pwg-raster-attributes.patch +++ b/debian/patches/pwg-raster-attributes.patch @@ -1,4 +1,4 @@ -From b19b9601ea12d001c2ae7f2ef3bdfe43eaca2a9f Mon Sep 17 00:00:00 2001 +From bfed0c1e33e103ccfe934be6eb525ba6aff73b85 Mon Sep 17 00:00:00 2001 From: Till Kamppeter <till.kamppeter@gmail.com> Date: Tue, 9 Aug 2016 18:11:04 +0200 Subject: For PWG Raster, add required IPP attributes @@ -14,10 +14,10 @@ Patch-Name: pwg-raster-attributes.patch 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/scheduler/printers.c b/scheduler/printers.c -index 68239d85d..865e3693b 100644 +index 937d0f3c9..6f04711f1 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c -@@ -2199,9 +2199,10 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */ +@@ -2193,9 +2193,10 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */ cupsd_location_t *auth; /* Pointer to authentication element */ const char *auth_supported; /* Authentication supported */ ipp_t *oldattrs; /* Old printer attributes */ @@ -29,7 +29,7 @@ index 68239d85d..865e3693b 100644 DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name, -@@ -2538,6 +2539,80 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */ +@@ -2532,6 +2533,80 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */ DEBUG_printf(("cupsdSetPrinterAttrs: leaving name = %s, type = %x\n", p->name, p->type)); diff --git a/debian/patches/reactivate_recommended_driver.patch b/debian/patches/reactivate_recommended_driver.patch index 6df2d7f0c..aa2c93429 100644 --- a/debian/patches/reactivate_recommended_driver.patch +++ b/debian/patches/reactivate_recommended_driver.patch @@ -1,4 +1,4 @@ -From 04481c8139358649196c570bff2fb32132d408a2 Mon Sep 17 00:00:00 2001 +From d4f20a4097f2dda79d35df9a87935d8d74021f50 Mon Sep 17 00:00:00 2001 From: Till Kampetter <till.kampetter@gmail.com> Date: Tue, 9 Aug 2016 18:11:36 +0200 Subject: CUPS removes the "(recommended)" comments of the NickNames of @@ -13,10 +13,10 @@ Patch-Name: reactivate_recommended_driver.patch 1 file changed, 10 deletions(-) diff --git a/scheduler/cups-driverd.cxx b/scheduler/cups-driverd.cxx -index e6684a139..1d4291a73 100644 +index 81c447ad8..d48c75165 100644 --- a/scheduler/cups-driverd.cxx +++ b/scheduler/cups-driverd.cxx -@@ -246,7 +246,6 @@ add_ppd(const char *filename, /* I - PPD filename */ +@@ -243,7 +243,6 @@ add_ppd(const char *filename, /* I - PPD filename */ const char *scheme) /* I - PPD scheme */ { ppd_info_t *ppd; /* PPD */ @@ -24,7 +24,7 @@ index e6684a139..1d4291a73 100644 /* -@@ -284,15 +283,6 @@ add_ppd(const char *filename, /* I - PPD filename */ +@@ -281,15 +280,6 @@ add_ppd(const char *filename, /* I - PPD filename */ strlcpy(ppd->record.device_id, device_id, sizeof(ppd->record.device_id)); strlcpy(ppd->record.scheme, scheme, sizeof(ppd->record.scheme)); diff --git a/debian/patches/removecvstag.patch b/debian/patches/removecvstag.patch index ed8183f12..d7dfeae9f 100644 --- a/debian/patches/removecvstag.patch +++ b/debian/patches/removecvstag.patch @@ -1,4 +1,4 @@ -From 13c7f079928135d2fe90728ddb073d8571bb0150 Mon Sep 17 00:00:00 2001 +From 84da8ceb42cfed4b7cfe3ee6704d67593e7b0941 Mon Sep 17 00:00:00 2001 From: Kenshi Muto <kmuto@debian.org> Date: Tue, 9 Aug 2016 18:11:33 +0200 Subject: Do not write VCS tags into installed conffiles diff --git a/debian/patches/rename-systemd-units.patch b/debian/patches/rename-systemd-units.patch index 4e318e424..e32949304 100644 --- a/debian/patches/rename-systemd-units.patch +++ b/debian/patches/rename-systemd-units.patch @@ -1,4 +1,4 @@ -From 27e3f4429e71af41c18eabcd5e1436e8f40deec1 Mon Sep 17 00:00:00 2001 +From 5deeb9908be6bec764654b35ac23d379bfb5d024 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:34 +0200 Subject: Rename the systemd service file from org.cups.cups.* to cups.* @@ -36,10 +36,10 @@ index 0f1cc46f2..7c8509fa6 100644 [Path] PathExists=@CUPS_CACHEDIR@/org.cups.cupsd diff --git a/scheduler/org.cups.cupsd.service.in b/scheduler/org.cups.cupsd.service.in -index f2afa1124..3c273612a 100644 +index 5273762fb..cd2334396 100644 --- a/scheduler/org.cups.cupsd.service.in +++ b/scheduler/org.cups.cupsd.service.in -@@ -8,5 +8,5 @@ Type=simple +@@ -9,5 +9,5 @@ Type=simple Restart=on-failure [Install] diff --git a/debian/patches/series b/debian/patches/series index a25495ef7..ad63fbf33 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -32,15 +32,4 @@ cups-set-default-error-policy-retry-job.patch man-cups-lpd-drop-dangling-references.patch debianize_cups-config.patch 0034-Build-mantohtml-with-the-build-architecture-compiler.patch -0035-The-lp-and-lpr-commands-now-provide-better-error-mes.patch -0036-Protect-against-continuing-to-read-from-a-file-at-EO.patch -0037-Use-the-same-requested-attributes-values-for-all-IPP.patch -0038-Add-a-USB-quirk-rule-for-the-Lexmark-E120n-Issue-547.patch -0039-Updated-the-USB-quirks-rule-for-Zebra-label-printers.patch -0040-Add-USB-quirks-rule-for-Xerox-printers-Issue-5523.patch -0041-Add-a-USB-quirks-rule-for-the-DYMO-450-Turbo-Issue-5.patch -0042-Fix-compile-error-on-Linux-Issue-5483.patch -0043-Stop-parsing-the-Emulators-keywords-in-PPD-files-Iss.patch -0044-Fix-potential-unaligned-accesses-in-the-string-pool-.patch -0045-Fix-an-issue-with-PreserveJobHistory-and-time-values.patch manpage-translations.patch diff --git a/debian/patches/show-compile-command-lines.patch b/debian/patches/show-compile-command-lines.patch index acfe678ea..2191590d8 100644 --- a/debian/patches/show-compile-command-lines.patch +++ b/debian/patches/show-compile-command-lines.patch @@ -1,4 +1,4 @@ -From 84cdb2bf1b52f1d2c874cb11e043d145b97f6dc8 Mon Sep 17 00:00:00 2001 +From 0baeb1d78fa49fa2656706f7951e59f520e8e98c Mon Sep 17 00:00:00 2001 From: Till Kampetter <till.kampetter@gmail.com> Date: Tue, 9 Aug 2016 18:11:43 +0200 Subject: Show compile command lines @@ -9,7 +9,7 @@ Patch-Name: show-compile-command-lines.patch 1 file changed, 1 deletion(-) diff --git a/Makedefs.in b/Makedefs.in -index 431d14019..656d7b44c 100644 +index dd86cde4b..83eae7ce8 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -261,7 +261,6 @@ USBQUIRKS = @USBQUIRKS@ diff --git a/debian/patches/test-i18n-nonlinux.patch b/debian/patches/test-i18n-nonlinux.patch index 69534b597..93368ff92 100644 --- a/debian/patches/test-i18n-nonlinux.patch +++ b/debian/patches/test-i18n-nonlinux.patch @@ -1,4 +1,4 @@ -From e80cf44f0e8306861e4a6cd501d9176ba6321ba8 Mon Sep 17 00:00:00 2001 +From 8db74bb2d98ae2cf7838bbcc080f22b59016a1c5 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:16 +0200 Subject: Tests: Do not run the CUPS_EUC_JP test case on BSD/Hurd either, as diff --git a/debian/patches/tests-fix-ppdLocalize-on-unclean-env.patch b/debian/patches/tests-fix-ppdLocalize-on-unclean-env.patch index 94a79c659..35caeb259 100644 --- a/debian/patches/tests-fix-ppdLocalize-on-unclean-env.patch +++ b/debian/patches/tests-fix-ppdLocalize-on-unclean-env.patch @@ -1,4 +1,4 @@ -From ad183a459c66cc1bec8727a685235d9ae277ea46 Mon Sep 17 00:00:00 2001 +From 995b47b758bb86a184d923c3960bb8867254557a Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:18 +0200 Subject: Tests: Force LC_* environment variables when testing (non) @@ -13,7 +13,7 @@ Patch-Name: tests-fix-ppdLocalize-on-unclean-env.patch 1 file changed, 8 insertions(+) diff --git a/cups/testppd.c b/cups/testppd.c -index a127a7947..e6cdea5ed 100644 +index 776304b24..943e70033 100644 --- a/cups/testppd.c +++ b/cups/testppd.c @@ -503,6 +503,14 @@ main(int argc, /* I - Number of command-line arguments */ diff --git a/debian/patches/tests-ignore-ipv6-address-family-not-supported.patch b/debian/patches/tests-ignore-ipv6-address-family-not-supported.patch index 5acd26cb7..6531b364e 100644 --- a/debian/patches/tests-ignore-ipv6-address-family-not-supported.patch +++ b/debian/patches/tests-ignore-ipv6-address-family-not-supported.patch @@ -1,4 +1,4 @@ -From 216ab53fd4e0efbd4c9bff23e0db41aa0e89ff2f Mon Sep 17 00:00:00 2001 +From 97665110b28de873d64ce94779be5811907104ce Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:33:56 +0200 Subject: Tests: ignore errors triggered on ipv6-deprived hosts @@ -13,10 +13,10 @@ Patch-Name: tests-ignore-ipv6-address-family-not-supported.patch 1 file changed, 1 insertion(+) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index fd4cf20d6..99239caea 100755 +index 41da930f0..8c6b2d617 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -972,6 +972,7 @@ count=`$GREP '^E ' $BASE/log/error_log | $GREP -v 'Unknown default SystemGroup' +@@ -1038,6 +1038,7 @@ count=`$GREP '^E ' $BASE/log/error_log | $GREP -v 'Unknown default SystemGroup' $GREP -v '(dnssd) stopped with status 1' | \ $GREP -v 'loadFile failed: temp file: not a PDF file' | \ $GREP -v 'Failed to connect to system bus' | \ diff --git a/debian/patches/tests-ignore-kfreebsd-amd64-not-a-pdf.patch b/debian/patches/tests-ignore-kfreebsd-amd64-not-a-pdf.patch index b1d6359b0..3830b2e59 100644 --- a/debian/patches/tests-ignore-kfreebsd-amd64-not-a-pdf.patch +++ b/debian/patches/tests-ignore-kfreebsd-amd64-not-a-pdf.patch @@ -1,4 +1,4 @@ -From 0c0de72ae34c09b6ec938d4a78be9bf190d16e7d Mon Sep 17 00:00:00 2001 +From 45897f280686076a46b2540cde47e80876354292 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:30:48 +0200 Subject: Tests: ignore loadFile failures @@ -13,10 +13,10 @@ Patch-Name: tests-ignore-kfreebsd-amd64-not-a-pdf.patch 1 file changed, 2 insertions(+) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index 8219f1e26..fd4cf20d6 100755 +index c842cf530..41da930f0 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -970,6 +970,8 @@ fi +@@ -1036,6 +1036,8 @@ fi count=`$GREP '^E ' $BASE/log/error_log | $GREP -v 'Unknown default SystemGroup' | \ $GREP -v '(usb) crashed on signal 11' | \ $GREP -v '(dnssd) stopped with status 1' | \ diff --git a/debian/patches/tests-ignore-kfreebsd-unable-to-write-uncompressed-print-data.patch b/debian/patches/tests-ignore-kfreebsd-unable-to-write-uncompressed-print-data.patch index 23c7c2a2a..039733afa 100644 --- a/debian/patches/tests-ignore-kfreebsd-unable-to-write-uncompressed-print-data.patch +++ b/debian/patches/tests-ignore-kfreebsd-unable-to-write-uncompressed-print-data.patch @@ -1,4 +1,4 @@ -From 31de6465febf604c20afde267596e98e733ba990 Mon Sep 17 00:00:00 2001 +From e570284abae7d406a2c33b488a4fd0b20dfd93d0 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:36:02 +0200 Subject: Tests: ignore the failure to write uncompressed data @@ -14,10 +14,10 @@ Patch-Name: tests-ignore-kfreebsd-unable-to-write-uncompressed-print-data.patch 1 file changed, 1 insertion(+) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index 99239caea..97dc3866f 100755 +index 8c6b2d617..b79149f23 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -973,6 +973,7 @@ count=`$GREP '^E ' $BASE/log/error_log | $GREP -v 'Unknown default SystemGroup' +@@ -1039,6 +1039,7 @@ count=`$GREP '^E ' $BASE/log/error_log | $GREP -v 'Unknown default SystemGroup' $GREP -v 'loadFile failed: temp file: not a PDF file' | \ $GREP -v 'Failed to connect to system bus' | \ $GREP -v -E 'Unable to open listen socket for address .* Address family not supported by protocol.' | \ diff --git a/debian/patches/tests-ignore-usb-crash.patch b/debian/patches/tests-ignore-usb-crash.patch index 8faf1757f..3d1cb547d 100644 --- a/debian/patches/tests-ignore-usb-crash.patch +++ b/debian/patches/tests-ignore-usb-crash.patch @@ -1,4 +1,4 @@ -From a377691ca08b10ec3976300d5ad02b05f19307cf Mon Sep 17 00:00:00 2001 +From 31f3c8e45c30721385539cf035660a0b6969b82f Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:10 +0200 Subject: Tests: ignore usb & dnssd backend unexpected exits @@ -17,10 +17,10 @@ Patch-Name: tests-ignore-usb-crash.patch 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index c7de337ae..8219f1e26 100755 +index ce1f386c0..c842cf530 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -967,7 +967,10 @@ else +@@ -1033,7 +1033,10 @@ else fi # Error log messages diff --git a/debian/patches/tests-ignore-warnings.patch b/debian/patches/tests-ignore-warnings.patch index fcfb94276..946197c76 100644 --- a/debian/patches/tests-ignore-warnings.patch +++ b/debian/patches/tests-ignore-warnings.patch @@ -1,4 +1,4 @@ -From 44d082e3a3d2f673801d8e78d66ce08a2cb2236d Mon Sep 17 00:00:00 2001 +From e2af6d00fedf677671093538f24fcca5b75e34bd Mon Sep 17 00:00:00 2001 From: Martin Pitt <mpitt@debian.org> Date: Tue, 9 Aug 2016 18:11:09 +0200 Subject: Tests: Ignore warnings from colord and Avahi @@ -13,10 +13,10 @@ Patch-Name: tests-ignore-warnings.patch 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index fc7e2525c..c7de337ae 100755 +index 9cf7bd08a..ce1f386c0 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -982,7 +982,11 @@ else +@@ -1048,7 +1048,11 @@ else fi # Warning log messages diff --git a/debian/patches/tests-make-lpstat-call-reproducible.patch b/debian/patches/tests-make-lpstat-call-reproducible.patch index 4da028da5..389964326 100644 --- a/debian/patches/tests-make-lpstat-call-reproducible.patch +++ b/debian/patches/tests-make-lpstat-call-reproducible.patch @@ -1,4 +1,4 @@ -From d0b8a43d94dc57cb5363e48c3bcb18449d3b9505 Mon Sep 17 00:00:00 2001 +From 56a04f5d453be250b79670a09c1f85d96c8d4ad6 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:22 +0200 Subject: Force LC_ALL=C environment variable when grepping the output of @@ -13,10 +13,10 @@ Patch-Name: tests-make-lpstat-call-reproducible.patch 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index bcdfd5efe..1c7cc27e7 100755 +index 974da77a5..10ad26495 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -695,7 +695,7 @@ else +@@ -703,7 +703,7 @@ else fi while true; do @@ -25,7 +25,7 @@ index bcdfd5efe..1c7cc27e7 100755 if test "x$running" = "xscheduler is running"; then break fi -@@ -809,13 +809,13 @@ kill -HUP $cupsd +@@ -817,13 +817,13 @@ kill -HUP $cupsd while true; do sleep 10 diff --git a/debian/patches/tests-no-pdftourf.patch b/debian/patches/tests-no-pdftourf.patch index 8d6bc089b..5e59b1198 100644 --- a/debian/patches/tests-no-pdftourf.patch +++ b/debian/patches/tests-no-pdftourf.patch @@ -1,4 +1,4 @@ -From 6a354c3169ea6469bb71e51fc6d7d23e62f7fcaa Mon Sep 17 00:00:00 2001 +From 8d7b0fef89aaf7e175ca5e2fb03851edbce2bb09 Mon Sep 17 00:00:00 2001 From: Michael Sweet <michael.r.sweet@gmail.com> Date: Tue, 9 Aug 2016 18:11:23 +0200 Subject: Revert pdftourf filter addition in tests @@ -18,7 +18,7 @@ Patch-Name: tests-no-pdftourf.patch delete mode 100644 test/test.types diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index 1c7cc27e7..7fd69652c 100755 +index 10ad26495..f7cf61c36 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh @@ -271,7 +271,7 @@ case "$usedebugprintfs" in diff --git a/debian/patches/tests-use-ipv4-lo-address.patch b/debian/patches/tests-use-ipv4-lo-address.patch index 4642a7213..481cce3f5 100644 --- a/debian/patches/tests-use-ipv4-lo-address.patch +++ b/debian/patches/tests-use-ipv4-lo-address.patch @@ -1,4 +1,4 @@ -From 1697ce7557145b73c55f1c82aec6b70f45228432 Mon Sep 17 00:00:00 2001 +From cbea213e73eb736d8bfa66fc8bea7522ee1ba526 Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:21 +0200 Subject: Use 127.0.0.1 instead of localhost in the test-suite. This should @@ -30,10 +30,10 @@ index 7efc39892..08b8c508f 100644 echo " FAILED" exit 1 diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index 411689141..bcdfd5efe 100755 +index d64bd89fc..974da77a5 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -485,7 +485,7 @@ fi +@@ -493,7 +493,7 @@ fi cat >$BASE/cupsd.conf <<EOF StrictConformance Yes Browsing Off @@ -42,7 +42,7 @@ index 411689141..bcdfd5efe 100755 Listen $BASE/sock MaxSubscriptions 3 MaxLogSize 0 -@@ -599,7 +599,7 @@ fi +@@ -607,7 +607,7 @@ fi # These get exported because they don't have side-effects... CUPS_DISABLE_APPLE_DEFAULT=yes; export CUPS_DISABLE_APPLE_DEFAULT @@ -51,7 +51,7 @@ index 411689141..bcdfd5efe 100755 CUPS_SERVERROOT=$BASE; export CUPS_SERVERROOT CUPS_STATEDIR=$BASE; export CUPS_STATEDIR CUPS_DATADIR=$BASE/share; export CUPS_DATADIR -@@ -735,10 +735,10 @@ for file in 4*.test ipp-2.1.test; do +@@ -743,10 +743,10 @@ for file in 4*.test ipp-2.1.test; do echo $ac_n "`date '+[%d/%b/%Y:%H:%M:%S %z]'` $ac_c" >>$strfile if test $file = ipp-2.1.test; then diff --git a/debian/patches/tests-wait-on-unfinished-jobs-everytime.patch b/debian/patches/tests-wait-on-unfinished-jobs-everytime.patch index deee87c69..b010e02ea 100644 --- a/debian/patches/tests-wait-on-unfinished-jobs-everytime.patch +++ b/debian/patches/tests-wait-on-unfinished-jobs-everytime.patch @@ -1,4 +1,4 @@ -From faa9cfa7c22a95abb45d5ed38d894b518e934a2c Mon Sep 17 00:00:00 2001 +From 1b90626cfba63b97d53e17b2e9980ac17ea75e1c Mon Sep 17 00:00:00 2001 From: Didier Raboud <odyx@debian.org> Date: Tue, 9 Aug 2016 18:11:17 +0200 Subject: Tests: Make sure that all scheduled jobs are finished before @@ -14,10 +14,10 @@ Patch-Name: tests-wait-on-unfinished-jobs-everytime.patch 1 file changed, 5 insertions(+) diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh -index 97dc3866f..411689141 100755 +index b79149f23..d64bd89fc 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh -@@ -768,6 +768,11 @@ echo " $date by $user on `hostname`." >>$strfile +@@ -776,6 +776,11 @@ echo " $date by $user on `hostname`." >>$strfile echo " <pre>" >>$strfile for file in 5*.sh; do |