Skip to content

Commit 23cb7bd

Browse files
committed
pcre upgraded to 8.34
1 parent e79b54c commit 23cb7bd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+22214
-5849
lines changed

ext/pcre/pcrelib/AUTHORS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Email domain: cam.ac.uk
88
University of Cambridge Computing Service,
99
Cambridge, England.
1010

11-
Copyright (c) 1997-2012 University of Cambridge
11+
Copyright (c) 1997-2013 University of Cambridge
1212
All rights reserved
1313

1414

@@ -19,7 +19,7 @@ Written by: Zoltan Herczeg
1919
Email local part: hzmester
2020
Emain domain: freemail.hu
2121

22-
Copyright(c) 2010-2012 Zoltan Herczeg
22+
Copyright(c) 2010-2013 Zoltan Herczeg
2323
All rights reserved.
2424

2525

@@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
3030
Email local part: hzmester
3131
Emain domain: freemail.hu
3232

33-
Copyright(c) 2009-2012 Zoltan Herczeg
33+
Copyright(c) 2009-2013 Zoltan Herczeg
3434
All rights reserved.
3535

3636

ext/pcre/pcrelib/ChangeLog

Lines changed: 377 additions & 1 deletion
Large diffs are not rendered by default.

ext/pcre/pcrelib/HACKING

Lines changed: 162 additions & 107 deletions
Large diffs are not rendered by default.

ext/pcre/pcrelib/LICENCE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Email domain: cam.ac.uk
2424
University of Cambridge Computing Service,
2525
Cambridge, England.
2626

27-
Copyright (c) 1997-2012 University of Cambridge
27+
Copyright (c) 1997-2013 University of Cambridge
2828
All rights reserved.
2929

3030

@@ -35,7 +35,7 @@ Written by: Zoltan Herczeg
3535
Email local part: hzmester
3636
Emain domain: freemail.hu
3737

38-
Copyright(c) 2010-2012 Zoltan Herczeg
38+
Copyright(c) 2010-2013 Zoltan Herczeg
3939
All rights reserved.
4040

4141

@@ -46,7 +46,7 @@ Written by: Zoltan Herczeg
4646
Email local part: hzmester
4747
Emain domain: freemail.hu
4848

49-
Copyright(c) 2009-2012 Zoltan Herczeg
49+
Copyright(c) 2009-2013 Zoltan Herczeg
5050
All rights reserved.
5151

5252

ext/pcre/pcrelib/NEWS

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,77 @@
11
News about PCRE releases
22
------------------------
33

4+
Release 8.34 15-December-2013
5+
-----------------------------
6+
7+
As well as fixing the inevitable bugs, performance has been improved by
8+
refactoring and extending the amount of "auto-possessification" that PCRE does.
9+
Other notable changes:
10+
11+
. Implemented PCRE_INFO_MATCH_EMPTY, which yields 1 if the pattern can match
12+
an empty string. If it can, pcretest shows this in its information output.
13+
14+
. A back reference to a named subpattern when there is more than one of the
15+
same name now checks them in the order in which they appear in the pattern.
16+
The first one that is set is used for the reference. Previously only the
17+
first one was inspected. This change makes PCRE more compatible with Perl.
18+
19+
. Unicode character properties were updated from Unicode 6.3.0.
20+
21+
. The character VT has been added to the set of characters that match \s and
22+
are generally treated as white space, following this same change in Perl
23+
5.18. There is now no difference between "Perl space" and "POSIX space".
24+
25+
. Perl has changed its handling of \8 and \9. If there is no previously
26+
encountered capturing group of those numbers, they are treated as the
27+
literal characters 8 and 9 instead of a binary zero followed by the
28+
literals. PCRE now does the same.
29+
30+
. Following Perl, added \o{} to specify codepoints in octal, making it
31+
possible to specify values greater than 0777 and also making them
32+
unambiguous.
33+
34+
. In UCP mode, \s was not matching two of the characters that Perl matches,
35+
namely NEL (U+0085) and MONGOLIAN VOWEL SEPARATOR (U+180E), though they
36+
were matched by \h.
37+
38+
. Add JIT support for the 64 bit TileGX architecture.
39+
40+
. Upgraded the handling of the POSIX classes [:graph:], [:print:], and
41+
[:punct:] when PCRE_UCP is set so as to include the same characters as Perl
42+
does in Unicode mode.
43+
44+
. Perl no longer allows group names to start with digits, so I have made this
45+
change also in PCRE.
46+
47+
. Added support for [[:<:]] and [[:>:]] as used in the BSD POSIX library to
48+
mean "start of word" and "end of word", respectively, as a transition aid.
49+
50+
51+
Release 8.33 28-May-2013
52+
--------------------------
53+
54+
A number of bugs are fixed, and some performance improvements have been made.
55+
There are also some new features, of which these are the most important:
56+
57+
. The behaviour of the backtracking verbs has been rationalized and
58+
documented in more detail.
59+
60+
. JIT now supports callouts and all of the backtracking verbs.
61+
62+
. Unicode validation has been updated in the light of Unicode Corrigendum #9,
63+
which points out that "non characters" are not "characters that may not
64+
appear in Unicode strings" but rather "characters that are reserved for
65+
internal use and have only local meaning".
66+
67+
. (*LIMIT_MATCH=d) and (*LIMIT_RECURSION=d) have been added so that the
68+
creator of a pattern can specify lower (but not higher) limits for the
69+
matching process.
70+
71+
. The PCRE_NEVER_UTF option is available to prevent pattern-writers from using
72+
the (*UTF) feature, as this could be a security issue.
73+
74+
475
Release 8.32 30-November-2012
576
-----------------------------
677

