cups/cups.spec

727 lines
32 KiB
RPMSpec
Raw Normal View History

#
# spec file for package cups
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Cf. https://rpm.org/user_doc/conditional_builds.html
# by default enable testsuite (i.e. in the 'check' section run make check and make test)
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
%bcond_without testsuite
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2
%{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d }
Name: cups
# 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.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:
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
Version: 2.4.1
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
Release: 0
Summary: The Common UNIX Printing System
License: Apache-2.0
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
Group: Hardware/Printing
URL: https://openprinting.github.io/cups
# To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g.
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz
Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz
# To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g.
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig
Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig
# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7
# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7
Source2: cups.keyring
# To manually verify Source0 with Source1 and Source2 do e.g.
# gpg --import cups.keyring
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
# gpg --list-keys | grep -1 'Zdenek Dohnal'
# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-source.tar.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
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:
# 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:
Patch10: cups-2.1.0-choose-uri-template.patch
# Patch11 cups-2.1.0-default-webcontent-path.patch changes the default path whereto the
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# web content is installed from /usr/share/doc/cups to /usr/share/cups/webcontent
# because the files of the CUPS web content are no documentation, see CUPS STR #3578
# and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments:
Patch11: cups-2.1.0-default-webcontent-path.patch
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# 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
# Patch101 cups-2.0.3-additional_policies.patch adds the 'allowallforanybody' policy to cupsd.conf
# see https://fate.novell.com/303515 and https://bugzilla.suse.com/show_bug.cgi?id=936309
Patch101: cups-2.0.3-additional_policies.patch
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Patch103 cups-1.4-do_not_strip_recommended_from_PPDs.patch
# reverts the change which was added by Michael Sweet in Jan 2007
# which strips the word "recommended" from NickName in PPDs because
# at least yast2-printer in SUSE needs it, compare the
# 'Why not "recommend" PPDs in the NickName?' and the subsequent
# 'RFC: New Driver Rating/Information Attributes' mail thread on cups@easysw.com:
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
Patch107: harden_cups.service.patch
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing
Patch108: downgrade-autoconf-requirement.patch
# Build Requirements:
BuildRequires: dbus-1-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
BuildRequires: gnutls-devel
BuildRequires: libavahi-devel
BuildRequires: libgcrypt-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
BuildRequires: libusb-1_0-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
%if 0%{?suse_version} >= 1315
BuildRequires: pkgconfig(krb5)
%else
BuildRequires: krb5-devel
%endif
%if 0%{?suse_version} > 1310
BuildRequires: pkgconfig(libsystemd)
%else
BuildRequires: pkgconfig(libsystemd-daemon)
%endif
BuildRequires: pkgconfig(systemd)
# Require the exact matching version-release of the cups-client sub-package
# (that requires all native CUPS libraries i.e. the libcups* sub-packages)
# and the cups-config sub-package.
# The exact matching version-release of each sub-package is available
# on the same package repository where the cups package is because
# all are built simulaneously from the same cups source package
# and all required packages are provided on the same repository:
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
Requires: cups-client = %{version}-%{release}
Requires: cups-config = %{version}-%{release}
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
Requires(pre): %{_sbindir}/groupadd
Requires(pre): coreutils
# Cf. https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines
# versus https://lists.opensuse.org/opensuse-factory/2015-03/msg00218.html
%{?systemd_requires}
# Since CUPS 1.6 all non-Mac filters are dropped from CUPS
# and provided in the separated cups-filters software from OpenPrinting.org:
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
Recommends: cups-filters
# Our Source105 PSLEVEL1.PPD.bz2 and Source106 PSLEVEL2.PPD.bz2 need foomatic-rip
# but this does not justify a RPM Requires so that a weak Recommends is sufficient:
Recommends: foomatic-filters
# The Ghostscript device "cups" is needed by several CUPS filters
# (in particular the "rasterto..." filters) which might justify a RPM Requires.
# But a RPM requirement for ghostscript would cause a build dependency cycle because
# cups Requires ghostscript which BuildRequires cups-devel which Requires libcups2
# and libcups2 is a sub-package of cups so that there is an implicit build dependency
# cycle between the main-packages cups and ghostscript.
# Furthermore, Ghostscript is not needed on a system where those CUPS filters are not used
# (e.g. on client systems in the network where the filtering hapens on a CUPS server
# or on a CUPS server with only "raw" queues), so that a weak Recommends fits better:
Recommends: ghostscript
# Install into this non-root directory (required when it is built as non-root user):
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Conflicts with other print spoolers which provide same binaries like
# /usr/bin/lp and so on or which may listen on the same port (e.g. cups-lpd
# versus traditional lpd on port 515):
Conflicts: lprng
Conflicts: lprold
Conflicts: plp
%description
CUPS is a modular printing system which allows a computer to act as a
print server. A computer running CUPS is a host that can accept print
jobs from client computers, process them, and send them to the
appropriate printer.
CUPS consists of a print spooler and scheduler, a filter system that
converts the print data to a format that the printer will understand,
and a backend system that sends this data to the print device. CUPS
uses the Internet Printing Protocol (IPP) as the basis for managing
print jobs and queues. It also provides the traditional command line
interfaces for the System V and Berkeley print systems, and provides
support for the Berkeley print system's Line Printer Daemon protocol
and limited support for the server message block (SMB) protocol.
CUPS comes with a built-in web-based interface.
%package -n libcups2
Summary: HTTP/IPP communication and printer queue and job library
Group: System/Libraries
Requires: cups-config
Obsoletes: cups-libs < %{version}-%{release}
Provides: cups-libs = %{version}-%{release}
%description -n libcups2
The CUPS library contains all of the core HTTP and IPP communications
code as well as convenience functions for queuing print jobs, getting
printer information, accessing resources via HTTP and IPP, and
manipulating PPD files. The scheduler and all commands, filters, and
backends use this library.
%package -n libcupsimage2
Summary: CUPS library for working with large images
Group: System/Libraries
%description -n libcupsimage2
The CUPS imaging library provides functions for managing large
images, doing colorspace conversion and color management, scaling
images for printing, and managing raster page streams. It is used by
the CUPS image file filters, the PostScript RIP, and all raster
printers drivers.
%package config
Summary: CUPS library configuration files
Group: Hardware/Printing
%if 0%{?suse_version} >= 1330
Requires(pre): user(lp)
Requires(pre): group(lp)
%endif
%description config
CUPS is a modular printing system which allows a computer to act as a
print server.
This subpackage contains some basic configuration files for its
operation.
%package client
Summary: CUPS Client Programs
# Require the exact matching version-release of the libcups* sub-packages because
# non-matching CUPS libraries may let CUPS software crash (e.g. segfault)
# because all CUPS software is provided as one single CUPS source tarball
# and there are CUPS-internal dependencies via CUPS private API calls
# (which do not happen for third-party software which uses only the CUPS public API).
# The exact matching version-release of each libcups* sub-package is available
# on the same package repository where the cups package is because
# all are built simultaneously from the same cups source package
# and all required packages are provided on the same repository:
Group: Hardware/Printing
Requires: libcups2 = %{version}-%{release}
Requires: libcupsimage2 = %{version}-%{release}
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Conflicts with other print spoolers which provide same binaries like /usr/bin/lp and so on:
Conflicts: lprng
Conflicts: lprold
Conflicts: plp
%description client
CUPS is a modular printing system which allows a computer to act as a
print server. A computer running CUPS is a host that can accept print
jobs from client computers, process them, and send them to the
appropriate printer.
This package contains the traditional command line interfaces for the
System V and Berkeley print systems.
%package devel
Summary: Development Environment for CUPS
# Do not require the exact matching version-release
# of the native CUPS libraries (i.e. the libcups* sub-packages)
# but only CUPS libraries with matching version because
# for building third-party software which uses only the CUPS public API
# there are no CUPS-internal dependencies via CUPS private API calls
# (the latter would require the exact matching CUPS libraries version-release):
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libcups2 = %{version}
Requires: libcupsimage2 = %{version}
# make sure printer drivers benefit from automatic provides
%if 0%{?suse_version} >= 1500
Requires: cups-rpm-helper
%endif
%description devel
CUPS is a modular printing system which allows a computer to act as a
print server.
This subpackage contains the header files for developing applications
that want to make use of libcups for adding print support.
%package ddk
Summary: CUPS Driver Development Kit
Group: Hardware/Printing
Requires: cups = %{version}
Requires: cups-devel = %{version}
# Since CUPS 1.4 the CUPS Driver Development Kit (DDK) is bundled with CUPS.
# For CUPS 1.2.x and 1.3.x, the DDK was separated software
# which we provided (up to openSUSE 11.1 / SLE11) in our cupsddk package:
Provides: cupsddk = %{version}
Obsoletes: cupsddk < %{version}
%description ddk
The CUPS Driver Development Kit (DDK) provides
a suite of standard drivers, a PPD file compiler,
and other utilities that can be used to develop
printer drivers for CUPS.
%prep
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%setup -q
# Patch0...Patch9 is for patches from upstream:
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# 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
# Patch11 cups-2.1.0-default-webcontent-path.patch changes the default path whereto the
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# web content is installed from /usr/share/doc/cups to /usr/share/cups/webcontent
# because the files of the CUPS web content are no documentation, see CUPS STR #3578
# and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments:
%patch11 -b default-webcontent-path.orig
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# 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
# Patch101 cups-2.0.3-additional_policies.patch adds the 'allowallforanybody' policy to cupsd.conf
# see https://fate.novell.com/303515 and https://bugzilla.suse.com/show_bug.cgi?id=936309
%patch101 -b additional_policies.orig
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Patch103 cups-1.4-do_not_strip_recommended_from_PPDs.patch
# reverts the change which was added by Michael Sweet in Jan 2007
# which strips the word "recommended" from NickName in PPDs because
# at least yast2-printer in SUSE needs it, compare the
# 'Why not "recommend" PPDs in the NickName?' and the subsequent
# 'RFC: New Driver Rating/Information Attributes' mail thread on cups@easysw.com:
%patch103 -b do_not_strip_recommended_from_PPDs.orig
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Patch104 cups-config-libs.patch fixes option --libs in cups-config script:
%patch104 -b cups-config-libs.orig
%patch107 -p1
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
%patch108 -p1
%build
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Remove ".SILENT" rule for verbose build output
sed 's#^.SILENT:##g' -i Makedefs.in
aclocal -I config-scripts
autoconf -I config-scripts
# Export the build options we desire
export CXXFLAGS="$CXXFLAGS %{optflags} -O2 -fstack-protector -fPIE -fPIC"
export CFLAGS="$CFLAGS %{optflags} -fstack-protector -fPIE -fPIC"
export LDFLAGS="-pie"
export CXX=c++
export CC=cc
# As long as cups-2.1.0-default-webcontent-path.patch is applied
# configure --with-docdir=... would be no longer needed
# because cups-2.1.0-default-webcontent-path.patch changes the
# default with-docdir path whereto the web content is installed
# from /usr/share/doc/cups to /usr/share/cups/webcontent because the
# files of the CUPS web content are no documentation, see CUPS STR #3578
# and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments
# so that the new default could be used as is but upstream may accept
# cups-2.1.0-default-webcontent-path.patch in general but change its default
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# so that with-docdir is explicitly set here to be future proof.
# Regarding --with-rundir and --with-domainsocket
# see https://www.cups.org/str.php?L4306 and
# http://lists.opensuse.org/opensuse-factory/2013-01/msg00578.html
# --without-perl/php - neither actually work correctly so rather disable
# --without-xinetd - socket activation from systemd works better
# --enable-debug - avoids stripping of binaries
# --enable-relro - force relro sections in binaries/libs
%configure \
--enable-option-checking \
--with-docdir=%{_datadir}/cups/webcontent \
--with-cups-user=lp \
--with-cups-group=lp \
--with-system-groups=root \
--enable-debug \
--enable-debug-printfs \
--enable-relro \
--enable-gssapi \
--enable-libusb \
--disable-static \
--without-rcdir \
--with-cachedir=%{_localstatedir}/cache/cups \
--with-rundir=/run/cups \
--with-domainsocket=/run/cups/cups.sock \
--enable-dbus \
--enable-pam \
--enable-threads \
--enable-gnutls \
--enable-systemd \
--enable-avahi --disable-dnssd \
--enable-libpaper \
--without-perl \
--without-php \
--with-xinetd=no \
--enable-webif \
localedir=%{_datadir}/locale
make %{?_smp_mflags}
%install
make BUILDROOT=%{buildroot} install
# Make directory for ssl files:
mkdir -p %{buildroot}%{_sysconfdir}/cups/ssl
# Add a client.conf as template (Source108: cups-client.conf):
install -m644 %{SOURCE108} %{buildroot}%{_sysconfdir}/cups/client.conf
# Make the libraries accessible also via generic named links:
ln -sf libcupsimage.so.2 %{buildroot}%{_libdir}/libcupsimage.so
ln -sf libcups.so.2 %{buildroot}%{_libdir}/libcups.so
# Add missing usual directories:
install -d -m755 %{buildroot}%{_datadir}/cups/drivers
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
install -d -m755 %{buildroot}%{_localstatedir}/cache/cups
# Add conf/pam.suse regarding support for PAM (see Patch100: cups-pam.diff):
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
install -m 644 -D conf/pam.suse %{buildroot}%{_sysconfdir}/pam.d/cups
# Add missing usual documentation.
install -d -m755 %{buildroot}/%{_defaultdocdir}/cups
for f in CHANGES.md CREDITS.md INSTALL.md LICENSE README.md
do install -m 644 "$f" %{buildroot}%{_defaultdocdir}/cups/
done
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# Add generic PostScript printer PPDs:
# Source102: Postscript.ppd.gz
install -m 644 %{SOURCE102} %{buildroot}%{_datadir}/cups/model/Postscript.ppd.gz
# Source105: Postscript-level1.ppd,gz
install -m 644 %{SOURCE105} %{buildroot}%{_datadir}/cups/model/Postscript-level1.ppd.gz
# Source106: Postscript-level2.ppd.gz
install -m 644 %{SOURCE106} %{buildroot}%{_datadir}/cups/model/Postscript-level2.ppd.gz
# Rm files for desktop menu:
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
rm -f %{buildroot}%{_datadir}/applications/cups.desktop
rm -rf %{buildroot}%{_datadir}/icons
# Save /etc/cups/cupsd.conf and /etc/cups/cupsd.conf.default from becoming hardlinked
# via the fdupes run below, see https://bugzilla.novell.com/show_bug.cgi?id=773971
# by making their content different and at the same time fix the misleading comment.
# Intentionally let the build fail if 'grep' does not find what 'sed' should change
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# because if upstream changed it 'sed' would silently no longer change the files:
grep -q '^# Configuration ' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf.default
sed -i -e 's/^# Configuration /# Default configuration /' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf.default
# rcbla aliases:
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
ln -s service %{buildroot}%{_sbindir}/rccups
ln -s service %{buildroot}%{_sbindir}/rccups-lpd
# Install /usr/lib/tmpfiles.d/cups.conf
# According to
# https://developers.redhat.com/blog/2016/09/20/managing-temporary-files-with-systemd-tmpfiles-on-rhel7/
# d /var/spool/cups/tmp - - - 30d
# results that each file older than 30 days on /var/spool/cups/tmp will be deleted where a file
# will be considered unused only if atime, mtime and ctime are all older than the specified time.
# We use group 'root' for /run/cups/certs (instead of 'sys')
# d /run/cups/certs 0511 lp root -
# because of https://bugzilla.opensuse.org/show_bug.cgi?id=1042916
mkdir -p %{buildroot}%{_tmpfilesdir}
cat > %{buildroot}%{_tmpfilesdir}/cups.conf <<EOF
# See tmpfiles.d(5) for details
# Type(d=directory) Path Mode UID GID Age(until delete when cleaning)
d /run/cups 0755 root lp -
d /run/cups/certs 0511 lp root -
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
d %{_localstatedir}/spool/cups/tmp - - - 30d
EOF
# Never run fdupes carelessly over the whole buildroot directory
# because in older openSUSE and SLE11 versions fdupes
# links files with different owner, group, or permissions
# see https://bugzilla.novell.com/show_bug.cgi?id=784670
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# and even in current openSUSE versions fdupes links across sub-package
# boundaries, compare https://bugzilla.novell.com/show_bug.cgi?id=784869
%fdupes -s %{buildroot}/%{_datadir}/cups/templates
%check
%if %{with testsuite}
# There appears to be some kind of race condition when running make check and make test
# cf. https://github.com/OpenPrinting/cups/issues/155
# We print all logs for debugging purposes if either testsuite fails
echo "DEBUG: running make test"
bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT'
%else
echo "DEBUG: skipped running make check and make test, cf. https://github.com/OpenPrinting/cups/issues/155"
%endif
%pre -p /bin/bash
getent group ntadmin >/dev/null || %{_sbindir}/groupadd -g 71 -o -r ntadmin
%service_add_pre cups.service cups-lpd.socket cups.socket
%post -p /bin/bash
%if 0
# Use %%tmpfiles_create when 13.2 is oldest in support scope
%endif
/usr/bin/systemd-tmpfiles --create %{_tmpfilesdir}/cups.conf || :
%service_add_post cups.service cups-lpd.socket cups.socket
%preun -p /bin/bash
%service_del_preun cups.service cups-lpd.socket cups.socket
%postun -p /bin/bash
%service_del_postun cups.service cups-lpd.socket cups.socket
# Removed code comments from expanded scriptlets to reduce scriptlet size in binary RPMs
# but then users could no longer see the comments via "rpm -q --scripts cups"
# cf. https://build.opensuse.org/request/show/879976
%posttrans -p /bin/bash
%if 0
# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe
# an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed
# see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets
# Begin refresh systemd units and clean up possibly obsolete systemd units
# The following is a generic way how to refresh and/or clean up systemd units.
# A systemd unit may need a refresh after updating a package when the new package
# had installed a changed systemd unit file for an enabled systemd unit.
# A systemd unit may become obsolete by updating a package (see bnc#904215).
# A systemd unit is considered to have become obsolete when the systemd
# symlink /etc/systemd/system/.../unit_name -> /path/to/unit_file is broken.
# When during package update the new package does no longer provide a unit file
# then the systemd symlink becomes broken after the files of the old package
# had been actually removed by RPM.
# According to /usr/share/doc/packages/rpm/manual/triggers and according
# to https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets#Scriptlet_Ordering
# and http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering
# from the new package only "posttrans of new package" is run after "removal of old package"
# so that the new package must do the clean up as RPM posttrans scriptlet.
%endif
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
for u in cups.service cups.socket cups.path; do
if systemctl --quiet is-enabled $u 2>/dev/null
then
%if 0
# Refresh still valid enabled systemd units and clean up possibly obsoleted systemd units:
# Enforce systemd to use the current unit file which is usually the unit file of the new package
# but also in case of custom units (that use other unit files) a "reenable" won't hurt because
# "reenable" does not implicitly stop a running service which is "the right thing" because
# a RPM package installation must not automatically disrupt (restart) a running service.
# Using "--force reenable" is essential to clean up possibly conflicting/broken symlinks.
# (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"):
%endif
systemctl --quiet --force reenable $u 2>/dev/null || :
else
%if 0
# Refresh still valid disabled systemd units and clean up possibly obsoleted systemd units:
# First using "--force reenable" is essential to clean up possibly conflicting/broken symlinks
# because there is no "--force disable" that would clean up possibly conflicting/broken symlinks
# see https://bugzilla.opensuse.org/show_bug.cgi?id=904215#c34
# so that first the unit has a clean state and then it is set back to disabled (as it was before).
# If a disabled systemd unit has become obsoleted, "systemctl --force reenable" will clean it up
# which means the unit gets removed and the subsequent "systemctl disable" will do nothing.
# (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"):
%endif
systemctl --quiet --force reenable $u 2>/dev/null || :
systemctl --quiet disable $u 2>/dev/null || :
fi
done
exit 0
%post -n libcups2 -p /sbin/ldconfig
%postun -n libcups2 -p /sbin/ldconfig
%post -n libcupsimage2 -p /sbin/ldconfig
%postun -n libcupsimage2 -p /sbin/ldconfig
%files
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%defattr(-,root,root)
# In particular all executables are listed explicitly.
# This avoids that CUPS' configure magic might silently
# not build and install an executable when whatever condition
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
# for configure's automated tests is not fulfilled in the build system.
# See https://bugzilla.novell.com/show_bug.cgi?id=526847#c9
# Regarding specific owner group and permission settings for directories
# see https://bugzilla.suse.com/show_bug.cgi?id=1184161
# When cupsd creates directories with specific owner group and permissions
# (usually owner is 'root' and group matches "configure --with-cups-group=lp")
# we must specify same owner group and permission settings here
# to ensure those directories are installed by RPM with the right settings
# because if those directories were installed by RPM with different settings then
# cupsd would use them as is and not adjust its specific owner group and permissions.
# How cupsd creates those directories:
# drwxr-xr-x ... root lp ... /etc/cups/ppd
# see https://bugzilla.suse.com/show_bug.cgi?id=1184161#c7
# The /etc/cups/ssl directory is not created by cupsd (but needed by it)
# and when needed (e.g. during the first run of "# lpstat -E -p")
# cupsd creates files in /etc/cups/ssl like localhost.crt and localhost.key
# so we specify secure owner group and permissions for /etc/cups/ssl
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%config(noreplace) %attr(640,root,lp) %{_sysconfdir}/cups/cups-files.conf
%config(noreplace) %attr(640,root,lp) %{_sysconfdir}/cups/cupsd.conf
%config(noreplace) %attr(640,root,lp) %{_sysconfdir}/cups/snmp.conf
%config %{_sysconfdir}/pam.d/cups
%config %{_sysconfdir}/dbus-1/system.d/cups.conf
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%config %{_sysconfdir}/cups/cupsd.conf.default
%config %{_sysconfdir}/cups/cups-files.conf.default
%config %{_sysconfdir}/cups/snmp.conf.default
%dir %attr(755,root,lp) %{_sysconfdir}/cups/ppd
%dir %attr(700,root,root) %{_sysconfdir}/cups/ssl
%{_unitdir}/cups.service
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%{_unitdir}/cups.socket
%{_unitdir}/cups.path
%{_unitdir}/cups-lpd.socket
%{_unitdir}/cups-lpd@.service
%{_tmpfilesdir}/cups.conf
%{_bindir}/cupstestppd
%{_sbindir}/cupsctl
%{_sbindir}/cupsd
%{_sbindir}/cupsfilter
%{_sbindir}/rccups
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%{_sbindir}/rccups-lpd
%dir /usr/lib/cups
%dir /usr/lib/cups/backend
/usr/lib/cups/backend/dnssd
/usr/lib/cups/backend/http
/usr/lib/cups/backend/https
/usr/lib/cups/backend/ipp
/usr/lib/cups/backend/ipps
/usr/lib/cups/backend/lpd
/usr/lib/cups/backend/snmp
/usr/lib/cups/backend/socket
/usr/lib/cups/backend/usb
%dir /usr/lib/cups/cgi-bin
/usr/lib/cups/cgi-bin/admin.cgi
/usr/lib/cups/cgi-bin/classes.cgi
/usr/lib/cups/cgi-bin/help.cgi
/usr/lib/cups/cgi-bin/jobs.cgi
/usr/lib/cups/cgi-bin/printers.cgi
%dir /usr/lib/cups/command
/usr/lib/cups/command/ippevepcl
/usr/lib/cups/command/ippeveps
%dir /usr/lib/cups/daemon
/usr/lib/cups/daemon/cups-deviced
/usr/lib/cups/daemon/cups-driverd
/usr/lib/cups/daemon/cups-exec
/usr/lib/cups/daemon/cups-lpd
%dir /usr/lib/cups/driver
%dir /usr/lib/cups/filter
/usr/lib/cups/filter/commandtops
/usr/lib/cups/filter/gziptoany
/usr/lib/cups/filter/pstops
/usr/lib/cups/filter/rastertoepson
/usr/lib/cups/filter/rastertohp
/usr/lib/cups/filter/rastertolabel
/usr/lib/cups/filter/rastertopwg
%dir /usr/lib/cups/monitor
/usr/lib/cups/monitor/bcp
/usr/lib/cups/monitor/tbcp
%dir /usr/lib/cups/notifier
/usr/lib/cups/notifier/dbus
/usr/lib/cups/notifier/mailto
/usr/lib/cups/notifier/rss
%dir %attr(0775,root,ntadmin) %{_datadir}/cups/drivers
%doc %{_defaultdocdir}/cups
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man1/cups.1.gz
%doc %{_mandir}/man1/cupstestppd.1.gz
%doc %{_mandir}/man1/ippeveprinter.1.gz
%doc %{_mandir}/man5/classes.conf.5.gz
%doc %{_mandir}/man5/client.conf.5.gz
%doc %{_mandir}/man5/cups-snmp.conf.5.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man5/cups-files.conf.5.gz
%doc %{_mandir}/man5/cupsd-logs.5.gz
%doc %{_mandir}/man5/cupsd.conf.5.gz
%doc %{_mandir}/man5/mailto.conf.5.gz
%doc %{_mandir}/man5/mime.convs.5.gz
%doc %{_mandir}/man5/mime.types.5.gz
%doc %{_mandir}/man5/printers.conf.5.gz
%doc %{_mandir}/man5/subscriptions.conf.5.gz
%doc %{_mandir}/man7/backend.7.gz
%doc %{_mandir}/man7/filter.7.gz
%doc %{_mandir}/man7/ippevepcl.7.gz
%doc %{_mandir}/man7/ippeveps.7.gz
%doc %{_mandir}/man7/notifier.7.gz
%doc %{_mandir}/man8/cups-deviced.8.gz
%doc %{_mandir}/man8/cups-driverd.8.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man8/cups-exec.8.gz
%doc %{_mandir}/man8/cups-lpd.8.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man8/cups-snmp.8.gz
%doc %{_mandir}/man8/cupsctl.8.gz
%doc %{_mandir}/man8/cupsd.8.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man8/cupsd-helper.8.gz
%doc %{_mandir}/man8/cupsfilter.8.gz
%{_datadir}/cups/
%files client
%defattr(-,root,root)
%{_bindir}/cancel
%{_bindir}/ippeveprinter
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%{_bindir}/ippfind
%{_bindir}/ipptool
%{_bindir}/lp
%{_bindir}/lpoptions
%{_bindir}/lpq
%{_bindir}/lpr
%{_bindir}/lprm
%{_bindir}/lpstat
%{_sbindir}/cupsaccept
%{_sbindir}/cupsdisable
%{_sbindir}/cupsenable
%{_sbindir}/cupsreject
%{_sbindir}/lpadmin
%{_sbindir}/lpc
%{_sbindir}/lpinfo
%{_sbindir}/lpmove
%doc %{_mandir}/man1/cancel.1.gz
Accepting request 286363 from home:scarabeus_iv:branches:Printing Final submission, there seem to be no activity on factory so it works or nobody cares :) - Add back the posttrans cleanup script as it is needed - Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has. - Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword (<rdar://problem/19121005>) * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file - Enable PIE for build - Remove legacy paralel-port support as it is not really needed as most do not want it - Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration - cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only OBS-URL: https://build.opensuse.org/request/show/286363 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=294
2015-02-16 16:27:41 +01:00
%doc %{_mandir}/man1/ippfind.1.gz
%doc %{_mandir}/man1/ipptool.1.gz
%doc %{_mandir}/man1/lp.1.gz
%doc %{_mandir}/man1/lpoptions.1.gz
%doc %{_mandir}/man1/lpq.1.gz
%doc %{_mandir}/man1/lpr.1.gz
%doc %{_mandir}/man1/lprm.1.gz
%doc %{_mandir}/man1/lpstat.1.gz
%doc %{_mandir}/man5/ipptoolfile.5.gz
%doc %{_mandir}/man8/cupsaccept.8.gz
%doc %{_mandir}/man8/cupsdisable.8.gz
%doc %{_mandir}/man8/cupsenable.8.gz
%doc %{_mandir}/man8/cupsreject.8.gz
%doc %{_mandir}/man8/lpadmin.8.gz
%doc %{_mandir}/man8/lpc.8.gz
%doc %{_mandir}/man8/lpinfo.8.gz
%doc %{_mandir}/man8/lpmove.8.gz
%files devel
%defattr(-,root,root)
Accepting request 958348 from home:ajoga:branches:openSUSE:Factory - Version upgrade to 2.4.1 - Dropped patch upstream_pull_174 because it it is included in this release - Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) - Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) - Re-enabled testsuite * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) - Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style - Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) - Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes old: Printing/cups new: home:ajoga:branches:openSUSE:Factory/cups rev None Index: cups-2.1.0-default-webcontent-path.patch =================================================================== --- cups-2.1.0-default-webcontent-path.patch (revision 380) +++ cups-2.1.0-default-webcontent-path.patch (revision 2) @@ -1,17 +1,21 @@ ---- config-scripts/cups-directories.m4.orig 2014-03-21 17:42:53.000000000 +0100 -+++ config-scripts/cups-directories.m4 2015-09-01 11:08:43.000000000 +0200 -@@ -206,11 +206,11 @@ fi - AC_SUBST(MENUDIR) +--- config-scripts/cups-directories.m4 ++++ config-scripts/cups-directories.m4.orig +@@ -166,15 +166,15 @@ AS_IF([test "x$menudir" = x], [ + AC_SUBST([MENUDIR]) # Documentation files --AC_ARG_WITH(docdir, [ --with-docdir set path for documentation],docdir="$withval",docdir="") -+AC_ARG_WITH(docdir, [ --with-docdir set path and DocumentRoot directive for web content, default=datadir/cups/webcontent],docdir="$withval",docdir="") +-AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path for documentation]), [ ++AC_ARG_WITH([docdir], AS_HELP_STRING([--with-docdir], [set path and DocumentRoot directive for web content, default=datadir/cups/webcontent]), [ + docdir="$withval" + ], [ + docdir="" + ]) - if test x$docdir = x; then -- CUPS_DOCROOT="$datadir/doc/cups" -- docdir="$datadir/doc/cups" -+ CUPS_DOCROOT="$datadir/cups/webcontent" -+ docdir="$datadir/cups/webcontent" - else - CUPS_DOCROOT="$docdir" - fi + AS_IF([test x$docdir = x], [ +- CUPS_DOCROOT="$datadir/doc/cups" +- docdir="$datadir/doc/cups" ++ CUPS_DOCROOT="$datadir/cups/webcontent" ++ docdir="$datadir/cups/webcontent" + ], [ + CUPS_DOCROOT="$docdir" + ]) Index: cups-config-libs.patch =================================================================== --- cups-config-libs.patch (revision 380) +++ cups-config-libs.patch (revision 2) @@ -4,7 +4,7 @@ # flags for compiler and linker... CFLAGS="" LDFLAGS="@EXPORT_LDFLAGS@" --LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@" +-LIBS="@LIBGSSAPI@ @DNSSDLIBS@ @EXPORT_TLSLIBS@ @LIBZ@ @LIBS@" +LIBS="" # Check for local invocation... Index: cups.changes =================================================================== --- cups.changes (revision 380) +++ cups.changes (revision 2) @@ -1,4 +1,88 @@ ------------------------------------------------------------------- +Tue Mar 1 18:16:11 UTC 2022 - Aurélien Joga <aurelienjoga@gmail.com> + +- Version upgrade to 2.4.1: + * The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) + * Configuration script now checks linking for -Wl,-pie flags (Issue #303) + * Fixed memory leaks - in testi18n (Issue #313), in cups_enum_dests() (Issue #317), in _cupsEncodeOption() and http_tls_upgrade() (Issue #322) + * Fixed missing bracket in de/index.html (Issue #299) + * Fixed typos in configuration scripts (Issues #304, #316) + * Removed remaining legacy code for RIP_MAX_CACHE environment variable (Issue #323) + * Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) + * Removed purge-jobs legacy code from CGI scripts and templates (Issue #325) + * Added configure option --with-idle-exit-timeout (Issue #294) + * Added --with-systemd-timeoutstartsec configure option (Issue #298) + * DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) + * Fixed compilation on Solaris (Issue #293) + * Fixed and improved German translations (Issue #296, Issue #297) + * Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) + * Compilation now uses -fstack-protector-strong if available (Issue #285) + * Added support for CUPS running in a Snapcraft snap. + * Added basic OAuth 2.0 client support (Issue #100) + * Added support for AirPrint and Mopria clients (Issue #105) + * Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) + * Added several features and improvements to ipptool (Issue #153) + * Added a JSON output mode for ipptool. + * The ipptool command now correctly reports an error when a test file cannot be found. + * CUPS library now uses thread safe getpwnam_r and getpwuid_r functions (Issue #274) + * Fixed Kerberos authentication for the web interface (Issue #19) + * The ZPL sample driver now supports more "standard" label sizes (Issue #70) + * Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) + * Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) + * The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) + * The testlang unit test program now loops over all of the available locales by default (Issue #85) + * The cupsfilter command now shows error messages when options are used incorrectly (Issue #88) + * The PPD functions now treat boolean values as case-insensitive (Issue #106) + * Temporary queue names no longer end with an underscore (Issue #110) + * The USB backend now runs as root (Issue #121) + * Added pkg-config file for libcups (Issue #122) + * Fixed a PPD memory leak caused by emulator definitions (Issue #124) + * Fixed a DISPLAY bug in ipptool (Issue #139) + * The scheduler now includes the [Job N] prefix for job log messages, even when using syslog logging (Issue #154) + * Added support for locales using the GB18030 character set (Issue #159) + * httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) + * httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) + * The IPP backend now retries Validate-Job requests (Issue #132) + * Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) + * Added dark mode support to the CUPS web interface (Issue #152) + * Added a workaround for Solaris in httpAddrConnect2 (Issue #156) + * Fixed an interaction between --remote-admin and --remote-any for the cupsctl command (Issue #158) + * Now use a 60 second timeout for reading USB backchannel data (Issue #160) + * The USB backend now tries harder to find a serial number (Issue #170) + * Fixed @IF(name) handling in cupsd.conf (Apple #5918) + * Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) + * Fixed the lpc command prompt (Apple #5946) + * Now always pass "localhost" in the Host: header when talking over a domain socket or the loopback interface (Issue #185) + * Fixed a job history update issue in the scheduler (Issue #187) + * Fixed job-pages-per-set value for duplex print jobs. + * Fixed an edge case in ippReadIO to make sure that only complete attributes and values are retained on an error (Issue #195) + * Hardened ippReadIO to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) + * The scheduler now supports the "everywhere" model directly (Issue #201) + * Fixed some IPP Everywhere option mapping problems (Issue #238) + * Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) + * Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) + * Fixed support for the 'offline-report' state for all USB backends (Issue #264) + * Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) + * Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) + * USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) + * Web interface updates (Issue #142, Issue #218) + * The ippeveprinter tool now automatically uses an available port. + * Fixed several Windows TLS and hashing issues. + * Deprecated cups-config (Issue #97) + * Deprecated Kerberos (AuthType Negotiate) authentication (Issue #98) + * Removed support for the (long deprecated and unused) FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout, RIPCache, and SMBConfigFile directives in cupsd.conf and cups-files.conf. + * Stubbed out deprecated httpMD5 functions. + * Add test for undefined page ranges during printing. +- Dropped patch upstream_pull_174 because it it is included in this release +- Dropped patch cups-2.1.0-cups-systemd-socket.patch because it it is included in this release (https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c) +- Changed upstream source packages signing key (https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579) +- Re-enabled testsuite + * Also removed make check because since upstream change the two target are identical (https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R239) +- Changed cups-2.1.0-cups-systemd-socket.patch to accomodate new coding style +- Changed cups-config-libs.orig to accommodate recent code changes (SSL->TLS) +- Changed cups-2.1.0-default-webcontent-path.patch to accommodate code changes + +------------------------------------------------------------------- Tue Feb 1 09:18:27 UTC 2022 - jsmeix@suse.de - Enhanced harden_cups.service.patch by adding Index: cups.keyring =================================================================== Binary files cups.keyring (revision 380) and cups.keyring (revision 2) differ Index: cups.spec =================================================================== --- cups.spec (revision 380) +++ cups.spec (revision 2) @@ -18,9 +18,7 @@ # Cf. https://rpm.org/user_doc/conditional_builds.html # by default enable testsuite (i.e. in the 'check' section run make check and make test) -#bcond_without testsuite -# disable testsuite for now until https://github.com/OpenPrinting/cups/issues/155 is fixed -%bcond_with testsuite +%bcond_without testsuite # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } @@ -29,34 +27,32 @@ # "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.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.3.3op2 +Version: 2.4.1 Release: 0 Summary: The Common UNIX Printing System License: Apache-2.0 Group: Hardware/Printing URL: https://openprinting.github.io/cups # To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz -Source0: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz +Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz # To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g. -# wget --no-check-certificate -O cups-2.3.3op2-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -Source1: https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz.sig -# To get Source2 go to https://www.msweet.org/pgp.html -# PGP Fingerprint: 845464660B686AAB36540B6F999559A027815955 +# wget --no-check-certificate -O cups-2.4.1-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.1/cups-2.4.1-source.tar.gz.sig +# To get Source2 use gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 +# See https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579 +# PGP Fingerprint: 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 Source2: cups.keyring # To manually verify Source0 with Source1 and Source2 do e.g. # gpg --import cups.keyring -# gpg --list-keys | grep -1 'Michael R Sweet' | grep -v 'expired' -# gpg --verify cups-2.3.3op2-source.tar.gz.sig cups-2.3.3op2-source.tar.gz +# gpg --list-keys | grep -1 'Zdenek Dohnal' +# gpg --verify cups-2.4.1-source.tar.gz.sig cups-2.4.1-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 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -Patch1: upstream_pull_174.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: @@ -66,8 +62,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-2.1.0-default-webcontent-path.patch -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -Patch12: cups-2.1.0-cups-systemd-socket.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 @@ -83,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -Patch106: fix-negotiate-authentication-between-CGIs-and-scheduler.patch Patch107: harden_cups.service.patch +# Patch108 downgrades the autoconf requirement to the autoconf available in tumbleweed as of writing +Patch108: downgrade-autoconf-requirement.patch # Build Requirements: BuildRequires: dbus-1-devel BuildRequires: fdupes @@ -280,9 +274,6 @@ %prep %setup -q # Patch0...Patch9 is for patches from upstream: -# Patch1 upstream_pull_174.patch is https://github.com/OpenPrinting/cups/pull/174 -# Use 60s timeout for read_thread, revert read limits -%patch1 -p1 # 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 @@ -291,8 +282,6 @@ # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 -b default-webcontent-path.orig -# Patch12 cups-2.1.0-cups-systemd-socket.patch Use systemd socket activation properly: -#patch12 -b cups-systemd-socket.orig # 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 @@ -308,9 +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 -# Patch106 Fixes web UI Kerberos authentication (bsc#1175960) -%patch106 -p1 %patch107 -p1 +%patch108 -p1 %build # Remove ".SILENT" rule for verbose build output @@ -439,8 +427,6 @@ # There appears to be some kind of race condition when running make check and make test # cf. https://github.com/OpenPrinting/cups/issues/155 # We print all logs for debugging purposes if either testsuite fails -echo "DEBUG: running make check" -bash -c 'make %{?_smp_mflags} check; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' echo "DEBUG: running make test" bash -c 'make %{?_smp_mflags} test; EXIT=$?; if [ $EXIT -ne 0 ]; then cat test/*_log*-$(whoami); fi; exit $EXIT' %else @@ -681,6 +667,7 @@ %files devel %defattr(-,root,root) +/usr/lib/pkgconfig/cups.pc %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so Index: cups-2.4.1-source.tar.gz =================================================================== Binary file cups-2.4.1-source.tar.gz (revision 2) added Index: cups-2.4.1-source.tar.gz.sig =================================================================== Binary file cups-2.4.1-source.tar.gz.sig (revision 2) added Index: downgrade-autoconf-requirement.patch =================================================================== --- downgrade-autoconf-requirement.patch (added) +++ downgrade-autoconf-requirement.patch (revision 2) @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index a8c6c1040..6ace74a8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0. See the file "LICENSE" for more + dnl information. + dnl + +-dnl We need at least autoconf 2.71... +-AC_PREREQ([2.71]) ++dnl We need at least autoconf 2.69... ++AC_PREREQ([2.69]) + + dnl Package name and version... + AC_INIT([CUPS],[2.4.1],[https://github.com/openprinting/cups/issues],[cups],[https://openprinting.github.io/cups]) Index: cups-2.1.0-cups-systemd-socket.patch =================================================================== --- cups-2.1.0-cups-systemd-socket.patch (revision 380) +++ cups-2.1.0-cups-systemd-socket.patch (deleted) @@ -1,43 +0,0 @@ ---- scheduler/main.c.orig 2015-06-08 20:32:35.000000000 +0200 -+++ scheduler/main.c 2015-09-01 11:19:36.000000000 +0200 -@@ -656,7 +656,15 @@ main(int argc, /* I - Number of comm - - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) - if (OnDemand) -+ { - cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); -+# ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Scheduler is running...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+# endif /* HAVE_SYSTEMD */ -+ } - else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ - if (fg) ---- scheduler/org.cups.cupsd.path.in.orig 2014-03-21 15:50:24.000000000 +0100 -+++ scheduler/org.cups.cupsd.path.in 2015-09-01 11:20:37.000000000 +0200 -@@ -3,6 +3,7 @@ Description=CUPS Scheduler - - [Path] - PathExists=@CUPS_CACHEDIR@/org.cups.cupsd -+PathExistsGlob=@CUPS_REQUESTS@/d* - - [Install] - WantedBy=multi-user.target ---- scheduler/org.cups.cupsd.service.in.orig 2014-10-21 13:54:05.000000000 +0200 -+++ scheduler/org.cups.cupsd.service.in 2015-09-01 11:22:09.000000000 +0200 -@@ -1,10 +1,11 @@ - [Unit] - Description=CUPS Scheduler - Documentation=man:cupsd(8) -+After=network.target - - [Service] - ExecStart=@sbindir@/cupsd -l --Type=simple -+Type=notify - - [Install] - Also=org.cups.cupsd.socket org.cups.cupsd.path Index: cups-2.3.3op2-source.tar.gz =================================================================== Binary file cups-2.3.3op2-source.tar.gz (revision 380) deleted Index: cups-2.3.3op2-source.tar.gz.sig =================================================================== Binary file cups-2.3.3op2-source.tar.gz.sig (revision 380) deleted Index: fix-negotiate-authentication-between-CGIs-and-scheduler.patch =================================================================== --- fix-negotiate-authentication-between-CGIs-and-scheduler.patch (revision 380) +++ fix-negotiate-authentication-between-CGIs-and-scheduler.patch (deleted) @@ -1,223 +0,0 @@ -From d4521ed0df7e625ccf2bc079bab6f48c46ef9bf9 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Mon, 26 Oct 2020 17:35:22 +0100 -Subject: [PATCH 1/4] Avoid infinite loop in admin.cgi when negotiate is used - -SetAuthorizationString with NULL argument sets an empty string. - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index db45bbba6..f2409350a 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -295,7 +295,7 @@ cupsDoAuthentication( - } - } - -- if (http->authstring) -+ if (http->authstring && http->authstring[0]) - { - DEBUG_printf(("1cupsDoAuthentication: authstring=\"%s\".", http->authstring)); - --- -2.30.2 - - -From 61ad7780bc7d0593e3225d088ac6dff31badf801 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:11:41 +0100 -Subject: [PATCH 2/4] Add cups_is_local_connection() to check if connection is - to localhost - -Related: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cups/auth.c b/cups/auth.c -index f2409350a..d2956438d 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -90,6 +90,7 @@ static void cups_gss_printf(OM_uint32 major_status, OM_uint32 minor_status, - # define cups_gss_printf(major, minor, message) - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ -+static int cups_is_local_connection(http_t *http); - static int cups_local_auth(http_t *http); - - -@@ -916,6 +917,14 @@ cups_gss_printf(OM_uint32 major_status,/* I - Major status code */ - # endif /* DEBUG */ - #endif /* HAVE_GSSAPI */ - -+static int /* O - 0 if not a local connection */ -+ /* 1 if local connection */ -+cups_is_local_connection(http_t *http) /* I - HTTP connection to server */ -+{ -+ if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ return 0; -+ return 1; -+} - - /* - * 'cups_local_auth()' - Get the local authorization certificate if -@@ -958,7 +967,7 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - * See if we are accessing localhost... - */ - -- if (!httpAddrLocalhost(http->hostaddr) && _cups_strcasecmp(http->hostname, "localhost") != 0) -+ if (!cups_is_local_connection(http)) - { - DEBUG_puts("8cups_local_auth: Not a local connection!"); - return (1); --- -2.30.2 - - -From f629d079750a86b1b605c285f99c0dea3933ca50 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:23:30 +0100 -Subject: [PATCH 3/4] Try local kerberos ccache credentials only for remote - servers - -If connecting to localhost then proceed to ask the client for the -authorization using cupsGetPassword2. The get password callback will -return 401 to the client with WWW-Authenticate: Negotiate. - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index d2956438d..9661657fc 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -175,10 +175,10 @@ cupsDoAuthentication( - DEBUG_printf(("2cupsDoAuthentication: Trying scheme \"%s\"...", scheme)); - - #ifdef HAVE_GSSAPI -- if (!_cups_strcasecmp(scheme, "Negotiate")) -+ if (!_cups_strcasecmp(scheme, "Negotiate") && !cups_is_local_connection(http)) - { - /* -- * Kerberos authentication... -+ * Kerberos authentication to remote server... - */ - - int gss_status; /* Auth status */ -@@ -202,7 +202,9 @@ cupsDoAuthentication( - } - else - #endif /* HAVE_GSSAPI */ -- if (_cups_strcasecmp(scheme, "Basic") && _cups_strcasecmp(scheme, "Digest")) -+ if (_cups_strcasecmp(scheme, "Basic") && -+ _cups_strcasecmp(scheme, "Digest") && -+ _cups_strcasecmp(scheme, "Negotiate")) - { - /* - * Other schemes not yet supported... -@@ -216,7 +218,7 @@ cupsDoAuthentication( - * See if we should retry the current username:password... - */ - -- if ((http->digest_tries > 1 || !http->userpass[0]) && (!_cups_strcasecmp(scheme, "Basic") || (!_cups_strcasecmp(scheme, "Digest")))) -+ if (http->digest_tries > 1 || !http->userpass[0]) - { - /* - * Nope - get a new password from the user... --- -2.30.2 - - -From 0563a28b18b21d5574a5e0e38b74246146074bbf Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero <scabrero@suse.de> -Date: Tue, 27 Oct 2020 16:18:03 +0100 -Subject: [PATCH 4/4] Allow Local authentication for Negotiate - -PeerCred is also possible if address family is AF_LOCAL. This will allow -the CGI programs to generate the authorization from the local -certificates based on PID also when Negotiate is used for local -connections: - -Client CGI -Browser <- Remote conn -> admin.cgi <--- Localhost conn ---> Scheduler - | | | - + --- HTTP/POST /admin/ --> | | - | + --- CUPS-Get-Devices ------------> | - | | | - | | <-- 401 Unauthorized --------------+ - | | WWW-Authenticate: | - | | Negotiate, (PeerCred,) Local | - | | | - | <-- 401 Unauthorized -----+ | - | WWW-Authenticate: | | - | Negotiate | | - | | | - | --- HTTP/POST /admin/ --> | | - | Authorization: + --- IPP CUPS-GetDevices ---------> | - | Negotiate | Authorization: Local <cert> | - | | | - -Fixes: #5596 - -Signed-off-by: Samuel Cabrero <scabrero@suse.de> ---- - cups/auth.c | 5 ----- - scheduler/client.c | 9 ++------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cups/auth.c b/cups/auth.c -index 9661657fc..b6fec6b98 100644 ---- a/cups/auth.c -+++ b/cups/auth.c -@@ -1043,11 +1043,6 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ - } - # endif /* HAVE_AUTHORIZATION_H */ - --# ifdef HAVE_GSSAPI -- if (cups_auth_find(www_auth, "Negotiate")) -- return (1); --# endif /* HAVE_GSSAPI */ -- - # if defined(SO_PEERCRED) && defined(AF_LOCAL) - /* - * See if we can authenticate using the peer credentials provided over a -diff --git a/scheduler/client.c b/scheduler/client.c -index c2ee8f12a..56797d58d 100644 ---- a/scheduler/client.c -+++ b/scheduler/client.c -@@ -2109,18 +2109,13 @@ cupsdSendHeader( - } - else if (auth_type == CUPSD_AUTH_NEGOTIATE) - { --#if defined(SO_PEERCRED) && defined(AF_LOCAL) -- if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL) -- strlcpy(auth_str, "PeerCred", sizeof(auth_str)); -- else --#endif /* SO_PEERCRED && AF_LOCAL */ - strlcpy(auth_str, "Negotiate", sizeof(auth_str)); - } - -- if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) -+ if (con->best && !con->is_browser && !_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost")) - { - /* -- * Add a "trc" (try root certification) parameter for local non-Kerberos -+ * Add a "trc" (try root certification) parameter for local - * requests when the request requires system group membership - then the - * client knows the root certificate can/should be used. - * --- -2.30.2 - Index: upstream_pull_174.patch =================================================================== --- upstream_pull_174.patch (revision 380) +++ upstream_pull_174.patch (deleted) @@ -1,53 +0,0 @@ -From c37d71b1a31d26a4790166e2508822b18934a5c0 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:44:14 +0200 -Subject: [PATCH 1/2] backend/usb-libusb.c: Use 60s timeout for reading at - backchannel - -Some older models malfunction if timeout is too short. ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1704,7 +1704,7 @@ static void *read_thread(void *reference) - readstatus = libusb_bulk_transfer(g.printer->handle, - g.printer->read_endp, - readbuffer, rbytes, -- &rbytes, 250); -+ &rbytes, 60000); - if (readstatus == LIBUSB_SUCCESS && rbytes > 0) - { - fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n", (int)rbytes); - -From 4cb6f6806cdbe040d478b266a1d351b19341dd79 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal <zdohnal@redhat.com> -Date: Tue, 13 Apr 2021 15:47:37 +0200 -Subject: [PATCH 2/2] backend/usb-libusb.c: Revert enforcing read limits - -This commit reverts the change introduced by 2.2.12 [1] - its -implementation caused a regression with Lexmark filters. - -[1] -https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35 ---- - CHANGES.md | 1 + - backend/usb-libusb.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c -index fbb0d9d89..89b5182f7 100644 ---- a/backend/usb-libusb.c -+++ b/backend/usb-libusb.c -@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference) - * Make sure this loop executes no more than once every 250 miliseconds... - */ - -- if ((g.wait_eof || !g.read_thread_stop)) -+ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) && -+ (g.wait_eof || !g.read_thread_stop)) - usleep(250000); - } - while (g.wait_eof || !g.read_thread_stop); OBS-URL: https://build.opensuse.org/request/show/958348 OBS-URL: https://build.opensuse.org/package/show/Printing/cups?expand=0&rev=381
2022-03-03 13:19:05 +01:00
/usr/lib/pkgconfig/cups.pc
%{_includedir}/cups/
%{_libdir}/libcups.so
%{_libdir}/libcupsimage.so
%files ddk
%defattr(-,root,root)
%{_bindir}/ppdc
%{_bindir}/ppdhtml
%{_bindir}/ppdi
%{_bindir}/ppdmerge
%{_bindir}/ppdpo
%doc %{_mandir}/man1/ppdc.1.gz
%doc %{_mandir}/man1/ppdhtml.1.gz
%doc %{_mandir}/man1/ppdi.1.gz
%doc %{_mandir}/man1/ppdmerge.1.gz
%doc %{_mandir}/man1/ppdpo.1.gz
%doc %{_mandir}/man5/ppdcfile.5.gz
%files -n libcups2
%defattr(-,root,root)
%{_libdir}/libcups.so.2
%files -n libcupsimage2
%defattr(-,root,root)
%{_libdir}/libcupsimage.so.2
%files config
# Regarding specific owner group and permission settings for directories
# see the above comment in the files section of the main package.
# How cupsd creates those directories:
# drwx--x--- ... root lp ... /var/spool/cups
# drwxrwx--T ... root lp ... /var/spool/cups/tmp
# drwxr-xr-x ... root lp ... /var/log/cups
# drwxrwx--- ... root lp ... /var/cache/cups
# see https://bugzilla.suse.com/show_bug.cgi?id=1184161#c7
# The 'lp' user does not need write permissions in /var/log/cups
# regardless that filters and backends are usually run as user 'lp' because
# filters and backends write log messages to the inherited stderr file descriptor
# and do not append them directly to /var/log/cups/error_log (via fopen on their own).
# The /etc/cups directory is not created by cupsd but needed by it
# because cupsd cannot start if there is no /etc/cups/cupsd.conf file
# (otherwise cupsd aborts with: "Unable to open /etc/cups/cupsd.conf").
%defattr(-,root,root)
%if 0%{?suse_version} >= 1330
%dir %attr(0755,root,lp) /etc/cups
%endif
%config(noreplace) %{_sysconfdir}/cups/client.conf
%dir %attr(0710,root,lp) %{_var}/spool/cups
%dir %attr(1770,root,lp) %{_var}/spool/cups/tmp
%dir %attr(0755,root,lp) %{_var}/log/cups
%dir %attr(0770,root,lp) %{_var}/cache/cups
%{_bindir}/cups-config
%{_datadir}/locale/*/cups_*
%doc %{_mandir}/man1/cups-config.1.gz
%changelog