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);