ext/pcre/pcrelib/README

Lines changed: 84 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ from:
99
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.zip
1010

1111
There is a mailing list for discussion about the development of PCRE at
12+
pcre-dev@exim.org. You can access the archives and subscribe or manage your
13+
subscription here:
1214

13-
pcre-dev@exim.org
15+
https://lists.exim.org/mailman/listinfo/pcre-dev
1416

1517
Please read the NEWS file if you are upgrading from a previous release.
1618
The contents of this README file are:
@@ -25,6 +27,8 @@ The contents of this README file are:
2527
Shared libraries
2628
Cross-compiling using autotools
2729
Using HP's ANSI C++ compiler (aCC)
30+
Compiling in Tru64 using native compilers
31+
Using Sun's compilers for Solaris
2832
Using PCRE from MySQL
2933
Making new tarballs
3034
Testing PCRE
@@ -35,10 +39,10 @@ The contents of this README file are:
3539
The PCRE APIs
3640
-------------
3741

38-
PCRE is written in C, and it has its own API. There are three sets of functions,
39-
one for the 8-bit library, which processes strings of bytes, one for the
40-
16-bit library, which processes strings of 16-bit values, and one for the 32-bit
41-
library, which processes strings of 32-bit values. The distribution also
42+
PCRE is written in C, and it has its own API. There are three sets of
43+
functions, one for the 8-bit library, which processes strings of bytes, one for
44+
the 16-bit library, which processes strings of 16-bit values, and one for the
45+
32-bit library, which processes strings of 32-bit values. The distribution also
4246
includes a set of C++ wrapper functions (see the pcrecpp man page for details),
4347
courtesy of Google Inc., which can be used to call the 8-bit PCRE library from
4448
C++.
@@ -110,6 +114,11 @@ contributions provided support for compiling PCRE on various flavours of
110114
Windows (I myself do not use Windows). Nowadays there is more Windows support
111115
in the standard distribution, so these contibutions have been archived.
112116

117+
A PCRE user maintains downloadable Windows binaries of the pcregrep and
118+
pcretest programs here:
119+
120+
http://www.rexegg.com/pcregrep-pcretest.html
121+
113122

114123
Building PCRE on non-Unix-like systems
115124
--------------------------------------
@@ -260,9 +269,17 @@ library. They are also documented in the pcrebuild man page.
260269

261270
on the "configure" command.
262271

