Changelog for libpcre1-8.42-113.1.i586.rpm :
Thu Oct 25 14:00:00 2018
- pcreposix patch taken from debian. Solves cyrus-imapd issue #1731, too.

Tue Sep 4 14:00:00 2018
- pcre 8.42:

* Fix outdated real_pcre definitions in

* pcregrep was truncating components of file names to 128
characters when processing files with the -r option, and also
truncating path names to 512 characters. There is now a check on
the absolute length of full path file names, which may be up to
2047 characters long

* Using pcre_dfa_exec(), in UTF mode when UCP support was not
defined, there was the possibility of a false positive match when
caselessly matching a \"not this character\" item such as
[^\\x{1234}] (with a code point greater than 127) because the
\"other case\" variable was not being initialized

* Although pcre_jit_exec checks whether the pattern is compiled
in a given mode, it was also expected that at least one mode is
available. This is fixed and pcre_jit_exec returns with
PCRE_ERROR_JIT_BADOPTION when the pattern is not optimized by JIT
at all.

* The line number and related variables such as match counts in
pcregrep were all int variables, causing overflow when files with
more than 2147483647 lines were processed (assuming 32-bit ints).
They have all been changed to unsigned long ints.

* If a backreference with a minimum repeat count of zero was first in
a pattern, apart from assertions, an incorrect first matching
character could be recorded. For example, for the pattern
/(?=(a))\\1?b/, \"b\" was incorrectly set as the first character of
a match.

* Fix out-of-bounds read for partial matching of /./ against an
empty string when the newline type is CRLF.

* When matching using the the REG_STARTEND feature of the POSIX
API with a non-zero starting offset, unset capturing groups
with lower numbers than a group that did capture something were
not being correctly returned as \"unset\" (that is, with offset
values of -1).

* Matching the pattern /(
*UTF)\\C[^\\v]+\\x80/ against an 8-bit
string containing multi-code-unit characters caused bad
behaviour and possibly a crash. This issue was fixed for other
kinds of repeat in release 8.37 by change 38, but repeating
character classes were overlooked.

* A small fix to pcregrep to avoid compiler warnings for
- Wformat-overflow=2.

* Added --enable-jit=auto support to

* Fix misleading error message in

