Author: rjung Date: Sun Jan 17 17:23:28 2016 New Revision: 1725105 URL: http://svn.apache.org/viewvc?rev=1725105&view=rev Log: Update PCRE bundled with IIS to version 8.38.
Modified: tomcat/jk/trunk/native/iis/pcre/132html tomcat/jk/trunk/native/iis/pcre/ChangeLog tomcat/jk/trunk/native/iis/pcre/NEWS tomcat/jk/trunk/native/iis/pcre/NON-AUTOTOOLS-BUILD tomcat/jk/trunk/native/iis/pcre/RunGrepTest tomcat/jk/trunk/native/iis/pcre/aclocal.m4 tomcat/jk/trunk/native/iis/pcre/config.h.generic tomcat/jk/trunk/native/iis/pcre/config.hw tomcat/jk/trunk/native/iis/pcre/configure.ac tomcat/jk/trunk/native/iis/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt tomcat/jk/trunk/native/iis/pcre/doc/html/pcrepattern.html tomcat/jk/trunk/native/iis/pcre/doc/pcre.txt tomcat/jk/trunk/native/iis/pcre/doc/pcrepattern.3 tomcat/jk/trunk/native/iis/pcre/pcre.h.generic tomcat/jk/trunk/native/iis/pcre/pcre_compile.c tomcat/jk/trunk/native/iis/pcre/pcre_exec.c tomcat/jk/trunk/native/iis/pcre/pcre_internal.h tomcat/jk/trunk/native/iis/pcre/pcre_jit_compile.c tomcat/jk/trunk/native/iis/pcre/pcre_jit_test.c tomcat/jk/trunk/native/iis/pcre/pcre_study.c tomcat/jk/trunk/native/iis/pcre/pcre_xclass.c tomcat/jk/trunk/native/iis/pcre/pcregrep.c tomcat/jk/trunk/native/iis/pcre/pcretest.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitConfig.h tomcat/jk/trunk/native/iis/pcre/sljit/sljitConfigInternal.h tomcat/jk/trunk/native/iis/pcre/sljit/sljitLir.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitLir.h tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeARM_32.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeARM_64.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeARM_T2_32.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeMIPS_common.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativePPC_common.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeSPARC_common.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeTILEGX_64.c tomcat/jk/trunk/native/iis/pcre/sljit/sljitNativeX86_common.c tomcat/jk/trunk/native/iis/pcre/testdata/grepoutput tomcat/jk/trunk/native/iis/pcre/testdata/testinput1 tomcat/jk/trunk/native/iis/pcre/testdata/testinput11 tomcat/jk/trunk/native/iis/pcre/testdata/testinput12 tomcat/jk/trunk/native/iis/pcre/testdata/testinput14 tomcat/jk/trunk/native/iis/pcre/testdata/testinput17 tomcat/jk/trunk/native/iis/pcre/testdata/testinput2 tomcat/jk/trunk/native/iis/pcre/testdata/testinput6 tomcat/jk/trunk/native/iis/pcre/testdata/testinput7 tomcat/jk/trunk/native/iis/pcre/testdata/testinputEBC tomcat/jk/trunk/native/iis/pcre/testdata/testoutput1 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput11-16 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput11-32 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput11-8 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput12 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput14 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput17 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput2 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput6 tomcat/jk/trunk/native/iis/pcre/testdata/testoutput7 tomcat/jk/trunk/native/iis/pcre/testdata/testoutputEBC tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Modified: tomcat/jk/trunk/native/iis/pcre/132html URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/132html?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/132html (original) +++ tomcat/jk/trunk/native/iis/pcre/132html Sun Jan 17 17:23:28 2016 @@ -148,7 +148,7 @@ while (<STDIN>) printf("<li><a name=\"TOC%d\" href=\"#SEC%d\">$title</a>\n", $ref, $ref); printf TEMP ("<br><a name=\"SEC%d\" href=\"#TOC1\">$title</a><br>\n", - $ref, $ref); + $ref); $ref++; } else Modified: tomcat/jk/trunk/native/iis/pcre/ChangeLog URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/ChangeLog?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/ChangeLog (original) +++ tomcat/jk/trunk/native/iis/pcre/ChangeLog Sun Jan 17 17:23:28 2016 @@ -1,6 +1,182 @@ ChangeLog for PCRE ------------------ +Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All +development is happening in the PCRE2 10.xx series. + +Version 8.38 23-November-2015 +----------------------------- + +1. If a group that contained a recursive back reference also contained a + forward reference subroutine call followed by a non-forward-reference + subroutine call, for example /.((?2)(?R)\1)()/, pcre2_compile() failed to + compile correct code, leading to undefined behaviour or an internally + detected error. This bug was discovered by the LLVM fuzzer. + +2. Quantification of certain items (e.g. atomic back references) could cause + incorrect code to be compiled when recursive forward references were + involved. For example, in this pattern: /(?1)()((((((\1++))\x85)+)|))/. + This bug was discovered by the LLVM fuzzer. + +3. A repeated conditional group whose condition was a reference by name caused + a buffer overflow if there was more than one group with the given name. + This bug was discovered by the LLVM fuzzer. + +4. A recursive back reference by name within a group that had the same name as + another group caused a buffer overflow. For example: + /(?J)(?'d'(?'d'\g{d}))/. This bug was discovered by the LLVM fuzzer. + +5. A forward reference by name to a group whose number is the same as the + current group, for example in this pattern: /(?|(\k'Pm')|(?'Pm'))/, caused + a buffer overflow at compile time. This bug was discovered by the LLVM + fuzzer. + +6. A lookbehind assertion within a set of mutually recursive subpatterns could + provoke a buffer overflow. This bug was discovered by the LLVM fuzzer. + +7. Another buffer overflow bug involved duplicate named groups with a + reference between their definition, with a group that reset capture + numbers, for example: /(?J:(?|(?'R')(\k'R')|((?'R'))))/. This has been + fixed by always allowing for more memory, even if not needed. (A proper fix + is implemented in PCRE2, but it involves more refactoring.) + +8. There was no check for integer overflow in subroutine calls such as (?123). + +9. The table entry for \l in EBCDIC environments was incorrect, leading to its + being treated as a literal 'l' instead of causing an error. + +10. There was a buffer overflow if pcre_exec() was called with an ovector of + size 1. This bug was found by american fuzzy lop. + +11. If a non-capturing group containing a conditional group that could match + an empty string was repeated, it was not identified as matching an empty + string itself. For example: /^(?:(?(1)x|)+)+$()/. + +12. In an EBCDIC environment, pcretest was mishandling the escape sequences + \a and \e in test subject lines. + +13. In an EBCDIC environment, \a in a pattern was converted to the ASCII + instead of the EBCDIC value. + +14. The handling of \c in an EBCDIC environment has been revised so that it is + now compatible with the specification in Perl's perlebcdic page. + +15. The EBCDIC character 0x41 is a non-breaking space, equivalent to 0xa0 in + ASCII/Unicode. This has now been added to the list of characters that are + recognized as white space in EBCDIC. + +16. When PCRE was compiled without UCP support, the use of \p and \P gave an + error (correctly) when used outside a class, but did not give an error + within a class. + +17. \h within a class was incorrectly compiled in EBCDIC environments. + +18. A pattern with an unmatched closing parenthesis that contained a backward + assertion which itself contained a forward reference caused buffer + overflow. And example pattern is: /(?=di(?<=(?1))|(?=(.))))/. + +19. JIT should return with error when the compiled pattern requires more stack + space than the maximum. + +20. A possessively repeated conditional group that could match an empty string, + for example, /(?(R))*+/, was incorrectly compiled. + +21. Fix infinite recursion in the JIT compiler when certain patterns such as + /(?:|a|){100}x/ are analysed. + +22. Some patterns with character classes involving [: and \\ were incorrectly + compiled and could cause reading from uninitialized memory or an incorrect + error diagnosis. + +23. Pathological patterns containing many nested occurrences of [: caused + pcre_compile() to run for a very long time. + +24. A conditional group with only one branch has an implicit empty alternative + branch and must therefore be treated as potentially matching an empty + string. + +25. If (?R was followed by - or + incorrect behaviour happened instead of a + diagnostic. + +26. Arrange to give up on finding the minimum matching length for overly + complex patterns. + +27. Similar to (4) above: in a pattern with duplicated named groups and an + occurrence of (?| it is possible for an apparently non-recursive back + reference to become recursive if a later named group with the relevant + number is encountered. This could lead to a buffer overflow. Wen Guanxing + from Venustech ADLAB discovered this bug. + +28. If pcregrep was given the -q option with -c or -l, or when handling a + binary file, it incorrectly wrote output to stdout. + +29. The JIT compiler did not restore the control verb head in case of *THEN + control verbs. This issue was found by Karl Skomski with a custom LLVM + fuzzer. + +30. Error messages for syntax errors following \g and \k were giving inaccurate + offsets in the pattern. + +31. Added a check for integer overflow in conditions (?(<digits>) and + (?(R<digits>). This omission was discovered by Karl Skomski with the LLVM + fuzzer. + +32. Handling recursive references such as (?2) when the reference is to a group + later in the pattern uses code that is very hacked about and error-prone. + It has been re-written for PCRE2. Here in PCRE1, a check has been added to + give an internal error if it is obvious that compiling has gone wrong. + +33. The JIT compiler should not check repeats after a {0,1} repeat byte code. + This issue was found by Karl Skomski with a custom LLVM fuzzer. + +34. The JIT compiler should restore the control chain for empty possessive + repeats. This issue was found by Karl Skomski with a custom LLVM fuzzer. + +35. Match limit check added to JIT recursion. This issue was found by Karl + Skomski with a custom LLVM fuzzer. + +36. Yet another case similar to 27 above has been circumvented by an + unconditional allocation of extra memory. This issue is fixed "properly" in + PCRE2 by refactoring the way references are handled. Wen Guanxing + from Venustech ADLAB discovered this bug. + +37. Fix two assertion fails in JIT. These issues were found by Karl Skomski + with a custom LLVM fuzzer. + +38. Fixed a corner case of range optimization in JIT. + +39. An incorrect error "overran compiling workspace" was given if there were + exactly enough group forward references such that the last one extended + into the workspace safety margin. The next one would have expanded the + workspace. The test for overflow was not including the safety margin. + +40. A match limit issue is fixed in JIT which was found by Karl Skomski + with a custom LLVM fuzzer. + +41. Remove the use of /dev/null in testdata/testinput2, because it doesn't + work under Windows. (Why has it taken so long for anyone to notice?) + +42. In a character class such as [\W\p{Any}] where both a negative-type escape + ("not a word character") and a property escape were present, the property + escape was being ignored. + +43. Fix crash caused by very long (*MARK) or (*THEN) names. + +44. A sequence such as [[:punct:]b] that is, a POSIX character class followed + by a single ASCII character in a class item, was incorrectly compiled in + UCP mode. The POSIX class got lost, but only if the single character + followed it. + +45. [:punct:] in UCP mode was matching some characters in the range 128-255 + that should not have been matched. + +46. If [:^ascii:] or [:^xdigit:] or [:^cntrl:] are present in a non-negated + class, all characters with code points greater than 255 are in the class. + When a Unicode property was also in the class (if PCRE_UCP is set, escapes + such as \w are turned into Unicode properties), wide characters were not + correctly handled, and could fail to match. + + Version 8.37 28-April-2015 -------------------------- Modified: tomcat/jk/trunk/native/iis/pcre/NEWS URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/NEWS?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/NEWS (original) +++ tomcat/jk/trunk/native/iis/pcre/NEWS Sun Jan 17 17:23:28 2016 @@ -1,6 +1,14 @@ News about PCRE releases ------------------------ +Release 8.38 23-November-2015 +----------------------------- + +This is bug-fix release. Note that this library (now called PCRE1) is now being +maintained for bug fixes only. New projects are advised to use the new PCRE2 +libraries. + + Release 8.37 28-April-2015 -------------------------- Modified: tomcat/jk/trunk/native/iis/pcre/NON-AUTOTOOLS-BUILD URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/NON-AUTOTOOLS-BUILD?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/NON-AUTOTOOLS-BUILD (original) +++ tomcat/jk/trunk/native/iis/pcre/NON-AUTOTOOLS-BUILD Sun Jan 17 17:23:28 2016 @@ -764,9 +764,9 @@ required. For details, please see this w http://www.zaconsultants.net -There is also a mirror here: - - http://www.vsoft-software.com/downloads.html +You may download PCRE from WWW.CBTTAPE.ORG, file 882.  Everything, source and +executable, is in EBCDIC and native z/OS file formats and this is the +recommended download site. ========================== -Last Updated: 10 February 2015 +Last Updated: 25 June 2015 Modified: tomcat/jk/trunk/native/iis/pcre/RunGrepTest URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/RunGrepTest?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/RunGrepTest (original) +++ tomcat/jk/trunk/native/iis/pcre/RunGrepTest Sun Jan 17 17:23:28 2016 @@ -512,6 +512,14 @@ echo "aaaaa" >>testtemp1grep (cd $srcdir; $valgrind $pcregrep --line-offsets '(?<=\Ka)' $builddir/testtemp1grep) >>testtrygrep 2>&1 echo "RC=$?" >>testtrygrep +echo "---------------------------- Test 108 ------------------------------" >>testtrygrep +(cd $srcdir; $valgrind $pcregrep -lq PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep +echo "RC=$?" >>testtrygrep + +echo "---------------------------- Test 109 -----------------------------" >>testtrygrep +(cd $srcdir; $valgrind $pcregrep -cq lazy ./testdata/grepinput*) >>testtrygrep +echo "RC=$?" >>testtrygrep + # Now compare the results. $cf $srcdir/testdata/grepoutput testtrygrep Modified: tomcat/jk/trunk/native/iis/pcre/aclocal.m4 URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/aclocal.m4?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/aclocal.m4 (original) +++ tomcat/jk/trunk/native/iis/pcre/aclocal.m4 Sun Jan 17 17:23:28 2016 @@ -20,32 +20,63 @@ You have another version of autoconf. I If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- +dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +dnl serial 11 (pkg-config-0.29) +dnl +dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. +dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com> +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +dnl 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that +dnl program. + +dnl PKG_PREREQ(MIN-VERSION) +dnl ----------------------- +dnl Since: 0.29 +dnl +dnl Verify that the version of the pkg-config macros are at least +dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's +dnl installed version of pkg-config, this checks the developer's version +dnl of pkg.m4 when generating configure. +dnl +dnl To ensure that this macro is defined, also add: +dnl m4_ifndef([PKG_PREREQ], +dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) +dnl +dnl See the "Since" comment for each macro you use to see what version +dnl of the macros you require. +m4_defun([PKG_PREREQ], +[m4_define([PKG_MACROS_VERSION], [0.29]) +m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, + [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) +])dnl PKG_PREREQ + +dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) +dnl ---------------------------------- +dnl Since: 0.16 +dnl +dnl Search for the pkg-config tool and set the PKG_CONFIG variable to +dnl first found in the path. Checks that the version of pkg-config found +dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is +dnl used since that's the first version where most current features of +dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) @@ -67,18 +98,19 @@ if test -n "$PKG_CONFIG"; then PKG_CONFIG="" fi fi[]dnl -])# PKG_PROG_PKG_CONFIG +])dnl PKG_PROG_PKG_CONFIG -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- +dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------------------------------- +dnl Since: 0.18 +dnl +dnl Check to see whether a particular set of modules exists. Similar to +dnl PKG_CHECK_MODULES(), but does not set variables or print errors. +dnl +dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +dnl only at the first occurence in configure.ac, so if the first place +dnl it's called might be skipped (such as if it is within an "if", you +dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ @@ -88,8 +120,10 @@ m4_ifvaln([$3], [else $3])dnl fi]) -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- +dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +dnl --------------------------------------------- +dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting +dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" @@ -101,10 +135,11 @@ m4_define([_PKG_CONFIG], else pkg_failed=untried fi[]dnl -])# _PKG_CONFIG +])dnl _PKG_CONFIG -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- +dnl _PKG_SHORT_ERRORS_SUPPORTED +dnl --------------------------- +dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -112,19 +147,17 @@ if $PKG_CONFIG --atleast-pkgconfig-versi else _pkg_short_errors_supported=no fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED +])dnl _PKG_SHORT_ERRORS_SUPPORTED -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- +dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl -------------------------------------------------------------- +dnl Since: 0.4.0 +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES might not happen, you should be sure to include an +dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl @@ -178,16 +211,40 @@ else AC_MSG_RESULT([yes]) $3 fi[]dnl -])# PKG_CHECK_MODULES +])dnl PKG_CHECK_MODULES -# PKG_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable pkgconfigdir as the location where a module -# should install pkg-config .pc files. By default the directory is -# $libdir/pkgconfig, but the default can be changed by passing -# DIRECTORY. The user can override through the --with-pkgconfigdir -# parameter. +dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl --------------------------------------------------------------------- +dnl Since: 0.29 +dnl +dnl Checks for existence of MODULES and gathers its build flags with +dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags +dnl and VARIABLE-PREFIX_LIBS from --libs. +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to +dnl include an explicit call to PKG_PROG_PKG_CONFIG in your +dnl configure.ac. +AC_DEFUN([PKG_CHECK_MODULES_STATIC], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +_save_PKG_CONFIG=$PKG_CONFIG +PKG_CONFIG="$PKG_CONFIG --static" +PKG_CHECK_MODULES($@) +PKG_CONFIG=$_save_PKG_CONFIG[]dnl +])dnl PKG_CHECK_MODULES_STATIC + + +dnl PKG_INSTALLDIR([DIRECTORY]) +dnl ------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable pkgconfigdir as the location where a module +dnl should install pkg-config .pc files. By default the directory is +dnl $libdir/pkgconfig, but the default can be changed by passing +dnl DIRECTORY. The user can override through the --with-pkgconfigdir +dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -198,16 +255,18 @@ AC_ARG_WITH([pkgconfigdir], AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_INSTALLDIR +])dnl PKG_INSTALLDIR -# PKG_NOARCH_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable noarch_pkgconfigdir as the location where a -# module should install arch-independent pkg-config .pc files. By -# default the directory is $datadir/pkgconfig, but the default can be -# changed by passing DIRECTORY. The user can override through the -# --with-noarch-pkgconfigdir parameter. +dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) +dnl -------------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable noarch_pkgconfigdir as the location where a +dnl module should install arch-independent pkg-config .pc files. By +dnl default the directory is $datadir/pkgconfig, but the default can be +dnl changed by passing DIRECTORY. The user can override through the +dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -218,13 +277,15 @@ AC_ARG_WITH([noarch-pkgconfigdir], AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_NOARCH_INSTALLDIR +])dnl PKG_NOARCH_INSTALLDIR -# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# ------------------------------------------- -# Retrieves the value of the pkg-config variable for the given module. +dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------- +dnl Since: 0.28 +dnl +dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl @@ -233,7 +294,7 @@ _PKG_CONFIG([$1], [variable="][$3]["], [ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl -])# PKG_CHECK_VAR +])dnl PKG_CHECK_VAR # Copyright (C) 2002-2014 Free Software Foundation, Inc. # Modified: tomcat/jk/trunk/native/iis/pcre/config.h.generic URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/config.h.generic?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/config.h.generic (original) +++ tomcat/jk/trunk/native/iis/pcre/config.h.generic Sun Jan 17 17:23:28 2016 @@ -235,7 +235,7 @@ sure both macros are undefined; an emula #define PACKAGE_NAME "PCRE" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE 8.37" +#define PACKAGE_STRING "PCRE 8.38" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre" @@ -244,7 +244,7 @@ sure both macros are undefined; an emula #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "8.37" +#define PACKAGE_VERSION "8.38" /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested parentheses (of any kind) in a pattern. This limits the amount of system @@ -336,7 +336,7 @@ sure both macros are undefined; an emula /* #undef SUPPORT_VALGRIND */ /* Version number of package */ -#define VERSION "8.37" +#define VERSION "8.38" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ Modified: tomcat/jk/trunk/native/iis/pcre/config.hw URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/config.hw?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/config.hw (original) +++ tomcat/jk/trunk/native/iis/pcre/config.hw Sun Jan 17 17:23:28 2016 @@ -235,7 +235,7 @@ sure both macros are undefined; an emula #define PACKAGE_NAME "PCRE" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE 8.37" +#define PACKAGE_STRING "PCRE 8.38" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre" @@ -244,7 +244,7 @@ sure both macros are undefined; an emula #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "8.37" +#define PACKAGE_VERSION "8.38" /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested parentheses (of any kind) in a pattern. This limits the amount of system @@ -336,7 +336,7 @@ sure both macros are undefined; an emula /* #undef SUPPORT_VALGRIND */ /* Version number of package */ -#define VERSION "8.37" +#define VERSION "8.38" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ Modified: tomcat/jk/trunk/native/iis/pcre/configure.ac URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/configure.ac?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/configure.ac (original) +++ tomcat/jk/trunk/native/iis/pcre/configure.ac Sun Jan 17 17:23:28 2016 @@ -9,17 +9,17 @@ dnl The PCRE_PRERELEASE feature is for i dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre_major, [8]) -m4_define(pcre_minor, [37]) +m4_define(pcre_minor, [38]) m4_define(pcre_prerelease, []) -m4_define(pcre_date, [2015-04-28]) +m4_define(pcre_date, [2015-11-23]) # NOTE: The CMakeLists.txt file searches for the above variables in the first # 50 lines of this file. Please update that if the variables above are moved. # Libtool shared library interface versions (current:revision:age) -m4_define(libpcre_version, [3:5:2]) -m4_define(libpcre16_version, [2:5:2]) -m4_define(libpcre32_version, [0:5:0]) +m4_define(libpcre_version, [3:6:2]) +m4_define(libpcre16_version, [2:6:2]) +m4_define(libpcre32_version, [0:6:0]) m4_define(libpcreposix_version, [0:3:0]) m4_define(libpcrecpp_version, [0:1:0]) Modified: tomcat/jk/trunk/native/iis/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt (original) +++ tomcat/jk/trunk/native/iis/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt Sun Jan 17 17:23:28 2016 @@ -764,9 +764,9 @@ required. For details, please see this w http://www.zaconsultants.net -There is also a mirror here: - - http://www.vsoft-software.com/downloads.html +You may download PCRE from WWW.CBTTAPE.ORG, file 882.  Everything, source and +executable, is in EBCDIC and native z/OS file formats and this is the +recommended download site. ========================== -Last Updated: 10 February 2015 +Last Updated: 25 June 2015 Modified: tomcat/jk/trunk/native/iis/pcre/doc/html/pcrepattern.html URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/pcre/doc/html/pcrepattern.html?rev=1725105&r1=1725104&r2=1725105&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/pcre/doc/html/pcrepattern.html (original) +++ tomcat/jk/trunk/native/iis/pcre/doc/html/pcrepattern.html Sun Jan 17 17:23:28 2016 @@ -329,7 +329,8 @@ A second use of backslash provides a way in patterns in a visible manner. There is no restriction on the appearance of non-printing characters, apart from the binary zero that terminates a pattern, but when a pattern is being prepared by text editing, it is often easier to use -one of the following escape sequences than the binary character it represents: +one of the following escape sequences than the binary character it represents. +In an ASCII or Unicode environment, these escapes are as follows: <pre> \a alarm, that is, the BEL character (hex 07) \cx "control-x", where x is any ASCII character @@ -353,19 +354,33 @@ data item (byte or 16-bit value) followi compile-time error occurs. This locks out non-ASCII characters in all modes. </P> <P> -The \c facility was designed for use with ASCII characters, but with the -extension to Unicode it is even less useful than it once was. It is, however, -recognized when PCRE is compiled in EBCDIC mode, where data items are always -bytes. In this mode, all values are valid after \c. If the next character is a -lower case letter, it is converted to upper case. Then the 0xc0 bits of the -byte are inverted. Thus \cA becomes hex 01, as in ASCII (A is C1), but because -the EBCDIC letters are disjoint, \cZ becomes hex 29 (Z is E9), and other -characters also generate different values. +When PCRE is compiled in EBCDIC mode, \a, \e, \f, \n, \r, and \t +generate the appropriate EBCDIC code values. The \c escape is processed +as specified for Perl in the <b>perlebcdic</b> document. The only characters +that are allowed after \c are A-Z, a-z, or one of @, [, \, ], ^, _, or ?. Any +other character provokes a compile-time error. The sequence \@ encodes +character code 0; the letters (in either case) encode characters 1-26 (hex 01 +to hex 1A); [, \, ], ^, and _ encode characters 27-31 (hex 1B to hex 1F), and +\? becomes either 255 (hex FF) or 95 (hex 5F). +</P> +<P> +Thus, apart from \?, these escapes generate the same character code values as +they do in an ASCII environment, though the meanings of the values mostly +differ. For example, \G always generates code value 7, which is BEL in ASCII +but DEL in EBCDIC. +</P> +<P> +The sequence \? generates DEL (127, hex 7F) in an ASCII environment, but +because 127 is not a control character in EBCDIC, Perl makes it generate the +APC character. Unfortunately, there are several variants of EBCDIC. In most of +them the APC character has the value 255 (hex FF), but in the one Perl calls +POSIX-BC its value is 95 (hex 5F). If certain other characters have POSIX-BC +values, PCRE makes \? generate 95; otherwise it generates 255. </P> <P> After \0 up to two further octal digits are read. If there are fewer than two -digits, just those that are present are used. Thus the sequence \0\x\07 -specifies two binary zeros followed by a BEL character (code value 7). Make +digits, just those that are present are used. Thus the sequence \0\x\015 +specifies two binary zeros followed by a CR character (code value 13). Make sure you supply two digits after the initial zero if the pattern character that follows is itself an octal digit. </P> @@ -3249,9 +3264,9 @@ Cambridge CB2 3QH, England. </P> <br><a name="SEC30" href="#TOC1">REVISION</a><br> <P> -Last updated: 08 January 2014 +Last updated: 14 June 2015 <br> -Copyright © 1997-2014 University of Cambridge. +Copyright © 1997-2015 University of Cambridge. <br> <p> Return to the <a href="index.html">PCRE index page</a>. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org