From 6ae58beca071f13ccfed31d03b3f479ab520639b Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Fri, 7 Jun 2024 15:09:00 +0100 Subject: [PATCH] Final file tidies for 10.44 --- ChangeLog | 10 +++--- Makefile.am | 1 + NEWS | 8 +++++ NON-AUTOTOOLS-BUILD | 8 ++--- configure.ac | 10 +++--- doc/html/NON-AUTOTOOLS-BUILD.txt | 8 ++--- doc/pcre2.txt | 60 ++++++++++++++++---------------- doc/pcre2demo.3 | 2 +- src/config.h.generic | 6 ++-- src/pcre2.h.generic | 7 ++-- src/pcre2_intmodedep.h | 2 +- 11 files changed, 67 insertions(+), 55 deletions(-) diff --git a/ChangeLog b/ChangeLog index e4dc338dc..ea228c193 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,8 +4,8 @@ Change Log for PCRE2 Before the move to GitHub, this was the only record of changes to PCRE2. Now there is also the log of commit messages. -Version 10.44 xx-xxx-2024 -------------------------- +Version 10.44 07-June-2024 +-------------------------- 1. If a pattern contained a variable-length lookbehind in which the first branch was not the one with the shortest minimum length, and the lookbehind @@ -17,7 +17,7 @@ example pattern is: /(((?<=123?456456|ABC)))(?<=\2)/ 2. Further updates to the oss-fuzz support: (a) Limit quantifiers for groups and classes to be no more than 10. This - avoide very long JIT compile times that happen in some cases when groups + avoids very long JIT compile times that happen in some cases when groups are replicated for quantification, and very long match times when classes contain a lot of non-ascii characters. @@ -41,7 +41,7 @@ example pattern is: /(((?<=123?456456|ABC)))(?<=\2)/ there is a user for whom 32 is too small. 4. Cause pcre2test to output a message when pcre2_jit_compile() gives an error -return if either jitverify or info is specified/ +return if either jitverify or info is specified. 5. Some auxiliary files for building under OpenVMS that were contributed by Alexey Chupahin have been installed. @@ -55,7 +55,7 @@ misunderstanding one of the grapheme sequence breaking rules in Unicode Annex break property unless a zero-width joiner intervenes. PCRE2 was not insisting on the ZWJ, causing \X to match more than it should. See GitHub issue #410. -8. Avoid compilation issues with propietary compilers in UNIX since 10.43. +8. Avoid compilation issues with proprietary compilers in UNIX since 10.43. Version 10.43 16-February-2024 diff --git a/Makefile.am b/Makefile.am index 172c2d77f..ca6a63839 100644 --- a/Makefile.am +++ b/Makefile.am @@ -482,6 +482,7 @@ EXTRA_DIST += \ src/sljit/sljitNativeX86_32.c \ src/sljit/sljitNativeX86_64.c \ src/sljit/sljitNativeX86_common.c \ + src/sljit/sljitSerialize.c \ src/sljit/sljitUtils.c \ src/sljit/allocator_src/sljitExecAllocatorApple.c \ src/sljit/allocator_src/sljitExecAllocatorCore.c \ diff --git a/NEWS b/NEWS index 612954607..5f8dde354 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,14 @@ News about PCRE2 releases ------------------------- +Version 10.44 07-June-2024 +-------------------------- + +This is mostly a bug-fix and tidying release. There is one new function, to set +a maximum size for a compiled pattern. The maximum name length for groups is +increased to 128. Some auxiliary files for building under VMS are added. + + Version 10.43 16-February-2024 ------------------------------ diff --git a/NON-AUTOTOOLS-BUILD b/NON-AUTOTOOLS-BUILD index 66d446bc9..851976ae2 100644 --- a/NON-AUTOTOOLS-BUILD +++ b/NON-AUTOTOOLS-BUILD @@ -13,7 +13,7 @@ This document contains the following sections: Building PCRE2 on Windows with Visual Studio Testing with RunTest.bat Building PCRE2 on native z/OS and z/VM - Building PCRE2 under VMS + Building PCRE2 under VMS GENERAL @@ -420,9 +420,9 @@ for the z/OS and z/VM versions of the Rexx languages. BUILDING PCRE2 UNDER VMS -Alexey Chuphin has contributed some auxiliary files for building PCRE2 under -OpenVMS. They are in the "vms" directory in the distribution tarball. Please -read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep +Alexey Chuphin has contributed some auxiliary files for building PCRE2 under +OpenVMS. They are in the "vms" directory in the distribution tarball. Please +read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep programs contain some VMS-specific code. =========================== diff --git a/configure.ac b/configure.ac index 56c4c23da..6091ea4ca 100644 --- a/configure.ac +++ b/configure.ac @@ -10,13 +10,13 @@ dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre2_major, [10]) m4_define(pcre2_minor, [44]) -m4_define(pcre2_prerelease, [-DEV]) -m4_define(pcre2_date, [2024-03-11]) +m4_define(pcre2_prerelease, []) +m4_define(pcre2_date, [2024-06-07]) # Libtool shared library interface versions (current:revision:age) -m4_define(libpcre2_8_version, [12:0:12]) -m4_define(libpcre2_16_version, [12:0:12]) -m4_define(libpcre2_32_version, [12:0:12]) +m4_define(libpcre2_8_version, [13:0:13]) +m4_define(libpcre2_16_version, [13:0:13]) +m4_define(libpcre2_32_version, [13:0:13]) m4_define(libpcre2_posix_version, [3:5:0]) # NOTE: The CMakeLists.txt file searches for the above variables in the first diff --git a/doc/html/NON-AUTOTOOLS-BUILD.txt b/doc/html/NON-AUTOTOOLS-BUILD.txt index 66d446bc9..851976ae2 100644 --- a/doc/html/NON-AUTOTOOLS-BUILD.txt +++ b/doc/html/NON-AUTOTOOLS-BUILD.txt @@ -13,7 +13,7 @@ This document contains the following sections: Building PCRE2 on Windows with Visual Studio Testing with RunTest.bat Building PCRE2 on native z/OS and z/VM - Building PCRE2 under VMS + Building PCRE2 under VMS GENERAL @@ -420,9 +420,9 @@ for the z/OS and z/VM versions of the Rexx languages. BUILDING PCRE2 UNDER VMS -Alexey Chuphin has contributed some auxiliary files for building PCRE2 under -OpenVMS. They are in the "vms" directory in the distribution tarball. Please -read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep +Alexey Chuphin has contributed some auxiliary files for building PCRE2 under +OpenVMS. They are in the "vms" directory in the distribution tarball. Please +read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep programs contain some VMS-specific code. =========================== diff --git a/doc/pcre2.txt b/doc/pcre2.txt index 43ceb6725..85eead6e6 100644 --- a/doc/pcre2.txt +++ b/doc/pcre2.txt @@ -189,8 +189,8 @@ REVISION PCRE2 10.38 27 August 2021 PCRE2(3) ------------------------------------------------------------------------------ - - + + PCRE2API(3) Library Functions Manual PCRE2API(3) @@ -4018,8 +4018,8 @@ REVISION PCRE2 10.44 24 April 2024 PCRE2API(3) ------------------------------------------------------------------------------ - - + + PCRE2BUILD(3) Library Functions Manual PCRE2BUILD(3) @@ -4645,8 +4645,8 @@ REVISION PCRE2 10.44 15 April 2024 PCRE2BUILD(3) ------------------------------------------------------------------------------ - - + + PCRE2CALLOUT(3) Library Functions Manual PCRE2CALLOUT(3) @@ -5079,8 +5079,8 @@ REVISION PCRE2 10.43 19 January 2024 PCRE2CALLOUT(3) ------------------------------------------------------------------------------ - - + + PCRE2COMPAT(3) Library Functions Manual PCRE2COMPAT(3) @@ -5313,8 +5313,8 @@ REVISION PCRE2 10.43 30 November 2023 PCRE2COMPAT(3) ------------------------------------------------------------------------------ - - + + PCRE2JIT(3) Library Functions Manual PCRE2JIT(3) @@ -5760,8 +5760,8 @@ REVISION PCRE2 10.43 21 February 2024 PCRE2JIT(3) ------------------------------------------------------------------------------ - - + + PCRE2LIMITS(3) Library Functions Manual PCRE2LIMITS(3) @@ -5844,8 +5844,8 @@ REVISION PCRE2 10.43 1 August 2023 PCRE2LIMITS(3) ------------------------------------------------------------------------------ - - + + PCRE2MATCHING(3) Library Functions Manual PCRE2MATCHING(3) @@ -6073,8 +6073,8 @@ REVISION PCRE2 10.43 19 January 2024 PCRE2MATCHING(3) ------------------------------------------------------------------------------ - - + + PCRE2PARTIAL(3) Library Functions Manual PCRE2PARTIAL(3) @@ -6457,8 +6457,8 @@ REVISION PCRE2 10.34 04 September 2019 PCRE2PARTIAL(3) ------------------------------------------------------------------------------ - - + + PCRE2PATTERN(3) Library Functions Manual PCRE2PATTERN(3) @@ -10022,8 +10022,8 @@ REVISION PCRE2 10.44 04 June 2024 PCRE2PATTERN(3) ------------------------------------------------------------------------------ - - + + PCRE2PERFORM(3) Library Functions Manual PCRE2PERFORM(3) @@ -10278,8 +10278,8 @@ REVISION PCRE2 10.41 27 July 2022 PCRE2PERFORM(3) ------------------------------------------------------------------------------ - - + + PCRE2POSIX(3) Library Functions Manual PCRE2POSIX(3) @@ -10637,8 +10637,8 @@ REVISION PCRE2 10.43 19 January 2024 PCRE2POSIX(3) ------------------------------------------------------------------------------ - - + + PCRE2SAMPLE(3) Library Functions Manual PCRE2SAMPLE(3) @@ -10923,8 +10923,8 @@ REVISION PCRE2 10.32 27 June 2018 PCRE2SERIALIZE(3) ------------------------------------------------------------------------------ - - + + PCRE2SYNTAX(3) Library Functions Manual PCRE2SYNTAX(3) @@ -11510,8 +11510,8 @@ REVISION PCRE2 10.43 12 October 2023 PCRE2SYNTAX(3) ------------------------------------------------------------------------------ - - + + PCRE2UNICODE(3) Library Functions Manual PCRE2UNICODE(3) @@ -11976,5 +11976,5 @@ REVISION PCRE2 10.43 04 February 2023 PCRE2UNICODE(3) ------------------------------------------------------------------------------ - - + + diff --git a/doc/pcre2demo.3 b/doc/pcre2demo.3 index fcc4bb5c9..0453a9490 100644 --- a/doc/pcre2demo.3 +++ b/doc/pcre2demo.3 @@ -1,4 +1,4 @@ -.TH PCRE2DEMO 3 " 4 June 2024" "PCRE2 10.43" +.TH PCRE2DEMO 3 " 7 June 2024" "PCRE2 10.44" .\"AUTOMATICALLY GENERATED BY PrepareRelease - do not EDIT! .SH NAME PCRE2DEMO - A demonstration C program for PCRE2 diff --git a/src/config.h.generic b/src/config.h.generic index 73d58d0c0..009294813 100644 --- a/src/config.h.generic +++ b/src/config.h.generic @@ -245,7 +245,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_NAME "PCRE2" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE2 10.43" +#define PACKAGE_STRING "PCRE2 10.44" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -254,7 +254,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "10.43" +#define PACKAGE_VERSION "10.44" /* 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 @@ -458,7 +458,7 @@ sure both macros are undefined; an emulation function will then be used. */ #endif /* Version number of package */ -#define VERSION "10.43" +#define VERSION "10.44" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic index d7a8ff520..a322d9f2d 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE. /* The current PCRE version information. */ #define PCRE2_MAJOR 10 -#define PCRE2_MINOR 43 +#define PCRE2_MINOR 44 #define PCRE2_PRERELEASE -#define PCRE2_DATE 2024-02-16 +#define PCRE2_DATE 2024-06-07 /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate @@ -603,6 +603,8 @@ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_compile_extra_options(pcre2_compile_context *, uint32_t); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_max_pattern_length(pcre2_compile_context *, PCRE2_SIZE); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_max_pattern_compiled_length(pcre2_compile_context *, PCRE2_SIZE); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_max_varlookbehind(pcre2_compile_context *, uint32_t); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ @@ -901,6 +903,7 @@ pcre2_compile are called by application code. */ #define pcre2_set_match_limit PCRE2_SUFFIX(pcre2_set_match_limit_) #define pcre2_set_max_varlookbehind PCRE2_SUFFIX(pcre2_set_max_varlookbehind_) #define pcre2_set_max_pattern_length PCRE2_SUFFIX(pcre2_set_max_pattern_length_) +#define pcre2_set_max_pattern_compiled_length PCRE2_SUFFIX(pcre2_set_max_pattern_compiled_length_) #define pcre2_set_newline PCRE2_SUFFIX(pcre2_set_newline_) #define pcre2_set_parens_nest_limit PCRE2_SUFFIX(pcre2_set_parens_nest_limit_) #define pcre2_set_offset_limit PCRE2_SUFFIX(pcre2_set_offset_limit_) diff --git a/src/pcre2_intmodedep.h b/src/pcre2_intmodedep.h index fd9245a43..9bd9e694a 100644 --- a/src/pcre2_intmodedep.h +++ b/src/pcre2_intmodedep.h @@ -568,7 +568,7 @@ typedef struct pcre2_real_compile_context { void *stack_guard_data; const uint8_t *tables; PCRE2_SIZE max_pattern_length; - PCRE2_SIZE max_pattern_compiled_length; + PCRE2_SIZE max_pattern_compiled_length; uint16_t bsr_convention; uint16_t newline_convention; uint32_t parens_nest_limit;