263-
. PCRE has a counter that can be set to limit the amount of resources it uses.
264-
If the limit is exceeded during a match, the match fails. The default is ten
265-
million. You can change the default by setting, for example,
272+
. PCRE has a counter that limits the depth of nesting of parentheses in a
273+
pattern. This limits the amount of system stack that a pattern uses when it
274+
is compiled. The default is 250, but you can change it by setting, for
275+
example,
276+
277+
--with-parens-nest-limit=500
278+
279+
. PCRE has a counter that can be set to limit the amount of resources it uses
280+
when matching a pattern. If the limit is exceeded during a match, the match
281+
fails. The default is ten million. You can change the default by setting, for
282+
example,
266283

267284
--with-match-limit=500000
268285

@@ -342,7 +359,8 @@ library. They are also documented in the pcrebuild man page.
342359
report is generated by running "make coverage". If ccache is installed on
343360
your system, it must be disabled when building PCRE for coverage reporting.
344361
You can do this by setting the environment variable CCACHE_DISABLE=1 before
345-
running "make" to build PCRE.
362+
running "make" to build PCRE. There is more information about coverage
363+
reporting in the "pcrebuild" documentation.
346364

347365
. The pcregrep program currently supports only 8-bit data files, and so
348366
requires the 8-bit PCRE library. It is possible to compile pcregrep to use
@@ -575,6 +593,27 @@ running the "configure" script:
575593
CXXLDFLAGS="-lstd_v2 -lCsup_v2"
576594

577595

596+
Compiling in Tru64 using native compilers
597+
-----------------------------------------
598+
599+
The following error may occur when compiling with native compilers in the Tru64
600+
operating system:
601+
602+
CXX libpcrecpp_la-pcrecpp.lo
603+
cxx: Error: /usr/lib/cmplrs/cxx/V7.1-006/include/cxx/iosfwd, line 58: #error
604+
directive: "cannot include iosfwd -- define __USE_STD_IOSTREAM to
605+
override default - see section 7.1.2 of the C++ Using Guide"
606+
#error "cannot include iosfwd -- define __USE_STD_IOSTREAM to override default
607+
- see section 7.1.2 of the C++ Using Guide"
608+
609+
This may be followed by other errors, complaining that 'namespace "std" has no
610+
member'. The solution to this is to add the line
611+
612+
#define __USE_STD_IOSTREAM 1
613+
614+
to the config.h file.
615+
616+
578617
Using Sun's compilers for Solaris
579618
---------------------------------
580619

@@ -624,27 +663,40 @@ NON-AUTOTOOLS-BUILD.
624663
The RunTest script runs the pcretest test program (which is documented in its
625664
own man page) on each of the relevant testinput files in the testdata
626665
directory, and compares the output with the contents of the corresponding
627-
testoutput files. Some tests are relevant only when certain build-time options
628-
were selected. For example, the tests for UTF-8/16/32 support are run only if
629-
--enable-utf was used. RunTest outputs a comment when it skips a test.
666+
testoutput files. RunTest uses a file called testtry to hold the main output
667+
from pcretest. Other files whose names begin with "test" are used as working
668+
files in some tests.
669+
670+
Some tests are relevant only when certain build-time options were selected. For
671+
example, the tests for UTF-8/16/32 support are run only if --enable-utf was
672+
used. RunTest outputs a comment when it skips a test.
630673

631674
Many of the tests that are not skipped are run up to three times. The second
632675
run forces pcre_study() to be called for all patterns except for a few in some
633676
tests that are marked "never study" (see the pcretest program for how this is
634677
done). If JIT support is available, the non-DFA tests are run a third time,
635678
this time with a forced pcre_study() with the PCRE_STUDY_JIT_COMPILE option.
679+
This testing can be suppressed by putting "nojit" on the RunTest command line.
636680

637681
The entire set of tests is run once for each of the 8-bit, 16-bit and 32-bit
638682
libraries that are enabled. If you want to run just one set of tests, call
639683
RunTest with either the -8, -16 or -32 option.
640684

641-
RunTest uses a file called testtry to hold the main output from pcretest.
642-
Other files whose names begin with "test" are used as working files in some
643-
tests. To run pcretest on just one or more specific test files, give their
644-
numbers as arguments to RunTest, for example:
685+
If valgrind is installed, you can run the tests under it by putting "valgrind"
686+
on the RunTest command line. To run pcretest on just one or more specific test
687+
files, give their numbers as arguments to RunTest, for example:
645688

