Date: Friday, June 8, 2018 @ 20:23:24
  Author: heftig
Revision: 326499

2.2.8-2: Fix gsd-print-notifications causing a polling storm

Added:
  cups/trunk/cups-2.2.8-5325.patch
Modified:
  cups/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   37 ++++++++++++++++++++++---------------
 cups-2.2.8-5325.patch |   45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 15 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2018-06-08 20:23:22 UTC (rev 326498)
+++ PKGBUILD    2018-06-08 20:23:24 UTC (rev 326499)
@@ -4,32 +4,36 @@
 pkgbase="cups"
 pkgname=('libcups' 'cups')
 pkgver=2.2.8
-pkgrel=1
+pkgrel=2
 arch=('x86_64')
 license=('GPL')
 url="https://www.cups.org/";
 makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
-             'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 
'dbus' 
+             'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 
'dbus'
              'avahi'  'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 
'valgrind')
 
source=(https://github.com/apple/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
-        cups.logrotate cups.pam
-        cups.sysusers guid.patch
+        cups.logrotate
+        cups.pam
+        cups.sysusers
         # improve build and linking
         cups-no-export-ssllibs.patch
         cups-no-gzip-man.patch
         cups-1.6.2-statedir.patch
         # bugfixes
-        cups-systemd-socket.patch)
+        cups-systemd-socket.patch
+        guid.patch
+        cups-2.2.8-5325.patch)
 sha256sums=('3968fc1d26fc48727508db1c1380e36c6694ab90177fd6920aec5f6cc73af9e4'
             'SKIP'
             'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9'
             '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
             '06173dfaea37bdd9b39b3e09aba98c34ae7112a2f521db45a688907d8848caa2'
-            'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d'
             'ff3eb0782af0405f5dafe89e04b1b4ea7a49afc5496860d724343bd04f375832'
             'b8fc2e3bc603495f0278410350ea8f0161d9d83719feb64f573b63430cb4800b'
             '23349c96f2f7aeb7d48e3bcd35a969f5d5ac8f55a032b0cfaa0a03d7e37ea9af'
-            'f909719e2595e016c320afa421cad74ccda285ac59b11749ddac58e707d4330a')
+            'f909719e2595e016c320afa421cad74ccda285ac59b11749ddac58e707d4330a'
+            'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d'
+            '118698d5225d0f481fb9294d26c446abcdaa7891f1a449391db6fe16b5bdd660')
 validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org 
PGP key) <secur...@cups.org>
 validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org 
<secur...@cups.org>"
 validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet 
<michael.r.sw...@gmail.com>"
@@ -53,6 +57,9 @@
   # FS#56818 - https://github.com/apple/cups/issues/5236
   patch -Np1 -i ${srcdir}/guid.patch
 
+  # https://github.com/apple/cups/issues/5325
+  patch -Np1 -i ${srcdir}/cups-2.2.8-5325.patch
+
   # set MaxLogSize to 0 to prevent using cups internal log rotation
   sed -i -e '5i\ ' conf/cupsd.conf.in
   sed -i -e '6i# Disable cups internal logging - use logrotate instead' 
conf/cupsd.conf.in
@@ -101,7 +108,7 @@
   cd ${pkgbase}-${pkgver}
   make BUILDROOT=${pkgdir} install-headers install-libs
   # put this into the libs pkg to make other software find the libs(no 
pkg-config file included)
-  mkdir -p ${pkgdir}/usr/bin 
+  mkdir -p ${pkgdir}/usr/bin
   install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config 
${pkgdir}/usr/bin/cups-config
 }
 
@@ -117,7 +124,7 @@
         etc/dbus-1/system.d/cups.conf
         etc/logrotate.d/cups
         etc/pam.d/cups)
-depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc'
          'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
 optdepends=('xdg-utils: xdg .desktop file support'
             'colord: for ICC color profile support')
@@ -151,21 +158,21 @@
   # install some more configuration files that will get filled by cupsd
   touch ${pkgdir}/etc/cups/printers.conf
   touch ${pkgdir}/etc/cups/classes.conf
-  touch ${pkgdir}/etc/cups/subscriptions.conf 
+  touch ${pkgdir}/etc/cups/subscriptions.conf
   chgrp -R 209 ${pkgdir}/etc/cups
-  
+
   # fix .desktop file
   sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open 
http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
-  
+
   # compress some driver files, adopted from Fedora
   find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
-  
+
   # remove client.conf man page
   rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
-  
+
   # comment out all conversion rules which use any of the removed filters that 
are now part of cups-filters
   perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' 
$pkgdir/usr/share/cups/mime/mime.convs
-  
+
   # comment out unnecessary PageLogFormat entry
   sed -i -e 's:PageLogFormat:#PageLogFormat:' $pkgdir/etc/cups/cupsd.conf*
 }

Added: cups-2.2.8-5325.patch
===================================================================
--- cups-2.2.8-5325.patch                               (rev 0)
+++ cups-2.2.8-5325.patch       2018-06-08 20:23:24 UTC (rev 326499)
@@ -0,0 +1,45 @@
+diff -u -r cups-2.2.8/cups/ipp.c cups-2.2.8-fix/cups/ipp.c
+--- cups-2.2.8/cups/ipp.c      2018-06-05 18:06:54.000000000 +0200
++++ cups-2.2.8-fix/cups/ipp.c  2018-06-08 22:06:24.850309110 +0200
+@@ -5094,15 +5094,13 @@
+           else if (*ptr & 0x80)
+             break;
+           else if ((*ptr < ' ' && *ptr != '\n' && *ptr != '\r' && *ptr != 
'\t') || *ptr == 0x7f)
+-            break;
++              {
++                ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad 
text value \"%s\" - bad control character (PWG 5100.14 section 8.3)."), 
attr->name, attr->values[i].string.text);
++                return (0);
++              }
+         }
+ 
+-        if (*ptr < ' ' || *ptr == 0x7f)
+-        {
+-          ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text 
value \"%s\" - bad control character (PWG 5100.14 section 8.3)."), attr->name, 
attr->values[i].string.text);
+-          return (0);
+-        }
+-        else if (*ptr)
++        if (*ptr)
+         {
+           ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text 
value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."), attr->name, 
attr->values[i].string.text);
+           return (0);
+@@ -5156,15 +5154,13 @@
+           else if (*ptr & 0x80)
+             break;
+           else if (*ptr < ' ' || *ptr == 0x7f)
+-            break;
++              {
++                ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad 
name value \"%s\" - bad control character (PWG 5100.14 section 8.1)."), 
attr->name, attr->values[i].string.text);
++                return (0);
++              }
+         }
+ 
+-        if (*ptr < ' ' || *ptr == 0x7f)
+-        {
+-          ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name 
value \"%s\" - bad control character (PWG 5100.14 section 8.1)."), attr->name, 
attr->values[i].string.text);
+-          return (0);
+-        }
+-        else if (*ptr)
++        if (*ptr)
+         {
+           ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name 
value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."), attr->name, 
attr->values[i].string.text);
+           return (0);

Reply via email to