diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-06-12 10:15:14 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-06-12 10:15:14 +0200 |
commit | 48bc37017baa171ff6472b384f866cdf64a4edfa (patch) | |
tree | 1548d8abc02571d7fd6aad3560dace806e06738f /net-print/cups | |
parent | net-dns/nsd: Removed old. (diff) | |
download | gentoo-48bc37017baa171ff6472b384f866cdf64a4edfa.tar.gz gentoo-48bc37017baa171ff6472b384f866cdf64a4edfa.tar.bz2 gentoo-48bc37017baa171ff6472b384f866cdf64a4edfa.zip |
net-print/cups: Use official upstream fixes.
Closes: https://bugs.gentoo.org/657526
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'net-print/cups')
-rw-r--r-- | net-print/cups/cups-2.2.8-r1.ebuild | 2 | ||||
-rw-r--r-- | net-print/cups/cups-2.3_beta5-r1.ebuild | 2 | ||||
-rw-r--r-- | net-print/cups/files/cups-2.2.8-validation_fixes.patch | 79 | ||||
-rw-r--r-- | net-print/cups/files/cups-2.3_beta5-validation_fixes.patch | 69 |
4 files changed, 115 insertions, 37 deletions
diff --git a/net-print/cups/cups-2.2.8-r1.ebuild b/net-print/cups/cups-2.2.8-r1.ebuild index d9adea70fc40..f382bb8f76af 100644 --- a/net-print/cups/cups-2.2.8-r1.ebuild +++ b/net-print/cups/cups-2.2.8-r1.ebuild @@ -79,7 +79,7 @@ PATCHES=( "${FILESDIR}/${PN}-1.4.4-nostrip.patch" "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch" "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch" - "${FILESDIR}/${PN}-2.2.8-validation_fixes.patch" #657526 + "${FILESDIR}/${P}-validation_fixes.patch" #657526 ) MULTILIB_CHOST_TOOLS=( diff --git a/net-print/cups/cups-2.3_beta5-r1.ebuild b/net-print/cups/cups-2.3_beta5-r1.ebuild index ee8375c1474a..f7c6d292faec 100644 --- a/net-print/cups/cups-2.3_beta5-r1.ebuild +++ b/net-print/cups/cups-2.3_beta5-r1.ebuild @@ -77,7 +77,7 @@ PATCHES=( "${FILESDIR}/${PN}-1.4.4-nostrip.patch" "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch" "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch" - "${FILESDIR}/${PN}-2.2.8-validation_fixes.patch" #657526 + "${FILESDIR}/${P}-validation_fixes.patch" #657526 ) MULTILIB_CHOST_TOOLS=( diff --git a/net-print/cups/files/cups-2.2.8-validation_fixes.patch b/net-print/cups/files/cups-2.2.8-validation_fixes.patch index ef87b6a81d86..4eee2274b94b 100644 --- a/net-print/cups/files/cups-2.2.8-validation_fixes.patch +++ b/net-print/cups/files/cups-2.2.8-validation_fixes.patch @@ -1,30 +1,15 @@ -From 455c52a027ab3548953372a0b7bdb0008420e9ba Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Fri, 8 Jun 2018 22:29:50 +0200 -Subject: [PATCH] Fix validation rejecting all NAME and TEXT attrs - -When the UTF-8 validation loop finishes successfully, `*ptr` points at -the `'\0'` at the end of the string. The code misinterpreted this as a -control character (`*ptr < ' '`) and failed the validation. - -Fixes https://github.com/apple/cups/issues/5325 ---- - cups/ipp.c | 24 ++++++++++-------------- - 1 file changed, 10 insertions(+), 14 deletions(-) +From 18545a5e7ab478b187a0d7136ee19496ae32fc9b Mon Sep 17 00:00:00 2001 +From: Michael R Sweet <michael.r.sweet@gmail.com> +Date: Mon, 11 Jun 2018 09:37:55 -0400 +Subject: [PATCH] Fix regressions in ippValidateAttribute (Issue #5322, Issue + #5330) diff --git a/cups/ipp.c b/cups/ipp.c -index 95d53cc44..204c71fcd 100644 +index 9346b201f..d6e39d5d8 100644 --- a/cups/ipp.c +++ b/cups/ipp.c -@@ -5030,15 +5030,13 @@ ippValidateAttribute( - else if (*ptr & 0x80) +@@ -5101,16 +5101,19 @@ ippValidateAttribute( 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) @@ -33,19 +18,28 @@ index 95d53cc44..204c71fcd 100644 - 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); +- } ++ if (*ptr) ++ { ++ 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 ++ { ++ 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); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_TEXT - 1)) { - 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); -@@ -5088,15 +5086,13 @@ ippValidateAttribute( - else if (*ptr & 0x80) +@@ -5163,16 +5166,19 @@ ippValidateAttribute( 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) @@ -56,5 +50,20 @@ index 95d53cc44..204c71fcd 100644 - 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); +- 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); +- } ++ 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 ++ { ++ 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); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_NAME - 1)) + { diff --git a/net-print/cups/files/cups-2.3_beta5-validation_fixes.patch b/net-print/cups/files/cups-2.3_beta5-validation_fixes.patch new file mode 100644 index 000000000000..29e2533eeb16 --- /dev/null +++ b/net-print/cups/files/cups-2.3_beta5-validation_fixes.patch @@ -0,0 +1,69 @@ +From 1d677f11f1e3353524d46c2842188eccfcdcd5a2 Mon Sep 17 00:00:00 2001 +From: Michael R Sweet <michael.r.sweet@gmail.com> +Date: Mon, 11 Jun 2018 09:37:34 -0400 +Subject: [PATCH] Fix regressions in ippValidateAttribute (Issue #5322, Issue + #5330) + +diff --git a/cups/ipp.c b/cups/ipp.c +index 95d53cc44..325de02b9 100644 +--- a/cups/ipp.c ++++ b/cups/ipp.c +@@ -5033,16 +5033,19 @@ ippValidateAttribute( + break; + } + +- 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) +- { +- 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); +- } ++ if (*ptr) ++ { ++ 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 ++ { ++ 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); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_TEXT - 1)) + { +@@ -5091,16 +5094,19 @@ ippValidateAttribute( + break; + } + +- 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); +- } ++ 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 ++ { ++ 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); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_NAME - 1)) + { |