File pcre.changes of Package pcre
1147
1
-------------------------------------------------------------------
2
Wed May 11 09:21:09 UTC 2022 - Jason Sikes <jsikes@suse.com>
3
4
- Added pcre-8.45-bsc1199232-unicode-property-matching.patch
5
* bsc#1199232
6
* CVE-2022-1586
7
* Fixes unicode property matching issue
8
9
-------------------------------------------------------------------
10
Tue Oct 19 05:22:21 UTC 2021 - Stephan Kulow <coolo@suse.com>
11
12
- pcre 8.45 (the final release)
13
* Fixed a small (*MARK) bug in the interpreter (Bugzilla #2771).
14
15
- pcre 8.44
16
* Small patch to pcreposix.c to set the erroroffset field to -1 immediately
17
after a successful compile, instead of at the start of matching to avoid a
18
sanitizer complaint (regexec is supposed to be thread safe).
19
* Check the size of the number after (?C as it is read, in order to avoid
20
integer overflow. (bsc#1172974, CVE-2020-14155)
21
* Tidy up left shifts to avoid sanitize warnings; also fix one NULL deference
22
in pcretest.
23
24
- pcre 8.43
25
* In a pattern such as /[^\x{100}-\x{ffff}]*[\x80-\xff]/ which has a repeated
26
negative class with no characters less than 0x100 followed by a positive class
27
with only characters less than 0x100, the first class was incorrectly being
28
auto-possessified, causing incorrect match failures.
29
* If the only branch in a conditional subpattern was anchored, the whole
30
subpattern was treated as anchored, when it should not have been, since the
31
assumed empty second branch cannot be anchored. Demonstrated by test patterns
32
such as /(?(1)^())b/ or /(?(?=^))b/.
33
* Fix subject buffer overread in JIT when UTF is disabled and \X or \R has
34
a greater than 1 fixed quantifier. This issue was found by Yunho Kim.
35
(bsc#1172973 CVE-2019-20838)
36
* If a pattern started with a subroutine call that had a quantifier with a
37
minimum of zero, an incorrect "match must start with this character" could be
38
recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
39
be the first character of a match.
40
41
- pcre 8.42
42
* If a backreference with a minimum repeat count of zero was first in a
43
pattern, apart from assertions, an incorrect first matching character could be
44
recorded. For example, for the pattern /(?=(a))\1?b/, "b" was incorrectly set
45
as the first character of a match.
46
* Fix out-of-bounds read for partial matching of /./ against an empty string
47
when the newline type is CRLF.
48
* When matching using the the REG_STARTEND feature of the POSIX API with a
49
non-zero starting offset, unset capturing groups with lower numbers than a
50
group that did capture something were not being correctly returned as "unset"
51
(that is, with offset values of -1).
52
* Matching the pattern /(*UTF)\C[^\v]+\x80/ against an 8-bit string
53
containing multi-code-unit characters caused bad behaviour and possibly a
54
crash. This issue was fixed for other kinds of repeat in release 8.37 by change
55
38, but repeating character classes were overlooked.
56
57
-------------------------------------------------------------------
58
Tue May 11 20:13:43 UTC 2021 - Bernhard Wiedemann <bwiedemann@suse.com>
59
60
- Do not run profiling 'check' in parallel
61
to make package build reproducible (boo#1040589)
62
63
-------------------------------------------------------------------
64
Thu Feb 22 15:10:43 UTC 2018 - fvogt@suse.com
65
66
- Use %license (boo#1082318)
67
68
-------------------------------------------------------------------
69
Wed Nov 1 17:46:54 UTC 2017 - kstreitova@suse.com
70
71
- add pcre-8.41-stack_frame_size_detection.patch to fix pcre stack
72
frame size detection because modern compilers broke it by cloning
73
and inlining pcre match() function [bsc#1058722]
74
75
-------------------------------------------------------------------
76
Tue Sep 12 13:10:30 UTC 2017 - matz@suse.com
77
78
- RunTest needs much stack, on s390x more than the default
79
8 MB. [bnc#1046102]
80
81
-------------------------------------------------------------------
82
Tue Jul 25 08:15:58 UTC 2017 - astieger@suse.com
83
84
- pcre 8.41:
85
* If pcregrep in multiline mode with --only-matching matched
86
several lines, it restarted scanning at the next line instead
87
of moving on to the end of the matched string, which can be
88
several lines after the start.
89
* Fix a missing else in the JIT compiler reported by 'idaifish'.
90
CVE-2017-6004 bsc#1025709
91
* A (?# style comment is now ignored between a basic quantifier
92
and a following '+' or '?' (example: /X+(?#comment)?Y/.
93
* Avoid use of a potentially overflowing buffer in pcregrep
94
* Fix issues reported by fuzzers in pcretest:
95
- Check for values < 256 when calling isprint() in pcretest.
96
- Give an error for too big a number after \O.
97
* In the 32-bit library in non-UTF mode, an attempt to find a
98
Unicode property for a character with a code point greater than
99
0x10ffff (the Unicode maximum) caused a crash.
100
CVE-2017-7186 bsc#1030066, CVE-2017-7244 bsc#1030807
101
* The alternative matching function, pcre_dfa_exec() misbehaved
102
if it encountered a character class with a possessive repeat,
103
for example [a-f]{3}+.
104
* When pcretest called pcre_copy_substring() in 32-bit mode, it
105
set the buffer length incorrectly, which could result in buffer
106
overflow. CVE-2017-7245 bsc#1030805, CVE-2017-7246 bsc#1030803
107
108
-------------------------------------------------------------------
109
Fri Jun 2 12:42:01 UTC 2017 - mpluskal@suse.com
110
111
- Enable jit on aarch64
112
- Enable profiled building
113
114
-------------------------------------------------------------------
115
Thu Feb 9 08:55:30 UTC 2017 - astieger@suse.com
116
117
- pcre 8.40:
118
* Using -o with -M in pcregrep could cause unnecessary repeated
119
output when the match extended over a line boundary.
120
* Fix register overwite in JIT when SSE2 acceleration is enabled.
121
* Ignore "show all captures" (/=) for DFA matching.
122
* Fix JIT unaligned accesses on x86
123
* In any wide-character mode (8-bit UTF or any 16-bit or 32-bit
124
mode), without PCRE_UCP set, a negative character type such as
125
\D in a positive class should cause all characters greater than
126
255 to match, whatever else is in the class. There was a bug
127
that caused this not to happen if a Unicode property item was
128
added to such a class, for example [\D\P{Nd}] or [\W\pL].
129
* When pcretest was outputing information from a callout, the
130
caret indicator for the current position in the subject line
131
was incorrect if it was after an escape sequence for a
132
character whose code point was greater than \x{ff}.
133
* A pattern such as (?<RA>abc)(?(R)xyz) was incorrectly compiled
134
such that the conditional was interpreted as a reference to
135
capturing group 1 instead of a test for recursion. Any group
136
whose name began with R was misinterpreted in this way. (The
137
reference interpretation should only happen if the group's name
138
is precisely "R".)
139
* A number of bugs have been mended relating to match start-up
140
optimizations when the first thing in a pattern is a positive
141
lookahead. These all applied only when PCRE_NO_START_OPTIMIZE
142
was *not* set:
143
+ A pattern such as (?=.*X)X$ was incorrectly optimized as if
144
it needed both an initial 'X' and a following 'X'.
145
+ Some patterns starting with an assertion that started with
146
.* were incorrectly optimized as having to match at the start
147
of the subject or after a newline. There are cases where this
148
is not true, for example, (?=.*[A-Z])(?=.{8,16})(?!.*[\s])
149
matches after the start in lines that start with spaces.
150
Starting .* in an assertion is no longer taken as an
151
indication of matching at the start (or after a newline).
152
153
-------------------------------------------------------------------
154
Tue Feb 7 16:17:44 UTC 2017 - dimstar@opensuse.org
155
156
- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13.
157
158
-------------------------------------------------------------------
159
Mon Aug 1 15:22:09 UTC 2016 - astieger@suse.com
160
161
- record minor vulnerabilities fixed in 8.39
162
163
-------------------------------------------------------------------
164
Wed Jun 15 07:44:27 UTC 2016 - mpluskal@suse.com
165
166
- Update to version 8.39:
167
* Some appropriate PCRE2 JIT improvements have been retro-fitted
168
to PCRE1.
169
* CVE-2016-3191: workspace overflow for (*ACCEPT) with deeply
170
nested parentheses (boo#971741)
171
* CVE-2016-1283: Heap buffer overflow DoS (boo#960837)
172
* Apart from that, this is another bug-fix release.
173
174
-------------------------------------------------------------------
175
Thu Nov 26 08:28:01 UTC 2015 - astieger@suse.com
176
177
- pcre 8.38:
178
* CVE-2015-3217: Call Stack Overflow Vulnerability in match()
179
bsc#933878
180
* Other fixes to assertions, crashes, buffer overflows and
181
performance issues found by fuzzer, affecting applications
182
accepting regular expression from untrusted sources
183
184
-------------------------------------------------------------------
185
Thu Apr 30 22:08:31 UTC 2015 - astieger@suse.com
186
187
- pcre 8.37:
188
* CVE-2015-2325: Patterns with certain groups specifying a zero
189
minimum quantifier caused incorrect code to be compiled,
190
leading to an incorrect memory read. [boo#924960]
191
* CVE-2015-2326: Specific patterns containing a forward reference
192
with subroutine calls caused incorrect code to be compiled
193
[boo#924961]
194
* CVE-2014-8964: If an assertion condition was quantified with a
195
minimum of zero, SIGSEGV or other misbehaviour could occur.
196
[boo#906574]
197
* further bug fixes as listed in ChangeLog
198
199
-------------------------------------------------------------------
200
Mon Mar 9 00:43:18 UTC 2015 - p.drouand@gmail.com
201
202
- Update to version 3.16
203
* This is primarily a bug-fix release.
204
* The Unicode data tables have been updated to Unicode 7.0.0.
205
- Remove pcre-commit1472.patch; fixed on upstream release
206
- Remove obsolete "Obsoletes" tag
207
208
-------------------------------------------------------------------
209
Tue Sep 2 07:30:08 UTC 2014 - jengelh@inai.de
210
211
- Improve on RPM group classification
212
- Remove defunct %gpg_verify (replaced by source validators),
213
defunct freecode link
214
215
-------------------------------------------------------------------
216
Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org
217
218
- Harden build with full RELRO as this libraries end linked
219
to at least one setuid root executable.
220
221
-------------------------------------------------------------------
222
Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com
223
224
- Enable JIT on ppc64le as well
225
226
-------------------------------------------------------------------
227
Sat May 3 06:07:56 UTC 2014 - coolo@suse.com
228
229
- update to 0.35:
230
There have been performance improvements for classes containing non-ASCII
231
characters and the "auto-possessification" feature has been extended. Other
232
minor improvements have been implemented and bugs fixed. There is a new callout
233
feature to enable applications to do detailed stack checks at compile time, to
234
avoid running out of stack for deeply nested parentheses. The JIT compiler has
235
been extended with experimental support for ARM-64, MIPS-64, and PPC-LE.
236
- add pcre-commit1472.patch from SVN to work with gcc49, see
237
http://bugs.exim.org/show_bug.cgi?id=1463
238
239
-------------------------------------------------------------------
240
Sun Mar 23 20:50:04 UTC 2014 - tchvatal@suse.com
241
242
- Add automake and autoconf as explicit deps as we run autoreconf
243
244
-------------------------------------------------------------------
245
Sun Mar 23 20:49:02 UTC 2014 - tchvatal@suse.com
246
247
- Add patch pcre-8.21-multilib.patch to fix RPATH issues.
248
* The patch is taken from RedHat.
249
250
-------------------------------------------------------------------
251
Sun Mar 23 20:47:05 UTC 2014 - tchvatal@suse.com
252
253
- Clean up with the spec cleaner. Use -j1 in tests as it is not
254
really thread safe
255
256
-------------------------------------------------------------------
257
Sun Mar 23 20:35:09 UTC 2014 - tchvatal@suse.com
258
259
- Version bump to 8.34:
260
* warning fixes
261
* perl fixes
262
* unocode6.3.0 support
263
* gconv support
264
265
-------------------------------------------------------------------
266
Wed Nov 13 19:06:09 UTC 2013 - sweet_f_a@gmx.de
267
268
- enable tests for all archs
269
- --enable-jit for sparc
270
271
-------------------------------------------------------------------
272
Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de
273
274
- Update to new upstream release 8.33
275
* The Just-In-Time compiler (JIT) now supports all pattern
276
features, including callouts and the backtracking verbs. In
277
addition, some bugs are fixed and there are minor performance
278
enhancements.
279
- More robust make install call. Provide signature verification
280
files (avoid depending on gpg-offline due to bootstrap cycle).
281
282
-------------------------------------------------------------------
283
Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org
284
285
- Ensure the PCRE library and tools are built with large file
286
support in 32 bit archs.
287
288
-------------------------------------------------------------------
289
Sun Jan 6 15:40:59 UTC 2013 - p.drouand@gmail.com
290
291
- Update to 8.32 version:
292
* There is now support for 32-bit character strings and UTF-32. Like the
293
16-bit support, this is done by compiling a separate 32-bit library.
294
* \X now matches a Unicode extended grapheme cluster.
295
* Case-independent matching of Unicode characters that have more than one
296
"other case" now makes all three (or more) characters equivalent. This
297
applies, for example, to Greek Sigma, which has two lowercase versions.
298
* Unicode character properties are updated to Unicode 6.2.0.
299
* The EBCDIC support, which had decayed, has had a spring clean.
300
* A number of JIT optimizations have been added, which give faster JIT
301
execution speed. In addition, a new direct interface to JIT execution is
302
available. This bypasses some of the sanity checks of pcre_exec() to give a
303
noticeable speed-up.
304
* A number of issues in pcregrep have been fixed, making it more compatible
305
with GNU grep. In particular, --exclude and --include (and variants) apply
306
to all files now, not just those obtained from scanning a directory
307
recursively. In Windows environments, the default action for directories is
308
now "skip" instead of "read" (which provokes an error).
309
* If the --only-matching (-o) option in pcregrep is specified multiple
310
times, each one causes appropriate output. For example, -o1 -o2 outputs the
311
substrings matched by the 1st and 2nd capturing parentheses. A separating
312
string can be specified by --om-separator (default empty).
313
* When PCRE is built via Autotools using a version of gcc that has the
314
"visibility" feature, it is used to hide internal library functions that are
315
not part of the public API.
316
- updated and versionned pcre-visibility.patch to svn trunk
317
* Modifications on configure.ac and makefile have been merged on upstream release
318
319
-------------------------------------------------------------------
320
Fri Nov 23 19:13:09 UTC 2012 - jengelh@inai.de
321
322
- Update package descriptions about the differences between the
323
PCRE library subpackages.
324
325
-------------------------------------------------------------------
326
Wed Nov 7 13:35:35 UTC 2012 - cgiboudeaux@gmx.com
327
328
- Use the --enable-pcre16 configure flag.
329
This switch enables 16 bit character support that will be required by Qt5
330
331
-------------------------------------------------------------------
332
Fri Aug 17 14:18:53 UTC 2012 - dimstar@opensuse.org
333
334
- Upate to version 8.31:
335
+ The JIT compiler now supports partial matching and the (*MARK)
336
and (*COMMIT) verbs
337
+ PCRE_INFO_MAXLOOKBEHIND can be used to find the longest
338
lookbehing in a pattern.
339
+ There should be a performance improvement when using the heap
340
instead of the stack for recursion
341
+ pcregrep can now be linked with libedit as an alternative to
342
libreadline
343
+ pcregrep now has a --file-list option where the list of files
344
to scan is given as a file
345
+ pcregrep now recognizes binary files and there are related
346
options
347
+ The Unicode tables have been updated to 6.1.0
348
- Rebase pcre-visibility.patch.
349
350
-------------------------------------------------------------------
351
Thu Jul 19 17:18:04 UTC 2012 - jengelh@inai.de
352
353
- Only use --enable-jit on supported architectures; the build will
354
otherwise fail (e.g. on sparc).
355
356
-------------------------------------------------------------------
357
Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de
358
359
- Add devel-static package
360
361
-------------------------------------------------------------------
362
Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org
363
364
- fix baselibs
365
366
-------------------------------------------------------------------
367
Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org
368
369
- Update to PCRE 8.30, upstream SONAME bump, libpcre1
370
- Drop no longer needed ppc patch.
371
- move library back to %{_libdir}
372
373
-------------------------------------------------------------------
374
Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com
375
376
- Fix cache-flush on PPC
377
378
-------------------------------------------------------------------
379
Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com
380
381
- add libtool as buildrequire to avoid implicit dependency
382
383
-------------------------------------------------------------------
384
Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org
385
386
- Update to version 8.20
387
* too many fixes to list here, see included ChangeLog
388
* replace pcre-visibility patch with the one I submitted to
389
upstream for inclusion.
390
391
-------------------------------------------------------------------
392
Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de
393
394
- udpate to 8.13:
395
* too many fixes to list here, see included ChangeLog
396
* the Unicode data tables have been updated to Unicode 6.0.0.
397
398
-------------------------------------------------------------------
399
Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com
400
401
- remove fragile _service
402
403
-------------------------------------------------------------------
404
Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com
405
406
- Update to version 8.12
407
408
* This release fixes some bugs in pcregrep, one of which caused the tests to fail
409
on 64-bit big-endian systems. There are no changes to the code of the library.
410
411
- Update to version 8.11
412
* A number of bugs in the library and in pcregrep have been fixed. As always, see
413
ChangeLog for details. The following are the non-bug-fix changes:
414
415
Added --match-limit and --recursion-limit to pcregrep.
416
417
Added an optional parentheses number to the -o and --only-matching options
418
of pcregrep.
419
420
Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and
421
\B.
422
423
Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a
424
bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD.
425
426
Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_
427
START_OPTIMIZE option, which is now allowed at compile time
428
429
-------------------------------------------------------------------
430
Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org
431
432
- Support GCC visibility, symbol clashes no more.
433
434
-------------------------------------------------------------------
435
Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org
436
437
- Update to version 8.10:
438
+ Major additions:
439
- support for (*MARK) and friends
440
- PCRE_UCP option, which changes the behaviour of \b, \d, \s,
441
and \w (and their opposites) so that they make use of Unicode
442
properties
443
+ Other additions:
444
- support for \N, which always matches any character other than
445
newline
446
- added --line-buffered to pcregrep
447
+ Several small new features and bugfixes
448
- Changes from version 8.02:
449
+ Update Unicode data tables to Unicode 5.2.0
450
+ Update the licensing terms in the pcregexp.pas file
451
+ Several bug fixes
452
- Changes from version 8.01:
453
+ Several bug fixes and build system improvements
454
- Changes from version 8.00:
455
+ Enhancements:
456
- remove restrictions on patterns used for partial matching
457
- give extra information for partial matches
458
- improve the partial matching process
459
- add option to make a partial match override a full match
460
- enhance "study" process by finding a lower bound matching
461
length
462
- groups with duplicate numbers may now have duplicated names
463
without the use of PCRE_DUPNAMES, but they may not have
464
different names
465
- add REG_UNGREEDY to the pcreposix interface, which maps to
466
PCRE_UNGREEDY.
467
+ Several bug fixes
468
- Drop pcre-7.9.patch: fixed upstream.
469
- Rearrange spec file to have all the %files sections together, as
470
well as all the scriptlets together.
471
- Kill the main package that only included doc files like AUTHORS,
472
NEWS, and license, and put those files in libpcre0: this really
473
makes more sense. Therefore, make libpcre0 Provides/Obsoletes
474
libpcre0.
475
- We can also remove the other dependencies on the main package,
476
since everything already depends on libpcre0.
477
- Remove AutoReqProv: it's default now.
478
- Remove references to perl 5.005 in descriptons: it's not
479
mentioned anywhere anymore upstream.
480
481
-------------------------------------------------------------------
482
Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de
483
484
- use %_smp_mflags
485
486
-------------------------------------------------------------------
487
Sat Apr 24 10:38:30 UTC 2010 - coolo@novell.com
488
489
- buildrequire pkg-config to fix provides
490
491
-------------------------------------------------------------------
492
Thu Feb 25 16:49:20 UTC 2010 - prusnak@suse.cz
493
494
- build noarch docs only for >= 11.2
495
496
-------------------------------------------------------------------
497
Wed Feb 10 16:16:56 CET 2010 - ms@suse.de
498
499
- fixed license statement according to the conversation
500
and permissions granted in (bnc #578724)
501
502
-------------------------------------------------------------------
503
Sat Dec 12 18:38:47 CET 2009 - jengelh@medozas.de
504
505
- add baselibs.conf as a source
506
- package documentation as noarch
507
508
-------------------------------------------------------------------
509
Wed Oct 7 12:51:05 UTC 2009 - coolo@novell.com
510
511
- add obsolete/provides for pcre-32bit (bnc#539543)
512
513
-------------------------------------------------------------------
514
Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com
515
516
- split package into tools, docs and libraries
517
518
-------------------------------------------------------------------
519
Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de
520
521
- disable static libraries, shouldn't be used now
522
523
-------------------------------------------------------------------
524
Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de
525
526
- fix symlinks to libpcre and libpcreposix to fix the build
527
528
-------------------------------------------------------------------
529
Wed May 27 18:03:13 CEST 2009 - ms@suse.de
530
531
- moved libpcre and libpcreposix to %{_lib} (bnc #507449)
532
533
-------------------------------------------------------------------
534
Tue May 5 14:24:17 CEST 2009 - ms@suse.de
535
536
- Release 7.9 11-Apr-09 (bnc #500734)
537
Mostly bugfixes and tidies with just a couple of minor
538
functional additions.
539
540
-------------------------------------------------------------------
541
Wed Jan 7 12:34:56 CET 2009 - olh@suse.de
542
543
- obsolete old -XXbit packages (bnc#437293)
544
545
-------------------------------------------------------------------
546
Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de
547
548
- update to PCRE 7.8
549
* More bug fixes, plus a performance improvement
550
in Unicode character property lookup.
551
see complete changelog at http://www.pcre.org/changelog.txt
552
553
554
-------------------------------------------------------------------
555
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
556
557
- added baselibs.conf file to build xxbit packages
558
for multilib support
559
560
-------------------------------------------------------------------
561
Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de
562
563
- update to version 7.6
564
- The main reason for having this release so soon after 7.5
565
is because it fixes a potential buffer overflow problem in pcre_compile()
566
when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date.
567
568
-------------------------------------------------------------------
569
Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de
570
571
- update version 7.5
572
1. Applied a patch from Craig: "This patch makes it possible to 'ignore'
573
values in parens when parsing an RE using the C++ wrapper."
574
575
2. Negative specials like \S did not work in character classes in UTF-8 mode.
576
Characters greater than 255 were excluded from the class instead of being
577
included.
578
579
3. The same bug as (2) above applied to negated POSIX classes such as
580
[:^space:].
581
582
4. PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it
583
defined or documented. It seems to have been a typo for PCRE_STATIC, so
584
I have changed it.
585
586
5. The construct (?&) was not diagnosed as a syntax error (it referenced the
587
first named subpattern) and a construct such as (?&a) would reference the
588
first named subpattern whose name started with "a" (in other words, the
589
length check was missing). Both these problems are fixed. "Subpattern name
590
expected" is now given for (?&) (a zero-length name), and this patch also
591
makes it give the same error for \k'' (previously it complained that that
592
was a reference to a non-existent subpattern).
593
594
6. The erroneous patterns (?+-a) and (?-+a) give different error messages;
595
this is right because (?- can be followed by option settings as well as by
596
digits. I have, however, made the messages clearer.
597
598
7. Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns
599
than the number used in the conditional) now cause a compile-time error.
600
This is actually not compatible with Perl, which accepts such patterns, but
601
treats the conditional as always being FALSE (as PCRE used to), but it
602
seems to me that giving a diagnostic is better.
603
604
8. Change "alphameric" to the more common word "alphanumeric" in comments
605
and messages.
606
607
9. Fix two occurrences of "backslash" in comments that should have been
608
"backspace".
609
610
10. Remove two redundant lines of code that can never be obeyed (their function
611
was moved elsewhere).
612
613
11. The program that makes PCRE's Unicode character property table had a bug
614
which caused it to generate incorrect table entries for sequences of
615
characters that have the same character type, but are in different scripts.
616
It amalgamated them into a single range, with the script of the first of
617
them. In other words, some characters were in the wrong script. There were
618
thirteen such cases, affecting characters in the following ranges:
619
620
U+002b0 - U+002c1
621
U+0060c - U+0060d
622
U+0061e - U+00612
623
U+0064b - U+0065e
624
U+0074d - U+0076d
625
U+01800 - U+01805
626
U+01d00 - U+01d77
627
U+01d9b - U+01dbf
628
U+0200b - U+0200f
629
U+030fc - U+030fe
630
U+03260 - U+0327f
631
U+0fb46 - U+0fbb1
632
U+10450 - U+1049d
633
634
12. The -o option (show only the matching part of a line) for pcregrep was not
635
compatible with GNU grep in that, if there was more than one match in a
636
line, it showed only the first of them. It now behaves in the same way as
637
GNU grep.
638
639
13. If the -o and -v options were combined for pcregrep, it printed a blank
640
line for every non-matching line. GNU grep prints nothing, and pcregrep now
641
does the same. The return code can be used to tell if there were any
642
non-matching lines.
643
644
14. Added --file-offsets and --line-offsets to pcregrep.
645
646
15. The pattern (?=something)(?R) was not being diagnosed as a potentially
647
infinitely looping recursion. The bug was that positive lookaheads were not
648
being skipped when checking for a possible empty match (negative lookaheads
649
and both kinds of lookbehind were skipped).
650
651
16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the
652
inclusion of <windows.h> to before rather than after the definition of
653
INVALID_FILE_ATTRIBUTES (patch from David Byron).
654
655
17. Specifying a possessive quantifier with a specific limit for a Unicode
656
character property caused pcre_compile() to compile bad code, which led at
657
runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this
658
are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that
659
caused the error; without that there was no problem.
660
661
18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2.
662
663
19. Added --enable-pcretest-libreadline.
664
665
20. In pcrecpp.cc, the variable 'count' was incremented twice in
666
RE::GlobalReplace(). As a result, the number of replacements returned was
667
double what it should be. I removed one of the increments, but Craig sent a
668
later patch that removed the other one (the right fix) and added unit tests
669
that check the return values (which was not done before).
670
671
21. Several CMake things:
672
673
(1) Arranged that, when cmake is used on Unix, the libraries end up with
674
the names libpcre and libpcreposix, not just pcre and pcreposix.
675
676
(2) The above change means that pcretest and pcregrep are now correctly
677
linked with the newly-built libraries, not previously installed ones.
678
679
(3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2.
680
681
22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.*
682
crashed when matching a string such as a\x{2029}b (note that \x{2029} is a
683
UTF-8 newline character). The key issue is that the pattern starts .*;
684
this means that the match must be either at the beginning, or after a
685
newline. The bug was in the code for advancing after a failed match and
686
checking that the new position followed a newline. It was not taking
687
account of UTF-8 characters correctly.
688
689
23. PCRE was behaving differently from Perl in the way it recognized POSIX
690
character classes. PCRE was not treating the sequence [:...:] as a
691
character class unless the ... were all letters. Perl, however, seems to
692
allow any characters between [: and :], though of course it rejects as
693
unknown any "names" that contain non-letters, because all the known class
694
names consist only of letters. Thus, Perl gives an error for [[:1234:]],
695
for example, whereas PCRE did not - it did not recognize a POSIX character
696
class. This seemed a bit dangerous, so the code has been changed to be
697
closer to Perl. The behaviour is not identical to Perl, because PCRE will
698
diagnose an unknown class for, for example, [[:l\ower:]] where Perl will
699
treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where
700
Perl does, and where it didn't before.
701
702
24. Rewrite so as to remove the single use of %n from pcregrep because in some
703
Windows environments %n is disabled by default.
704
705
-------------------------------------------------------------------
706
Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de
707
708
- update to version 7.4, since version 7.2, more than 40 bugs were fixed
709
including multiple vulnerabilities [#325921] . The list of changes is too long
710
to mention here, see changelog.txt for details.
711
712
-------------------------------------------------------------------
713
Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de
714
715
- added fix to run ldconfig for libpcre*, Thanks to
716
Cristian Rodriguez <crrodriguez@novell.com> who provided
717
the patch (#298291)
718
719
-------------------------------------------------------------------
720
Mon Jul 23 15:22:40 CEST 2007 - ms@suse.de
721
722
- update to version 7.2, fixes bug: (#293752)
723
- Changes from 7.1 to 7.2
724
725
1. If the fr_FR locale cannot be found for test 3, try the "french" locale,
726
which is apparently normally available under Windows.
727
728
2. Re-jig the pcregrep tests with different newline settings in an attempt
729
to make them independent of the local environment's newline setting.
730
731
3. Add code to configure.ac to remove -g from the CFLAGS default settings.
732
733
4. Some of the "internals" tests were previously cut out when the link size
734
was not 2, because the output contained actual offsets. The recent new
735
"Z" feature of pcretest means that these can be cut out, making the tests
736
usable with all link sizes.
737
738
5. Implemented Stan Switzer's goto replacement for longjmp() when not using
739
stack recursion. This gives a massive performance boost under BSD, but just
740
a small improvement under Linux. However, it saves one field in the frame
741
in all cases.
742
743
6. Added more features from the forthcoming Perl 5.10:
744
745
(a) (?-n) (where n is a string of digits) is a relative subroutine or
746
recursion call. It refers to the nth most recently opened parentheses.
747
748
(b) (?+n) is also a relative subroutine call; it refers to the nth next
749
to be opened parentheses.
750
751
(c) Conditions that refer to capturing parentheses can be specified
752
relatively, for example, (?(-2)... or (?(+3)...
753
754
(d) \K resets the start of the current match so that everything before
755
is not part of it.
756
757
(e) \k{name} is synonymous with \k<name> and \k'name' (.NET compatible).
758
759
(f) \g{name} is another synonym - part of Perl 5.10's unification of
760
reference syntax.
761
762
(g) (?| introduces a group in which the numbering of parentheses in each
763
alternative starts with the same number.
764
765
(h) \h, \H, \v, and \V match horizontal and vertical whitespace.
766
767
7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and
768
PCRE_INFO_JCHANGED.
769
770
8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not
771
terminating or by crashing. Diagnosed by Viktor Griph; it was in the code
772
for detecting groups that can match an empty string.
773
774
9. A pattern with a very large number of alternatives (more than several
775
hundred) was running out of internal workspace during the pre-compile
776
phase, where pcre_compile() figures out how much memory will be needed. A
777
bit of new cunning has reduced the workspace needed for groups with
778
alternatives. The 1000-alternative test pattern now uses 12 bytes of
779
workspace instead of running out of the 4096 that are available.
780
781
10. Inserted some missing (unsigned int) casts to get rid of compiler warnings.
782
783
11. Applied patch from Google to remove an optimization that didn't quite work.
784
The report of the bug said:
785
786
pcrecpp::RE("a*").FullMatch("aaa") matches, while
787
pcrecpp::RE("a*?").FullMatch("aaa") does not, and
788
pcrecpp::RE("a*?\\z").FullMatch("aaa") does again.
789
790
12. If \p or \P was used in non-UTF-8 mode on a character greater than 127
791
it matched the wrong number of bytes.
792
793
-------------------------------------------------------------------
794
Tue May 1 11:02:54 CEST 2007 - ms@suse.de
795
796
- added --enable-unicode-properties configure option to support
797
UTF-8 character strings in \P, \p, and \X (#269749)
798
799
-------------------------------------------------------------------
800
Mon Apr 30 10:12:10 CEST 2007 - trenn@suse.de
801
802
- corrected assert compile error
803
804
-------------------------------------------------------------------
805
Wed Apr 25 13:39:55 CEST 2007 - ms@suse.de
806
807
- update to pcre 7.1
808
809
1. Applied Bob Rossi and Daniel G's patches to convert the build system to one
810
that is more "standard", making use of automake and other Autotools. There
811
is some re-arrangement of the files and adjustment of comments consequent
812
on this.
813
814
2. Part of the patch fixed a problem with the pcregrep tests. The test of -r
815
for recursive directory scanning broke on some systems because the files
816
are not scanned in any specific order and on different systems the order
817
was different. A call to "sort" has been inserted into RunGrepTest for the
818
approprate test as a short-term fix. In the longer term there may be an
819
alternative.
820
821
3. I had an email from Eric Raymond about problems translating some of PCRE's
822
man pages to HTML (despite the fact that I distribute HTML pages, some
823
people do their own conversions for various reasons). The problems
824
concerned the use of low-level troff macros .br and .in. I have therefore
825
removed all such uses from the man pages (some were redundant, some could
826
be replaced by .nf/.fi pairs). The 132html script that I use to generate
827
HTML has been updated to handle .nf/.fi and to complain if it encounters
828
.br or .in.
829
830
4. Updated comments in configure.ac that get placed in config.h.in and also
831
arranged for config.h to be included in the distribution, with the name
832
config.h.generic, for the benefit of those who have to compile without
833
Autotools (compare pcre.h, which is now distributed as pcre.h.generic).
834
835
5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan
836
Weber: (1) pcre_internal.h was missing some function renames; (2) updated
837
makevp.bat for the current PCRE, using the additional files
838
makevp_c.txt, makevp_l.txt, and pcregexp.pas.
839
840
6. A Windows user reported a minor discrepancy with test 2, which turned out
841
to be caused by a trailing space on an input line that had got lost in his
842
copy. The trailing space was an accident, so I've just removed it.
843
844
7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told
845
that is needed.
846
847
8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c)
848
as "const" (a) because they are and (b) because it helps the PHP
849
maintainers who have recently made a script to detect big data structures
850
in the php code that should be moved to the .rodata section. I remembered
851
to update Builducptable as well, so it won't revert if ucptable.h is ever
852
re-created.
853
854
9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c,
855
pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in
856
order to be able to cut out the UTF-8 tables in the latter when UTF-8
857
support is not required. This saves 1.5-2K of code, which is important in
858
some applications.
859
860
Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c
861
so as not to refer to the tables, even though these functions will never be
862
called when UTF-8 support is disabled. Otherwise there are problems with a
863
shared library.
864
865
10. Fixed two bugs in the emulated memmove() function in pcre_internal.h:
866
867
(a) It was defining its arguments as char * instead of void *.
868
869
(b) It was assuming that all moves were upwards in memory; this was true
870
a long time ago when I wrote it, but is no longer the case.
871
872
The emulated memove() is provided for those environments that have neither
873
memmove() nor bcopy(). I didn't think anyone used it these days, but that
874
is clearly not the case, as these two bugs were recently reported.
875
876
11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt,
877
and Detrail to create the HTML documentation, the .txt form of the man
878
pages, and it removes trailing spaces from listed files. It also creates
879
pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter
880
case, it wraps all the #defines with #ifndefs. This script should be run
881
before "make dist".
882
883
12. Fixed two fairly obscure bugs concerned with quantified caseless matching
884
with Unicode property support.
885
886
(a) For a maximizing quantifier, if the two different cases of the
887
character were of different lengths in their UTF-8 codings (there are
888
some cases like this - I found 11), and the matching function had to
889
back up over a mixture of the two cases, it incorrectly assumed they
890
were both the same length.
891
892
(b) When PCRE was configured to use the heap rather than the stack for
893
recursion during matching, it was not correctly preserving the data for
894
the other case of a UTF-8 character when checking ahead for a match
895
while processing a minimizing repeat. If the check also involved
896
matching a wide character, but failed, corruption could cause an
897
erroneous result when trying to check for a repeat of the original
898
character.
899
900
13. Some tidying changes to the testing mechanism:
901
902
(a) The RunTest script now detects the internal link size and whether there
903
is UTF-8 and UCP support by running ./pcretest -C instead of relying on
904
values substituted by "configure". (The RunGrepTest script already did
905
this for UTF-8.) The configure.ac script no longer substitutes the
906
relevant variables.
907
908
(b) The debugging options /B and /D in pcretest show the compiled bytecode
909
with length and offset values. This means that the output is different
910
for different internal link sizes. Test 2 is skipped for link sizes
911
other than 2 because of this, bypassing the problem. Unfortunately,
912
there was also a test in test 3 (the locale tests) that used /B and
913
failed for link sizes other than 2. Rather than cut the whole test out,
914
I have added a new /Z option to pcretest that replaces the length and
915
offset values with spaces. This is now used to make test 3 independent
916
of link size. (Test 2 will be tidied up later.)
917
918
14. If erroroffset was passed as NULL to pcre_compile, it provoked a
919
segmentation fault instead of returning the appropriate error message.
920
921
15. In multiline mode when the newline sequence was set to "any", the pattern
922
^$ would give a match between the \r and \n of a subject such as "A\r\nB".
923
This doesn't seem right; it now treats the CRLF combination as the line
924
ending, and so does not match in that case. It's only a pattern such as ^$
925
that would hit this one: something like ^ABC$ would have failed after \r
926
and then tried again after \r\n.
927
928
16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub"
929
in an attempt to make files that differ only in their line terminators
930
compare equal. This works on Linux.
931
932
17. Under certain error circumstances pcregrep might try to free random memory
933
as it exited. This is now fixed, thanks to valgrind.
934
935
19. In pcretest, if the pattern /(?m)^$/g<any> was matched against the string
936
"abc\r\n\r\n", it found an unwanted second match after the second \r. This
937
was because its rules for how to advance for /g after matching an empty
938
string at the end of a line did not allow for this case. They now check for
939
it specially.
940
941
20. pcretest is supposed to handle patterns and data of any length, by
942
extending its buffers when necessary. It was getting this wrong when the
943
buffer for a data line had to be extended.
944
945
21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or
946
CRLF as a newline sequence.
947
948
22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut
949
out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but
950
I have nevertheless tidied it up.
951
952
23. Added some casts to kill warnings from HP-UX ia64 compiler.
953
954
24. Added a man page for pcre-config.
955
956
-------------------------------------------------------------------
957
Fri Feb 9 10:07:29 CET 2007 - ms@suse.de
958
959
- fixed wrong usage of assert() call
960
961
-------------------------------------------------------------------
962
Tue Jan 9 11:28:53 CET 2007 - ms@suse.de
963
964
- fixed build for all architectures
965
966
-------------------------------------------------------------------
967
Mon Jan 8 16:07:02 CET 2007 - ms@suse.de
968
969
- update to new version 7.0
970
Changes: As well as a number of bugfixes, there has been a major
971
refactoring of the compiling code, which makes it easier to add new
972
features, including some new optimizations. A QuoteMeta function has been
973
added to the C++ wrapper. There is now a mode in which all Unicode newline
974
sequences are recognized. Support for the Perl 5.10 syntax for features
975
that were previously in PCRE but not in Perl (named groups, possessive
976
quantifiers) has been added.
977
978
-------------------------------------------------------------------
979
Sat Oct 28 17:50:04 CEST 2006 - meissner@suse.de
980
981
- CXXFLAGS needs RPM_OPT_FLAGS too.
982
983
-------------------------------------------------------------------
984
Mon Jul 10 16:29:14 CEST 2006 - ms@suse.de
985
986
- update to new version 6.7
987
- finally removed evil configure patch
988
- When UTF-8 mode was not set, PCRE looped when compiling certain patterns
989
containing an extended class (one that cannot be represented by a bitmap
990
because it contains high-valued characters or Unicode property items, e.g.
991
[\pZ]). Almost always one would set UTF-8 mode when processing such a
992
pattern, but PCRE should not loop if you do not (it no longer does).
993
[Detail: two cases were found: (a) a repeated subpattern containing an
994
extended class; (b) a recursive reference to a subpattern that followed a
995
previous extended class. It wasn't skipping over the extended class
996
correctly when UTF-8 mode was not set.]
997
- Applied a patch from the folks at Google to pcrecpp.cc, to fix "another
998
instance of the 'standard' template library not being so standard".
999
1000
-------------------------------------------------------------------
1001
Wed Jan 25 21:30:47 CET 2006 - mls@suse.de
1002
1003
- converted neededforbuild to BuildRequires
1004
1005
-------------------------------------------------------------------
1006
Thu Jan 12 13:53:17 CET 2006 - mmj@suse.de
1007
1008
- build with -fstack-protector
1009
1010
-------------------------------------------------------------------
1011
Thu Dec 1 01:39:04 CET 2005 - ro@suse.de
1012
1013
- hack libtool core in configure script
1014
since configure.in is too broken for a autoreconf ...
1015
1016
-------------------------------------------------------------------
1017
Mon Sep 19 17:53:52 CEST 2005 - mmj@suse.de
1018
1019
- update to the latest version v6.4
1020
1021
-------------------------------------------------------------------
1022
Tue Aug 2 11:19:20 CEST 2005 - mmj@suse.de
1023
1024
- update to the latest version v6.2
1025
1026
-------------------------------------------------------------------
1027
Thu Jun 23 13:18:50 CEST 2005 - mmj@suse.de
1028
1029
- update to latest version v6.1
1030
1031
-------------------------------------------------------------------
1032
Mon Jun 13 08:51:51 CEST 2005 - mmj@suse.de
1033
1034
- add gcc-c++ to #nfb as well
1035
1036
-------------------------------------------------------------------
1037
Wed Jun 8 23:41:35 CEST 2005 - mmj@suse.de
1038
1039
- update to latest version v6.0
1040
1041
-------------------------------------------------------------------
1042
Mon May 23 11:17:20 CEST 2005 - mmj@suse.de
1043
1044
- use --enable-utf8
1045
- use $RPM_OPT_FLAGS
1046
1047
-------------------------------------------------------------------
1048
Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de
1049
1050
- ignore test suite errors on ARM
1051
1052
-------------------------------------------------------------------
1053
Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de
1054
1055
- update to latest version v5.0
1056
1057
-------------------------------------------------------------------
1058
Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de
1059
1060
- update to latest version v4.5
1061
1062
-------------------------------------------------------------------
1063
Mon Jan 5 15:39:13 CET 2004 - schwab@suse.de
1064
1065
- Move pcre-config to pcre-devel.
1066
1067
-------------------------------------------------------------------
1068
Fri Oct 31 17:05:26 CET 2003 - choeger@suse.de
1069
1070
- Don't build as root
1071
1072
-------------------------------------------------------------------
1073
Thu Aug 21 15:22:38 CEST 2003 - choeger@suse.de
1074
1075
- update to v4.4
1076
1077
-------------------------------------------------------------------
1078
Fri Aug 1 12:07:27 CEST 2003 - choeger@suse.de
1079
1080
- disabled Test2, because it is not 64bit arch clean
1081
(contacted author, he knows about that problem)
1082
1083
-------------------------------------------------------------------
1084
Wed Jul 30 14:56:52 CEST 2003 - choeger@suse.de
1085
1086
- update to most recent version v4.3
1087
- splitted into -devel subpackage
1088
1089
-------------------------------------------------------------------
1090
Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de
1091
1092
- removed undefined symbols in libpcreposix
1093
1094
-------------------------------------------------------------------
1095
Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de
1096
1097
- removed bogus self-provides
1098
1099
-------------------------------------------------------------------
1100
Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de
1101
1102
- fixing autoheader usage
1103
- forward ported %libdir changes from sles7-s390x
1104
1105
-------------------------------------------------------------------
1106
Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de
1107
1108
- update to version 3.9
1109
- added BuildRoot
1110
1111
-------------------------------------------------------------------
1112
Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de
1113
1114
- pcre 3.5
1115
1116
-------------------------------------------------------------------
1117
Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de
1118
1119
- suse_update_config
1120
1121
-------------------------------------------------------------------
1122
Mon Dec 4 12:08:52 MET 2000 - mge@suse.de
1123
1124
- pcre 3.4
1125
1126
-------------------------------------------------------------------
1127
Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de
1128
1129
- pcre 3.2
1130
1131
-------------------------------------------------------------------
1132
Thu Mar 2 12:22:48 CET 2000 - mge@suse.de
1133
1134
- fixed manpath
1135
1136
-------------------------------------------------------------------
1137
Sun Feb 13 16:54:53 MET 2000 - mge@suse.de
1138
1139
- update to 3.1
1140
- group tag
1141
1142
-------------------------------------------------------------------
1143
Mon Oct 25 23:38:47 MEST 1999 - mge@suse.de
1144
1145
- initial SuSE-RPM: changed Makefile to install into /usr
1146
1147