646689
RunTest 2 7 11
647690

691+
You can also specify ranges of tests such as 3-6 or 3- (meaning 3 to the
692+
end), or a number preceded by ~ to exclude a test. For example:
693+
694+
Runtest 3-15 ~10
695+
696+
This runs tests 3 to 15, excluding test 10, and just ~13 runs all the tests
697+
except test 13. Whatever order the arguments are in, the tests are always run
698+
in numerical order.
699+
648700
You can also call RunTest with the single argument "list" to cause it to output
649701
a list of tests.
650702

@@ -704,21 +756,24 @@ test is run only when JIT support is not available. They test some JIT-specific
704756
features such as information output from pcretest about JIT compilation.
705757

706758
The fourteenth, fifteenth, and sixteenth tests are run only in 8-bit mode, and
707-
the seventeenth, eighteenth, and nineteenth tests are run only in 16/32-bit mode.
708-
These are tests that generate different output in the two modes. They are for
709-
general cases, UTF-8/16/32 support, and Unicode property support, respectively.
759+
the seventeenth, eighteenth, and nineteenth tests are run only in 16/32-bit
760+
mode. These are tests that generate different output in the two modes. They are
761+
for general cases, UTF-8/16/32 support, and Unicode property support,
762+
respectively.
710763

711764
The twentieth test is run only in 16/32-bit mode. It tests some specific
712765
16/32-bit features of the DFA matching engine.
713766

714-
The twenty-first and twenty-second tests are run only in 16/32-bit mode, when the
715-
link size is set to 2 for the 16-bit library. They test reloading pre-compiled patterns.
767+
The twenty-first and twenty-second tests are run only in 16/32-bit mode, when
768+
the link size is set to 2 for the 16-bit library. They test reloading
769+
pre-compiled patterns.
770+
771+
The twenty-third and twenty-fourth tests are run only in 16-bit mode. They are
772+
for general cases, and UTF-16 support, respectively.
716773

717-
The twenty-third and twenty-fourth tests are run only in 16-bit mode. They are for
718-
general cases, and UTF-16 support, respectively.
774+
The twenty-fifth and twenty-sixth tests are run only in 32-bit mode. They are
775+
for general cases, and UTF-32 support, respectively.
719776

720-
The twenty-fifth and twenty-sixth tests are run only in 32-bit mode. They are for
721-
general cases, and UTF-32 support, respectively.
722777

723778
Character tables
724779
----------------
@@ -784,11 +839,11 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
784839
(A) Source files of the PCRE library functions and their headers:
785840

786841
dftables.c auxiliary program for building pcre_chartables.c
787-
when --enable-rebuild-chartables is specified
842+
when --enable-rebuild-chartables is specified
788843

789844
pcre_chartables.c.dist a default set of character tables that assume ASCII
790-
coding; used, unless --enable-rebuild-chartables is
791-
specified, by copying to pcre[16]_chartables.c
845+
coding; used, unless --enable-rebuild-chartables is
846+
specified, by copying to pcre[16]_chartables.c
792847

793848
pcreposix.c )
794849
pcre[16|32]_byte_order.c )
@@ -932,4 +987,4 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
932987
Philip Hazel
933988
Email local part: ph10
934989
Email domain: cam.ac.uk
935-
Last updated: 27 October 2012
990+
Last updated: 05 November 2013

ext/pcre/pcrelib/config.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,8 @@ them both to 0; an emulation function will be used. */
302302
*/
303303
/* #undef NO_RECURSE */
304304

305+
#define PARENS_NEST_LIMIT 250
306+
305307
/* Name of package */
306308
#define PACKAGE "pcre"
307309

@@ -430,7 +432,7 @@ them both to 0; an emulation function will be used. */
430432

431433
/* Version number of package */
432434
#ifndef VERSION
433-
#define VERSION "8.32"
435+
#define VERSION "8.34"
434436
#endif
435437

436438
/* Define to empty if `const' does not conform to ANSI C. */

0 commit comments

Comments
 (0)