import pcre2-10.32-3.el8_6

c8 imports/c8/pcre2-10.32-3.el8_6
CentOS Sources 2 years ago committed by MSVSphere Packaging Team
commit 4bdcca7929

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/pcre2-10.32.tar.bz2

@ -0,0 +1 @@
31dea762ff549cda09b7df33648f9d4cc3707cf8 SOURCES/pcre2-10.32.tar.bz2

@ -0,0 +1,39 @@
From 8b6b10229201e5b148979a24e06c640dbbcfbad9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Fri, 20 Feb 2015 14:34:26 +0100
Subject: [PATCH] Fix multilib
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Do not set RPATH nor add explicit -L path to compiler.
Signed-off-by: Petr Písař <ppisar@redhat.com>
diff --git a/pcre2-config.in b/pcre2-config.in
index 932160e..dbef5e5 100644
--- a/pcre2-config.in
+++ b/pcre2-config.in
@@ -28,19 +28,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
--
2.1.0

@ -0,0 +1,21 @@
--- 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" },

@ -0,0 +1,53 @@
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

@ -0,0 +1,45 @@
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

@ -0,0 +1,67 @@
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

@ -0,0 +1,34 @@
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

@ -0,0 +1,112 @@
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

@ -0,0 +1,35 @@
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

@ -0,0 +1,561 @@
# Add readline edditing in pcre2test tool
%bcond_without pcre2_enables_readline
# Disable SELinux-frindly JIT allocator because it seems not to be fork-safe,
# https://bugs.exim.org/show_bug.cgi?id=1749#c45
%bcond_with pcre2_enables_sealloc
# This is stable release:
#%%global rcversion RC1
Name: pcre2
Version: 10.32
Release: %{?rcversion:0.}3%{?rcversion:.%rcversion}%{?dist}
%global myversion %{version}%{?rcversion:-%rcversion}
Summary: Perl-compatible regular expression library
# the library: BSD with exceptions
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
# COPYING: see LICENCE file
# LICENSE: BSD text with exceptions and
# Public Domain declaration
# for testdata
#Bundled
# src/sljit: BSD
#Not distributed in any binary package
# aclocal.m4: FSFULLR and GPLv2+ with exception
# ar-lib: GPLv2+ with exception
# cmake/COPYING-CMAKE-SCRIPTS: BSD
# compile: GPLv2+ with exception
# config.guess: GPLv3+ with exception
# config.sub: GPLv3+ with exception
# configure: FSFUL and GPLv2+ with exception
# depcomp: GPLv2+ with exception
# INSTALL: FSFAP
# install-sh: MIT
# ltmain.sh: GPLv2+ with exception and (MIT or GPLv3+)
# m4/ax_pthread.m4: GPLv3+ with exception
# m4/libtool.m4: FSFUL and FSFULLR and
# GPLv2+ with exception
# m4/ltoptions.m4: FSFULLR
# m4/ltsugar.m4: FSFULLR
# m4/ltversion.m4: FSFULLR
# m4/lt~obsolete.m4: FSFULLR
# m4/pcre2_visibility.m4: FSFULLR
# Makefile.in: FSFULLR
# missing: GPLv2+ with exception
# test-driver: GPLv2+ with exception
# testdata: Public Domain
License: BSD
URL: http://www.pcre.org/
Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2
# Do no set RPATH if libdir is not /usr/lib
Patch0: pcre2-10.10-Fix-multilib.patch
# 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, bug#1628200,
# in upstream after 10.32
Patch1: pcre2-10.32-Fix-subject-buffer-overread-in-JIT.-Found-by-Yunho-K.patch
# Fix caseless matching an extended class in JIT mode, upstream bug #2321,
# bug #1617960, in upstream after 10.32
Patch2: pcre2-10.32-Fix-an-xclass-matching-issue-in-JIT.patch
# Fix matching a zero-repeated subroutine call at a start of a pattern,
# upstream bug #2332, bug: #1628200, in upstream after 10.32
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: automake
BuildRequires: coreutils
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: make
%if %{with pcre2_enables_readline}
BuildRequires: readline-devel
%endif
Provides: bundled(sljit)
%description
PCRE2 is a re-working of the original PCRE (Perl-compatible regular
expression) library to provide an entirely new API.
PCRE2 is written in C, and it has its own API. There are three sets of
functions, one for the 8-bit library, which processes strings of bytes, one
for the 16-bit library, which processes strings of 16-bit values, and one for
the 32-bit library, which processes strings of 32-bit values. There are no C++
wrappers. This package provides support for strings in 8-bit and UTF-8
encodings. Install %{name}-utf16 or %{name}-utf32 packages for the other ones.
The distribution does contain a set of C wrapper functions for the 8-bit
library that are based on the POSIX regular expression API (see the pcre2posix
man page). These can be found in a library called libpcre2posix. Note that
this just provides a POSIX calling interface to PCRE2; the regular expressions
themselves still follow Perl syntax and semantics. The POSIX API is
restricted, and does not give full access to all of PCRE2's facilities.
%package utf16
Summary: UTF-16 variant of PCRE2
Provides: bundled(sljit)
Conflicts: %{name}%{?_isa} < 10.21-4
%description utf16
This is PCRE2 library working on UTF-16 strings.
%package utf32
Summary: UTF-32 variant of PCRE2
Provides: bundled(sljit)
Conflicts: %{name}%{?_isa} < 10.21-4
%description utf32
This is PCRE2 library working on UTF-32 strings.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-utf16%{?_isa} = %{version}-%{release}
Requires: %{name}-utf32%{?_isa} = %{version}-%{release}
%description devel
Development files (headers, libraries for dynamic linking, documentation)
for %{name}. The header file for the POSIX-style functions is called
pcre2posix.h.
%package static
Summary: Static library for %{name}
Requires: %{name}-devel%{_isa} = %{version}-%{release}
Provides: bundled(sljit)
%description static
Library for static linking for %{name}.
%package tools
Summary: Auxiliary utilities for %{name}
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
License: BSD and GPLv3+
Requires: %{name}%{_isa} = %{version}-%{release}
%description tools
Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test.
%prep
%setup -q -n %{name}-%{myversion}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
# Because of multilib patch
libtoolize --copy --force
autoreconf -vif
%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 \
--disable-pcre2grep-jit \
%else
--enable-jit \
--enable-pcre2grep-jit \
%endif
--disable-bsr-anycrlf \
--disable-coverage \
--disable-ebcdic \
--disable-fuzz-support \
%if %{with pcre2_enables_sealloc}
--enable-jit-sealloc \
%else
--disable-jit-sealloc \
%endif
--disable-never-backslash-C \
--enable-newline-is-lf \
--enable-pcre2-8 \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-pcre2grep-callout \
--disable-pcre2grep-libbz2 \
--disable-pcre2grep-libz \
--disable-pcre2test-libedit \
%if %{with pcre2_enables_readline}
--enable-pcre2test-libreadline \
%else
--disable-pcre2test-libreadline \
%endif
--disable-rebuild-chartables \
--enable-shared \
--disable-silent-rules \
--enable-static \
--enable-unicode \
--disable-valgrind
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}/pcre2
%check
make %{?_smp_mflags} check VERBOSE=yes
%ldconfig_scriptlets
%ldconfig_scriptlets utf16
%ldconfig_scriptlets utf32
%files
%{_libdir}/libpcre2-8.so.*
%{_libdir}/libpcre2-posix.so.*
%{!?_licensedir:%global license %%doc}
%license COPYING LICENCE
%doc AUTHORS ChangeLog NEWS
%files utf16
%{_libdir}/libpcre2-16.so.*
%license COPYING LICENCE
%doc AUTHORS ChangeLog NEWS
%files utf32
%{_libdir}/libpcre2-32.so.*
%license COPYING LICENCE
%doc AUTHORS ChangeLog NEWS
%files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*.h
%{_mandir}/man1/pcre2-config.*
%{_mandir}/man3/*
%{_bindir}/pcre2-config
%doc doc/*.txt doc/html
%doc README HACKING ./src/pcre2demo.c
%files static
%{_libdir}/*.a
%{!?_licensedir:%global license %%doc}
%license COPYING LICENCE
%files tools
%{_bindir}/pcre2grep
%{_bindir}/pcre2test
%{_mandir}/man1/pcre2grep.*
%{_mandir}/man1/pcre2test.*
%changelog
* Fri May 13 2022 Lukas Javorsky <ljavorsk@redhat.com> - 10.32-3
- Resolves: CVE-2022-1586
* Mon May 13 2019 Petr Pisar <ppisar@redhat.com> - 10.32-2
- Fix CVE-2019-20454 (a crash when \X is used without UTF mode in a JIT)
(bug #1734468)
* Fri Dec 07 2018 Petr Pisar <ppisar@redhat.com> - 10.32-1
- 10.32 bump (bug #1628200)
- Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has
a greater than 1 fixed quantifier (bug #1628200)
- Fix matching a zero-repeated subroutine call at a start of a pattern
(bug #1628200)
- Fix heap limit checking overflow in pcre2_dfa_match() (bug #1628200)
* Mon Sep 24 2018 Petr Pisar <ppisar@redhat.com> - 10.31-11
- Fix caseless matching an extended class in JIT mode (bug #1617960)
* Mon Sep 03 2018 Petr Pisar <ppisar@redhat.com> - 10.31-10
- Fix anchoring in conditionals with only one branch (bug #1617960)
* Thu Aug 16 2018 Petr Pisar <ppisar@redhat.com> - 10.31-9
- Recognize all Unicode space characters with /x option in a pattern
(bug #1617960)
- 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
- Fix backtracking atomic groups when they are not separated by something with
a backtracking point
* Mon Jul 09 2018 Petr Pisar <ppisar@redhat.com> - 10.31-7
- Fix checking that a lookbehind assertion has a fixed length if the
lookbehind assertion is used inside a lookahead assertion
- Fix parsing VERSION conditions
* Mon Jul 02 2018 Petr Pisar <ppisar@redhat.com> - 10.31-6
- Fix global search/replace in pcre2test and pcre2_substitute() when the pattern
matches an empty string, but never at the starting offset
* Mon Jun 25 2018 Petr Pisar <ppisar@redhat.com> - 10.31-5
- Fix bug when \K is used in a lookbehind in a substitute pattern
* Fri Mar 16 2018 Petr Pisar <ppisar@redhat.com> - 10.31-4
- Fix setting error offset zero for early errors in pcre2_pattern_convert()
* Mon Feb 26 2018 Petr Pisar <ppisar@redhat.com> - 10.31-3
- Add support to pcre2grep for binary zeros in -f files (upstream bug #2222)
- Fix compiler warnings in pcre2grep
* Tue Feb 20 2018 Petr Pisar <ppisar@redhat.com> - 10.31-2
- Fix returning unset groups in POSIX interface if REG_STARTEND has a non-zero
starting offset (upstream bug #2244)
- Fix pcre2test -C to correctly show what \R matches
- Fix matching repeated character classes against an 8-bit string containting
multi-code-unit characters
* Mon Feb 12 2018 Petr Pisar <ppisar@redhat.com> - 10.31-1
- 10.31 bump
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.31-0.3.RC1.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 10.31-0.3.RC1.1
- Switch to %%ldconfig_scriptlets
* Thu Feb 01 2018 Petr Pisar <ppisar@redhat.com> - 10.31-0.3.RC1
- Fix auto-possessification at the end of a capturing group that is called
recursively (upstream bug #2232)
* Tue Jan 30 2018 Petr Pisar <ppisar@redhat.com> - 10.31-0.2.RC1
- Enlarge ovector array match data structure to be large enough in all cases
(oss-fuzz #5415)
* Mon Jan 15 2018 Petr Pisar <ppisar@redhat.com> - 10.31-0.1.RC1
- 10.31-RC1 bump
* Fri Jan 12 2018 Petr Pisar <ppisar@redhat.com> - 10.30-5
- Fix handling \K in an assertion in pcre2grep tool and documentation
(upstream bug #2211)
- Fix matching at a first code unit of a new line sequence if PCRE2_FIRSTLINE
is enabled
* Fri Dec 22 2017 Petr Pisar <ppisar@redhat.com> - 10.30-4
- Fix pcre2_jit_match() to properly check the pattern was JIT-compiled
- Allow pcre2grep 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)
* Mon Nov 13 2017 Petr Pisar <ppisar@redhat.com> - 10.30-3
- Fix multi-line matching in pcre2grep tool (upstream bug #2187)
* Thu Nov 02 2017 Petr Pisar <ppisar@redhat.com> - 10.30-2
- Accept files names longer than 128 bytes in recursive mode of pcre2grep
(upstream bug #2177)
* Tue Aug 15 2017 Petr Pisar <ppisar@redhat.com> - 10.30-1
- 10.30 bump
* Wed Aug 02 2017 Petr Pisar <ppisar@redhat.com> - 10.30-0.6.RC1
- Disable SELinux-friendly JIT allocator because it crashes after a fork
(upstream bug #1749)
* Mon Jul 31 2017 Petr Pisar <ppisar@redhat.com> - 10.30-0.5.RC1
- Fix handling a hyphen at the end of a character class (upstream bug #2153)
* Sat Jul 29 2017 Florian Weimer <fweimer@redhat.com> - 10.30-0.4.RC1
- Rebuild with binutils fix for ppc64le (#1475636)
* Thu Jul 27 2017 Petr Pisar <ppisar@redhat.com> - 10.30-0.3.RC1
- Fix applying local x modifier while global xx was in effect
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.30-0.2.RC1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 24 2017 Petr Pisar <ppisar@redhat.com> - 10.30-0.2.RC1
- Fix a compiler warning in JIT code for ppc32
* Thu Jul 20 2017 Petr Pisar <ppisar@redhat.com> - 10.30-0.1.RC1
- 10.30-RC1 bump
- Heap-based matching implementation replaced stack-based one
- SELinux-friendly JIT enabled
* Fri Jun 16 2017 Petr Pisar <ppisar@redhat.com> - 10.23-8
- Fix DFA matching a lookbehind assertion that has a zero-length branch
(PCRE2 oss-fuzz issue 1859)
- Fix returned offsets from regexec() when REG_STARTEND is used with starting offset
greater than zero (upstream bug #2128)
* Tue May 09 2017 Petr Pisar <ppisar@redhat.com> - 10.23-7
- Fix a pcre2test crash on multiple push statements (upstream bug #2109)
* Tue Apr 18 2017 Petr Pisar <ppisar@redhat.com> - 10.23-6
- 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)
- Fix an incorrect cast in UTF validation (upstream bug #2090)
* Mon Mar 27 2017 Petr Pisar <ppisar@redhat.com> - 10.23-5
- Fix DFA match for a possessively repeated character class (upstream bug #2086)
- Use a memory allocator from the pattern if no context is supplied to
pcre2_match()
* Wed Mar 22 2017 Petr Pisar <ppisar@redhat.com> - 10.23-4
- Close serialization file in pcre2test after any error (upstream bug #2074)
- Fix a memory leak in pcre2_serialize_decode() when the input is invalid
(upstream bug #2075)
- Fix a potential NULL dereference in pcre2_callout_enumerate() if called with
a NULL pattern pointer when Unicode support is available (upstream bug #2076)
- Fix CVE-2017-8786 (32-bit error buffer size bug in pcre2test) (bug #1500717)
* Mon Mar 20 2017 Petr Pisar <ppisar@redhat.com> - 10.23-3
- Fix an internal error for a forward reference in a lookbehind with
PCRE2_ANCHORED (oss-fuzz bug #865)
- Fix a pcre2test bug for global match with zero terminated subject
(upstream bug #2063)
* Mon Feb 27 2017 Petr Pisar <ppisar@redhat.com> - 10.23-2
- Handle memmory allocation failures in pcre2test tool
- Fix CVE-2017-7186 (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)
* Tue Feb 14 2017 Petr Pisar <ppisar@redhat.com> - 10.23-1
- 10.23 bump
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.23-0.1.RC1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 17 2017 Petr Pisar <ppisar@redhat.com> - 10.23-0.1.RC1
- 10.23-RC1 bump
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 10.22-10.1
- Rebuild for readline 7.x
* Thu Jan 12 2017 Petr Pisar <ppisar@redhat.com> - 10.22-10
- Fix an out-of-bound read in pcre2test tool within POSIX mode
(upstream bug #2008)
* Tue Jan 03 2017 Petr Pisar <ppisar@redhat.com> - 10.22-9
- Fix compiling a class with UCP and without UTF
* Fri Dec 16 2016 Petr Pisar <ppisar@redhat.com> - 10.22-8
- Fix a crash when doing an extended substitution for \p, \P, or \X
(upstream bug #1977)
- Fix a crash in substitution if starting offest was specified beyond the
subject end (upstream bug #1992)
* Fri Dec 09 2016 Petr Pisar <ppisar@redhat.com> - 10.22-7
- Fix pcre2-config --libs-posix output (upstream bug #1924)
- Fix a memory leak and a typo in a documentation (upstream bug #1973)
- Fix a buffer overflow in partial match test for CRLF in an empty buffer
(upstream bug #1975)
- Fix a crash in pcre2test when displaying a wide character with a set locate
(upstream bug #1976)
* Tue Nov 08 2016 Petr Pisar <ppisar@redhat.com> - 10.22-6
- Fix faulty auto-anchoring patterns when .* is inside an assertion
* Mon Oct 24 2016 Petr Pisar <ppisar@redhat.com> - 10.22-5
- Document assert capture limitation (upstream bug #1887)
- Ignore offset modifier in pcre2test in POSIX mode (upstream bug #1898)
* Wed Oct 19 2016 Richard W.M. Jones <@redhat.com> - 10.22-4
- Disable the JIT on riscv64.
* Wed Oct 19 2016 Petr Pisar <ppisar@redhat.com> - 10.22-3
- Fix displaying a callout position in pcretest output 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)
- Fix internal option documentation in pcre2pattern(3) (upstream bug #1875)
- Fix optimization bugs for patterns starting with lookaheads
(upstream bug #1882)
* Mon Aug 29 2016 Petr Pisar <ppisar@redhat.com> - 10.22-2
- Fix matching characters above 255 when a negative character type was used
without enabled UCP in a positive class (upstream bug #1866)
* Fri Jul 29 2016 Petr Pisar <ppisar@redhat.com> - 10.22-1
- 10.22 bump
* Thu Jun 30 2016 Petr Pisar <ppisar@redhat.com> - 10.22-0.1.RC1
- 10.22-RC1 bump
- libpcre2-posix library changed ABI
- Fix register overwite in JIT when SSE2 acceleration is enabled
- Correct pcre2unicode(3) documentation
* Mon Jun 20 2016 Petr Pisar <ppisar@redhat.com> - 10.21-6
- Fix repeated pcregrep output if -o with -M options were used and the match
extended over a line boundary (upstream bug #1848)
* Fri Jun 03 2016 Petr Pisar <ppisar@redhat.com> - 10.21-5
- Fix a race in JIT locking condition
- Fix an ovector check in JIT test program
- Enable JIT in the pcre2grep tool
* Mon Mar 07 2016 Petr Pisar <ppisar@redhat.com> - 10.21-4
- Ship README in devel as it covers API and build, not general info
- Move UTF-16 and UTF-32 libraries into pcre-ut16 and pcre-32 subpackages
* Mon Feb 29 2016 Petr Pisar <ppisar@redhat.com> - 10.21-3
- Fix a typo in pcre2_study()
* Thu Feb 11 2016 Petr Pisar <ppisar@redhat.com> - 10.21-2
- Report unmatched closing parantheses properly
- Fix pcre2test 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 <releng@fedoraproject.org> - 10.21-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 12 2016 Petr Pisar <ppisar@redhat.com> - 10.21-1
- 10.21 bump
* Wed Jan 06 2016 Petr Pisar <ppisar@redhat.com> - 10.21-0.2.RC1
- Adapt a test to French locale on RHEL
* Tue Jan 05 2016 Petr Pisar <ppisar@redhat.com> - 10.21-0.1.RC1
- 10.21-RC1 bump
* Mon Oct 26 2015 Petr Pisar <ppisar@redhat.com> - 10.20-3
- Fix compiling patterns with PCRE2_NO_AUTO_CAPTURE (upstream bug #1704)
* Mon Oct 12 2015 Petr Pisar <ppisar@redhat.com> - 10.20-2
- Fix compiling classes with a negative escape and a property escape
(upstream bug #1697)
- Fix integer overflow for patterns whose minimum matching length is large
(upstream bug #1699)
* Fri Jul 03 2015 Petr Pisar <ppisar@redhat.com> - 10.20-1
- 10.20 bump
* Fri Jun 19 2015 Petr Pisar <ppisar@redhat.com> - 10.20-0.1.RC1
- 10.20-RC1 bump
- Replace dependency on glibc-headers with gcc (bug #1230479)
- Preserve soname
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 10.10-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri May 29 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 10.10-3
- fixed Release field
* Fri May 29 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 10.10-2.1
- Backport fix for AArch64
* Tue May 05 2015 Petr Pisar <ppisar@redhat.com> - 10.10-2
- Package pcre2demo.c as a documentation for pcre2-devel
* Fri Mar 13 2015 Petr Pisar <ppisar@redhat.com> - 10.10-1
- PCRE2 library packaged
Loading…
Cancel
Save