Compare commits
No commits in common. "c8" and "c9s" have entirely different histories.
41
.gitignore
vendored
41
.gitignore
vendored
@ -1 +1,40 @@
|
|||||||
SOURCES/pcre2-10.32.tar.bz2
|
/pcre2-10.10.tar.bz2
|
||||||
|
/pcre2-10.20-RC1.tar.bz2
|
||||||
|
/pcre2-10.20.tar.bz2
|
||||||
|
/pcre2-10.21-RC1.tar.bz2
|
||||||
|
/pcre2-10.21.tar.bz2
|
||||||
|
/pcre2-10.22-RC1.tar.bz2
|
||||||
|
/pcre2-10.22.tar.bz2
|
||||||
|
/pcre2-10.23-RC1.tar.bz2
|
||||||
|
/pcre2-10.23.tar.bz2
|
||||||
|
/pcre2-10.30-RC1.tar.bz2
|
||||||
|
/pcre2-10.30.tar.bz2
|
||||||
|
/pcre2-10.31-RC1.tar.bz2
|
||||||
|
/pcre2-10.31.tar.bz2
|
||||||
|
/pcre2-10.32-RC1.tar.bz2
|
||||||
|
/pcre2-10.32.tar.bz2
|
||||||
|
/pcre2-10.33-RC1.tar.bz2
|
||||||
|
/pcre2-10.33.tar.bz2
|
||||||
|
/pcre2-10.33.tar.bz2.sig
|
||||||
|
/pcre2-10.34-RC1.tar.bz2
|
||||||
|
/pcre2-10.34-RC1.tar.bz2.sig
|
||||||
|
/pcre2-10.34-RC2.tar.bz2
|
||||||
|
/pcre2-10.34-RC2.tar.bz2.sig
|
||||||
|
/pcre2-10.34.tar.bz2
|
||||||
|
/pcre2-10.34.tar.bz2.sig
|
||||||
|
/pcre2-10.35-RC1.tar.bz2
|
||||||
|
/pcre2-10.35-RC1.tar.bz2.sig
|
||||||
|
/pcre2-10.35.tar.bz2
|
||||||
|
/pcre2-10.35.tar.bz2.sig
|
||||||
|
/pcre2-10.36-RC1.tar.bz2
|
||||||
|
/pcre2-10.36-RC1.tar.bz2.sig
|
||||||
|
/pcre2-10.36.tar.bz2
|
||||||
|
/pcre2-10.36.tar.bz2.sig
|
||||||
|
/pcre2-10.37.tar.bz2
|
||||||
|
/pcre2-10.37.tar.bz2.sig
|
||||||
|
/pcre2-10.38.tar.bz2
|
||||||
|
/pcre2-10.38.tar.bz2.sig
|
||||||
|
/pcre2-10.39.tar.bz2
|
||||||
|
/pcre2-10.39.tar.bz2.sig
|
||||||
|
/pcre2-10.40.tar.bz2
|
||||||
|
/pcre2-10.40.tar.bz2.sig
|
||||||
|
@ -1 +0,0 @@
|
|||||||
31dea762ff549cda09b7df33648f9d4cc3707cf8 SOURCES/pcre2-10.32.tar.bz2
|
|
39
Public-Key
Normal file
39
Public-Key
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
This is Philip Hazel's public GPG key.
|
||||||
|
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1.2.0 (SunOS)
|
||||||
|
|
||||||
|
mQEMBD2z9g0BCACpGWJ4K2mjR6K9nv7/K+HLjJtDO0E0ckudeNjg2JvnuUU7m1bK
|
||||||
|
87nSklHTSMNiqmuVU5hFAuGiMGBMj31GPpce3VbABdm6TmAJB8ZndvJXyf8lC7Ko
|
||||||
|
5iZX/gCYU6817UI5pFwYR3MTIUSSxTGqk1y62pYLKUq9keSU5Cew4q1KMwl46Bn3
|
||||||
|
SwlfQeST4WGwL2w9b8mWNltBBY23bgzwYu7vFBD4GQnfzJsvMC9lj825wob2nKy5
|
||||||
|
CL4bY6tiYUqALzDYaIVCBqJ1Ky1rpPzRcDZUeeF8Ta3njh18Y0KzPEj+Xu5Ksexg
|
||||||
|
7LUy/2wFzVRtJgqvAFZo43KIOptsj/63zxJjAAkBAbQhUGhpbGlwIEhhemVsIDxw
|
||||||
|
aDEwQGN1cy5jYW0uYWMudWs+iQEyBBMBAgAcBQI9s/YNAhsDBAsHAwIDFQIDAxYC
|
||||||
|
AQIeAQIXgAAKCRCXZuCE+w9D2JbrCACBHrxybV+9t3TGR3+uk2QnUuct90a+udcB
|
||||||
|
cbWgKQgX345ZgwIfyoPKAbG84mN/+SFUN/Ie4ZHZxVsbN//l2P/Osx0CNQBfem4e
|
||||||
|
HUWegkFGzC5DxQhN5nsJ/GR6pnxG1l/DbNhupNY73oTajWFdi7K8jYfamU/zS/Da
|
||||||
|
VCwUKxWtGqyEqOxvbdqcjsnTMmLVfXtefx7CbKyhaClPP8Pe4FL+eqyfHJF7uywK
|
||||||
|
VWlUNmQa4E+ZAK8tkoK9sZAc0ImWwZMumiKZDEpr2D8Ty+Gg2umTS2OMIcbY8QF1
|
||||||
|
r6DeubFabdPIe1kn0BGXtdAurhbdJCIbcAEQS0eEeWC4A4LiDprntB1QaGlsaXAg
|
||||||
|
SGF6ZWwgPHBoMTBAY2FtLmFjLnVrPokBMgQTAQIAHAUCPbaC8QIbAwQLBwMCAxUC
|
||||||
|
AwMWAgECHgECF4AACgkQl2bghPsPQ9ho5Qf+I2HUhZeXOUneeqSa+cITsIELJMrZ
|
||||||
|
UWcydY1z+L68yOqURVHB1jF4aC6QSlq0pLjozwF6KfZO5AfN9FvkRQ0DzCEXH48W
|
||||||
|
OXqzbjzgNxRMdaP5+49Axl0UQuhupGJg66T4FiGnSVBhK8kTURPCSpLLgkCJqNcY
|
||||||
|
t5zuNwk3e7JvleT59EVpk/kw3a5p9oeKYBln57pHwq+HdPLSCdkedQBKdsbNrazy
|
||||||
|
qduYEXen4ogsIoTpA9lLH1Xsi9wL+soLAlWXtl/GNa1h7Jpwn41zp1hqIZe1ebIM
|
||||||
|
dSGbtMEaGJlqgDauYJSl0lkVgaPtZCTmfAf57TsGfD0IckN2XNGLuwb6DLkBCwQ9
|
||||||
|
s/eJAQgAuXq2I1VTDB108O0NAB6QKfA2gMHafoj3OcwEUHnJgXrHqjYOpFr0r5lC
|
||||||
|
YjwMRMvHO7r4jgtwKjGACI/1IE2hiGXkKFOWZFkCf7Qjoi13a78myC/VRwe4uEIs
|
||||||
|
xdz++w8WfzuC1sYw8d/rlybVzHTfTsKfmFOQamuyLCTm3Kdx/wZyGM7JMmgVn2zF
|
||||||
|
HWasdID0n7QJFZGR3yEfqis5zq1t3w28AaXlTZG7QtFj9V0cWIhZRjjjVe1biPA8
|
||||||
|
Btp+eFkmcat79N9hHbiEiAY3u2qmQCcn1fiBBC0Og09cY4dRyX0/bXUo4n8lHysp
|
||||||
|
JcL/sIZ7Ahd1LOfg9h+yQfoaey78LQAGKYkBHwQYAQIACQUCPbP3iQIbDAAKCRCX
|
||||||
|
ZuCE+w9D2P0BCACXsbwFerd4wlnt8PxxQlRGXi1t4EGBFf2zSdgQvIXJ3ntPzcDU
|
||||||
|
+8hnIWQJhCTZ3PfVmoqB6ZOM1RWI/IcP6b4qVb6vJGI/VxRICraAczw+4bdFxFiB
|
||||||
|
n2+SyD4MxZg8t66FcH3fHugQqsApHTmtKmahv5BXB+0dPmP/BRUmzxYUv8hdnhHl
|
||||||
|
91S4R4BDu84DvKYyJK9jlqUl06pvqXrBSNsbWKgAJnmnDe8FaLUk+p0IXeMSavUn
|
||||||
|
T5E26MRIioxAz/G4FZI8IdO92GHTz82O7/mQMhveAdpspDvpV3M4wnldU425GlxZ
|
||||||
|
nmq1bbjAU4QVuIS9nkk2GrGx5+N6cYMy8JqG
|
||||||
|
=EHsz
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,21 +0,0 @@
|
|||||||
--- pcre2-10.32/src/pcre2_jit_compile.c.old 2022-05-13 09:13:06.188574517 +0000
|
|
||||||
+++ pcre2-10.32/src/pcre2_jit_compile.c 2022-05-13 09:27:57.189574517 +0000
|
|
||||||
@@ -6494,7 +6494,7 @@ while (*cc != XCL_END)
|
|
||||||
{
|
|
||||||
SLJIT_ASSERT(*cc == XCL_PROP || *cc == XCL_NOTPROP);
|
|
||||||
cc++;
|
|
||||||
- if (*cc == PT_CLIST)
|
|
||||||
+ if (*cc == PT_CLIST && cc[-1] == XCL_PROP)
|
|
||||||
{
|
|
||||||
other_cases = PRIV(ucd_caseless_sets) + cc[1];
|
|
||||||
while (*other_cases != NOTACHAR)
|
|
||||||
--- pcre2-10.32/src/pcre2_jit_test.c.old 2022-05-13 09:29:27.531574517 +0000
|
|
||||||
+++ pcre2-10.32/src/pcre2_jit_test.c 2022-05-13 09:32:50.666574517 +0000
|
|
||||||
@@ -397,6 +397,7 @@ static struct regression_test_case regre
|
|
||||||
{ MUP, A, 0, 0 | F_PROPERTY, "[\xc3\xa2-\xc3\xa6\xc3\x81-\xc3\x84\xe2\x80\xa8-\xe2\x80\xa9\xe6\x92\xad\\p{Zs}]{2,}", "\xe2\x80\xa7\xe2\x80\xa9\xe6\x92\xad \xe6\x92\xae" },
|
|
||||||
{ MUP, A, 0, 0 | F_PROPERTY, "[\\P{L&}]{2}[^\xc2\x85-\xc2\x89\\p{Ll}\\p{Lu}]{2}", "\xc3\xa9\xe6\x92\xad.a\xe6\x92\xad|\xc2\x8a#" },
|
|
||||||
{ PCRE2_UCP, 0, 0, 0 | F_PROPERTY, "[a-b\\s]{2,5}[^a]", "AB baaa" },
|
|
||||||
+ { CMUP, 0, 0, 0, "[^S]\\B", "\xe2\x80\x8a" },
|
|
||||||
|
|
||||||
/* Possible empty brackets. */
|
|
||||||
{ MU, A, 0, 0, "(?:|ab||bc|a)+d", "abcxabcabd" },
|
|
@ -1,53 +0,0 @@
|
|||||||
From dd9e5dc97b897fdec64525560131c1ffb8d8a4d4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: zherczeg <zherczeg@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Fri, 21 Sep 2018 07:24:34 +0000
|
|
||||||
Subject: [PATCH] Fix an xclass matching issue in JIT.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1016 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
Petr Písař: Ported to 10.32.
|
|
||||||
---
|
|
||||||
src/pcre2_jit_compile.c | 6 +++---
|
|
||||||
src/pcre2_jit_test.c | 1 +
|
|
||||||
|
|
||||||
diff --git a/src/pcre2_jit_compile.c b/src/pcre2_jit_compile.c
|
|
||||||
index 2c49f1c..4e69e76 100644
|
|
||||||
--- a/src/pcre2_jit_compile.c
|
|
||||||
+++ b/src/pcre2_jit_compile.c
|
|
||||||
@@ -7012,9 +7012,6 @@ int i, j, k, len, c;
|
|
||||||
if (!sljit_has_cpu_feature(SLJIT_HAS_CMOV))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
-if (invert)
|
|
||||||
- nclass = !nclass;
|
|
||||||
-
|
|
||||||
len = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < 32; i++)
|
|
||||||
@@ -7096,6 +7093,9 @@ if (j != 0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+if (invert)
|
|
||||||
+ nclass = !nclass;
|
|
||||||
+
|
|
||||||
type = nclass ? SLJIT_NOT_EQUAL : SLJIT_EQUAL;
|
|
||||||
add_jump(compiler, backtracks, CMP(type, TMP2, 0, SLJIT_IMM, 0));
|
|
||||||
return TRUE;
|
|
||||||
diff --git a/src/pcre2_jit_test.c b/src/pcre2_jit_test.c
|
|
||||||
index d5f4a96..10c064e 100644
|
|
||||||
--- a/src/pcre2_jit_test.c
|
|
||||||
+++ b/src/pcre2_jit_test.c
|
|
||||||
@@ -383,6 +383,7 @@ static struct regression_test_case regression_test_cases[] = {
|
|
||||||
{ MU, A, 0, 0, "[^\\x{801}-\\x{fffe}]+", "\xe0\xa0\x81#\xc3\xa9\xf0\x90\x90\x80\xe0\xa0\x80\xef\xbf\xbf\xef\xbf\xbe" },
|
|
||||||
{ MU, A, 0, 0, "[\\x{10001}-\\x{10fffe}]+", "#\xc3\xa9\xe2\xb1\xa5\xf0\x90\x80\x80\xf0\x90\x80\x81\xf4\x8f\xbf\xbe\xf4\x8f\xbf\xbf" },
|
|
||||||
{ MU, A, 0, 0, "[^\\x{10001}-\\x{10fffe}]+", "\xf0\x90\x80\x81#\xc3\xa9\xe2\xb1\xa5\xf0\x90\x80\x80\xf4\x8f\xbf\xbf\xf4\x8f\xbf\xbe" },
|
|
||||||
+ { CMU, A, 0, 0 | F_NOMATCH, "^[\\x{0100}-\\x{017f}]", " " },
|
|
||||||
|
|
||||||
/* Unicode properties. */
|
|
||||||
{ MUP, A, 0, 0, "[1-5\xc3\xa9\\w]", "\xc3\xa1_" },
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
From 01d8a82b6333fac75799f475e1d543c2ba6d6744 Mon Sep 17 00:00:00 2001
|
|
||||||
From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Mon, 13 May 2019 16:26:17 +0000
|
|
||||||
Subject: [PATCH] Fix crash when \X is used without UTF in JIT.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1091 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
Petr Písař: Ported to 10.32.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
testdata/testinput4 | 3 +++
|
|
||||||
testdata/testoutput4 | 4 ++++
|
|
||||||
2 files changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/testdata/testinput4 b/testdata/testinput4
|
|
||||||
index a27b6af..8592666 100644
|
|
||||||
--- a/testdata/testinput4
|
|
||||||
+++ b/testdata/testinput4
|
|
||||||
@@ -2318,4 +2318,7 @@
|
|
||||||
/[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf
|
|
||||||
\x{99}\x{99}\x{99}
|
|
||||||
|
|
||||||
+/\X*/
|
|
||||||
+ \xF3aaa\xE4\xEA\xEB\xFEa
|
|
||||||
+
|
|
||||||
# End of testinput4
|
|
||||||
diff --git a/testdata/testoutput4 b/testdata/testoutput4
|
|
||||||
index ba3df37..0291149 100644
|
|
||||||
--- a/testdata/testoutput4
|
|
||||||
+++ b/testdata/testoutput4
|
|
||||||
@@ -3742,4 +3742,8 @@ No match
|
|
||||||
\x{99}\x{99}\x{99}
|
|
||||||
0: \x{99}\x{99}\x{99}
|
|
||||||
|
|
||||||
+/\X*/
|
|
||||||
+ \xF3aaa\xE4\xEA\xEB\xFEa
|
|
||||||
+ 0: \xf3aaa\xe4\xea\xeb\xfea
|
|
||||||
+
|
|
||||||
# End of testinput4
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
|||||||
From 18ee5a9d3779f5e8ee3142326dd65ae75b22bb0b Mon Sep 17 00:00:00 2001
|
|
||||||
From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Mon, 22 Oct 2018 16:47:55 +0000
|
|
||||||
Subject: [PATCH] Fix heap limit checking overflow bug in pcre2_dfa_match().
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1034 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
|
|
||||||
Petr Písař: Ported to 10.32.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
src/pcre2_dfa_match.c | 22 +++++++++++++---------
|
|
||||||
1 file changed, 13 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcre2_dfa_match.c b/src/pcre2_dfa_match.c
|
|
||||||
index 9b43237..818004d 100644
|
|
||||||
--- a/src/pcre2_dfa_match.c
|
|
||||||
+++ b/src/pcre2_dfa_match.c
|
|
||||||
@@ -316,8 +316,8 @@ finding the minimum heap requirement for a match. */
|
|
||||||
|
|
||||||
typedef struct RWS_anchor {
|
|
||||||
struct RWS_anchor *next;
|
|
||||||
- unsigned int size; /* Number of ints */
|
|
||||||
- unsigned int free; /* Number of ints */
|
|
||||||
+ uint32_t size; /* Number of ints */
|
|
||||||
+ uint32_t free; /* Number of ints */
|
|
||||||
} RWS_anchor;
|
|
||||||
|
|
||||||
#define RWS_ANCHOR_SIZE (sizeof(RWS_anchor)/sizeof(int))
|
|
||||||
@@ -413,20 +413,24 @@ if (rws->next != NULL)
|
|
||||||
new = rws->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* All sizes are in units of sizeof(int), except for mb->heaplimit, which is in
|
|
||||||
-kibibytes. */
|
|
||||||
+/* Sizes in the RWS_anchor blocks are in units of sizeof(int), but
|
|
||||||
+mb->heap_limit and mb->heap_used are in kibibytes. Play carefully, to avoid
|
|
||||||
+overflow. */
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- unsigned int newsize = rws->size * 2;
|
|
||||||
- unsigned int heapleft = (unsigned int)
|
|
||||||
- (((1024/sizeof(int))*mb->heap_limit - mb->heap_used));
|
|
||||||
- if (newsize > heapleft) newsize = heapleft;
|
|
||||||
+ uint32_t newsize = (rws->size >= UINT32_MAX/2)? UINT32_MAX/2 : rws->size * 2;
|
|
||||||
+ uint32_t newsizeK = newsize/(1024/sizeof(int));
|
|
||||||
+
|
|
||||||
+ if (newsizeK + mb->heap_used > mb->heap_limit)
|
|
||||||
+ newsizeK = mb->heap_limit - mb->heap_used;
|
|
||||||
+ newsize = newsizeK*(1024/sizeof(int));
|
|
||||||
+
|
|
||||||
if (newsize < RWS_RSIZE + ovecsize + RWS_ANCHOR_SIZE)
|
|
||||||
return PCRE2_ERROR_HEAPLIMIT;
|
|
||||||
new = mb->memctl.malloc(newsize*sizeof(int), mb->memctl.memory_data);
|
|
||||||
if (new == NULL) return PCRE2_ERROR_NOMEMORY;
|
|
||||||
- mb->heap_used += newsize;
|
|
||||||
+ mb->heap_used += newsizeK;
|
|
||||||
new->next = NULL;
|
|
||||||
new->size = newsize;
|
|
||||||
rws->next = new;
|
|
||||||
--
|
|
||||||
2.17.2
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From f3b9337a2280db816ef6b2cbe3750b2991944c22 Mon Sep 17 00:00:00 2001
|
|
||||||
From: zherczeg <zherczeg@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Tue, 18 Sep 2018 10:19:14 +0000
|
|
||||||
Subject: [PATCH] Fix subject buffer overread in JIT. Found by Yunho Kim.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1011 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
|
|
||||||
Petr Písař: Ported to 10.32. The tests were removed because they need
|
|
||||||
a new test framework not availanble in 10.32.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
src/pcre2_jit_compile.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcre2_jit_compile.c b/src/pcre2_jit_compile.c
|
|
||||||
index 32e985b..b3015cc 100644
|
|
||||||
--- a/src/pcre2_jit_compile.c
|
|
||||||
+++ b/src/pcre2_jit_compile.c
|
|
||||||
@@ -9951,7 +9951,7 @@ if (exact > 1)
|
|
||||||
#ifdef SUPPORT_UNICODE
|
|
||||||
&& !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.1
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
|||||||
From 977cdd668535a54fc8a13ce4a92d9866503b21ea Mon Sep 17 00:00:00 2001
|
|
||||||
From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Sat, 20 Oct 2018 09:28:02 +0000
|
|
||||||
Subject: [PATCH] Fix zero-repeated subroutine call at start of pattern bug,
|
|
||||||
which recorded an incorrect first code unit.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1032 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
Petr Písař: Ported to 10.32.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
src/pcre2_compile.c | 8 +++++---
|
|
||||||
testdata/testinput1 | 15 +++++++++++++++
|
|
||||||
testdata/testoutput1 | 24 ++++++++++++++++++++++++
|
|
||||||
3 files changed, 44 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c
|
|
||||||
index 6bb1de3..50dfd47 100644
|
|
||||||
--- a/src/pcre2_compile.c
|
|
||||||
+++ b/src/pcre2_compile.c
|
|
||||||
@@ -5901,7 +5901,7 @@ for (;; pptr++)
|
|
||||||
}
|
|
||||||
goto GROUP_PROCESS_NOTE_EMPTY;
|
|
||||||
|
|
||||||
- /* The DEFINE condition is always false. It's internal groups may never
|
|
||||||
+ /* The DEFINE condition is always false. Its internal groups may never
|
|
||||||
be called, so matched_char must remain false, hence the jump to
|
|
||||||
GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY. */
|
|
||||||
|
|
||||||
@@ -6237,8 +6237,8 @@ for (;; pptr++)
|
|
||||||
groupnumber = ng->number;
|
|
||||||
|
|
||||||
/* For a recursion, that's all that is needed. We can now go to
|
|
||||||
- the code above that handles numerical recursion, applying it to
|
|
||||||
- the first group with the given name. */
|
|
||||||
+ the code that handles numerical recursion, applying it to the first
|
|
||||||
+ group with the given name. */
|
|
||||||
|
|
||||||
if (meta == META_RECURSE_BYNAME)
|
|
||||||
{
|
|
||||||
@@ -7286,6 +7286,8 @@ for (;; pptr++)
|
|
||||||
groupsetfirstcu = FALSE;
|
|
||||||
cb->had_recurse = TRUE;
|
|
||||||
if (firstcuflags == REQ_UNSET) firstcuflags = REQ_NONE;
|
|
||||||
+ zerofirstcu = firstcu;
|
|
||||||
+ zerofirstcuflags = firstcuflags;
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/testdata/testinput1 b/testdata/testinput1
|
|
||||||
index d8615ee..fce38b2 100644
|
|
||||||
--- a/testdata/testinput1
|
|
||||||
+++ b/testdata/testinput1
|
|
||||||
@@ -6263,4 +6263,19 @@ ef) x/x,mark
|
|
||||||
aBCDEF
|
|
||||||
AbCDe f
|
|
||||||
|
|
||||||
+/ (?<word> \w+ )* \. /xi
|
|
||||||
+ pokus.
|
|
||||||
+
|
|
||||||
+/(?(DEFINE) (?<word> \w+ ) ) (?&word)* \./xi
|
|
||||||
+ pokus.
|
|
||||||
+
|
|
||||||
+/(?(DEFINE) (?<word> \w+ ) ) ( (?&word)* ) \./xi
|
|
||||||
+ pokus.
|
|
||||||
+
|
|
||||||
+/(?&word)* (?(DEFINE) (?<word> \w+ ) ) \./xi
|
|
||||||
+ pokus.
|
|
||||||
+
|
|
||||||
+/(?&word)* \. (?<word> \w+ )/xi
|
|
||||||
+ pokus.hokus
|
|
||||||
+
|
|
||||||
# End of testinput1
|
|
||||||
diff --git a/testdata/testoutput1 b/testdata/testoutput1
|
|
||||||
index 77b9ff0..ff88775 100644
|
|
||||||
--- a/testdata/testoutput1
|
|
||||||
+++ b/testdata/testoutput1
|
|
||||||
@@ -9929,4 +9929,28 @@ No match
|
|
||||||
AbCDe f
|
|
||||||
No match
|
|
||||||
|
|
||||||
+/ (?<word> \w+ )* \. /xi
|
|
||||||
+ pokus.
|
|
||||||
+ 0: pokus.
|
|
||||||
+ 1: pokus
|
|
||||||
+
|
|
||||||
+/(?(DEFINE) (?<word> \w+ ) ) (?&word)* \./xi
|
|
||||||
+ pokus.
|
|
||||||
+ 0: pokus.
|
|
||||||
+
|
|
||||||
+/(?(DEFINE) (?<word> \w+ ) ) ( (?&word)* ) \./xi
|
|
||||||
+ pokus.
|
|
||||||
+ 0: pokus.
|
|
||||||
+ 1: <unset>
|
|
||||||
+ 2: pokus
|
|
||||||
+
|
|
||||||
+/(?&word)* (?(DEFINE) (?<word> \w+ ) ) \./xi
|
|
||||||
+ pokus.
|
|
||||||
+ 0: pokus.
|
|
||||||
+
|
|
||||||
+/(?&word)* \. (?<word> \w+ )/xi
|
|
||||||
+ pokus.hokus
|
|
||||||
+ 0: pokus.hokus
|
|
||||||
+ 1: hokus
|
|
||||||
+
|
|
||||||
# End of testinput1
|
|
||||||
--
|
|
||||||
2.17.2
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
From 79fb8db65fa27070aac6dde8d6d468306ab6b9a9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
|
|
||||||
Date: Mon, 13 May 2019 16:38:18 +0000
|
|
||||||
Subject: [PATCH] Forgot this file in previous commit. Fixes JIT non-UTF bug.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1092 6239d852-aaf2-0410-a92c-79f79f948069
|
|
||||||
Petr Písař: Ported to 10.32.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
src/pcre2_jit_compile.c | 5 ++++-
|
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcre2_jit_compile.c b/src/pcre2_jit_compile.c
|
|
||||||
index 3cd3891..100b63c 100644
|
|
||||||
--- a/src/pcre2_jit_compile.c
|
|
||||||
+++ b/src/pcre2_jit_compile.c
|
|
||||||
@@ -7288,7 +7288,10 @@ int lgb, rgb, ricount;
|
|
||||||
PCRE2_SPTR bptr;
|
|
||||||
uint32_t c;
|
|
||||||
|
|
||||||
-GETCHARINC(c, cc);
|
|
||||||
+/* Patch by PH */
|
|
||||||
+/* GETCHARINC(c, cc); */
|
|
||||||
+
|
|
||||||
+c = *cc++;
|
|
||||||
lgb = UCD_GRAPHBREAK(c);
|
|
||||||
|
|
||||||
while (cc < end_subject)
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
9
gating.yaml
Normal file
9
gating.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier2.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier3.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.acceptance-tier.functional}
|
60
pcre2-10.40-Fix-JIT-regression-in-PHP.patch
Normal file
60
pcre2-10.40-Fix-JIT-regression-in-PHP.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 44a4e60e0ad45d4c60b7da10e9e9531da75bb9a4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zoltan Herczeg <hzmester@freemail.hu>
|
||||||
|
Date: Tue, 12 Jul 2022 08:35:38 +0000
|
||||||
|
Subject: [PATCH] Fixed an issue in the backtracking optimization of character
|
||||||
|
repeats in JIT
|
||||||
|
|
||||||
|
---
|
||||||
|
src/pcre2_jit_compile.c | 20 ++++++++++----------
|
||||||
|
src/pcre2_jit_test.c | 1 +
|
||||||
|
3 files changed, 14 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pcre2_jit_compile.c b/src/pcre2_jit_compile.c
|
||||||
|
index e638c24..b3cffbe 100644
|
||||||
|
--- a/src/pcre2_jit_compile.c
|
||||||
|
+++ b/src/pcre2_jit_compile.c
|
||||||
|
@@ -11517,19 +11517,19 @@ if (exact > 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (exact == 1)
|
||||||
|
- {
|
||||||
|
compile_char1_matchingpath(common, type, cc, &backtrack->topbacktracks, TRUE);
|
||||||
|
|
||||||
|
- if (early_fail_type == type_fail_range)
|
||||||
|
- {
|
||||||
|
- OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr);
|
||||||
|
- OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + (int)sizeof(sljit_sw));
|
||||||
|
- OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, TMP2, 0);
|
||||||
|
- OP2(SLJIT_SUB, TMP2, 0, STR_PTR, 0, TMP2, 0);
|
||||||
|
- add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_LESS_EQUAL, TMP2, 0, TMP1, 0));
|
||||||
|
+if (early_fail_type == type_fail_range)
|
||||||
|
+ {
|
||||||
|
+ /* Range end first, followed by range start. */
|
||||||
|
+ OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr);
|
||||||
|
+ OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + (int)sizeof(sljit_sw));
|
||||||
|
+ OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, TMP2, 0);
|
||||||
|
+ OP2(SLJIT_SUB, TMP2, 0, STR_PTR, 0, TMP2, 0);
|
||||||
|
+ add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_LESS_EQUAL, TMP2, 0, TMP1, 0));
|
||||||
|
|
||||||
|
- OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + (int)sizeof(sljit_sw), STR_PTR, 0);
|
||||||
|
- }
|
||||||
|
+ OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0);
|
||||||
|
+ OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + (int)sizeof(sljit_sw), STR_PTR, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(opcode)
|
||||||
|
diff --git a/src/pcre2_jit_test.c b/src/pcre2_jit_test.c
|
||||||
|
index bb141a0..81c9582 100644
|
||||||
|
--- a/src/pcre2_jit_test.c
|
||||||
|
+++ b/src/pcre2_jit_test.c
|
||||||
|
@@ -354,6 +354,7 @@ static struct regression_test_case regression_test_cases[] = {
|
||||||
|
{ MU, A, 0, 0, "_[ab]+_*a", "_aa" },
|
||||||
|
{ MU, A, 0, 0, "#(A+)#\\d+", "#A#A#0" },
|
||||||
|
{ MU, A, 0, 0, "(?P<size>\\d+)m|M", "4M" },
|
||||||
|
+ { M, PCRE2_NEWLINE_CRLF, 0, 0, "\\n?.+#", "\n,\n,#" },
|
||||||
|
|
||||||
|
/* Bracket repeats with limit. */
|
||||||
|
{ MU, A, 0, 0, "(?:(ab){2}){5}M", "abababababababababababM" },
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
65
pcre2-10.42-Add-more-examples-fixed-by-300.patch
Normal file
65
pcre2-10.42-Add-more-examples-fixed-by-300.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From 457c0e69a8f78d32bc7d4b6422cd01e396a4cf5d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Philip Hazel <Philip.Hazel@gmail.com>
|
||||||
|
Date: Tue, 3 Oct 2023 16:52:56 +0100
|
||||||
|
Subject: [PATCH] Add more examples fixed by #300; update ChangeLog
|
||||||
|
|
||||||
|
---
|
||||||
|
testdata/testinput1 | 8 ++++++++
|
||||||
|
testdata/testoutput1 | 22 ++++++++++++++++++++++
|
||||||
|
3 files changed, 34 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/testdata/testinput1 b/testdata/testinput1
|
||||||
|
index 3d75a35..533389d 100644
|
||||||
|
--- a/testdata/testinput1
|
||||||
|
+++ b/testdata/testinput1
|
||||||
|
@@ -4374,6 +4374,14 @@
|
||||||
|
|
||||||
|
/(?<all>(?:(?:a(?&all))|(b))(c?))/
|
||||||
|
aabc
|
||||||
|
+
|
||||||
|
+/(a(b)|(c))(?1)/
|
||||||
|
+ abc
|
||||||
|
+ cab
|
||||||
|
+
|
||||||
|
+/(?1)(a(b)|(c))/
|
||||||
|
+ abc
|
||||||
|
+ cab
|
||||||
|
|
||||||
|
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
|
||||||
|
(?(DEFINE)
|
||||||
|
diff --git a/testdata/testoutput1 b/testdata/testoutput1
|
||||||
|
index 26d3c83..bedd924 100644
|
||||||
|
--- a/testdata/testoutput1
|
||||||
|
+++ b/testdata/testoutput1
|
||||||
|
@@ -6954,6 +6954,28 @@ No match
|
||||||
|
1: aabc
|
||||||
|
2: <unset>
|
||||||
|
3:
|
||||||
|
+
|
||||||
|
+/(a(b)|(c))(?1)/
|
||||||
|
+ abc
|
||||||
|
+ 0: abc
|
||||||
|
+ 1: ab
|
||||||
|
+ 2: b
|
||||||
|
+ cab
|
||||||
|
+ 0: cab
|
||||||
|
+ 1: c
|
||||||
|
+ 2: <unset>
|
||||||
|
+ 3: c
|
||||||
|
+
|
||||||
|
+/(?1)(a(b)|(c))/
|
||||||
|
+ abc
|
||||||
|
+ 0: abc
|
||||||
|
+ 1: c
|
||||||
|
+ 2: <unset>
|
||||||
|
+ 3: c
|
||||||
|
+ cab
|
||||||
|
+ 0: cab
|
||||||
|
+ 1: ab
|
||||||
|
+ 2: b
|
||||||
|
|
||||||
|
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
|
||||||
|
(?(DEFINE)
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
From 794245ecc296724b52f5030831e58bedbffa2452 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= <carenas@gmail.com>
|
||||||
|
Date: Tue, 3 Oct 2023 08:14:23 -0700
|
||||||
|
Subject: [PATCH] match: also restore originally unset entries in recursion
|
||||||
|
(#300)
|
||||||
|
|
||||||
|
A regresion from ~10.30 not affecting JIT
|
||||||
|
---
|
||||||
|
src/pcre2_match.c | 2 +-
|
||||||
|
testdata/testinput1 | 3 +++
|
||||||
|
testdata/testoutput1 | 7 +++++++
|
||||||
|
3 files changed, 11 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/pcre2_match.c b/src/pcre2_match.c
|
||||||
|
index 5ce1792..8b57c75 100644
|
||||||
|
--- a/src/pcre2_match.c
|
||||||
|
+++ b/src/pcre2_match.c
|
||||||
|
@@ -5953,7 +5953,7 @@ fprintf(stderr, "++ op=%d\n", *Fecode);
|
||||||
|
{
|
||||||
|
P = (heapframe *)((char *)N - frame_size);
|
||||||
|
memcpy((char *)F + offsetof(heapframe, ovector), P->ovector,
|
||||||
|
- P->offset_top * sizeof(PCRE2_SIZE));
|
||||||
|
+ Foffset_top * sizeof(PCRE2_SIZE));
|
||||||
|
Foffset_top = P->offset_top;
|
||||||
|
Fcapture_last = P->capture_last;
|
||||||
|
Fcurrent_recurse = P->current_recurse;
|
||||||
|
diff --git a/testdata/testinput1 b/testdata/testinput1
|
||||||
|
index 062dfe0..3d75a35 100644
|
||||||
|
--- a/testdata/testinput1
|
||||||
|
+++ b/testdata/testinput1
|
||||||
|
@@ -4372,6 +4372,9 @@
|
||||||
|
/^(?(DEFINE) (?<A> a) (?<B> b) ) (?&A) (?&B) /x
|
||||||
|
abcd
|
||||||
|
|
||||||
|
+/(?<all>(?:(?:a(?&all))|(b))(c?))/
|
||||||
|
+ aabc
|
||||||
|
+
|
||||||
|
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
|
||||||
|
(?(DEFINE)
|
||||||
|
(?<NAME_PAT>[a-z]+)
|
||||||
|
diff --git a/testdata/testoutput1 b/testdata/testoutput1
|
||||||
|
index 1dc3b2f..26d3c83 100644
|
||||||
|
--- a/testdata/testoutput1
|
||||||
|
+++ b/testdata/testoutput1
|
||||||
|
@@ -6948,6 +6948,13 @@ No match
|
||||||
|
abcd
|
||||||
|
0: ab
|
||||||
|
|
||||||
|
+/(?<all>(?:(?:a(?&all))|(b))(c?))/
|
||||||
|
+ aabc
|
||||||
|
+ 0: aabc
|
||||||
|
+ 1: aabc
|
||||||
|
+ 2: <unset>
|
||||||
|
+ 3:
|
||||||
|
+
|
||||||
|
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
|
||||||
|
(?(DEFINE)
|
||||||
|
(?<NAME_PAT>[a-z]+)
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
33
pcre2-10.42-jit-fail-early-in-ffcps_-if-subject.patch
Normal file
33
pcre2-10.42-jit-fail-early-in-ffcps_-if-subject.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From f2411acb3711a44497539d17b245bd366d9c26d7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= <carenas@gmail.com>
|
||||||
|
Date: Mon, 12 Dec 2022 08:32:42 -0800
|
||||||
|
Subject: [PATCH] jit: fail early in ffcps_* if subject shorter than offs1
|
||||||
|
(#175)
|
||||||
|
|
||||||
|
FF_FUN would try loading a vector from an invalid address
|
||||||
|
triggering a crash.
|
||||||
|
|
||||||
|
Add the same check that is done in the x86/s390x implementations
|
||||||
|
and that was missing from the original code.
|
||||||
|
|
||||||
|
Fixes: #86
|
||||||
|
---
|
||||||
|
src/pcre2_jit_neon_inc.h | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/pcre2_jit_neon_inc.h b/src/pcre2_jit_neon_inc.h
|
||||||
|
index e74adf12..165602ed 100644
|
||||||
|
--- a/src/pcre2_jit_neon_inc.h
|
||||||
|
+++ b/src/pcre2_jit_neon_inc.h
|
||||||
|
@@ -183,6 +183,8 @@ restart:;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(FFCPS)
|
||||||
|
+if (str_ptr >= str_end)
|
||||||
|
+ return NULL;
|
||||||
|
sljit_u8 *p1 = str_ptr - diff;
|
||||||
|
#endif
|
||||||
|
sljit_s32 align_offset = ((uint64_t)str_ptr & 0xf);
|
||||||
|
--
|
||||||
|
2.45.1
|
||||||
|
|
6
pcre2.rpmlintrc
Normal file
6
pcre2.rpmlintrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from Config import *
|
||||||
|
addFilter("spelling-error .* encodings");
|
||||||
|
# sljit upstream does not make any releases
|
||||||
|
addFilter("unversioned-explicit-provides bundled\\(sljit\\)");
|
||||||
|
# Documentation is in a required pcre2-devel package
|
||||||
|
addFilter("pcre2-static.* no-documentation");
|
@ -8,8 +8,8 @@
|
|||||||
# This is stable release:
|
# This is stable release:
|
||||||
#%%global rcversion RC1
|
#%%global rcversion RC1
|
||||||
Name: pcre2
|
Name: pcre2
|
||||||
Version: 10.32
|
Version: 10.40
|
||||||
Release: %{?rcversion:0.}3%{?rcversion:.%rcversion}%{?dist}
|
Release: %{?rcversion:0.}6%{?rcversion:.%rcversion}%{?dist}
|
||||||
%global myversion %{version}%{?rcversion:-%rcversion}
|
%global myversion %{version}%{?rcversion:-%rcversion}
|
||||||
Summary: Perl-compatible regular expression library
|
Summary: Perl-compatible regular expression library
|
||||||
# the library: BSD with exceptions
|
# the library: BSD with exceptions
|
||||||
@ -45,43 +45,34 @@ Summary: Perl-compatible regular expression library
|
|||||||
# test-driver: GPLv2+ with exception
|
# test-driver: GPLv2+ with exception
|
||||||
# testdata: Public Domain
|
# testdata: Public Domain
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://www.pcre.org/
|
URL: https://www.pcre.org/
|
||||||
Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2
|
Source0: https://ftp.pcre.org/pub/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2
|
||||||
|
Source1: https://ftp.pcre.org/pub/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2.sig
|
||||||
|
Source2: https://ftp.pcre.org/pub/pcre/Public-Key
|
||||||
# Do no set RPATH if libdir is not /usr/lib
|
# Do no set RPATH if libdir is not /usr/lib
|
||||||
Patch0: pcre2-10.10-Fix-multilib.patch
|
Patch0: pcre2-10.10-Fix-multilib.patch
|
||||||
# Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has
|
# Upstream patch: https://github.com/PCRE2Project/pcre2/commit/4851890ede31313655e19180f4959ed348fee580
|
||||||
# a greater than 1 fixed quantifier, upstream bug #2320, bug#1628200,
|
Patch1: pcre2-10.40-Fix-JIT-regression-in-PHP.patch
|
||||||
# in upstream after 10.32
|
# Upstream commits:
|
||||||
Patch1: pcre2-10.32-Fix-subject-buffer-overread-in-JIT.-Found-by-Yunho-K.patch
|
# https://github.com/PCRE2Project/pcre2/commit/794245ecc296724b52f5030831e58bedbffa2452
|
||||||
# Fix caseless matching an extended class in JIT mode, upstream bug #2321,
|
# https://github.com/PCRE2Project/pcre2/commit/457c0e69a8f78d32bc7d4b6422cd01e396a4cf5d
|
||||||
# bug #1617960, in upstream after 10.32
|
Patch2: pcre2-10.42-Match-also-restore-originally-unset-entries-in-recur.patch
|
||||||
Patch2: pcre2-10.32-Fix-an-xclass-matching-issue-in-JIT.patch
|
Patch3: pcre2-10.42-Add-more-examples-fixed-by-300.patch
|
||||||
# Fix matching a zero-repeated subroutine call at a start of a pattern,
|
# Upstream patch: https://github.com/PCRE2Project/pcre2/commit/f2411acb3711a44497539d17b245bd366d9c26d7
|
||||||
# upstream bug #2332, bug: #1628200, in upstream after 10.32
|
Patch4: pcre2-10.42-jit-fail-early-in-ffcps_-if-subject.patch
|
||||||
Patch3: pcre2-10.32-Fix-zero-repeated-subroutine-call-at-start-of-patter.patch
|
|
||||||
# Fix heap limit checking overflow in pcre2_dfa_match(), upstream bug #2334,
|
|
||||||
# bug#1628200, in upstream after 10.32
|
|
||||||
Patch4: pcre2-10.32-Fix-heap-limit-checking-overflow-bug-in-pcre2_dfa_ma.patch
|
|
||||||
# 1/2 Fix CVE-2019-20454 (a crash when \X is used without UTF mode in a JIT),
|
|
||||||
# upstream bug #2399, bug #1734468, in upstream after 10.33
|
|
||||||
Patch5: pcre2-10.32-Fix-crash-when-X-is-used-without-UTF-in-JIT.patch
|
|
||||||
# 2/2 Fix CVE-2019-20454 (a crash when \X is used without UTF mode in a JIT),
|
|
||||||
# upstream bug #2399, bug #1734468, in upstream after 10.33
|
|
||||||
Patch6: pcre2-10.32-Forgot-this-file-in-previous-commit.-Fixes-JIT-non-U.patch
|
|
||||||
# Fix CVE-2022-1586 (Out-of-bounds read in compile_xclass_matchingpath)
|
|
||||||
# Downstream patch backport
|
|
||||||
# Ref: https://github.com/PCRE2Project/pcre2/commit/50a51cb7e67268e6ad417eb07c9de9bfea5cc55a
|
|
||||||
# https://github.com/PCRE2Project/pcre2/commit/d4fa336fbcc388f89095b184ba6d99422cfc676c
|
|
||||||
Patch7: pcre2-10.32-Fix-CVE-2022-1586
|
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gnupg2
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
%if %{with pcre2_enables_readline}
|
%if %{with pcre2_enables_readline}
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: sed
|
||||||
|
Requires: %{name}-syntax = %{version}-%{release}
|
||||||
Provides: bundled(sljit)
|
Provides: bundled(sljit)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -105,6 +96,7 @@ restricted, and does not give full access to all of PCRE2's facilities.
|
|||||||
%package utf16
|
%package utf16
|
||||||
Summary: UTF-16 variant of PCRE2
|
Summary: UTF-16 variant of PCRE2
|
||||||
Provides: bundled(sljit)
|
Provides: bundled(sljit)
|
||||||
|
Requires: %{name}-syntax = %{version}-%{release}
|
||||||
Conflicts: %{name}%{?_isa} < 10.21-4
|
Conflicts: %{name}%{?_isa} < 10.21-4
|
||||||
|
|
||||||
%description utf16
|
%description utf16
|
||||||
@ -113,6 +105,7 @@ This is PCRE2 library working on UTF-16 strings.
|
|||||||
%package utf32
|
%package utf32
|
||||||
Summary: UTF-32 variant of PCRE2
|
Summary: UTF-32 variant of PCRE2
|
||||||
Provides: bundled(sljit)
|
Provides: bundled(sljit)
|
||||||
|
Requires: %{name}-syntax = %{version}-%{release}
|
||||||
Conflicts: %{name}%{?_isa} < 10.21-4
|
Conflicts: %{name}%{?_isa} < 10.21-4
|
||||||
|
|
||||||
%description utf32
|
%description utf32
|
||||||
@ -137,25 +130,30 @@ Provides: bundled(sljit)
|
|||||||
%description static
|
%description static
|
||||||
Library for static linking for %{name}.
|
Library for static linking for %{name}.
|
||||||
|
|
||||||
|
%package syntax
|
||||||
|
Summary: Documentation for PCRE2 regular expressions
|
||||||
|
BuildArch: noarch
|
||||||
|
Conflicts: %{name}-devel < 10.34-8
|
||||||
|
|
||||||
|
%description syntax
|
||||||
|
This is a set of manual pages that document a syntax of the regular
|
||||||
|
expressions implemented by the PCRE2 library.
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: Auxiliary utilities for %{name}
|
Summary: Auxiliary utilities for %{name}
|
||||||
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
|
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
|
||||||
License: BSD and GPLv3+
|
License: BSD and GPLv3+
|
||||||
Requires: %{name}%{_isa} = %{version}-%{release}
|
Requires: %{name}%{_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-utf32 = %{version}-%{release}
|
||||||
|
Requires: %{name}-utf16 = %{version}-%{release}
|
||||||
|
|
||||||
|
|
||||||
%description tools
|
%description tools
|
||||||
Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test.
|
Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{myversion}
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%patch0 -p1
|
%autosetup -n %{name}-%{myversion} -p1
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
# Because of multilib patch
|
# Because of multilib patch
|
||||||
libtoolize --copy --force
|
libtoolize --copy --force
|
||||||
autoreconf -vif
|
autoreconf -vif
|
||||||
@ -166,7 +164,7 @@ autoreconf -vif
|
|||||||
%global optflags %{optflags} -fno-strict-aliasing
|
%global optflags %{optflags} -fno-strict-aliasing
|
||||||
%endif
|
%endif
|
||||||
%configure \
|
%configure \
|
||||||
%ifarch s390 s390x sparc64 sparcv9 riscv64
|
%ifarch s390 sparc64 sparcv9 riscv64
|
||||||
--disable-jit \
|
--disable-jit \
|
||||||
--disable-pcre2grep-jit \
|
--disable-pcre2grep-jit \
|
||||||
%else
|
%else
|
||||||
@ -188,6 +186,7 @@ autoreconf -vif
|
|||||||
--enable-pcre2-16 \
|
--enable-pcre2-16 \
|
||||||
--enable-pcre2-32 \
|
--enable-pcre2-32 \
|
||||||
--enable-pcre2grep-callout \
|
--enable-pcre2grep-callout \
|
||||||
|
--enable-pcre2grep-callout-fork \
|
||||||
--disable-pcre2grep-libbz2 \
|
--disable-pcre2grep-libbz2 \
|
||||||
--disable-pcre2grep-libz \
|
--disable-pcre2grep-libz \
|
||||||
--disable-pcre2test-libedit \
|
--disable-pcre2test-libedit \
|
||||||
@ -196,16 +195,17 @@ autoreconf -vif
|
|||||||
%else
|
%else
|
||||||
--disable-pcre2test-libreadline \
|
--disable-pcre2test-libreadline \
|
||||||
%endif
|
%endif
|
||||||
|
--enable-percent-zt \
|
||||||
--disable-rebuild-chartables \
|
--disable-rebuild-chartables \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--disable-silent-rules \
|
--disable-silent-rules \
|
||||||
--enable-static \
|
--enable-static \
|
||||||
--enable-unicode \
|
--enable-unicode \
|
||||||
--disable-valgrind
|
--disable-valgrind
|
||||||
make %{?_smp_mflags}
|
%{make_build}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
%{make_install}
|
||||||
# Get rid of unneeded *.la files
|
# Get rid of unneeded *.la files
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
# These are handled by %%doc in %%files
|
# These are handled by %%doc in %%files
|
||||||
@ -214,42 +214,52 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre2
|
|||||||
%check
|
%check
|
||||||
make %{?_smp_mflags} check VERBOSE=yes
|
make %{?_smp_mflags} check VERBOSE=yes
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
|
||||||
%ldconfig_scriptlets utf16
|
|
||||||
%ldconfig_scriptlets utf32
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{_libdir}/libpcre2-8.so.*
|
%{_libdir}/libpcre2-8.so.0*
|
||||||
%{_libdir}/libpcre2-posix.so.*
|
%{_libdir}/libpcre2-posix.so.3*
|
||||||
%{!?_licensedir:%global license %%doc}
|
|
||||||
%license COPYING LICENCE
|
|
||||||
%doc AUTHORS ChangeLog NEWS
|
|
||||||
|
|
||||||
%files utf16
|
%files utf16
|
||||||
%{_libdir}/libpcre2-16.so.*
|
%{_libdir}/libpcre2-16.so.0*
|
||||||
%license COPYING LICENCE
|
|
||||||
%doc AUTHORS ChangeLog NEWS
|
|
||||||
|
|
||||||
%files utf32
|
%files utf32
|
||||||
%{_libdir}/libpcre2-32.so.*
|
%{_libdir}/libpcre2-32.so.0*
|
||||||
%license COPYING LICENCE
|
|
||||||
%doc AUTHORS ChangeLog NEWS
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/pkgconfig/*
|
||||||
%{_includedir}/*.h
|
%{_includedir}/*.h
|
||||||
%{_mandir}/man1/pcre2-config.*
|
%{_mandir}/man1/pcre2-config.*
|
||||||
%{_mandir}/man3/*
|
%{_mandir}/man3/pcre2_*
|
||||||
|
%{_mandir}/man3/pcre2api.*
|
||||||
|
%{_mandir}/man3/pcre2build.*
|
||||||
|
%{_mandir}/man3/pcre2callout.*
|
||||||
|
%{_mandir}/man3/pcre2convert.*
|
||||||
|
%{_mandir}/man3/pcre2demo.*
|
||||||
|
%{_mandir}/man3/pcre2jit.*
|
||||||
|
%{_mandir}/man3/pcre2posix.*
|
||||||
|
%{_mandir}/man3/pcre2sample.*
|
||||||
|
%{_mandir}/man3/pcre2serialize*
|
||||||
%{_bindir}/pcre2-config
|
%{_bindir}/pcre2-config
|
||||||
%doc doc/*.txt doc/html
|
%doc doc/*.txt doc/html
|
||||||
%doc README HACKING ./src/pcre2demo.c
|
%doc README HACKING ./src/pcre2demo.c
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%{_libdir}/*.a
|
%{_libdir}/*.a
|
||||||
%{!?_licensedir:%global license %%doc}
|
|
||||||
%license COPYING LICENCE
|
%license COPYING LICENCE
|
||||||
|
|
||||||
|
%files syntax
|
||||||
|
%license COPYING LICENCE
|
||||||
|
%doc AUTHORS ChangeLog NEWS
|
||||||
|
%{_mandir}/man3/pcre2.*
|
||||||
|
%{_mandir}/man3/pcre2compat.*
|
||||||
|
%{_mandir}/man3/pcre2limits.*
|
||||||
|
%{_mandir}/man3/pcre2matching.*
|
||||||
|
%{_mandir}/man3/pcre2partial.*
|
||||||
|
%{_mandir}/man3/pcre2pattern.*
|
||||||
|
%{_mandir}/man3/pcre2perform.*
|
||||||
|
%{_mandir}/man3/pcre2syntax.*
|
||||||
|
%{_mandir}/man3/pcre2unicode.*
|
||||||
|
|
||||||
%files tools
|
%files tools
|
||||||
%{_bindir}/pcre2grep
|
%{_bindir}/pcre2grep
|
||||||
%{_bindir}/pcre2test
|
%{_bindir}/pcre2test
|
||||||
@ -257,42 +267,309 @@ make %{?_smp_mflags} check VERBOSE=yes
|
|||||||
%{_mandir}/man1/pcre2test.*
|
%{_mandir}/man1/pcre2test.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri May 13 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.32-3
|
* Wed Jul 31 2024 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-6
|
||||||
- Resolves: CVE-2022-1586
|
- Fix SEGFAULT caused by dereferencing subject when length==0 on aarch64
|
||||||
|
- Resolves: RHEL-51866
|
||||||
|
|
||||||
* Mon May 13 2019 Petr Pisar <ppisar@redhat.com> - 10.32-2
|
* Fri Feb 16 2024 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-5
|
||||||
- Fix CVE-2019-20454 (a crash when \X is used without UTF mode in a JIT)
|
- Rebuilt for added pcre2-tools into CRB
|
||||||
(bug #1734468)
|
|
||||||
|
|
||||||
* Fri Dec 07 2018 Petr Pisar <ppisar@redhat.com> - 10.32-1
|
* Mon Nov 13 2023 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-4
|
||||||
- 10.32 bump (bug #1628200)
|
- Fix an issue with restoring originally unset entries in recursion
|
||||||
- Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has
|
- Resolves: BZ#2248133
|
||||||
a greater than 1 fixed quantifier (bug #1628200)
|
|
||||||
|
* Tue Oct 17 2023 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-3
|
||||||
|
- Fix issue in the backtracking optimization of character in JIT
|
||||||
|
|
||||||
|
* Wed May 18 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-2
|
||||||
|
- Explicitly require uft subpackages in tools subpackage
|
||||||
|
|
||||||
|
* Fri May 13 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.40-1
|
||||||
|
- Rebase to the 10.40
|
||||||
|
- Resolves multiple Out-of-bounds read errors
|
||||||
|
|
||||||
|
* Fri May 13 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.39-1
|
||||||
|
- Rebase to the 10.39
|
||||||
|
|
||||||
|
* Fri May 13 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.38-1
|
||||||
|
- Rebase to the 10.38
|
||||||
|
- Patch 1 upstreamed
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 10.37-3.1
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Wed Aug 04 2021 Lukas Javorsky <ljavorsk@redhat.com> - 10.37-3
|
||||||
|
- Revert commit 244afd92965bc8df652c2c1711641649b5884fdc.
|
||||||
|
|
||||||
|
* Tue Jul 27 2021 Lukas Javorsky <ljavorsk@redhat.com> - 10.37-2
|
||||||
|
- Fix invalid single character repetition in JIT
|
||||||
|
- Resolves: BZ#1985484
|
||||||
|
|
||||||
|
* Tue Jun 15 2021 Lukas Javorsky <ljavorsk@redhat.com> - 10.37-1
|
||||||
|
- Rebase to the 10.37
|
||||||
|
- libpcre2-posix.so.2* SONAME bump to libpcre2-posix.so.3*
|
||||||
|
- Enable JIT for s390x arch
|
||||||
|
- Patches upstreamed: Patch 1,2,3,4
|
||||||
|
- Resolves: rhbz#1970765, BZ#1965025
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 10.36-4.1
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Fri Feb 19 2021 Petr Pisar <ppisar@redhat.com> - 10.36-4
|
||||||
|
- Fix a mismatch if \K was involved in a recursion
|
||||||
|
- Restore single character repetition optimization in JIT (upstream bug #2698)
|
||||||
|
|
||||||
|
* Tue Feb 02 2021 Petr Pisar <ppisar@redhat.com> - 10.36-3
|
||||||
|
- Fix misparsing long numbers as a backreference and a number without
|
||||||
|
a closing bracket as a quantifier (upstream bug #2690)
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 10.36-2.1
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 15 2021 Petr Pisar <ppisar@redhat.com> - 10.36-2
|
||||||
|
- Fix a possible NULL pointer dereference in auto_possessify()
|
||||||
|
(upstream bug #2686)
|
||||||
|
|
||||||
|
* Tue Dec 15 2020 Petr Pisar <ppisar@redhat.com> - 10.36-1
|
||||||
|
- 10.36 bump
|
||||||
|
|
||||||
|
* Mon Nov 09 2020 Petr Pisar <ppisar@redhat.com> - 10.36-0.1.RC1
|
||||||
|
- 10.36-RC1 bump
|
||||||
|
|
||||||
|
* Tue Oct 27 2020 Petr Pisar <ppisar@redhat.com> - 10.35-8
|
||||||
|
- Fix a partial matching for a word boundary in JIT mode (upstream bug #2663)
|
||||||
|
|
||||||
|
* Mon Sep 21 2020 Petr Pisar <ppisar@redhat.com> - 10.35-7
|
||||||
|
- Fix matching a character set when JIT is enabled and both Unicode script and
|
||||||
|
Unicode class are present (upstream bug #2644)
|
||||||
|
|
||||||
|
* Wed Sep 16 2020 Petr Pisar <ppisar@redhat.com> - 10.35-6
|
||||||
|
- Fix escaping test data and only allow slash delimiter after perltest pragma
|
||||||
|
(upstream bug #2641)
|
||||||
|
- Fix a mismatch when caselessly searching in an invalid UTF-8 text and a start
|
||||||
|
optimization is enabled (upstream bug #2642)
|
||||||
|
|
||||||
|
* Mon Sep 14 2020 Petr Pisar <ppisar@redhat.com> - 10.35-5
|
||||||
|
- Fix escaping test data (upstream bug #2641)
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.35-4.1
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 15 2020 Petr Pisar <ppisar@redhat.com> - 10.35-4
|
||||||
|
- Fix a buffer overread when parsing an unterminated VERSION condition with
|
||||||
|
a single-digit minor number at the end of a regular expression
|
||||||
|
(ClusterFuzz #23779)
|
||||||
|
- Fix an early fail optimization with character ranges and a buffer overread
|
||||||
|
in JIT (upstream bug #2621)
|
||||||
|
|
||||||
|
* Tue Jun 02 2020 Petr Pisar <ppisar@redhat.com> - 10.35-3
|
||||||
|
- Fix an infinite loop when a single-byte newline is search in JIT if an
|
||||||
|
invalid UTF-8 mode is enabled (upstream bug #2581)
|
||||||
|
|
||||||
|
* Wed May 27 2020 Petr Pisar <ppisar@redhat.com> - 10.35-2
|
||||||
|
- Enable shadow stack built-in functions if -fcf-protection compiler flag is
|
||||||
|
used by patching a build script (upstream bug #2578)
|
||||||
|
|
||||||
|
* Mon May 11 2020 Petr Pisar <ppisar@redhat.com> - 10.35-1
|
||||||
|
- 10.35 bump
|
||||||
|
|
||||||
|
* Mon Apr 27 2020 Petr Pisar <ppisar@redhat.com> - 10.35-0.2.RC1
|
||||||
|
- Fix a compiler warning about -1 index
|
||||||
|
|
||||||
|
* Thu Apr 16 2020 Petr Pisar <ppisar@redhat.com> - 10.35-0.1.RC1
|
||||||
|
- 10.35-RC1 bump
|
||||||
|
|
||||||
|
* Mon Mar 23 2020 Petr Pisar <ppisar@redhat.com> - 10.34-9
|
||||||
|
- Fix a JIT compilation of the Unicode scripts in the extended character classes
|
||||||
|
(upstream bug #2432)
|
||||||
|
|
||||||
|
* Mon Mar 16 2020 Petr Pisar <ppisar@redhat.com> - 10.34-8
|
||||||
|
- Fix computing an offest for the start of the UTF-16 error when a high
|
||||||
|
surrogate is not followed by a valid low surrogate (upstream bug #2527)
|
||||||
|
- Fix compiling a lookbehind when preceded by a DEFINE group
|
||||||
|
(upstream bug #2531)
|
||||||
|
- Make manual pages about pattern syntax available when the library is
|
||||||
|
installed (bug #1808612)
|
||||||
|
|
||||||
|
* Thu Feb 20 2020 Petr Pisar <ppisar@redhat.com> - 10.34-7
|
||||||
|
- Fix a crash in JIT when an invalid UTF-8 character is encountered in
|
||||||
|
match_invalid_utf mode (upstream bug #2529)
|
||||||
|
|
||||||
|
* Mon Feb 17 2020 Petr Pisar <ppisar@redhat.com> - 10.34-6
|
||||||
|
- Fix restoring a verb chain list when exiting a JIT-compiled recursive
|
||||||
|
function
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.34-5.1
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 27 2020 Petr Pisar <ppisar@redhat.com> - 10.34-5
|
||||||
|
- Fix a memory leak when allocating a JIT stack fails
|
||||||
|
- Ensure a newline after the final line in a file is output by pcre2grep
|
||||||
|
(upstream bug #2513)
|
||||||
|
- Fix processing (?(DEFINE)...) within look-behind assertions
|
||||||
|
- Prevent from a stack exhaustion when studying a pattern for nested groups by
|
||||||
|
putting a limit of 1000 recursive calls
|
||||||
|
|
||||||
|
* Mon Jan 13 2020 Petr Pisar <ppisar@redhat.com> - 10.34-4
|
||||||
|
- Fix a crash in JITted code when a *THEN verb is used in a lookahead assertion
|
||||||
|
(upstream bug #2510)
|
||||||
|
|
||||||
|
* Mon Dec 09 2019 Petr Pisar <ppisar@redhat.com> - 10.34-3
|
||||||
|
- Fix a crash in pcre2_jit_compile when passing a NULL code argument (upstream
|
||||||
|
bug #2487)
|
||||||
|
|
||||||
|
* Thu Nov 28 2019 Petr Pisar <ppisar@redhat.com> - 10.34-2
|
||||||
|
- Fix JIT to respect NOTEMPTY options (upstream bug #2473)
|
||||||
|
|
||||||
|
* Fri Nov 22 2019 Petr Pisar <ppisar@redhat.com> - 10.34-1
|
||||||
|
- 10.34 bump
|
||||||
|
|
||||||
|
* Mon Nov 18 2019 Petr Pisar <ppisar@redhat.com> - 10.34-0.2.RC2
|
||||||
|
- Fix optimized caseless matching of non-ASCII characters in assertions
|
||||||
|
(upstream bug #2466)
|
||||||
|
|
||||||
|
* Thu Nov 07 2019 Petr Pisar <ppisar@redhat.com> - 10.34-0.1.RC2
|
||||||
|
- 10.34-RC2 bump
|
||||||
|
- Fix an infinite loop in 64-bit ARM JIT with NEON instructions
|
||||||
|
|
||||||
|
* Wed Oct 30 2019 Petr Pisar <ppisar@redhat.com> - 10.34-0.1.RC1
|
||||||
|
- 10.34-RC1 bump
|
||||||
|
|
||||||
|
* Tue Oct 29 2019 Petr Pisar <ppisar@redhat.com> - 10.33-15
|
||||||
|
- Fix a use after free when freeing JIT memory (upstream bug #2453)
|
||||||
|
- Fix thread-safeness in regexec() (upstream bug #2447)
|
||||||
|
|
||||||
|
* Mon Sep 09 2019 Petr Pisar <ppisar@redhat.com> - 10.33-14
|
||||||
|
- Fix a crash in JIT match when a subject has a zero length and an invalid
|
||||||
|
pointer (upstream bug #2440)
|
||||||
|
|
||||||
|
* Tue Aug 27 2019 Petr Pisar <ppisar@redhat.com> - 10.33-13
|
||||||
|
- Readd a fix for a mismatch with a lookbehind within a lookahead within
|
||||||
|
a lookbehind and fix the regression in matching a lookbehind after
|
||||||
|
a condition (bug #1743863)
|
||||||
|
|
||||||
|
* Mon Aug 26 2019 Petr Pisar <ppisar@redhat.com> - 10.33-12
|
||||||
|
- Revert a fix for a mismatch with a lookbehind within a lookahead within
|
||||||
|
a lookbehind (bug #1743863)
|
||||||
|
|
||||||
|
* Mon Aug 12 2019 Petr Pisar <ppisar@redhat.com> - 10.33-11
|
||||||
|
- Fix reporting rightmost consulted characters
|
||||||
|
|
||||||
|
* Mon Aug 05 2019 Petr Pisar <ppisar@redhat.com> - 10.33-10
|
||||||
|
- Fix an incorrect computation of a group length when a branch exceeds 65535
|
||||||
|
(upstream bug #2428)
|
||||||
|
- Use HTTPS protocol in URL metadata
|
||||||
|
|
||||||
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 10.33-9.1
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 22 2019 Petr Pisar <ppisar@redhat.com> - 10.33-9
|
||||||
|
- Fix a recursion in compiling an expression with a lookbehind within a
|
||||||
|
lookahead (upstream bug #2412)
|
||||||
|
|
||||||
|
* Wed Jul 17 2019 Petr Pisar <ppisar@redhat.com> - 10.33-8
|
||||||
|
- Fix a mismatch with a lookbehind within a lookahead within a lookbehind
|
||||||
|
(upstream bug #2412)
|
||||||
|
|
||||||
|
* Thu Jul 11 2019 Petr Pisar <ppisar@redhat.com> - 10.33-7
|
||||||
|
- Fix an integer overflow when checking a lookbehind length
|
||||||
|
|
||||||
|
* Wed Jul 03 2019 Petr Pisar <ppisar@redhat.com> - 10.33-6
|
||||||
|
- Fix a DFA to recognize a partial match if the end of a subject is encountered
|
||||||
|
in a lookahead, an atomic group, or a recursion
|
||||||
|
|
||||||
|
* Thu Jun 20 2019 Petr Pisar <ppisar@redhat.com> - 10.33-5
|
||||||
|
- Do not ignore {1} quantifier when it is applied to a non-possessive group
|
||||||
|
with more alternatives
|
||||||
|
|
||||||
|
* Mon Jun 17 2019 Petr Pisar <ppisar@redhat.com> - 10.33-4
|
||||||
|
- Fix a non-JIT match to return (*MARK) names from a successful conditional
|
||||||
|
assertion
|
||||||
|
- Fix pcre2grep --only-matching output when number of capturing groups exceeds
|
||||||
|
32 (upstream bug #2407)
|
||||||
|
|
||||||
|
* Mon May 13 2019 Petr Pisar <ppisar@redhat.com> - 10.33-3
|
||||||
|
- Correct a misspelling in a documentation
|
||||||
|
- Fix a crash when \X is used without UTF mode in a JIT (upstream bug #2399)
|
||||||
|
|
||||||
|
* Mon May 06 2019 Petr Pisar <ppisar@redhat.com> - 10.33-2
|
||||||
|
- Validate number of capturing parentheses
|
||||||
|
|
||||||
|
* Tue Apr 16 2019 Petr Pisar <ppisar@redhat.com> - 10.33-1
|
||||||
|
- 10.33 bump
|
||||||
|
|
||||||
|
* Tue Mar 26 2019 Petr Pisar <ppisar@redhat.com> - 10.33-0.4.RC1
|
||||||
|
- Do not use SSE2 instructions on x86 CPUs without SSE2 support
|
||||||
|
(upstream bug #2385)
|
||||||
|
|
||||||
|
* Wed Mar 13 2019 Petr Pisar <ppisar@redhat.com> - 10.33-0.3.RC1
|
||||||
|
- Use upstream fix for a crash in pcre2_substitute() function if mcontext
|
||||||
|
argument is NULL (bug #1686434)
|
||||||
|
|
||||||
|
* Mon Mar 11 2019 Petr Pisar <ppisar@redhat.com> - 10.33-0.2.RC1
|
||||||
|
- Fix a crash in pcre2_substitute() function if mcontext argument is NULL
|
||||||
|
(bug #1686434)
|
||||||
|
|
||||||
|
* Tue Mar 05 2019 Petr Pisar <ppisar@redhat.com> - 10.33-0.1.RC1
|
||||||
|
- 10.33-RC1 bump
|
||||||
|
|
||||||
|
* Fri Feb 22 2019 Petr Pisar <ppisar@redhat.com> - 10.32-8
|
||||||
|
- Fix pcre2_pattern_info() documentation (upstream bug #2373)
|
||||||
|
|
||||||
|
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 10.32-7.1
|
||||||
|
- Rebuild for readline 8.0
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Petr Pisar <ppisar@redhat.com> - 10.32-7
|
||||||
|
- Fix version conditions in DFA engine (upstream bug #2367)
|
||||||
|
- Use an upstream fix for POSIX names as macros (bug #1667614)
|
||||||
|
|
||||||
|
* Tue Jan 22 2019 Petr Pisar <ppisar@redhat.com> - 10.32-6
|
||||||
|
- Link applications to PCRE2-specific symbols when using POSIX API (bug #1667614)
|
||||||
|
|
||||||
|
* Thu Jan 03 2019 Petr Pisar <ppisar@redhat.com> - 10.32-5
|
||||||
|
- Fix anchoring a pattern preceded with (*MARK)
|
||||||
|
- Fix OpenPOWER 64-bit ELFv2 ABI detection in JIT compiler (upstream bug #2353)
|
||||||
|
- Fix an undefined behavior in aarch64 JIT compiler (upstream bug #2355)
|
||||||
|
|
||||||
|
* Thu Nov 01 2018 Petr Pisar <ppisar@redhat.com> - 10.32-4
|
||||||
- Fix matching a zero-repeated subroutine call at a start of a pattern
|
- Fix matching a zero-repeated subroutine call at a start of a pattern
|
||||||
(bug #1628200)
|
(upstream bug #2332)
|
||||||
- Fix heap limit checking overflow in pcre2_dfa_match() (bug #1628200)
|
- Fix heap limit checking overflow in pcre2_dfa_match() (upstream bug #2334)
|
||||||
|
|
||||||
* Mon Sep 24 2018 Petr Pisar <ppisar@redhat.com> - 10.31-11
|
* Mon Sep 24 2018 Petr Pisar <ppisar@redhat.com> - 10.32-3
|
||||||
- Fix caseless matching an extended class in JIT mode (bug #1617960)
|
- Fix caseless matching an extended class in JIT mode (upstream bug #2321)
|
||||||
|
|
||||||
* Mon Sep 03 2018 Petr Pisar <ppisar@redhat.com> - 10.31-10
|
* Tue Sep 18 2018 Petr Pisar <ppisar@redhat.com> - 10.32-2
|
||||||
- Fix anchoring in conditionals with only one branch (bug #1617960)
|
- Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has
|
||||||
|
a greater than 1 fixed quantifier (upstream bug #2320)
|
||||||
|
|
||||||
|
* Wed Sep 12 2018 Petr Pisar <ppisar@redhat.com> - 10.32-1
|
||||||
|
- 10.32 bump
|
||||||
|
|
||||||
|
* Mon Sep 03 2018 Petr Pisar <ppisar@redhat.com> - 10.32-0.3.RC1
|
||||||
|
- Accept \N{U+hhhh} only in UTF mode (upstream bug #2305)
|
||||||
|
- Fix anchoring in conditionals with only one branch (upstream bug #2307)
|
||||||
|
|
||||||
|
* Mon Aug 20 2018 Petr Pisar <ppisar@redhat.com> - 10.32-0.2.RC1
|
||||||
|
- 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,
|
||||||
|
(upstream bug #2300)
|
||||||
|
|
||||||
|
* Thu Aug 16 2018 Petr Pisar <ppisar@redhat.com> - 10.32-0.1.RC1
|
||||||
|
- 10.32-RC1 bump
|
||||||
|
|
||||||
* Thu Aug 16 2018 Petr Pisar <ppisar@redhat.com> - 10.31-9
|
* Thu Aug 16 2018 Petr Pisar <ppisar@redhat.com> - 10.31-9
|
||||||
- Recognize all Unicode space characters with /x option in a pattern
|
- Recognize all Unicode space characters with /x option in a pattern
|
||||||
(bug #1617960)
|
- Fix changing dynamic options
|
||||||
- Fix changing dynamic options (bug #1617960)
|
|
||||||
- Fix autopossessifying a repeated negative class with no characters less than
|
|
||||||
256 that is followed by a positive class with only characters less than 255,
|
|
||||||
(bug #1617960)
|
|
||||||
- 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 #1617960)
|
|
||||||
|
|
||||||
* Tue Jul 31 2018 Petr Pisar <ppisar@redhat.com> - 10.31-8
|
* Tue Jul 31 2018 Petr Pisar <ppisar@redhat.com> - 10.31-8
|
||||||
- Fix backtracking atomic groups when they are not separated by something with
|
- Fix backtracking atomic groups when they are not separated by something with
|
||||||
a backtracking point
|
a backtracking point
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.31-7.1
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Mon Jul 09 2018 Petr Pisar <ppisar@redhat.com> - 10.31-7
|
* Mon Jul 09 2018 Petr Pisar <ppisar@redhat.com> - 10.31-7
|
||||||
- Fix checking that a lookbehind assertion has a fixed length if the
|
- Fix checking that a lookbehind assertion has a fixed length if the
|
||||||
lookbehind assertion is used inside a lookahead assertion
|
lookbehind assertion is used inside a lookahead assertion
|
9
rpminspect.yaml
Normal file
9
rpminspect.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
types:
|
||||||
|
# Older builds of pcre2 had some of the documentation files
|
||||||
|
# reporting as text/x-makefile with libmagic, but now they are
|
||||||
|
# text/plain. This finding can be ignored as they are just
|
||||||
|
# documentation files.
|
||||||
|
ignore:
|
||||||
|
- /usr/share/doc/pcre2-devel/README*
|
||||||
|
- /usr/share/doc/pcre2-devel/html/README*
|
2
sources
Normal file
2
sources
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
SHA512 (pcre2-10.40.tar.bz2) = 00e7b48a6554b9127cb6fe24c5cacf72783416a9754ec88f62f73c52f46ed72c86c1869e62c91a31b2ff2cbafbbedabca44b3f1eb7670bc92f49d8401c7374e8
|
||||||
|
SHA512 (pcre2-10.40.tar.bz2.sig) = faa4b47fdac1543cd323651f251b8abb94b31b5966b42d445b8cbb38c441df4742e3c3517c2bc6c0a4464e9fb5feab5d5beda1250a03d56bec2d8383be2f63ab
|
Loading…
Reference in New Issue
Block a user