From 7c2e8298117ddcfedd818d88ec70b165c293ea17 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 9 Nov 2021 04:52:31 -0500 Subject: [PATCH] import pcre-8.42-6.el8 --- .gitignore | 1 + .pcre.metadata | 1 + SOURCES/pcre-8.21-multilib.patch | 37 + ...cre-8.32-refused_spelling_terminated.patch | 48 + SOURCES/pcre-8.41-fix_stack_estimator.patch | 24 + ...ing-bug-in-conditional-subexpression.patch | 70 ++ ...-auto-possessify-for-certain-classes.patch | 65 ++ ...2-Fix-subject-buffer-overread-in-JIT.patch | 29 + ...o-C-wrapper-bugs-unnoticed-for-years.patch | 178 ++++ SOURCES/pcre-8.42-Fix-typos-in-pcrgrep.patch | 36 + ...f-the-number-after-C-as-it-is-read-i.patch | 55 ++ SPECS/pcre.spec | 910 ++++++++++++++++++ 12 files changed, 1454 insertions(+) create mode 100644 .gitignore create mode 100644 .pcre.metadata create mode 100644 SOURCES/pcre-8.21-multilib.patch create mode 100644 SOURCES/pcre-8.32-refused_spelling_terminated.patch create mode 100644 SOURCES/pcre-8.41-fix_stack_estimator.patch create mode 100644 SOURCES/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch create mode 100644 SOURCES/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch create mode 100644 SOURCES/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch create mode 100644 SOURCES/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch create mode 100644 SOURCES/pcre-8.42-Fix-typos-in-pcrgrep.patch create mode 100644 SOURCES/pcre-8.43-Check-the-size-of-the-number-after-C-as-it-is-read-i.patch create mode 100644 SPECS/pcre.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..793ded3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/pcre-8.42.tar.bz2 diff --git a/.pcre.metadata b/.pcre.metadata new file mode 100644 index 0000000..bb1d6d4 --- /dev/null +++ b/.pcre.metadata @@ -0,0 +1 @@ +df0d1c2ff04c359220cb902539a6e134af4497f4 SOURCES/pcre-8.42.tar.bz2 diff --git a/SOURCES/pcre-8.21-multilib.patch b/SOURCES/pcre-8.21-multilib.patch new file mode 100644 index 0000000..345e624 --- /dev/null +++ b/SOURCES/pcre-8.21-multilib.patch @@ -0,0 +1,37 @@ +From 1d5ce3e2e6341b01609aefab20786a8638fee17a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 6 Dec 2011 18:44:11 +0100 +Subject: [PATCH] Fix multilib + +Do not set RPATH nor add explicit -L path to compiler. +--- + pcre-config.in | 12 ------------ + 1 files changed, 0 insertions(+), 12 deletions(-) + +diff --git a/pcre-config.in b/pcre-config.in +index ccbf210..aeee182 100644 +--- a/pcre-config.in ++++ b/pcre-config.in +@@ -16,19 +16,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in +-- +1.7.7.4 + diff --git a/SOURCES/pcre-8.32-refused_spelling_terminated.patch b/SOURCES/pcre-8.32-refused_spelling_terminated.patch new file mode 100644 index 0000000..32c9f7e --- /dev/null +++ b/SOURCES/pcre-8.32-refused_spelling_terminated.patch @@ -0,0 +1,48 @@ +From 6f8b68f2740f3100154342338ed3d26e676dae69 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 7 Feb 2011 11:37:09 +0100 +Subject: [PATCH] Fix spelling in pcretest(1) manual + +I kept some non-dictionary words to be consistent. +Credits to John Bradshaw. + +Spelling refused by upstream : + +I have applied these patches, except for "termi-nated", because my +Collins dictionary of spelling and word division shows "termin-ate" and +"termin-ating". I do know that there is a cultural difference between +British and American hyphenation conventions; I try to follow the +British ones, as exemplified in the Collins. +--- + doc/pcretest.1 | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/doc/pcretest.1 b/doc/pcretest.1 +index 41ef6ac..258a62f 100644 +--- a/doc/pcretest.1 ++++ b/doc/pcretest.1 +@@ -601,8 +601,8 @@ recognized: + after a successful match (number less than 32) + .\" JOIN + \eCname call pcre[16|32]_copy_named_substring() for substring +- "name" after a successful match (name termin- +- ated by next non alphanumeric character) ++ "name" after a successful match (name terminated ++ by next non alphanumeric character) + .\" JOIN + \eC+ show the current captured substrings at callout + time +@@ -623,8 +623,8 @@ recognized: + after a successful match (number less than 32) + .\" JOIN + \eGname call pcre[16|32]_get_named_substring() for substring +- "name" after a successful match (name termin- +- ated by next non-alphanumeric character) ++ "name" after a successful match (name terminated ++ by next non-alphanumeric character) + .\" JOIN + \eJdd set up a JIT stack of dd kilobytes maximum (any + number of digits) +-- +1.7.11.7 + diff --git a/SOURCES/pcre-8.41-fix_stack_estimator.patch b/SOURCES/pcre-8.41-fix_stack_estimator.patch new file mode 100644 index 0000000..cf388bf --- /dev/null +++ b/SOURCES/pcre-8.41-fix_stack_estimator.patch @@ -0,0 +1,24 @@ +Fix recursion stack estimator + +Due to inlining match() by recent GCC, the stack estimator reported 4-bytes +stack consumption. + +Author: Sergei Golubchik + + +diff --git a/pcre/pcre_exec.c b/pcre/pcre_exec.c +--- a/pcre/pcre_exec.c ++++ b/pcre/pcre_exec.c +@@ -509,6 +509,12 @@ + (e.g. stopped by repeated call or recursion limit) + */ + ++#ifdef __GNUC__ ++static int ++match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, ++ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, ++ unsigned int rdepth) __attribute__((noinline,noclone)); ++#endif + static int + match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, diff --git a/SOURCES/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch b/SOURCES/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch new file mode 100644 index 0000000..d7247bd --- /dev/null +++ b/SOURCES/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch @@ -0,0 +1,70 @@ +From 7abc4de8303e8908eeb96714dac53ae10ff465e3 Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Sun, 2 Sep 2018 17:05:38 +0000 +Subject: [PATCH] Fix anchoring bug in conditional subexpression. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1739 2f5784b3-3f2a-0410-8824-cb99058d5e15 +Petr Písař: Ported to 8.42 +--- + pcre_compile.c | 12 ++++++++++-- + testdata/testinput2 | 3 +++ + testdata/testoutput2 | 4 ++++ + + Version 8.42 20-March-2018 + -------------------------- +diff --git a/pcre_compile.c b/pcre_compile.c +index 3991d6c..6141fb3 100644 +--- a/pcre_compile.c ++++ b/pcre_compile.c +@@ -8682,10 +8682,18 @@ do { + if (!is_anchored(scode, new_map, cd, atomcount)) return FALSE; + } + +- /* Positive forward assertions and conditions */ ++ /* Positive forward assertion */ + +- else if (op == OP_ASSERT || op == OP_COND) ++ else if (op == OP_ASSERT) ++ { ++ if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE; ++ } ++ ++ /* Condition; not anchored if no second branch */ ++ ++ else if (op == OP_COND) + { ++ if (scode[GET(scode,1)] != OP_ALT) return FALSE; + if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE; + } + +diff --git a/testdata/testinput2 b/testdata/testinput2 +index 8ba4dc4..3528de1 100644 +--- a/testdata/testinput2 ++++ b/testdata/testinput2 +@@ -4257,4 +4257,7 @@ backtracking verbs. --/ + ab + aaab + ++/(?(?=^))b/ ++ abc ++ + /-- End of testinput2 --/ +diff --git a/testdata/testoutput2 b/testdata/testoutput2 +index 61ed8d9..4ccda27 100644 +--- a/testdata/testoutput2 ++++ b/testdata/testoutput2 +@@ -14721,4 +14721,8 @@ No need char + 0: ab + 1: a + ++/(?(?=^))b/ ++ abc ++ 0: b ++ + /-- End of testinput2 --/ +-- +2.14.4 + diff --git a/SOURCES/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch b/SOURCES/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch new file mode 100644 index 0000000..c47ec5f --- /dev/null +++ b/SOURCES/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch @@ -0,0 +1,65 @@ +From 952cac5f4a17e52aec7d0536f405b25428367840 Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Fri, 17 Aug 2018 14:50:21 +0000 +Subject: [PATCH] Fix bad auto-possessify for certain classes. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1738 2f5784b3-3f2a-0410-8824-cb99058d5e15 +Petr Písař: Ported to 8.42. +--- + pcre_compile.c | 4 ++-- + testdata/testinput4 | 3 +++ + testdata/testoutput4 | 4 ++++ + +diff --git a/pcre_compile.c b/pcre_compile.c +index 6dd8886..3991d6c 100644 +--- a/pcre_compile.c ++++ b/pcre_compile.c +@@ -6,7 +6,7 @@ + and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel +- Copyright (c) 1997-2016 University of Cambridge ++ Copyright (c) 1997-2018 University of Cambridge + + ----------------------------------------------------------------------------- + Redistribution and use in source and binary forms, with or without +@@ -3299,7 +3299,7 @@ for(;;) + if ((*xclass_flags & XCL_MAP) == 0) + { + /* No bits are set for characters < 256. */ +- if (list[1] == 0) return TRUE; ++ if (list[1] == 0) return (*xclass_flags & XCL_NOT) == 0; + /* Might be an empty repeat. */ + continue; + } +diff --git a/testdata/testinput4 b/testdata/testinput4 +index 8bdbdac..63368c0 100644 +--- a/testdata/testinput4 ++++ b/testdata/testinput4 +@@ -727,4 +727,7 @@ + /\C(\W?ſ)'?{{/8 + \\C(\\W?ſ)'?{{ + ++/[^\x{100}-\x{ffff}]*[\x80-\xff]/8 ++ \x{99}\x{99}\x{99} ++ + /-- End of testinput4 --/ +diff --git a/testdata/testoutput4 b/testdata/testoutput4 +index d43c123..69e812c 100644 +--- a/testdata/testoutput4 ++++ b/testdata/testoutput4 +@@ -1277,4 +1277,8 @@ No match + \\C(\\W?ſ)'?{{ + No match + ++/[^\x{100}-\x{ffff}]*[\x80-\xff]/8 ++ \x{99}\x{99}\x{99} ++ 0: \x{99}\x{99}\x{99} ++ + /-- End of testinput4 --/ +-- +2.14.4 + diff --git a/SOURCES/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch b/SOURCES/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch new file mode 100644 index 0000000..1b64902 --- /dev/null +++ b/SOURCES/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch @@ -0,0 +1,29 @@ +From 1aa76cb33f04fcea3127a0859450e5d18369e5e2 Mon Sep 17 00:00:00 2001 +From: zherczeg +Date: Fri, 21 Sep 2018 07:34:10 +0000 +Subject: [PATCH] Fix subject buffer overread in JIT. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1740 2f5784b3-3f2a-0410-8824-cb99058d5e15 +Petr Písař: Ported to 8.42. +--- + pcre_jit_compile.c | 2 +- + +diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c +index 2bad74b..bc5f9c0 100644 +--- a/pcre_jit_compile.c ++++ b/pcre_jit_compile.c +@@ -9002,7 +9002,7 @@ if (exact > 1) + #ifdef SUPPORT_UTF + && !common->utf + #endif +- ) ++ && type != OP_ANYNL && type != OP_EXTUNI) + { + OP2(SLJIT_ADD, TMP1, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(exact)); + add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_GREATER, TMP1, 0, STR_END, 0)); +-- +2.17.2 + diff --git a/SOURCES/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch b/SOURCES/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch new file mode 100644 index 0000000..be2418a --- /dev/null +++ b/SOURCES/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch @@ -0,0 +1,178 @@ +From 2ede5a4b4a98add3bbf982f5805e015e8c61c565 Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Tue, 26 Jun 2018 16:51:43 +0000 +Subject: [PATCH] Fix two C++ wrapper bugs, unnoticed for years. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1735 2f5784b3-3f2a-0410-8824-cb99058d5e15 + +Petr Písař: Ported to 8.42. + +diff --git a/pcrecpp.cc b/pcrecpp.cc +index d09c9ab..77a2fed 100644 +--- a/pcrecpp.cc ++++ b/pcrecpp.cc +@@ -80,6 +80,24 @@ static const string empty_string; + // If the user doesn't ask for any options, we just use this one + static RE_Options default_options; + ++// Specials for the start of patterns. See comments where start_options is used ++// below. (PH June 2018) ++static const char *start_options[] = { ++ "(*UTF8)", ++ "(*UTF)", ++ "(*UCP)", ++ "(*NO_START_OPT)", ++ "(*NO_AUTO_POSSESS)", ++ "(*LIMIT_RECURSION=", ++ "(*LIMIT_MATCH=", ++ "(*CRLF)", ++ "(*CR)", ++ "(*BSR_UNICODE)", ++ "(*BSR_ANYCRLF)", ++ "(*ANYCRLF)", ++ "(*ANY)", ++ "" }; ++ + void RE::Init(const string& pat, const RE_Options* options) { + pattern_ = pat; + if (options == NULL) { +@@ -135,7 +153,49 @@ pcre* RE::Compile(Anchor anchor) { + } else { + // Tack a '\z' at the end of RE. Parenthesize it first so that + // the '\z' applies to all top-level alternatives in the regexp. +- string wrapped = "(?:"; // A non-counting grouping operator ++ ++ /* When this code was written (for PCRE 6.0) it was enough just to ++ parenthesize the entire pattern. Unfortunately, when the feature of ++ starting patterns with (*UTF8) or (*CR) etc. was added to PCRE patterns, ++ this code was never updated. This bug was not noticed till 2018, long after ++ PCRE became obsolescent and its maintainer no longer around. Since PCRE is ++ frozen, I have added a hack to check for all the existing "start of ++ pattern" specials - knowing that no new ones will ever be added. I am not a ++ C++ programmer, so the code style is no doubt crude. It is also ++ inefficient, but is only run when the pattern starts with "(*". ++ PH June 2018. */ ++ ++ string wrapped = ""; ++ ++ if (pattern_.c_str()[0] == '(' && pattern_.c_str()[1] == '*') { ++ int kk, klen, kmat; ++ for (;;) { // Loop for any number of leading items ++ ++ for (kk = 0; start_options[kk][0] != 0; kk++) { ++ klen = strlen(start_options[kk]); ++ kmat = strncmp(pattern_.c_str(), start_options[kk], klen); ++ if (kmat >= 0) break; ++ } ++ if (kmat != 0) break; // Not found ++ ++ // If the item ended in "=" we must copy digits up to ")". ++ ++ if (start_options[kk][klen-1] == '=') { ++ while (isdigit(pattern_.c_str()[klen])) klen++; ++ if (pattern_.c_str()[klen] != ')') break; // Syntax error ++ klen++; ++ } ++ ++ // Move the item from the pattern to the start of the wrapped string. ++ ++ wrapped += pattern_.substr(0, klen); ++ pattern_.erase(0, klen); ++ } ++ } ++ ++ // Wrap the rest of the pattern. ++ ++ wrapped += "(?:"; // A non-counting grouping operator + wrapped += pattern_; + wrapped += ")\\z"; + re = pcre_compile(wrapped.c_str(), pcre_options, +@@ -415,7 +475,7 @@ int RE::GlobalReplace(const StringPiece& rewrite, + matchend++; + } + // We also need to advance more than one char if we're in utf8 mode. +-#ifdef SUPPORT_UTF8 ++#ifdef SUPPORT_UTF + if (options_.utf8()) { + while (matchend < static_cast(str->length()) && + ((*str)[matchend] & 0xc0) == 0x80) +diff --git a/pcrecpp_unittest.cc b/pcrecpp_unittest.cc +index 4b15fbe..255066f 100644 +--- a/pcrecpp_unittest.cc ++++ b/pcrecpp_unittest.cc +@@ -309,7 +309,7 @@ static void TestReplace() { + "@aa", + "@@@", + 3 }, +-#ifdef SUPPORT_UTF8 ++#ifdef SUPPORT_UTF + { "b*", + "bb", + "\xE3\x83\x9B\xE3\x83\xBC\xE3\x83\xA0\xE3\x81\xB8", // utf8 +@@ -327,7 +327,7 @@ static void TestReplace() { + { "", NULL, NULL, NULL, NULL, 0 } + }; + +-#ifdef SUPPORT_UTF8 ++#ifdef SUPPORT_UTF + const bool support_utf8 = true; + #else + const bool support_utf8 = false; +@@ -535,7 +535,7 @@ static void TestQuoteMetaLatin1() { + } + + static void TestQuoteMetaUtf8() { +-#ifdef SUPPORT_UTF8 ++#ifdef SUPPORT_UTF + TestQuoteMeta("Pl\xc3\xa1\x63ido Domingo", pcrecpp::UTF8()); + TestQuoteMeta("xyz", pcrecpp::UTF8()); // No fancy utf8 + TestQuoteMeta("\xc2\xb0", pcrecpp::UTF8()); // 2-byte utf8 (degree symbol) +@@ -1178,7 +1178,7 @@ int main(int argc, char** argv) { + CHECK(re.error().empty()); // Must have no error + } + +-#ifdef SUPPORT_UTF8 ++#ifdef SUPPORT_UTF + // Check UTF-8 handling + { + printf("Testing UTF-8 handling\n"); +@@ -1202,6 +1202,24 @@ int main(int argc, char** argv) { + CHECK(re_test1.FullMatch(utf8_string)); + RE re_test2("...", pcrecpp::UTF8()); + CHECK(re_test2.FullMatch(utf8_string)); ++ ++ // PH added these tests for leading option settings ++ ++ RE re_testZ1("(*UTF8)..."); ++ CHECK(re_testZ1.FullMatch(utf8_string)); ++ ++ RE re_testZ2("(*UTF)..."); ++ CHECK(re_testZ2.FullMatch(utf8_string)); ++ ++ RE re_testZ3("(*UCP)(*UTF)..."); ++ CHECK(re_testZ3.FullMatch(utf8_string)); ++ ++ RE re_testZ4("(*UCP)(*LIMIT_MATCH=1000)(*UTF)..."); ++ CHECK(re_testZ4.FullMatch(utf8_string)); ++ ++ RE re_testZ5("(*UCP)(*LIMIT_MATCH=1000)(*ANY)(*UTF)..."); ++ CHECK(re_testZ5.FullMatch(utf8_string)); ++ + + // Check that '.' matches one byte or UTF-8 character + // according to the mode. +@@ -1248,7 +1266,7 @@ int main(int argc, char** argv) { + CHECK(!match_sentence.FullMatch(target)); + CHECK(!match_sentence_re.FullMatch(target)); + } +-#endif /* def SUPPORT_UTF8 */ ++#endif /* def SUPPORT_UTF */ + + printf("Testing error reporting\n"); + +-- +2.14.4 + diff --git a/SOURCES/pcre-8.42-Fix-typos-in-pcrgrep.patch b/SOURCES/pcre-8.42-Fix-typos-in-pcrgrep.patch new file mode 100644 index 0000000..e09fe2d --- /dev/null +++ b/SOURCES/pcre-8.42-Fix-typos-in-pcrgrep.patch @@ -0,0 +1,36 @@ +From 6d8fa98d5167bdd915ce1e32bcb6aaed078e5938 Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Tue, 26 Jun 2018 17:04:02 +0000 +Subject: [PATCH] Fix typos in pcrgrep. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1736 2f5784b3-3f2a-0410-8824-cb99058d5e15 +Petr Písař: Ported to 8.42. + +diff --git a/pcregrep.c b/pcregrep.c +index a406be9..5982406 100644 +--- a/pcregrep.c ++++ b/pcregrep.c +@@ -2252,7 +2252,7 @@ if (isdirectory(pathname)) + int fnlength = strlen(pathname) + strlen(nextfile) + 2; + if (fnlength > 2048) + { +- fprintf(stderr, "pcre2grep: recursive filename is too long\n"); ++ fprintf(stderr, "pcregrep: recursive filename is too long\n"); + rc = 2; + break; + } +@@ -3034,7 +3034,7 @@ LC_ALL environment variable is set, and if so, use it. */ + if (locale == NULL) + { + locale = getenv("LC_ALL"); +- locale_from = "LCC_ALL"; ++ locale_from = "LC_ALL"; + } + + if (locale == NULL) +-- +2.14.4 + diff --git a/SOURCES/pcre-8.43-Check-the-size-of-the-number-after-C-as-it-is-read-i.patch b/SOURCES/pcre-8.43-Check-the-size-of-the-number-after-C-as-it-is-read-i.patch new file mode 100644 index 0000000..06b7db0 --- /dev/null +++ b/SOURCES/pcre-8.43-Check-the-size-of-the-number-after-C-as-it-is-read-i.patch @@ -0,0 +1,55 @@ +From 3a9026509f9c1745f378595e55e5024361ad152d Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Mon, 10 Feb 2020 17:17:34 +0000 +Subject: [PATCH] Check the size of the number after (?C as it is read, in + order to avoid integer overflow. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1761 2f5784b3-3f2a-0410-8824-cb99058d5e15 +Petr Písař: Ported to 8.43. +--- + pcre_compile.c | 14 ++++++++------ + +diff --git a/pcre_compile.c b/pcre_compile.c +index 079d30a..1e3d6c3 100644 +--- a/pcre_compile.c ++++ b/pcre_compile.c +@@ -6,7 +6,7 @@ + and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel +- Copyright (c) 1997-2018 University of Cambridge ++ Copyright (c) 1997-2020 University of Cambridge + + ----------------------------------------------------------------------------- + Redistribution and use in source and binary forms, with or without +@@ -7130,17 +7130,19 @@ for (;; ptr++) + int n = 0; + ptr++; + while(IS_DIGIT(*ptr)) ++ { + n = n * 10 + *ptr++ - CHAR_0; ++ if (n > 255) ++ { ++ *errorcodeptr = ERR38; ++ goto FAILED; ++ } ++ } + if (*ptr != CHAR_RIGHT_PARENTHESIS) + { + *errorcodeptr = ERR39; + goto FAILED; + } +- if (n > 255) +- { +- *errorcodeptr = ERR38; +- goto FAILED; +- } + *code++ = n; + PUT(code, 0, (int)(ptr - cd->start_pattern + 1)); /* Pattern offset */ + PUT(code, LINK_SIZE, 0); /* Default length */ +-- +2.21.1 + diff --git a/SPECS/pcre.spec b/SPECS/pcre.spec new file mode 100644 index 0000000..d027bf9 --- /dev/null +++ b/SPECS/pcre.spec @@ -0,0 +1,910 @@ +# Is this a stable/testing release: +#%%global rcversion RC1 +Name: pcre +Version: 8.42 +Release: %{?rcversion:0.}6%{?rcversion:.%rcversion}%{?dist} +%global myversion %{version}%{?rcversion:-%rcversion} +Summary: Perl-compatible regular expression library +## Source package only: +# INSTALL: FSFAP +# install-sh: MIT and Public Domain +# ltmain.sh: (GPLv2+ or BSD) and (GPLv3+ or MIT) +# missing: GPLv2+ or BSD +# compile: GPLv2+ or BSD +# config.sub: GPLv3+ or BSD +# m4/ax_pthread.m4: GPLv3+ with exception +# m4/libtool.m4: GPLv2+ or BSD +# m4/ltversion.m4: FSFULLR +# m4/pcre_visibility.m4: FSFULLR +# m4/lt~obsolete.m4: FSFULLR +# m4/ltsugar.m4: FSFULLR +# m4/ltoptions.m4: FSFULLR +# aclocal.m4: (GPLv2+ or BSD) and FSFULLR +# Makefile.in: FSFULLR +# configure: FSFUL +# test-driver: GPLv2+ with exception +# testdata: Public Domain (see LICENSE file) +## Binary packages: +# other files: BSD +License: BSD +URL: http://www.pcre.org/ +Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/%{name}/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2 +# Upstream thinks RPATH is a good idea. +Patch0: pcre-8.21-multilib.patch +# Refused by upstream, bug #675477 +Patch1: pcre-8.32-refused_spelling_terminated.patch +# Fix recursion stack estimator, upstream bug #2173, refused by upstream +Patch2: pcre-8.41-fix_stack_estimator.patch +# Fix handling UTF and start-of-pattern options in C++ wrapper, +# upstream bug #2283, in upstream after 8.42 +Patch3: pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch +# Fix an error message and locale handling in pcregrep tool, +# in upstream after 8.42 +Patch4: pcre-8.42-Fix-typos-in-pcrgrep.patch +# Fix autopossessifying a repeated negative class with no characters less than +# 256 that is followed by a positive class with only characters less than 256, +# bug #1619228, upstream bug #2300, in upstream after 8.42 +Patch5: pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch +# Fix anchoring in conditionals with only one branch, bug #1619228, +# upstream bug #2307, in upstream after 8.42 +Patch6: pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch +# Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has +# a greater than 1 fixed quantifier, CVE-2019-20838, bug #1852252, +# in upstream after 8.42 +Patch7: pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch +# Fix an integer overflow when parsing numbers after "(?C", CVE-2020-14155, +# bug #1851552, upstream bug #2463, in upstream after 8.43 +Patch8: pcre-8.43-Check-the-size-of-the-number-after-C-as-it-is-read-i.patch +BuildRequires: readline-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: coreutils +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: glibc-common +BuildRequires: libtool +BuildRequires: make +# perl not used because config.h.generic is pregenerated +# Tests: +BuildRequires: bash +BuildRequires: diffutils +BuildRequires: grep + +%description +PCRE, Perl-compatible regular expression, library has its own native API, but +a set of wrapper functions that are based on the POSIX API are also supplied +in the libpcreposix library. Note that this just provides a POSIX calling +interface to PCRE: the regular expressions themselves still follow Perl syntax +and semantics. This package provides support for strings in 8-bit and UTF-8 +encodings. Detailed change log is provided by %{name}-doc package. + +%package utf16 +Summary: UTF-16 variant of PCRE +Conflicts: %{name}%{?_isa} < 8.38-12 + +%description utf16 +This is Perl-compatible regular expression library working on UTF-16 strings. +Detailed change log is provided by %{name}-doc package. + +%package utf32 +Summary: UTF-32 variant of PCRE +Conflicts: %{name}%{?_isa} < 8.38-12 + +%description utf32 +This is Perl-compatible regular expression library working on UTF-32 strings. +Detailed change log is provided by %{name}-doc package. + +%package cpp +Summary: C++ bindings for PCRE +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description cpp +This is C++ bindings for the Perl-compatible regular expression library. +Detailed change log is provided by %{name}-doc package. + +%package doc +Summary: Change log for %{name} +BuildArch: noarch + +%description doc +These are large documentation files about PCRE. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-cpp%{?_isa} = %{version}-%{release} +Requires: %{name}-utf16%{?_isa} = %{version}-%{release} +Requires: %{name}-utf32%{?_isa} = %{version}-%{release} + +%description devel +Development files (Headers, libraries for dynamic linking, etc) for %{name}. + +%package static +Summary: Static library for %{name} +Requires: %{name}-devel%{_isa} = %{version}-%{release} + +%description static +Library for static linking for %{name}. + +%package tools +Summary: Auxiliary utilities for %{name} +Requires: %{name}%{_isa} = %{version}-%{release} + +%description tools +Utilities demonstrating PCRE capabilities like pcregrep or pcretest. + +%prep +%setup -q -n %{name}-%{myversion} +# Get rid of rpath +%patch0 -p1 +%patch1 -p1 +%patch2 -p2 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +# Because of rpath patch +libtoolize --copy --force +autoreconf -vif +# One contributor's name is non-UTF-8 +for F in ChangeLog; do + iconv -f latin1 -t utf8 "$F" >"${F}.utf8" + touch --reference "$F" "${F}.utf8" + mv "${F}.utf8" "$F" +done + +%build +# There is a strict-aliasing problem on PPC64, bug #881232 +%ifarch ppc64 +%global optflags %{optflags} -fno-strict-aliasing +%endif +%configure \ +%ifarch s390 s390x sparc64 sparcv9 riscv64 + --disable-jit \ +%else + --enable-jit \ +%endif + --enable-pcretest-libreadline \ + --enable-utf \ + --enable-unicode-properties \ + --enable-pcre8 \ + --enable-pcre16 \ + --enable-pcre32 \ + --disable-silent-rules +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +# Get rid of unneeded *.la files +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +# These are handled by %%doc in %%files +rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre + +%check +%ifarch s390 s390x ppc +# larger stack is needed on s390, ppc +ulimit -s 10240 +%endif +make %{?_smp_mflags} check VERBOSE=yes + +%ldconfig_scriptlets +%ldconfig_scriptlets utf16 +%ldconfig_scriptlets utf32 +%ldconfig_scriptlets cpp + +%files +%{_libdir}/libpcre.so.* +%{_libdir}/libpcreposix.so.* +%{!?_licensedir:%global license %%doc} +%license COPYING LICENCE +%doc AUTHORS NEWS + +%files utf16 +%{_libdir}/libpcre16.so.* +%license COPYING LICENCE +%doc AUTHORS NEWS + +%files utf32 +%{_libdir}/libpcre32.so.* +%license COPYING LICENCE +%doc AUTHORS NEWS + +%files cpp +%{_libdir}/libpcrecpp.so.* + +%files doc +%doc ChangeLog + +%files devel +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_includedir}/*.h +%{_mandir}/man1/pcre-config.* +%{_mandir}/man3/* +%{_bindir}/pcre-config +%doc doc/*.txt doc/html +%doc README HACKING pcredemo.c + +%files static +%{_libdir}/*.a +%{!?_licensedir:%global license %%doc} +%license COPYING LICENCE + +%files tools +%{_bindir}/pcregrep +%{_bindir}/pcretest +%{_mandir}/man1/pcregrep.* +%{_mandir}/man1/pcretest.* + +%changelog +* Wed Jun 02 2021 Lukas Javorsky - 8.42-6 +- Rebuild for BZ#1954441 + +* Wed Apr 14 2021 Petr Pisar - 8.42-5 +- Fix CVE-2019-20838 (a subject buffer overread in JIT when UTF is disabled + and \X or \R has a greater than 1 fixed quantifier) (bug #1852252) +- Fix CVE-2020-14155 (an integer overflow when parsing numbers after "(?C")) + (bug #1851552) + +* Mon Sep 03 2018 Petr Pisar - 8.42-4 +- Fix anchoring in conditionals with only one branch (bug #1619228) + +* Mon Aug 20 2018 Petr Pisar - 8.42-3 +- Fix autopossessifying a repeated negative class with no characters less than + 256 that is followed by a positive class with only characters less than 256 + (bug #1619228) + +* Thu Jun 28 2018 Petr Pisar - 8.42-2 +- Fix handling UTF and start-of-pattern options in C++ wrapper + (upstream bug #2283) +- Fix an error message and locale handling in pcregrep tool + +* Tue Mar 20 2018 Petr Pisar - 8.42-1 +- 8.42 bump + +* Mon Feb 26 2018 Petr Pisar - 8.42-0.2.RC1 +- Fix compiler warnings in pcregrep + +* Fri Feb 23 2018 Petr Pisar - 8.42-0.1.RC1 +- 8.42-RC1 bump + +* Tue Feb 20 2018 Petr Pisar - 8.41-6 +- Fix returning unset groups in POSIX interface if REG_STARTEND has a non-zero + starting offset (upstream bug #2244) + +* Thu Feb 08 2018 Fedora Release Engineering - 8.41-5.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 8.41-5.1 +- Switch to %%ldconfig_scriptlets + +* Tue Jan 30 2018 Petr Pisar - 8.41-5 +- Fix out-of-bounds read for partial matching of /./ against an empty string + when the newline type is CRLF (upstream bug #2226) + +* Fri Jan 12 2018 Petr Pisar - 8.41-4 +- Allow pcregrep match counter to handle values larger than 2147483647 + (upstream bug #2208) +- Fix incorrect first matching character when a backreference with zero minimum + repeat starts a pattern (upstream bug #2209) + +* Thu Nov 02 2017 Petr Pisar - 8.41-3 +- Accept files names longer than 128 bytes in recursive mode of pcregrep + (upstream bug #2177) + +* Mon Oct 09 2017 Petr Pisar - 8.41-2 +- Fix recursion stack estimator (upstream bug #2173) + +* Thu Aug 03 2017 Fedora Release Engineering - 8.41-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 8.41-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 07 2017 Petr Pisar - 8.41-1 +- 8.41 bump + +* Wed Jun 14 2017 Petr Pisar - 8.41-0.1.RC1 +- 8.41 RC1 bump + +* Fri Apr 21 2017 Petr Pisar - 8.40-7 +- Fix a buffer overflow in pcretest tool when copying a string in UTF-32 mode +- Fix CVE-2017-7186 in JIT mode (a crash when finding a Unicode property for + a character with a code point greater than 0x10ffff in UTF-32 library while + UTF mode is disabled) (bug #1434504) + +* Mon Mar 27 2017 Petr Pisar - 8.40-6 +- Fix DFA match for a possessively repeated character class (upstream bug #2086) + +* Mon Feb 27 2017 Petr Pisar - 8.40-5 +- Fix a crash in pcretest when \O directive was supplied with too big number + (upstream bug #2044) +- Document pcretest input cannot contain binary zeroes (upstream bug #2045) +- Fix CVE-2017-7244 (a crash when finding a Unicode property for a character + with a code point greater than 0x10ffff in UTF-32 library while UTF mode is + disabled) (upstream bug #2052) + +* Thu Feb 23 2017 Petr Pisar - 8.40-4 +- Fix a crash in pcretest when printing non-ASCII characters + (upstream bug #2043) + +* Tue Feb 21 2017 Petr Pisar - 8.40-3 +- Fix parsing comments between quantifiers (upstream bug #2019) + +* Tue Feb 14 2017 Petr Pisar - 8.40-2 +- Fix pcregrep multi-line matching --only-matching option (upstream bug #1848) +- Fix CVE-2017-6004 (a crash in JIT compilation) (upstream bug #2035) +- Fix a potenial buffer overflow in formatting a pcregrep error message + (upstream bug #2037) + +* Sat Feb 11 2017 Fedora Release Engineering - 8.40-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 8.40-1.1 +- Rebuild for readline 7.x + +* Thu Jan 12 2017 Petr Pisar - 8.40-1 +- 8.40 bump + +* Mon Dec 12 2016 Petr Pisar - 8.40-0.1.RC1 +- 8.40-RC1 bump + +* Mon Oct 24 2016 Petr Pisar - 8.39-6 +- Document assert capture limitation (upstream bug #1887) + +* Wed Oct 19 2016 Petr Pisar - 8.39-5 +- Fix internal option documentation in pcrepattern(3) (upstream bug #1875) +- Fix optimization bugs for patterns starting with lookaheads + (upstream bug #1882) + +* Fri Oct 14 2016 Petr Pisar - 8.39-4 +- Fix displaying position in pcretest callout with an escape sequence greater + than \x{ff} +- Fix pcrepattern(3) documentation +- Fix miscopmilation of conditionals when a group name start with "R" + (upstream bug #1873) + +* Tue Aug 30 2016 Petr Pisar - 8.39-3 +- Fix register overwite in JIT when SSE2 acceleration is enabled +- Fix matching characters above 255 when a negative character type was used + without enabled UCP in a positive class (upstream bug #1866) + +* Mon Jun 20 2016 Petr Pisar - 8.39-2 +- Fix repeated pcregrep output if -o with -M options were used and the match + extended over a line boundary (upstream bug #1848) + +* Tue Jun 14 2016 Petr Pisar - 8.39-1 +- 8.39 bump + +* Tue May 24 2016 Petr Pisar - 8.39-0.1.RC1 +- 8.39-RC1 bump + +* Thu Apr 07 2016 Petr Pisar - 8.38-14 +- Separate pcre-cpp subpackage for C++ bindings, thanks to Yaakov Selkowitz + (bug #1324580) +- Correct pcre-devel dependencies +- Remove rich dependency from pcre-doc + +* Mon Mar 07 2016 Petr Pisar - 8.38-13 +- Remove useless dependencies between UTF variants + +* Mon Mar 07 2016 Petr Pisar - 8.38-12 +- Move UTF-16 and UTF-32 libraries into pcre-ut16 and pcre-32 subpackages + +* Mon Mar 07 2016 Petr Pisar - 8.38-11 +- Ship ChangeLog in pcre-doc package + +* Sat Mar 5 2016 Peter Robinson 8.38-10 +- Don't ship ChangeLog, details covered in NEWS +- Ship README in devel as it covers API and build, not general info + +* Mon Feb 29 2016 Petr Pisar - 8.38-9 +- Fix a non-diagnosis of missing assection after (?(?C) that could corrupt + process stack (upstream bug #1780) +- Fix a typo in pcre_study() + +* Mon Feb 29 2016 Petr Pisar - 8.38-8 +- Fix CVE-2016-1283 (a heap buffer overflow in handling of nested duplicate + named groups with a nested back reference) (bug #1295386) +- Fix a heap buffer overflow in pcretest causing infinite loop when matching + globally with an ovector less than 2 (bug #1312786) + +* Thu Feb 11 2016 Petr Pisar - 8.38-7 +- Fix pcretest for expressions with a callout inside a look-behind assertion + (upstream bug #1783) +- Fix CVE-2016-3191 (workspace overflow for (*ACCEPT) with deeply nested + parentheses) (upstream bug #1791) + +* Thu Feb 04 2016 Fedora Release Engineering - 8.38-6.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Dec 08 2015 Petr Pisar - 8.38-6 +- Fix a crash in pcre_get_substring_list() if the use of \K caused the start + of the match to be earlier than the end (upstream bug #1744) + +* Mon Dec 07 2015 Petr Pisar - 8.38-5 +- Fix possible crash in pcre_copy_named_substring() if a named substring has + number greater than the space in the ovector (upstream bug #1741) +- Fix a buffer overflow when compiling an expression with named groups with + a group that reset capture numbers (upstream bug #1742) + +* Fri Dec 04 2015 Petr Pisar - 8.38-4 +- Fix compiling expressions with global extended modifier that is disabled by + local no-extended option at the start of the expression just after + a whitespace + +* Tue Dec 01 2015 Petr Pisar - 8.38-3 +- Fix compiling expressions with negated classes in UCP mode + (upstream bug #1732) +- Fix compiling expressions with an isolated \E between an item and its + qualifier with auto-callouts (upstream bug #1724) +- Fix crash in regexec() if REG_STARTEND option is set and pmatch argument is + NULL (upstream bug #1727) +- Fix a stack overflow when formatting a 32-bit integer in pcregrep tool + (upstream bug #1728) +- Fix compiling expressions with an empty \Q\E sequence between an item and + its qualifier with auto-callouts (upstream bug #1735) + +* Fri Nov 27 2015 Petr Pisar - 8.38-2 +- Fix compiling comments with auto-callouts + +* Tue Nov 24 2015 Petr Pisar - 8.38-1 +- 8.38 bump + +* Wed Nov 18 2015 Petr Pisar - 8.38-0.2.RC1 +- Fix crash when compiling an expression with long (*MARK) or (*THEN) names +- Fix compiling a POSIX character class followed by a single ASCII character + in a class item while UCP mode is active (upstream bug #1717) +- Fix mismatching characters in the range 128-255 against [:punct:] in UCP + mode (upstream bug #1718) + +* Thu Oct 29 2015 Petr Pisar - 8.38-0.1.RC1 +- 8.38-RC1 bump + +* Mon Oct 12 2015 Petr Pisar - 8.37-5 +- Fix compiling classes with a negative escape and a property escape + (upstream bug #1697) + +* Tue Aug 25 2015 Petr Pisar - 8.37-4 +- Fix CVE-2015-8381 (a heap overflow when compiling certain expression with + named references) (bug #1256452) + +* Thu Aug 06 2015 Petr Pisar - 8.37-3 +- Fix a buffer overflow with duplicated named groups with a reference between + their definition, with a group that reset capture numbers +- Fix a buffer overflow with a forward reference by name to a group whose + number is the same as the current group +- Fix CVE-2015-8385 (a buffer overflow with duplicated named groups and an + occurrence of "(?|") (bug #1250946) + +* Wed Jul 01 2015 Petr Pisar - 8.37-2 +- Fix CVE-2015-3210 (heap overflow when compiling an expression with named + recursive back reference and the name is duplicated) (bug #1236659) +- Fix CVE-2015-5073 (heap overflow when compiling an expression with an + forward reference within backward asserion with excessive closing + paranthesis) (bug #1237224) + +* Thu Jun 18 2015 Fedora Release Engineering - 8.37-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Apr 28 2015 Petr Pisar - 8.37-1 +- 8.37 bump + +* Thu Apr 23 2015 Petr Pisar - 8.37-0.2.RC1 +- Fix static linking (bug #1214494) +- Package pcredemo.c as a documentation for pcre-devel +- Fix JIT on AArch64 + +* Wed Apr 22 2015 Petr Pisar - 8.37-0.1.RC1 +- 8.37 RC1 bump + +* Thu Apr 09 2015 Petr Pisar - 8.36-5 +- Fix computing size for pattern with a negated special calss in on-UCP mode + (bug #1210383) +- Fix compilation of a pattern with mutual recursion nested inside other group + (bug #1210393) +- Fix compilation of a parenthesized comment (bug #1210410) +- Fix compliation of mutual recursion inside a lookbehind assertion + (bug #1210417) +- Fix pcregrep loop when \K is used in a lookbehind assertion (bug #1210423) +- Fix pcretest loop when \K is used in a lookbehind assertion (bug #1210423) +- Fix backtracking for \C\X* in UTF-8 mode (bug #1210576) + +* Thu Mar 26 2015 Petr Pisar - 8.36-4 +- Fix computing size of JIT read-only data (bug #1206131) + +* Thu Feb 19 2015 David Tardon - 8.36-3.1 +- rebuild for C++ stdlib API changes in gcc5 + +* Thu Nov 20 2014 Petr Pisar - 8.36-3 +- Fix CVE-2014-8964 (unused memory usage on zero-repeat assertion condition) + (bug #1165626) + +* Fri Nov 07 2014 Petr Pisar - 8.36-2 +- Reset non-matched groups within capturing group up to forced match + (bug #1161587) + +* Tue Oct 07 2014 Petr Pisar - 8.36-1 +- 8.36 bump + +* Tue Sep 16 2014 Petr Pisar - 8.36-0.1.RC1 +- 8.36 RC1 bump +- Enable JIT on aarch64 + +* Sun Aug 17 2014 Fedora Release Engineering - 8.35-6.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 11 2014 Petr Pisar - 8.35-6 +- Fix compile-time loop for recursive reference within a group with an + indefinite repeat (bug #1128577) + +* Wed Jul 30 2014 Tom Callaway - 8.35-5 +- fix license handling + +* Mon Jul 14 2014 Petr Pisar - 8.35-4 +- Fix empty-matching possessive zero-repeat groups in interpreted mode + (bug #1119241) +- Fix memory leaks in pcregrep (bug #1119257) +- Fix compiler crash for zero-repeated groups with a recursive back reference + (bug #1119272) + +* Thu Jun 19 2014 Petr Pisar - 8.35-3 +- Fix bad starting data when char with more than one other case follows + circumflex in multiline UTF mode (bug #1110620) +- Fix not including VT in starting characters for \s if pcre_study() is used + (bug #1111045) +- Fix character class with a literal quotation (bug #1111054) + +* Fri Jun 06 2014 Fedora Release Engineering - 8.35-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 11 2014 Petr Pisar - 8.35-2 +- Do no rely on wrapping signed integer while parsing {min,max} expression + (bug #1086630) + +* Wed Apr 09 2014 Petr Pisar - 8.35-1 +- 8.35 bump +- Run tests in parallel + +* Fri Mar 14 2014 Petr Pisar - 8.35-0.1.RC1 +- 8.35-RC1 bump + +* Tue Mar 11 2014 Petr Pisar - 8.34-4 +- Fix max/min quantifiers in ungreedy mode (bug #1074500) + +* Tue Jan 21 2014 Dan Horák - 8.34-3 +- enlarge stack for tests on s390x + +* Thu Jan 09 2014 Petr Pisar - 8.34-2 +- Fix jitted range check (bug #1048097) + +* Mon Dec 16 2013 Petr Pisar - 8.34-1 +- 8.34 bump + +* Wed Oct 16 2013 Petr Pisar - 8.33-3 +- Disable strict-aliasing on PPC64 (bug #881232) + +* Sat Aug 03 2013 Fedora Release Engineering - 8.33-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jun 03 2013 Petr Pisar - 8.33-2 +- Disable unsupported JIT on aarch64 (bug #969693) + +* Thu May 30 2013 Petr Pisar - 8.33-1 +- 8.33 bump + +* Thu May 16 2013 Petr Pisar - 8.33-0.3.RC1 +- Fix passing too small output vector to pcre_dfa_exec (bug #963284) + +* Mon May 13 2013 Petr Pisar - 8.33-0.2.RC1 +- Fix bad handling of empty lines in pcregrep tool (bug #961789) +- Fix possible pcretest crash with a data line longer than 65536 bytes + +* Thu May 02 2013 Petr Pisar - 8.33-0.1.RC1 +- 8.33-RC1 bump + +* Mon Jan 28 2013 Petr Pisar - 8.32-4 +- Fix forward search in JIT when link size is 3 or greater +- Fix buffer over-read in UTF-16 and UTF-32 modes with JIT + +* Fri Jan 25 2013 Peter Robinson 8.32-3 +- Adjust autoreconf to fix FTBFS on F-19 + +* Mon Jan 07 2013 Petr Pisar - 8.32-2 +- Make inter-subpackage dependencies architecture specific (bug #892187) + +* Fri Nov 30 2012 Petr Pisar - 8.32-1 +- 8.32 bump + +* Thu Nov 29 2012 Petr Pisar - 8.32-0.2.RC1 +- Inter-depend sub-packages to prevent from mixing different versions + +* Tue Nov 13 2012 Petr Pisar - 8.32-0.1.RC1 +- 8.32-RC1 bump + +* Mon Sep 03 2012 Petr Pisar - 8.31-2 +- Set re_nsub in regcomp() properly (bug #853990) + +* Fri Jul 20 2012 Fedora Release Engineering - 8.31-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 13 2012 Petr Pisar - 8.31-1 +- 8.31 bump + +* Tue Jun 05 2012 Petr Pisar - 8.31-0.1.RC1 +- 8.31-RC1 bump + +* Sat May 12 2012 Tom Callaway - 8.30-7 +- disable jit for sparcv9 and sparc64 + +* Fri May 11 2012 Petr Pisar - 8.30-6 +- Fix spelling in manual pages (bug #820978) + +* Mon Apr 23 2012 Petr Pisar - 8.30-5 +- Possessify high ASCII (bug #815217) +- Fix ovector overflow (bug #815214) + +* Fri Apr 20 2012 Petr Pisar - 8.30-4 +- Possesify \s*\R (bug #813237) + +* Thu Apr 05 2012 Petr Pisar - 8.30-3 +- Fix look-behind assertion in UTF-8 JIT mode (bug #810314) + +* Tue Feb 28 2012 Petr Pisar - 8.30-2 +- Remove old libpcre.so.0 from distribution +- Move library to /usr + +* Thu Feb 09 2012 Petr Pisar - 8.30-1 +- 8.30 bump +- Add old libpcre.so.0 to preserve compatibility temporarily + +* Fri Jan 27 2012 Petr Pisar - 8.30-0.1.RC1 +- 8.30 Relase candidate 1 with UTF-16 support and *API change* +- Enable UTF-16 variant of PCRE library +- The pcre_info() function has been removed from pcre library. +- Loading compiled pattern does not fix endianity anymore. Instead an errror + is returned and the application can use pcre_pattern_to_host_byte_order() to + convert the pattern. +- Surrogates (0xD800---0xDFFF) are forbidden in UTF-8 mode now. + +* Fri Jan 13 2012 Fedora Release Engineering - 8.21-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Jan 02 2012 Petr Pisar - 8.21-2 +- Fix unmatched subpattern to not become wildcard (bug #769597) +- Fix NULL pointer derefernce in pcre_free_study() (upstream bug #1186) + +* Mon Dec 12 2011 Petr Pisar - 8.21-1 +- 8.21 bump + +* Thu Dec 08 2011 Karsten Hopp 8.21-0.2.RC1 +- ppc needs a larger stack similar to s390 + +* Tue Dec 06 2011 Petr Pisar - 8.21-0.1.RC1 +- 8.21-RC1 bump + +* Fri Dec 02 2011 Petr Pisar - 8.20-7 +- Fix case-less match if cases differ in encoding length (bug #756675) + +* Fri Nov 25 2011 Petr Pisar - 8.20-6 +- Fix cache-flush in JIT on PPC + +* Tue Nov 22 2011 Petr Pisar - 8.20-5 +- Fix repeated forward reference (bug #755969) + +* Wed Nov 16 2011 Petr Pisar - 8.20-4 +- Fix other look-behind regressions + +* Tue Nov 15 2011 Petr Pisar - 8.20-3 +- Fix look-behind regression in 8.20 + +* Tue Nov 15 2011 Dan Horák - 8.20-2 +- fix build on s390(x) - disable jit and use larger stack for tests + +* Fri Oct 21 2011 Petr Pisar - 8.20-1 +- 8.20 bump + +* Tue Oct 11 2011 Petr Pisar - 8.20-0.1.RC3 +- 8.20-RC3 bump + +* Fri Sep 23 2011 Petr Pisar - 8.20-0.1.RC2 +- 8.20-RC2 bump + +* Mon Sep 12 2011 Petr Pisar - 8.20-0.1.RC1 +- 8.20-RC1 bump with JIT + +* Tue Sep 06 2011 Petr Pisar - 8.13-4 +- Fix infinite matching PRUNE (bug #735720) + +* Mon Aug 22 2011 Petr Pisar - 8.13-3 +- Fix parsing named class in expression (bug #732368) + +* Thu Aug 18 2011 Petr Pisar - 8.13-2 +- Separate utilities from libraries +- Move pcre-config(1) manual to pcre-devel sub-package +- Remove explicit defattr from spec code +- Compile pcretest with readline support + +* Thu Aug 18 2011 Petr Pisar - 8.13-1 +- 8.13 bump: Bug-fix version, Unicode tables updated to 6.0.0, new pcregrep + option --buffer-size to adjust to long lines, new feature is passing of + *MARK information to callouts. +- Should fix crash back-tracking over unicode sequence (bug #691319) + +* Mon May 09 2011 Petr Pisar - 8.12-4 +- Fix caseless reference matching in UTF-8 mode when the upper/lower case + characters have different lengths (bug #702623) + +* Mon May 09 2011 Petr Pisar - 8.12-3 +- Fix typos in manual pages (bugs #675476, #675477) +- Clean spec file up + +* Tue Feb 08 2011 Fedora Release Engineering - 8.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 17 2011 Petr Pisar - 8.12-1 +- 8.12 bump +- Remove accepted pcre-8.11-Fix-typo-in-pcreprecompile-3.patch + +* Mon Dec 13 2010 Petr Pisar - 8.11-1 +- 8.11 bump +- See ChangeLog for changes. Namely changes have been made to the way + PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and \B. +- Fix typo in pcreprecompile(3) manual +- Document why shared library is not under /usr + +* Mon Jul 12 2010 Petr Pisar - 8.10-1 +- 8.10 bump (bug #612635) +- Add LICENCE to static subpackage because COPYING refers to it +- Remove useless rpath by using new libtool (simple sed does not work anymore + because tests need to link against just-compiled library in %%check phase) + +* Thu Jul 08 2010 Petr Pisar - 7.8-4 +- Add COPYING to static subpackage +- Remove useless rpath + +* Sat Jul 25 2009 Fedora Release Engineering - 7.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 7.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Oct 1 2008 Lubomir Rintel - 7.8-1 +- Update to 7.8, drop upstreamed patches +- Fix destination of documentation (#427763) +- Use buildroot macro consistently +- Separate the static library, as per current Guidelines +- Satisfy rpmlint + +* Fri Jul 4 2008 Tomas Hoger - 7.3-4 +- Apply Tavis Ormandy's patch for CVE-2008-2371. + +* Tue Feb 12 2008 Tomas Hoger - 7.3-3 +- Backport patch from upstream pcre 7.6 to address buffer overflow + caused by "a character class containing a very large number of + characters with codepoints greater than 255 (in UTF-8 mode)" + CVE-2008-0674, #431660 +- Try re-enabling make check again. + +* Fri Nov 16 2007 Stepan Kasal - 7.3-2 +- Remove obsolete ``reqs'' +- add dist tag +- update BuildRoot + +* Mon Sep 17 2007 Than Ngo - 7.3-1 +- bz292501, update to 7.3 + +* Mon Jan 22 2007 Than Ngo - 7.0-1 +- 7.0 + +* Mon Nov 27 2006 Than Ngo - 6.7-1 +- update to 6.7 +- fix #217303, enable-unicode-properties +- sane stack limit + +* Wed Jul 12 2006 Jesse Keating - 6.6-1.1 +- rebuild + +* Tue May 09 2006 Than Ngo 6.6-1 +- update to 6.6 +- fix multilib problem + +* Fri Feb 10 2006 Jesse Keating - 6.3-1.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 6.3-1.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Wed Aug 24 2005 Than Ngo 6.3-1 +- update to 6.3 + +* Fri Mar 4 2005 Joe Orton 5.0-4 +- rebuild + +* Fri Feb 11 2005 Joe Orton 5.0-3 +- don't print $libdir in 'pcre-config --libs' output + +* Thu Nov 18 2004 Joe Orton 5.0-2 +- include LICENCE, AUTHORS in docdir +- run make check +- move %%configure to %%build + +* Thu Nov 18 2004 Than Ngo 5.0-1 +- update to 5.0 +- change License: BSD +- fix header location #64248 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 23 2004 Than Ngo 4.5-2 +- add the correct pcre license, #118781 + +* Fri Mar 12 2004 Than Ngo 4.5-1 +- update to 4.5 + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Sep 26 2003 Harald Hoyer 4.4-1 +- 4.4 + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed May 7 2003 Than Ngo 4.2-1 +- update to 4.2 + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Jan 21 2003 Than Ngo 3.9-9 +- build with utf8, bug #81504 + +* Fri Nov 22 2002 Elliot Lee 3.9-8 +- Really remove .la files + +* Fri Oct 11 2002 Than Ngo 3.9-7 +- remove .la + +* Thu Oct 10 2002 Than Ngo 3.9-7 +- Typo bug + +* Wed Oct 9 2002 Than Ngo 3.9-6 +- Added missing so symlink + +* Thu Sep 19 2002 Than Ngo 3.9-5.1 +- Fixed to build s390/s390x/x86_64 + +* Thu Jun 27 2002 Bernhard Rosenkraenzer 3.9-5 +- Fix #65009 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon Mar 4 2002 Bernhard Rosenkraenzer 3.9-2 +- rebuild + +* Fri Jan 11 2002 Bernhard Rosenkraenzer 3.9-1 +- Update to 3.9 + +* Wed Nov 14 2001 Bernhard Rosenkraenzer 3.7-1 +- Update to 3.7 + +* Thu May 17 2001 Bernhard Rosenkraenzer 3.4-2 +- Move libpcre to /lib, grep uses it these days (#41104) + +* Wed Apr 18 2001 Bernhard Rosenkraenzer +- Move this to a separate package, used to be in kdesupport, but it's + generally useful...