Sun Apr 15 14:00:00 2018
- Do not run profiling \'check\' in parallel
to make package build reproducible (boo#1040589)

Thu Feb 22 13:00:00 2018
- Use %license (boo#1082318)

Wed Nov 1 13:00:00 2017
- add pcre-8.41-stack_frame_size_detection.patch to fix pcre stack
frame size detection because modern compilers broke it by cloning
and inlining pcre match() function [bsc#1058722]

Tue Sep 12 14:00:00 2017
- RunTest needs much stack, on s390x more than the default
8 MB. [bnc#1046102]

Tue Jul 25 14:00:00 2017
- pcre 8.41:

* If pcregrep in multiline mode with --only-matching matched
several lines, it restarted scanning at the next line instead
of moving on to the end of the matched string, which can be
several lines after the start.

* Fix a missing else in the JIT compiler reported by \'idaifish\'.
CVE-2017-6004 bsc#1025709

* A (?# style comment is now ignored between a basic quantifier
and a following \'+\' or \'?\' (example: /X+(?#comment)?Y/.

* Avoid use of a potentially overflowing buffer in pcregrep

* Fix issues reported by fuzzers in pcretest:
- Check for values < 256 when calling isprint() in pcretest.
- Give an error for too big a number after \\O.

* In the 32-bit library in non-UTF mode, an attempt to find a
Unicode property for a character with a code point greater than
0x10ffff (the Unicode maximum) caused a crash.
CVE-2017-7186 bsc#1030066, CVE-2017-7244 bsc#1030807

* The alternative matching function, pcre_dfa_exec() misbehaved
if it encountered a character class with a possessive repeat,
for example [a-f]{3}+.

* When pcretest called pcre_copy_substring() in 32-bit mode, it
set the buffer length incorrectly, which could result in buffer
overflow. CVE-2017-7245 bsc#1030805, CVE-2017-7246 bsc#1030803

Fri Jun 2 14:00:00 2017
- Enable jit on aarch64
- Enable profiled building

Thu Feb 9 13:00:00 2017
- pcre 8.40:

* Using -o with -M in pcregrep could cause unnecessary repeated
output when the match extended over a line boundary.

* Fix register overwite in JIT when SSE2 acceleration is enabled.

* Ignore \"show all captures\" (/=) for DFA matching.

* Fix JIT unaligned accesses on x86

* In any wide-character mode (8-bit UTF or any 16-bit or 32-bit
mode), without PCRE_UCP set, a negative character type such as
\\D in a positive class should cause all characters greater than
255 to match, whatever else is in the class. There was a bug
that caused this not to happen if a Unicode property item was
added to such a class, for example [\\D\\P{Nd}] or [\\W\\pL].

* When pcretest was outputing information from a callout, the
caret indicator for the current position in the subject line
was incorrect if it was after an escape sequence for a
character whose code point was greater than \\x{ff}.

* A pattern such as (?abc)(?(R)xyz) was incorrectly compiled
such that the conditional was interpreted as a reference to
capturing group 1 instead of a test for recursion. Any group
whose name began with R was misinterpreted in this way. (The
reference interpretation should only happen if the group\'s name
is precisely \"R\".)

* A number of bugs have been mended relating to match start-up
optimizations when the first thing in a pattern is a positive
lookahead. These all applied only when PCRE_NO_START_OPTIMIZE
* set:
+ A pattern such as (?=.
*X)X$ was incorrectly optimized as if
it needed both an initial \'X\' and a following \'X\'.
+ Some patterns starting with an assertion that started with
* were incorrectly optimized as having to match at the start
of the subject or after a newline. There are cases where this
is not true, for example, (?=.
matches after the start in lines that start with spaces.
Starting .
* in an assertion is no longer taken as an
indication of matching at the start (or after a newline).

Tue Feb 7 13:00:00 2017
- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13.

Mon Aug 1 14:00:00 2016
- record minor vulnerabilities fixed in 8.39

Wed Jun 15 14:00:00 2016
- Update to version 8.39:

* Some appropriate PCRE2 JIT improvements have been retro-fitted
to PCRE1.

* CVE-2016-3191: workspace overflow for (
*ACCEPT) with deeply
nested parentheses (boo#971741)

* CVE-2016-1283: Heap buffer overflow DoS (boo#960837)

* Apart from that, this is another bug-fix release.

Thu Nov 26 13:00:00 2015
- pcre 8.38:

* CVE-2015-3217: Call Stack Overflow Vulnerability in match()

* Other fixes to assertions, crashes, buffer overflows and
performance issues found by fuzzer, affecting applications
accepting regular expression from untrusted sources

Thu Apr 30 14:00:00 2015
- pcre 8.37:

* CVE-2015-2325: Patterns with certain groups specifying a zero
minimum quantifier caused incorrect code to be compiled,
leading to an incorrect memory read. [boo#924960]

* CVE-2015-2326: Specific patterns containing a forward reference
with subroutine calls caused incorrect code to be compiled

* CVE-2014-8964: If an assertion condition was quantified with a
minimum of zero, SIGSEGV or other misbehaviour could occur.

* further bug fixes as listed in ChangeLog

Mon Mar 9 13:00:00 2015
- Update to version 3.16

* This is primarily a bug-fix release.

* The Unicode data tables have been updated to Unicode 7.0.0.
- Remove pcre-commit1472.patch; fixed on upstream release
- Remove obsolete \"Obsoletes\" tag

Tue Sep 2 14:00:00 2014
- Improve on RPM group classification
- Remove defunct %gpg_verify (replaced by source validators),
defunct freecode link

Thu Aug 28 14:00:00 2014
- Harden build with full RELRO as this libraries end linked
to at least one setuid root executable.

Mon Jun 16 14:00:00 2014
- Enable JIT on ppc64le as well

Sat May 3 14:00:00 2014
- update to 0.35:
There have been performance improvements for classes containing non-ASCII
characters and the \"auto-possessification\" feature has been extended. Other
minor improvements have been implemented and bugs fixed. There is a new callout
feature to enable applications to do detailed stack checks at compile time, to
avoid running out of stack for deeply nested parentheses. The JIT compiler has
been extended with experimental support for ARM-64, MIPS-64, and PPC-LE.
- add pcre-commit1472.patch from SVN to work with gcc49, see

Sun Mar 23 13:00:00 2014
- Add automake and autoconf as explicit deps as we run autoreconf

Sun Mar 23 13:00:00 2014
- Add patch pcre-8.21-multilib.patch to fix RPATH issues.

* The patch is taken from RedHat.

Sun Mar 23 13:00:00 2014
- Clean up with the spec cleaner. Use -j1 in tests as it is not
really thread safe

Sun Mar 23 13:00:00 2014
- Version bump to 8.34:

* warning fixes

* perl fixes

* unocode6.3.0 support

* gconv support

Wed Nov 13 13:00:00 2013
- enable tests for all archs
- --enable-jit for sparc

Thu Jun 13 14:00:00 2013
- Update to new upstream release 8.33

* The Just-In-Time compiler (JIT) now supports all pattern
features, including callouts and the backtracking verbs. In
addition, some bugs are fixed and there are minor performance
- More robust make install call. Provide signature verification
files (avoid depending on gpg-offline due to bootstrap cycle).

Sat Jun 8 14:00:00 2013
- Ensure the PCRE library and tools are built with large file
support in 32 bit archs.

Sun Jan 6 13:00:00 2013
- Update to 8.32 version:

* There is now support for 32-bit character strings and UTF-32. Like the
16-bit support, this is done by compiling a separate 32-bit library.

* \\X now matches a Unicode extended grapheme cluster.

* Case-independent matching of Unicode characters that have more than one
\"other case\" now makes all three (or more) characters equivalent. This
applies, for example, to Greek Sigma, which has two lowercase versions.

* Unicode character properties are updated to Unicode 6.2.0.

* The EBCDIC support, which had decayed, has had a spring clean.

* A number of JIT optimizations have been added, which give faster JIT
execution speed. In addition, a new direct interface to JIT execution is
available. This bypasses some of the sanity checks of pcre_exec() to give a
noticeable speed-up.

* A number of issues in pcregrep have been fixed, making it more compatible
with GNU grep. In particular, --exclude and --include (and variants) apply
to all files now, not just those obtained from scanning a directory
recursively. In Windows environments, the default action for directories is
now \"skip\" instead of \"read\" (which provokes an error).

* If the --only-matching (-o) option in pcregrep is specified multiple
times, each one causes appropriate output. For example, -o1 -o2 outputs the
substrings matched by the 1st and 2nd capturing parentheses. A separating
string can be specified by --om-separator (default empty).

* When PCRE is built via Autotools using a version of gcc that has the
\"visibility\" feature, it is used to hide internal library functions that are
not part of the public API.
- updated and versionned pcre-visibility.patch to svn trunk

* Modifications on and makefile have been merged on upstream release

Fri Nov 23 13:00:00 2012
- Update package descriptions about the differences between the
PCRE library subpackages.

Wed Nov 7 13:00:00 2012
- Use the --enable-pcre16 configure flag.
This switch enables 16 bit character support that will be required by Qt5

Fri Aug 17 14:00:00 2012
- Upate to version 8.31:
+ The JIT compiler now supports partial matching and the (
and (
*COMMIT) verbs
+ PCRE_INFO_MAXLOOKBEHIND can be used to find the longest
lookbehing in a pattern.
+ There should be a performance improvement when using the heap
instead of the stack for recursion
+ pcregrep can now be linked with libedit as an alternative to
+ pcregrep now has a --file-list option where the list of files
to scan is given as a file
+ pcregrep now recognizes binary files and there are related
+ The Unicode tables have been updated to 6.1.0
- Rebase pcre-visibility.patch.

Thu Jul 19 14:00:00 2012
- Only use --enable-jit on supported architectures; the build will
otherwise fail (e.g. on sparc).

Thu May 10 14:00:00 2012
- Add devel-static package

Tue Feb 7 13:00:00 2012
- fix baselibs

Tue Feb 7 13:00:00 2012
- Update to PCRE 8.30, upstream SONAME bump, libpcre1
- Drop no longer needed ppc patch.
- move library back to %{_libdir}

Wed Feb 1 13:00:00 2012
- Fix cache-flush on PPC

Wed Nov 16 13:00:00 2011
- add libtool as buildrequire to avoid implicit dependency

Tue Nov 1 13:00:00 2011
- Update to version 8.20

* too many fixes to list here, see included ChangeLog

* replace pcre-visibility patch with the one I submitted to
upstream for inclusion.

Tue Oct 11 14:00:00 2011
- udpate to 8.13:

* too many fixes to list here, see included ChangeLog

* the Unicode data tables have been updated to Unicode 6.0.0.

Mon Sep 19 14:00:00 2011
- remove fragile _service

Wed Mar 9 13:00:00 2011
- Update to version 8.12

* This release fixes some bugs in pcregrep, one of which caused the tests to fail
on 64-bit big-endian systems. There are no changes to the code of the library.
- Update to version 8.11

* A number of bugs in the library and in pcregrep have been fixed. As always, see
ChangeLog for details. The following are the non-bug-fix changes:
Added --match-limit and --recursion-limit to pcregrep.
Added an optional parentheses number to the -o and --only-matching options
of pcregrep.
Changed the way PCRE_PARTIAL_HARD affects the matching of $, \\z, \\Z, \\b, and
Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a
bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD.
Recognize (
*NO_START_OPT) at the start of a pattern to set the PCRE_NO_
START_OPTIMIZE option, which is now allowed at compile time

Sat Oct 30 14:00:00 2010
- Support GCC visibility, symbol clashes no more.

Sun Sep 19 14:00:00 2010
- Update to version 8.10:
+ Major additions:
- support for (
*MARK) and friends
- PCRE_UCP option, which changes the behaviour of \\b, \\d, \\s,
and \\w (and their opposites) so that they make use of Unicode
+ Other additions:
- support for \\N, which always matches any character other than
- added --line-buffered to pcregrep
+ Several small new features and bugfixes
- Changes from version 8.02:
+ Update Unicode data tables to Unicode 5.2.0
+ Update the licensing terms in the pcregexp.pas file
+ Several bug fixes
- Changes from version 8.01:
+ Several bug fixes and build system improvements
- Changes from version 8.00:
+ Enhancements:
- remove restrictions on patterns used for partial matching
- give extra information for partial matches
- improve the partial matching process
- add option to make a partial match override a full match
- enhance \"study\" process by finding a lower bound matching
- groups with duplicate numbers may now have duplicated names
without the use of PCRE_DUPNAMES, but they may not have
different names
- add REG_UNGREEDY to the pcreposix interface, which maps to
+ Several bug fixes
- Drop pcre-7.9.patch: fixed upstream.
- Rearrange spec file to have all the %files sections together, as
well as all the scriptlets together.
- Kill the main package that only included doc files like AUTHORS,
NEWS, and license, and put those files in libpcre0: this really
makes more sense. Therefore, make libpcre0 Provides/Obsoletes
- We can also remove the other dependencies on the main package,
since everything already depends on libpcre0.
- Remove AutoReqProv: it\'s default now.
- Remove references to perl 5.005 in descriptons: it\'s not
mentioned anywhere anymore upstream.

Mon Jun 28 14:00:00 2010
- use %_smp_mflags

Sat Apr 24 14:00:00 2010
- buildrequire pkg-config to fix provides

Thu Feb 25 13:00:00 2010
- build noarch docs only for >= 11.2

Wed Feb 10 13:00:00 2010
- fixed license statement according to the conversation
and permissions granted in (bnc #578724)

Sat Dec 12 13:00:00 2009
- add baselibs.conf as a source
- package documentation as noarch

Wed Oct 7 14:00:00 2009
- add obsolete/provides for pcre-32bit (bnc#539543)

Wed Jun 10 14:00:00 2009
- split package into tools, docs and libraries

Fri Jun 5 14:00:00 2009
- disable static libraries, shouldn\'t be used now

Sat May 30 14:00:00 2009
- fix symlinks to libpcre and libpcreposix to fix the build

Wed May 27 14:00:00 2009
- moved libpcre and libpcreposix to %{_lib} (bnc #507449)

Tue May 5 14:00:00 2009
- Release 7.9 11-Apr-09 (bnc #500734)
Mostly bugfixes and tidies with just a couple of minor
functional additions.