Hello community, here is the log from the commit of package cups for openSUSE:Factory checked in at 2019-06-12 12:59:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cups (Old) and /work/SRC/openSUSE:Factory/.cups.new.4811 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cups" Wed Jun 12 12:59:19 2019 rev:148 rq:705931 version:2.3b6 Changes: -------- --- /work/SRC/openSUSE:Factory/cups/cups.changes 2018-11-06 14:10:36.982962358 +0100 +++ /work/SRC/openSUSE:Factory/.cups.new.4811/cups.changes 2019-06-12 12:59:23.437326166 +0200 @@ -1,0 +2,112 @@ +Thu Feb 21 12:44:01 CET 2019 - vliaskovi...@suse.com + +- Add issue5509-fix-utf-8-validation-issue.patch (bsc#1118118) + Fixes https://github.com/apple/cups/issues/5509 +- Remove libcupscgi1, libcupsmime1, libcupsppdc1 from + baselibs.conf + +------------------------------------------------------------------- +Mon Dec 10 14:09:12 CET 2018 - jsm...@suse.de + +- Version upgrade to 2.3b6: + This is the sixth beta of the CUPS 2.3 series which adopts the + new CUPS license, adds support for IPP presets and finishing + templates, and fixes a number of bugs and "polish" issues. + For details see https://github.com/apple/cups/releases + or the CHANGES.md file. + Backward incompatible changes: + * The cupsaddsmb program has been removed (Issue #5449) + * The cupstestdsc program has been removed (Issue #5450) + * The cupscgi, cupsmime, and cupsppdc support libraries + are no longer installed as shared libraries. + Changes include: + * CVE-2018-4700: Linux session cookies used a predictable + random number seed. + * The lpoptions command now works with IPP Everywhere printers + that have not yet been added as local queues (Issue #5045) + * The lpadmin command would create a non-working printer + in some error cases (Issue #5305) + * The scheduler would crash if an empty AccessLog directive + was specified (Issue #5309) + * The scheduler did not idle-exit on some + Linux distributions (Issue #5319) + * Fixed a regression in the changes to ippValidateAttribute + (Issue #5322, Issue #5330) + * Fixed a crash bug in the Epson dot matrix driver (Issue #5323) + * Automatic debug logging of job errors did not work + with systemd (Issue #5337) + * The web interface did not list the + IPP Everywhere "driver" (Issue #5338) + * The scheduler did not report all of the supported job options + and values (Issue #5340) + * The IPP Everywhere "driver" now properly supports + face-up printers (Issue #5345) + * Fixed some typos in the label printer drivers (Issue #5350) + * Setting the Community name to the empty string in snmp.conf + now disables SNMP supply level monitoring by all the + standard network backends (Issue #5354) + * Multi-file jobs could get stuck if the backend failed + (Issue #5359, Issue #5413) + * The IPP Everywhere "driver" no longer does local filtering + when printing to a shared CUPS printer (Issue #5361) + * The lpadmin command now correctly reports IPP errors + when configuring an IPP Everywhere printer (Issue #5370) + * Fixed some memory leaks discovered by Coverity (Issue #5375) + * The PPD compiler incorrectly terminated JCL options + (Issue #5379) + * The cupstestppd utility did not generate errors for + missing/mismatched CloseUI/JCLCloseUI keywords (Issue #5381) + * The scheduler now reports the actual location + of the log file (Issue #5398) + * The generated PPD files for IPP Everywhere printers + did not contain the cupsManualCopies keyword (Issue #5433) + * Kerberos credentials might be truncated (Issue #5435) + * The handling of MaxJobTime 0 did not match the documentation + (Issue #5438) + * Fixed a bug adding a queue with the -E option (Issue #5440) + * The scheduler did not validate that required initial request + attributes were in the operation group (rdar://41098178) + * Fixed an issue with HTTP Digest authentication + (rdar://41709086) + * The scheduler could crash when job history was purged + (rdar://42198057) + * Fixed a crash bug when mapping PPD duplex options + to IPP attributes (rdar://46183976) + * Fixed a memory leak for some IPP (extension) syntaxes. + * The snmp backend is now deprecated. +- issue5453.patch fixes https://github.com/apple/cups/issues/5453 +- Version upgrade to 2.3b5: + This is the fifth beta of the CUPS 2.3 series which adopts the + new CUPS license, adds support for IPP presets and finishing + templates, and fixes a number of bugs and "polish" issues. + For details see https://github.com/apple/cups/releases + or the CHANGES.md file. + Changes include: + * The ipptool program no longer checks for duplicate attributes + when running in list or CSV mode (Issue #5278) + * The cupsCreateJob, cupsPrintFile2, and cupsPrintFiles2 APIs + did not use the supplied HTTP connection (Issue #5288) + * Fixed another crash in the scheduler when adding an IPP + Everywhere printer (Issue #5290) + * Added a workaround for certain web browsers that + do not support multiple authentication schemes + in a single response header (Issue #5289) + * Fixed policy limits containing the All operation (Issue #5296) + * The scheduler was always restarted after idle-exit + with systemd (Issue #5297) + * The mailto notifier did not wait for the + welcome message (Issue #5312) + * Fixed a parsing bug in the pstops filter (Issue #5321) + * The scheduler allowed environment variables to be specified + in the cupsd.conf file (rdar://37836779, rdar://37836995, + rdar://37837252, rdar://37837581) + * Fax queues did not support pause (p) or + wait-for-dialtone (w) characters (rdar://39212256) + * The scheduler did not validate notify-recipient-uri values + properly (rdar://40068936) + * The IPP parser allowed invalid group tags (rdar://40442124) + * Fixed a parsing bug in the new authentication code. +- issue5296_fix_policy_limits_using_All.patch is obsolete + because it is fixed upstream (see "Issue #5296" above) + +------------------------------------------------------------------- Old: ---- cups-2.3b4-source.tar.gz cups-2.3b4-source.tar.gz.sig issue5296_fix_policy_limits_using_All.patch New: ---- cups-2.3b6-source.tar.gz cups-2.3b6-source.tar.gz.sig issue5453.patch issue5509-fix-utf-8-validation-issue.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cups.spec ++++++ --- /var/tmp/diff_new_pack.OgNCov/_old 2019-06-12 12:59:24.305325973 +0200 +++ /var/tmp/diff_new_pack.OgNCov/_new 2019-06-12 12:59:24.309325972 +0200 @@ -1,7 +1,7 @@ # # spec file for package cups # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,38 +19,34 @@ # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir %{_libexecdir}/tmpfiles.d } Name: cups -# CUPS beta version numbers like "2.3b4" can be used as is because +# CUPS beta version numbers like "2.3b6" can be used as is because # "zypper vcmp 2.3.b99 2.3.0" shows "2.3.b99 is older than 2.3.0" and -# "zypper vcmp 2.2.99 2.3b4" show "2.2.99 is older than 2.3b4" so that +# "zypper vcmp 2.2.99 2.3b6" show "2.2.99 is older than 2.3b6" so that # version upgrades from 2.2.x via 2.3.b* to 2.3.0 work: -Version: 2.3b4 +Version: 2.3b6 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing Url: http://www.cups.org/ # To get Source0 go to https://www.cups.org/software.html or https://github.com/apple/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3b4-source.tar.gz https://github.com/apple/cups/releases/download/v2.3b4/cups-2.3b4-source.tar.gz -Source0: https://github.com/apple/cups/releases/download/v2.3b4/cups-2.3b4-source.tar.gz +# wget --no-check-certificate -O cups-2.3b6-source.tar.gz https://github.com/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz +Source0: https://github.com/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz # To get Source1 go to https://www.cups.org/software.html or https://github.com/apple/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3b4-source.tar.gz.sig https://github.com/apple/cups/releases/download/v2.3b4/cups-2.3b4-source.tar.gz.sig -Source1: https://github.com/apple/cups/releases/download/v2.3b4/cups-2.3b4-source.tar.gz.sig +# wget --no-check-certificate -O cups-2.3b6-source.tar.gz.sig https://github.com/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz.sig +Source1: https://github.com/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz.sig # To get Source2 go to https://www.cups.org/pgp.html Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring # gpg --list-keys | grep -1 'CUPS.org' | grep -v 'expired' -# gpg --verify cups-2.3b4-source.tar.gz.sig cups-2.3b4-source.tar.gz +# gpg --verify cups-2.3b6-source.tar.gz.sig cups-2.3b6-source.tar.gz Source102: Postscript.ppd.gz Source105: Postscript-level1.ppd.gz Source106: Postscript-level2.ppd.gz Source108: cups-client.conf Source109: baselibs.conf # Patch0...Patch9 is for patches from upstream: -# Patch1 fixes CUPS upstream isssue https://github.com/apple/cups/issues/5296 -# by only the actually relevant part of CUPS upstream commit -# https://github.com/apple/cups/commit/0873f681e43c04972b3d6bc90bdbdedb29e6e913 -Patch1: issue5296_fix_policy_limits_using_All.patch # Source10...Source99 is for sources from SUSE which are intended for upstream: # Patch10...Patch99 is for patches from SUSE which are intended for upstream: # Patch10 cups-2.1.0-choose-uri-template.patch adds 'smb://...' URIs to templates/choose-uri.tmpl: @@ -64,6 +60,8 @@ Patch12: cups-2.1.0-cups-systemd-socket.patch # Patch42 Let cupsd start after possible network connection (boo#1111351) Patch42: let-cupsd-start-after-network.patch +# Patch43 Fix UTF-8 validation issue (bsc#1118118, Issue #5509) +Patch43: issue5509-fix-utf-8-validation-issue.patch # Patch100...Patch999 is for private patches from SUSE which are not intended for upstream: # Patch100 cups-pam.diff adds conf/pam.suse regarding support for PAM for SUSE: Patch100: cups-pam.diff @@ -79,6 +77,9 @@ Patch103: cups-1.4-do_not_strip_recommended_from_PPDs.patch # Patch104 cups-config-libs.patch fixes option --libs in cups-config script: Patch104: cups-config-libs.patch +# Patch105 issue5453.patch fixes https://github.com/apple/cups/issues/5453 +Patch105: issue5453.patch +# Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes BuildRequires: gcc-c++ @@ -174,15 +175,6 @@ manipulating PPD files. The scheduler and all commands, filters, and backends use this library. -%package -n libcupscgi1 -Summary: CUPS web interface support function library -Group: System/Libraries - -%description -n libcupscgi1 -The CUPS CGI library provides all of the web interface support -functions. It is used by the CGI programs to provide the CUPS web -interface. - %package -n libcupsimage2 Summary: CUPS library for working with large images Group: System/Libraries @@ -194,25 +186,6 @@ the CUPS image file filters, the PostScript RIP, and all raster printers drivers. -%package -n libcupsmime1 -Summary: MIME database file routines for CUPS -Group: System/Libraries - -%description -n libcupsmime1 -The CUPS MIME library provides file typing and conversion functions -and is used by the scheduler and cupsfilter(8) command to auto-type -and convert print files to a printable format. - -%package -n libcupsppdc1 -Summary: CUPS PostScript Printer Description (PPD) file compiler library -Group: System/Libraries - -%description -n libcupsppdc1 -The CUPS PPD compiler library provides access to driver information -files and is used by the PPD compiler tools as well as the -cups-driverd(8) helper program to generate PPD files and message -catalogs for localization. - %package config Summary: CUPS library configuration files Group: Hardware/Printing @@ -241,10 +214,7 @@ # and all required packages are provided on the same repository: Group: Hardware/Printing Requires: libcups2 = %{version}-%{release} -Requires: libcupscgi1 = %{version}-%{release} Requires: libcupsimage2 = %{version}-%{release} -Requires: libcupsmime1 = %{version}-%{release} -Requires: libcupsppdc1 = %{version}-%{release} # Conflicts with other print spoolers which provide same binaries like /usr/bin/lp and so on: Conflicts: lprng Conflicts: lprold @@ -270,10 +240,7 @@ Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libcups2 = %{version} -Requires: libcupscgi1 = %{version} Requires: libcupsimage2 = %{version} -Requires: libcupsmime1 = %{version} -Requires: libcupsppdc1 = %{version} %description devel CUPS is a modular printing system which allows a computer to act as a @@ -302,10 +269,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 fixes CUPS upstream isssue https://github.com/apple/cups/issues/5296 -# by only the actually relevant part of CUPS upstream commit -# https://github.com/apple/cups/commit/0873f681e43c04972b3d6bc90bdbdedb29e6e913 -%patch1 -b issue5296_fix_policy_limits_using_All.orig # Patch10...Patch99 is for patches from SUSE which are intended for upstream: # Patch10 cups-2.1.0-choose-uri-template.patch adds 'smb://...' URIs to templates/choose-uri.tmpl: %patch10 -b choose-uri-template.orig @@ -318,6 +281,7 @@ #patch12 -b cups-systemd-socket.orig # Patch42 Let cupsd start after possible network connection (boo#1111351) %patch42 -p0 +%patch43 -p1 # Patch100...Patch999 is for private patches from SUSE which are not intended for upstream: # Patch100 cups-pam.diff adds conf/pam.suse regarding support for PAM for SUSE: %patch100 -b cups-pam.orig @@ -333,6 +297,8 @@ %patch103 -b do_not_strip_recommended_from_PPDs.orig # Patch104 cups-config-libs.patch fixes option --libs in cups-config script: %patch104 -b cups-config-libs.orig +# Patch105 issue5453.patch fixes https://github.com/apple/cups/issues/5453 +%patch105 -b issue5453.orig %build # Remove ".SILENT" rule for verbose build output @@ -523,14 +489,8 @@ %post -n libcups2 -p /sbin/ldconfig %postun -n libcups2 -p /sbin/ldconfig -%post -n libcupscgi1 -p /sbin/ldconfig -%postun -n libcupscgi1 -p /sbin/ldconfig %post -n libcupsimage2 -p /sbin/ldconfig %postun -n libcupsimage2 -p /sbin/ldconfig -%post -n libcupsmime1 -p /sbin/ldconfig -%postun -n libcupsmime1 -p /sbin/ldconfig -%post -n libcupsppdc1 -p /sbin/ldconfig -%postun -n libcupsppdc1 -p /sbin/ldconfig %files %defattr(-,root,root) @@ -556,7 +516,6 @@ %{_unitdir}/cups-lpd@.service %{_tmpfilesdir}/cups.conf %{_bindir}/cupstestppd -%{_sbindir}/cupsaddsmb %{_sbindir}/cupsctl %{_sbindir}/cupsd %{_sbindir}/cupsfilter @@ -623,7 +582,6 @@ %doc %{_mandir}/man8/cups-exec.8.gz %doc %{_mandir}/man8/cups-lpd.8.gz %doc %{_mandir}/man8/cups-snmp.8.gz -%doc %{_mandir}/man8/cupsaddsmb.8.gz %doc %{_mandir}/man8/cupsctl.8.gz %doc %{_mandir}/man8/cupsd.8.gz %doc %{_mandir}/man8/cupsd-helper.8.gz @@ -634,7 +592,6 @@ %files client %defattr(-,root,root) %{_bindir}/cancel -%{_bindir}/cupstestdsc %{_bindir}/ippfind %{_bindir}/ipptool %{_bindir}/lp @@ -654,7 +611,6 @@ %{_sbindir}/lpmove %{_sbindir}/reject %doc %{_mandir}/man1/cancel.1.gz -%doc %{_mandir}/man1/cupstestdsc.1.gz %doc %{_mandir}/man1/ippfind.1.gz %doc %{_mandir}/man1/ipptool.1.gz %doc %{_mandir}/man1/lp.1.gz @@ -680,9 +636,6 @@ %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so -%{_libdir}/libcupscgi.so -%{_libdir}/libcupsmime.so -%{_libdir}/libcupsppdc.so %{_datadir}/cups/ppdc/ %files ddk @@ -703,22 +656,10 @@ %defattr(-,root,root) %{_libdir}/libcups.so.2 -%files -n libcupscgi1 -%defattr(-,root,root) -%{_libdir}/libcupscgi.so.1 - %files -n libcupsimage2 %defattr(-,root,root) %{_libdir}/libcupsimage.so.2 -%files -n libcupsmime1 -%defattr(-,root,root) -%{_libdir}/libcupsmime.so.1 - -%files -n libcupsppdc1 -%defattr(-,root,root) -%{_libdir}/libcupsppdc.so.1 - %files config %defattr(-,root,root) %if 0%{?suse_version} >= 1330 ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.OgNCov/_old 2019-06-12 12:59:24.357325961 +0200 +++ /var/tmp/diff_new_pack.OgNCov/_new 2019-06-12 12:59:24.361325961 +0200 @@ -1,8 +1,5 @@ libcups2 provides "cups-libs-<targettype> = <version>" obsoletes "cups-libs-<targettype> < <version>" -libcupscgi1 libcupsimage2 -libcupsmime1 -libcupsppdc1 cups-devel ++++++ cups-2.3b4-source.tar.gz -> cups-2.3b6-source.tar.gz ++++++ /work/SRC/openSUSE:Factory/cups/cups-2.3b4-source.tar.gz /work/SRC/openSUSE:Factory/.cups.new.4811/cups-2.3b6-source.tar.gz differ: char 5, line 1 ++++++ issue5296_fix_policy_limits_using_All.patch -> issue5453.patch ++++++ --- /work/SRC/openSUSE:Factory/cups/issue5296_fix_policy_limits_using_All.patch 2018-04-25 09:57:41.818887314 +0200 +++ /work/SRC/openSUSE:Factory/.cups.new.4811/issue5453.patch 2019-06-12 12:59:23.481326156 +0200 @@ -1,11 +1,11 @@ ---- scheduler/conf.c.orig 2018-03-23 21:39:17.000000000 +0100 -+++ scheduler/conf.c 2018-04-18 13:38:45.000000000 +0200 -@@ -3853,7 +3853,7 @@ read_policy(cups_file_t *fp, /* I - Con - if (num_ops < (int)(sizeof(ops) / sizeof(ops[0]))) - { - if (!_cups_strcasecmp(value, "All")) -- ops[num_ops] = IPP_ANY_OPERATION; -+ ops[num_ops ++] = IPP_ANY_OPERATION; - else if ((ops[num_ops] = ippOpValue(value)) == IPP_BAD_OPERATION) - cupsdLogMessage(CUPSD_LOG_ERROR, - "Bad IPP operation name \"%s\" on line %d of %s.", +--- scheduler/main.c.orig 2018-12-07 20:40:21.000000000 +0100 ++++ scheduler/main.c 2018-12-10 11:07:27.000000000 +0100 +@@ -155,7 +155,7 @@ main(int argc, /* I - Number of comm + for (i = 1; i < argc; i ++) + { + if (!strcmp(argv[i], "--help")) +- usage(); ++ usage(0); + else if (argv[i][0] == '-') + { + for (opt = argv[i] + 1; *opt != '\0'; opt ++) ++++++ issue5509-fix-utf-8-validation-issue.patch ++++++ Index: cups-2.3b6/cups/ipp.c =================================================================== --- cups-2.3b6.orig/cups/ipp.c +++ cups-2.3b6/cups/ipp.c @@ -4909,30 +4909,24 @@ ippValidateAttribute( { if ((*ptr & 0xe0) == 0xc0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80) break; + + ptr ++; } else if ((*ptr & 0xf0) == 0xe0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80 || (ptr[2] & 0xc0) != 0x80) break; + + ptr += 2; } else if ((*ptr & 0xf8) == 0xf0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80 || (ptr[2] & 0xc0) != 0x80 || (ptr[3] & 0xc0) != 0x80) break; + + ptr += 3; } else if (*ptr & 0x80) break; @@ -4970,30 +4964,24 @@ ippValidateAttribute( { if ((*ptr & 0xe0) == 0xc0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80) break; + + ptr ++; } else if ((*ptr & 0xf0) == 0xe0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80 || (ptr[2] & 0xc0) != 0x80) break; + + ptr += 2; } else if ((*ptr & 0xf8) == 0xf0) { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) + if ((ptr[1] & 0xc0) != 0x80 || (ptr[2] & 0xc0) != 0x80 || (ptr[3] & 0xc0) != 0x80) break; + + ptr += 3; } else if (*ptr & 0x80) break;