Skip to content
/ pcre Public
forked from rurban/pcre
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pcre2 to v10.44 #1

Merged
merged 1,762 commits into from
Jan 31, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1762 commits
Select commit Hold shift + click to select a range
d73a949
Refactor heapframe_size code in pcre2test and update documentation fo…
PhilipHazel Jan 18, 2023
3fdb19c
Fix inadvertent missing test update
PhilipHazel Jan 19, 2023
703ccd6
pcre2test: use microseconds instead of milliseconds for timing (#192)
carenas Jan 19, 2023
6068ae1
build: make the C99 requirement explicit (#193)
carenas Jan 19, 2023
a94da79
Update ChangeLog for PR #192
PhilipHazel Jan 19, 2023
b785232
Add ChangeLog entry for PR #192
PhilipHazel Jan 19, 2023
0333c41
Documentation update re invalid UTF
PhilipHazel Jan 20, 2023
f508518
Documentation update
PhilipHazel Jan 20, 2023
4d9c159
Update documentation re JIT fast path and UTF validity
PhilipHazel Jan 20, 2023
d0f899f
More UTF documentation
PhilipHazel Jan 20, 2023
2f86495
Expand documentation re availability of JIT
PhilipHazel Jan 22, 2023
303e3bc
make sure to use either size_t or PCRE2_SIZE correctly (#195)
carenas Jan 23, 2023
fa5ec50
Correct list of JIT-supported architectures
PhilipHazel Jan 23, 2023
69d6b24
Fix minor memory check bug in pcre2test
PhilipHazel Jan 25, 2023
fcceddc
Fix minor typo
PhilipHazel Jan 25, 2023
c13d54f
Implement PCRE2_EXTRA_CASELESS_RESTRICT and related features
PhilipHazel Jan 29, 2023
40626f0
upgrade to Unicode 15 (#200)
carenas Feb 1, 2023
72c9b57
Ucptest updates (#199)
carenas Feb 1, 2023
a608946
Additional PCRE2_EXTRA_ASCII_xxx code
PhilipHazel Feb 1, 2023
fc56fd7
Further ASCII tests and minor bugfix plus ChangeLog update
PhilipHazel Feb 2, 2023
af0839f
maint: honor @missing in DerivedBidiClass and report non values (#201)
carenas Feb 2, 2023
4678857
add a C23 inspired checked integer multiplication helper (#198)
carenas Feb 3, 2023
9c905ce
maint: avoid duplicated boolean properties and bad script extensions …
carenas Feb 3, 2023
6bf8045
Documentation update for new PCRE2_EXTRA caseless and ASCII options
PhilipHazel Feb 4, 2023
45f4473
Bring ChangeLog up to date
PhilipHazel Feb 4, 2023
d84f255
JIT compiler update
Feb 5, 2023
26d5cd9
build: update filelist after JIT update (#203)
carenas Feb 6, 2023
8c9a529
Fix \b and \B with PCRE2_EXTRA_ASCII_BSW in the interpreters
PhilipHazel Feb 6, 2023
6a97f60
Support ucp word boundary in JIT
Feb 7, 2023
8385df8
Made PCRE2_UCP the default in UTF mode in pcre2grep, and added new op…
PhilipHazel Feb 8, 2023
1de7291
Bring pcre2.h.generic up to date
PhilipHazel Feb 8, 2023
a649cbc
zig build support (#206)
star-tek-mb Feb 9, 2023
71c2748
pcregrep: minor documentation update (#208)
carenas Feb 11, 2023
10dc79f
improve __buitin_mul_overflow() checks (#209)
carenas Feb 11, 2023
47f86d5
Remove variable called "not" from pcre2_printint.c (deprecated in C; …
PhilipHazel Mar 7, 2023
f5cfe2a
Re-arrange code to avoid jump into a block that bypassed its initiali…
PhilipHazel Mar 7, 2023
88fabd8
Minor code adjustments to avoid using C++ reserved names "new" and "t…
PhilipHazel Mar 8, 2023
6277357
Code adjustment for a goto that bypassed a block initialization (thou…
PhilipHazel Mar 8, 2023
1dd18c0
Remove pcre2_ucptables.c from sources in build doc (#216)
tobil4sk Mar 22, 2023
38f33a4
Remove pcre2_ucptables.c from explicit building by Bazel and zig (its
PhilipHazel Mar 22, 2023
512be06
update to latest zig (#219)
star-tek-mb Mar 29, 2023
6454934
avoid inconsistency between \d and [:digit:] when using /a (#223)
carenas Apr 9, 2023
2c08b61
Fix an invalid match of ascii word classes when invalid utf is enabled
Apr 11, 2023
a8558f2
Fix wrong test
Apr 11, 2023
3bbdb6d
pcre2grep: avoid UCP mode for \d for compatibility with GNU grep (#222)
carenas Apr 11, 2023
29d65e0
pcre2test: print library bitwidth in banner for usability (#227)
carenas Apr 15, 2023
a352584
Fix typo in ChangeLog and increase size of buffer in pcre2test to avo…
PhilipHazel Apr 15, 2023
9323329
Documentation minor update
PhilipHazel Apr 15, 2023
9bad465
Abandon pcre2test test if pattern conversion results in a string that…
PhilipHazel Apr 20, 2023
15a11d1
pcre2test: avoid printing invalid utf trail in partial match (#237)
carenas Apr 21, 2023
1bb1ef6
no partial match if trailing data is invalid utf (#238)
carenas Apr 21, 2023
04fbb65
Update scorecards.yml (#244)
carenas May 4, 2023
78f02df
pcre2grep: correctly convert colors in Windows (#247)
carenas May 7, 2023
cf6f984
avoid the possibility of dangling pointers to capitem in pcre2_compil…
carenas May 9, 2023
1bc34ff
pcre2grep: document better possible multiline matching misses (#252)
carenas May 12, 2023
a8a875e
windows: integrate visibility attributes without conflicts (#249)
carenas May 16, 2023
9452a78
Add some test cases (#253)
JetXujing May 16, 2023
0ef82f7
Ignore build subdirectory. (#256)
andreygorbachev May 28, 2023
b12b58f
cmake: prevent multi library unity build conflicts (#265)
carenas Jun 14, 2023
3275628
cmake: remove test binaries from target list (#266)
carenas Jun 14, 2023
fb84d73
Add compile-time check that PCRE2_CODE_UNIT_WIDTH is 8, 16, or 32
PhilipHazel Jun 19, 2023
d503a9d
Add idempotent guards to pcre2posix.h (#274)
yselkowitz Jul 12, 2023
0444087
Update pcre2_compile() to treat a NULL pattern with zero length as an…
PhilipHazel Jul 17, 2023
7cc9d63
Update pcre2test documentation
PhilipHazel Jul 17, 2023
1e78b77
Code for variable-length lookbehinds
PhilipHazel Aug 6, 2023
0b1f2f8
Fix typo in CMakeLists.txt
PhilipHazel Aug 6, 2023
ce8eb00
Show fc output after test mis-match in RunTest.bat
PhilipHazel Aug 6, 2023
b0b3fc4
Update unknown error number test in RunTest.bat
PhilipHazel Aug 6, 2023
5f77d02
Fix regression buffer overflow introduced in recent new code - fixes …
PhilipHazel Aug 8, 2023
fb1c7d2
Fix another regression buffer overflow introduced in recent new code …
PhilipHazel Aug 8, 2023
3342fe5
Fix an integer overflow introduced in recent new code - fixes Cluster…
PhilipHazel Aug 8, 2023
f1ac718
Add tests for bugs just fixed
PhilipHazel Aug 8, 2023
c13b06a
Fix tests in out-of-source-tree CMake builds (#278)
iskunk Aug 8, 2023
3c93cdc
JIT compiler update
Aug 9, 2023
4b37e2f
jit: add LoongArch support (#281)
carenas Aug 10, 2023
5974a84
Update documentation for variable-length lookbehinds
PhilipHazel Aug 11, 2023
8314be9
Update HTML and plain text documentation
PhilipHazel Aug 11, 2023
6ff81a6
Allow \R in variable-length lookbehinds
PhilipHazel Aug 12, 2023
2cc772a
Update to latest zig (#262)
plajjan Aug 15, 2023
6bc8ccf
Fix issue with test 10 that was introduced by 9452a78
PhilipHazel Aug 15, 2023
def175f
Use standard CMake constructs to export the library's targets. (#260)
teo-tsirpanis Aug 15, 2023
d2ae5eb
Note some recent pull merges in ChangeLog
PhilipHazel Aug 15, 2023
14e0c41
admin: update ChangeLog and config.h for recent changes (#286)
carenas Aug 16, 2023
02558c8
jit: allow updating STR_PTR by arm64 simd helper (#259)
carenas Aug 16, 2023
172802b
jit: rebase #259 on top of 3c93cdc (#287)
carenas Aug 17, 2023
c7364c4
cmake: increase minimum to 3.5 (#288)
carenas Aug 18, 2023
264ec9c
match: avoid signed/unsigned mismatch (#289)
carenas Aug 18, 2023
803a64f
Fix issue #275
PhilipHazel Aug 18, 2023
7331d5c
Fix minor sanitize issue.
PhilipHazel Aug 18, 2023
1b291b2
Deal with integer overflow bug in recent variable length lookbehind c…
PhilipHazel Aug 21, 2023
b254448
jit: Add LoongArch SX 128 bit SIMD Support. (#290)
lrzlin Aug 27, 2023
1b6bd78
Add a TH (title) macro to pcre2demo.3 (#292)
MatthewVernon Aug 30, 2023
09c41a1
Restore no indent in pcre2demo.3 man page
PhilipHazel Aug 30, 2023
0fa5367
Update meaning of {,5} etc to match update in Perl 5.34.0; refactor q…
PhilipHazel Sep 13, 2023
80053ba
Documentation and tests update
PhilipHazel Sep 20, 2023
79832a7
Allow spaces and tabs within {...} constructs to match Perl usage.
PhilipHazel Sep 25, 2023
0a04e0e
Spaces are not allowed within \u{} in BSUX mode (#297)
carenas Sep 30, 2023
90991cf
Documentation update following PR297
PhilipHazel Sep 30, 2023
ab47f88
Fix ECMAScript interpretation of \u{ 12} to be literal, not a repeate…
PhilipHazel Sep 30, 2023
4a2bf0c
minor cleanup for previous fix (#299)
carenas Oct 1, 2023
794245e
match: also restore originally unset entries in recursion (#300)
carenas Oct 3, 2023
457c0e6
Add more examples fixed by #300; update ChangeLog
PhilipHazel Oct 3, 2023
1b26eae
Add properties Mn and Pc to the meaning of \w and its synonyms in UCP…
PhilipHazel Oct 4, 2023
2fef163
Update [[:digit:]] in UCP mode to match Perl
PhilipHazel Oct 4, 2023
1b74f73
Allow restricting [:xdigit:] to ASCII for POSIX compatibility (#301)
carenas Oct 9, 2023
d231944
fix a possible integer overflow in DFA matching (#305)
pkuzco Oct 9, 2023
a0b4ee0
Update HTML docs and ChangeLog for recent patches
PhilipHazel Oct 9, 2023
0a55280
Update UCP handling of \b and \B to match recent changes to \w
PhilipHazel Oct 11, 2023
3046486
Add (?aT) for updating PCRE2_EXTRA_ASCII_DIGIT in pattern (#307)
carenas Oct 11, 2023
231824f
doc: mention binary properties and ascii options (#308)
carenas Oct 12, 2023
1e146e7
Doc update: clarify ASCII options and update ChangeLog and HTML
PhilipHazel Oct 12, 2023
3f05f72
Prefer PCRE2POSIX_SHARED to PCRE2_STATIC for pcre2posix (#310)
carenas Oct 20, 2023
d01cd71
cmake: set PCRE2POSIX_CFLAG in pcre2-config and pkg-config (#311)
carenas Oct 21, 2023
d11400f
test: avoid UB in test17 (#312)
carenas Oct 22, 2023
8d3e96c
maketables: avoid misleading values in case flipping table (#313)
carenas Oct 22, 2023
5074d60
build: FTBFS for pcre2_dftables (#314)
carenas Oct 25, 2023
bbe8042
JIT compiler update
Nov 8, 2023
494e765
Implement vreverse in jit (#319)
zherczeg Nov 9, 2023
bec9bf3
Fuzzer improvements (JIT, option entropy) (#317)
addisoncrump Nov 9, 2023
50d3394
fixup: if jit support is not provided, do not create unused variables…
addisoncrump Nov 9, 2023
9667c91
(hopefully) final unused variable cleanup :) (#321)
addisoncrump Nov 9, 2023
88b1c47
Use bitset for unicode category select in jit
Nov 9, 2023
52041d8
Fix misbehaviour of pcre2_match() and pcre2_dfa_match() when PCRE2_FI…
PhilipHazel Nov 11, 2023
fbe045b
Add AVX2 simd support on x86 (#328)
zherczeg Nov 12, 2023
b43e745
Fix braposzero check
Nov 12, 2023
f5c4eb7
jit: disable ASAN for arm64 SIMD helper (#306)
carenas Nov 12, 2023
ce5b604
Fix PCRE2_ENDANCHORED behaviour in recursion in pcre2_match(). Fixes …
PhilipHazel Nov 13, 2023
183e8a9
Add check for ridiculous offsets to substring extraction functions.
PhilipHazel Nov 14, 2023
eca3f2b
Document that the POSIX API is not thread-safe.
PhilipHazel Nov 14, 2023
b719b47
Documentation: minor update for consistency
PhilipHazel Nov 14, 2023
2b926df
Fix early fail detection
Nov 15, 2023
b3dbe8d
Make data for OP_REVERSE use IMM2_SIZE instead of LINK_SIZE, for cons…
PhilipHazel Nov 15, 2023
d246f2a
Fix stupid error in b3dbe8d
PhilipHazel Nov 15, 2023
0710ce2
pcre2posix: avoid snprintf quirks in regerror (#333)
carenas Nov 15, 2023
741390c
Fix vreverse issues
Nov 16, 2023
fdfbcd9
Remove previous incorrect patch
PhilipHazel Nov 16, 2023
b88126f
Fix oversight in DFA when changing OP_REVERSE; also add some unrelate…
PhilipHazel Nov 16, 2023
13a933e
ci: add dev build to serve as canary (#339)
carenas Nov 16, 2023
c06a4b8
pcre2posix: additional updates for recent changes (#338)
carenas Nov 16, 2023
dfc2cd1
ci: add manyconfig job (#340)
carenas Nov 17, 2023
e996437
Add more optional debugging code to pcre2_match().
PhilipHazel Nov 17, 2023
9783ca9
Sanity checks for ctype functions (#342)
addisoncrump Nov 18, 2023
c130612
Fix 32-bit quantifier following a character larger than the maximum U…
PhilipHazel Nov 19, 2023
05206d6
Fix \z behaviour when matching within invalid UTF
PhilipHazel Nov 19, 2023
7fe586b
Fix incorrect patch in c1306126
PhilipHazel Nov 20, 2023
e179a4b
Add --group-separator and --no-group-separator to pcre2grep.
PhilipHazel Nov 20, 2023
04f6668
Fix another oversight in c1306126
PhilipHazel Nov 21, 2023
a0c5393
Doc update; add tests for recent patch; remove unnecessary line in pc…
PhilipHazel Nov 21, 2023
45dcb3d
Fix \X matching in 32 bit mode without UTF in JIT
Nov 22, 2023
57ee073
Fix bad patch in 05206d66. The interpreter was handling NOTEOL incorr…
PhilipHazel Nov 22, 2023
936fef2
Fix backref iterators when PCRE2_MATCH_UNSET_BACKREF is set in JIT
Nov 22, 2023
e76eae6
Another fix for vreverse support in jit
Nov 24, 2023
630b1cd
Update docs to point out LDFLAGS=--static for making fully statically…
PhilipHazel Nov 24, 2023
198379c
Add some additional tests that I found lying around.
PhilipHazel Nov 25, 2023
86919c9
Re-factor handling of whole-pattern recursion in the interpreter
PhilipHazel Nov 28, 2023
8e83acc
Upgrade interpreter to match JIT in handling of nested pattern recurs…
PhilipHazel Nov 30, 2023
0820852
Fix incorrect auto-possessification at end of variable length lookbehind
PhilipHazel Dec 1, 2023
afce00e
Fix compile loop in 32-bit mode for characters above the Unicode limi…
PhilipHazel Dec 1, 2023
014c82d
Fix data type anomaly in pcre2_substring_list_free()prototype
PhilipHazel Dec 2, 2023
ad73148
Fix incorrect matching of 0xffffffff to any character with more than …
PhilipHazel Dec 4, 2023
1c09efe
Fix accept and endanchored interaction in JIT
Dec 6, 2023
c3529d0
Improve naming in jit
Dec 6, 2023
4e8fdb3
JIT compiler update
Dec 6, 2023
9de4d53
Fix backreferences with unset backref and non-greedy iterators in JIT
Dec 7, 2023
62a6498
Improve logic for setting starting code units by ignoring certain ass…
PhilipHazel Dec 7, 2023
c9e03ce
Minor doc update
PhilipHazel Dec 8, 2023
536e6a1
Improve patch in 62a6498 by skipping irrelevant assertions when looki…
PhilipHazel Dec 8, 2023
600d752
Documentation update
PhilipHazel Dec 22, 2023
92d56a1
Revert "Use standard CMake constructs to export the library's targets…
carenas Dec 23, 2023
542cb11
Fix incorrect class character matches in JIT
Dec 27, 2023
2bba84b
Optimize character category matching in JIT
Dec 27, 2023
aadef0c
File tidies for 10.43-RC1 release
PhilipHazel Dec 28, 2023
78b7c5b
Ensure jitfast is used when set with replace in pcre2test
PhilipHazel Dec 29, 2023
ea4bb21
Insert omitted setting of subject length at the end of pcre2_jit_match()
PhilipHazel Dec 29, 2023
ba41b5d
Improve hexdigit and any class checks in JIT
Dec 30, 2023
16759fc
Improve early fail detection in JIT
Dec 30, 2023
f1c3143
Disable early fails for atomic blocks
Dec 30, 2023
6aafc18
pcre2-config.cmake.in: Fix PCRE2 library names (#365)
jonaski Jan 3, 2024
72d9deb
Prepare for release in JIT
Jan 4, 2024
7b649dc
For the pcre2demo man page, put the source code in its own section ra…
PhilipHazel Jan 6, 2024
6885221
Fix various typos in documentation (#372)
Mango0x45 Jan 19, 2024
d71e89b
Check documentation for double-word typos
PhilipHazel Jan 19, 2024
037aecd
Fix TARGET_INCLUDE_DIRECTORIES for pcre2 posix targets (#374)
Mizzrym1 Jan 22, 2024
7d59dde
Implement PCRE2_DISABLE_RECURSELOOP_CHECK
PhilipHazel Jan 27, 2024
061de31
doc/pcre2api.3: 'constant' applies to the pointee; not pointer (#377)
alejandro-colomar Jan 31, 2024
cb22012
Mark pso_list const (#379)
TheEragon Feb 9, 2024
aa51f00
Minor typo fixes in NEWS file (#380)
Ayesh Feb 11, 2024
bd1eec7
Fuzzer: fix JIT fuzzing (#322)
addisoncrump Feb 15, 2024
488af9e
Get rid of warnings in fuzzsupport.c and note its upgrade in ChangeLog
PhilipHazel Feb 15, 2024
30a3acd
conditionally enable differential fuzzing (#381)
addisoncrump Feb 16, 2024
8bd201e
Avoid compiler warnings
PhilipHazel Feb 16, 2024
3864abd
File tidies for 10.43
PhilipHazel Feb 16, 2024
e478870
cmake: Make use of CMAKE_INSTALL_MANDIR (#382)
diizzyy Feb 18, 2024
589fea3
Improve Zig build & support latest Zig (#383)
RossComputerGuy Feb 18, 2024
04ca5be
Remove ARM v5 from supported architecture list in pcre2jit documentation
PhilipHazel Feb 21, 2024
7e0aa46
Add some casts to get rid of compiler warnings from Visual Studio
PhilipHazel Feb 21, 2024
83ce643
ci: add dev job using clang (#344)
carenas Feb 23, 2024
acd6d31
fix typo in fuzzsupport for differential fuzzing (#388)
addisoncrump Feb 23, 2024
409d8e6
Add more tracing info to fuzz support when run in standalone mode
PhilipHazel Feb 23, 2024
8d9cf73
In fuzzcheck standalone mode, verify when calling JIT compile, and sh…
PhilipHazel Feb 25, 2024
e8db6fa
JIT compiler update
Feb 26, 2024
d688fe9
Add limit check for brackets with alternatives
Feb 29, 2024
ead7bb1
Typos: Fix a few typos in ChangeLog file (#393)
Ayesh Feb 29, 2024
4a6a8b0
Fix incorrect compiling when variable-length lookbehind's first branc…
PhilipHazel Mar 1, 2024
6e5283c
Update fuzz support to reduce JIT timeouts by limiting quantifiers on…
PhilipHazel Mar 8, 2024
dd0bc88
Fix overwriting bug in fuzzsupport when text is very short
PhilipHazel Mar 9, 2024
3ebcb07
Fuzzsupport now makes a copy of its input instead of modifying the or…
PhilipHazel Mar 9, 2024
ced3b0f
Increase name length to 128
PhilipHazel Mar 11, 2024
a3ebe90
Add missing autogen call to MacOS action
PhilipHazel Mar 11, 2024
32e709b
Withdraw previous fix; update generic config
PhilipHazel Mar 11, 2024
6c670c7
Update overlooked cmake update of name size to 128
PhilipHazel Mar 11, 2024
7ca2353
Update workflow checkout to v4 (from v3) as prompted by warning from …
PhilipHazel Mar 11, 2024
929cd14
Commit 3ebcb07 omitted to change some instances of the fuzz data to t…
PhilipHazel Mar 13, 2024
72713d8
Fix yet another silly mistake in fuzzer
PhilipHazel Mar 13, 2024
a8d79d1
Update all actions from checkout@v3 tp v4
PhilipHazel Mar 15, 2024
3c5ca5c
Update build.zig to support latest master (#395)
RossComputerGuy Mar 15, 2024
dcece81
Fix yet another buffer issue in fuzzsupport
PhilipHazel Mar 17, 2024
1b7c73e
Cause pcre2test to output a message when JIT compilation fails
PhilipHazel Mar 17, 2024
847f3da
Restrict JIT status comment to jitverify or info
PhilipHazel Mar 17, 2024
9b75a3b
Suppress JIT use in fuzzer when compiled pattern is greater than 1 MiB
PhilipHazel Mar 17, 2024
df298fa
Fix othercase checking in fast forward search
Mar 18, 2024
556efbd
Update test output when no JIT for new pcre2test comment
PhilipHazel Mar 19, 2024
5c15b2a
Add -O0 to gcc dev test workflow to see if it stops it sticking
PhilipHazel Mar 19, 2024
f7cfbdb
Add workflow_dispatch to dev workflow so it can be run manually
PhilipHazel Mar 19, 2024
aaa7257
In pcre2test under valgrind, make the buffer completely usable again …
PhilipHazel Mar 20, 2024
994536c
Fixing an issue using empty character sets in jit
Mar 21, 2024
0913934
Fix yet another fuzz support oversight; add a test for a recent JIT fix
PhilipHazel Mar 21, 2024
cc4f5c2
Update pcre2-config.cmake.in (#397)
Mizzrym1 Mar 23, 2024
29764f9
Fix autoconf test for --enable-jit=auto (#396)
mjoerg Mar 23, 2024
594abb8
Reduce max size of compiled pattern for using JIT in fuzzing in the l…
PhilipHazel Mar 27, 2024
e466d41
JIT compiler update
Apr 3, 2024
cbff6bb
Install OpenVMS support files
PhilipHazel Apr 16, 2024
1649c76
Fix an edge case bug in fuzz support; it missed the quantifier in seq…
PhilipHazel Apr 19, 2024
22cb0a6
Limit quantifiers on groups in fuzz checking to avoid timeouts
PhilipHazel Apr 21, 2024
05aafb2
Implement pcre2_set_max_pattern_compiled_length() and set this limit …
PhilipHazel Apr 24, 2024
9fc7708
update build.zig to support zig 0.12.0 (#408)
player-two Apr 26, 2024
3eedbac
JIT compiler update
Apr 28, 2024
3844bad
Update test output data that got overlooked
PhilipHazel Apr 28, 2024
e07e378
Ensure binaries from a different configuration are all deleted on "ma…
PhilipHazel Apr 28, 2024
5634d0b
Update VMS build files
PhilipHazel May 3, 2024
5c7a3bd
Set max length for fuzzer input in an attempt to get rid of timeouts
PhilipHazel May 23, 2024
4c7cc9a
Tidy fuzz support code and reduce length of compiled patterns that ar…
PhilipHazel May 29, 2024
9299bb9
JIT compiler update
Jun 1, 2024
067c2f1
Fix bug in \X matching too many characters. Fixes issue #410.
PhilipHazel Jun 4, 2024
fb8404a
m4/pcre2_visibility.m4: make sure PCRE2_EXPORT is always safe (#413)
carenas Jun 7, 2024
75582ff
autotools: fix `make dist` (#414)
carenas Jun 7, 2024
6ae58be
Final file tidies for 10.44
PhilipHazel Jun 7, 2024
8be051d
Merge tag 'pcre2-10.44' into wx
MaartenBent Jan 22, 2025
c90ed0d
Run autogen.sh
MaartenBent Jan 22, 2025
b4b4098
Resolve c99 warnings
MaartenBent Jan 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
common --experimental_enable_bzlmod
build --incompatible_enable_cc_toolchain_resolution
build --incompatible_strict_action_env
116 changes: 116 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@

name: Build
on: [push, pull_request]

jobs:
linux:
name: Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare
run: ./autogen.sh

- name: Configure
run: ./configure CPPFLAGS='-Wall -Wextra' --enable-jit --enable-pcre2-16 --enable-pcre2-32

- name: Build
run: make -j2

- name: Test (main test script)
run: ./RunTest

- name: Test (JIT test program)
run: ./pcre2_jit_test

- name: Test (pcre2grep test script)
run: ./RunGrepTest

- name: Test (pcre2posix program)
run: ./pcre2posix_test -v

alpine:
name: alpine
runs-on: ubuntu-latest
container: alpine
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
run: apk add --no-cache automake autoconf gcc libtool make musl-dev #musl-locales

- name: Prepare
run: ./autogen.sh

- name: Configure
run: ./configure CPPFLAGS='-Wall -Wextra' --enable-jit --enable-pcre2-16 --enable-pcre2-32

- name: Build
run: make -j2

- name: Test (main test script)
run: ./RunTest

- name: Test (JIT test program)
run: ./pcre2_jit_test

- name: Test (pcre2grep test script)
run: ./RunGrepTest

- name: Test (pcre2posix program)
run: ./pcre2posix_test -v

macos:
name: macOS universal
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Configure
run: cmake -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' -DCMAKE_C_FLAGS='-Wall -Wextra' -B build

- name: Build
run: cmake --build build

- name: Test (main test script)
run: |
cd build
../RunTest

- name: Test (JIT test program)
run: |
cd build
./pcre2_jit_test

- name: Test (pcre2grep test script)
run: |
cd build
../RunGrepTest

- name: Test (pcre2posix program)
run: |
cd build
./pcre2posix_test -v

windows:
name: 32bit Windows
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Configure
run: cmake -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DCMAKE_IGNORE_PREFIX_PATH=C:/Strawberry/c -B build -A Win32

- name: Build
run: cmake --build build

- name: Test
run: |
cd build\Debug
..\..\RunTest.bat
./pcre2posix_test -v
24 changes: 24 additions & 0 deletions .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CIFuzz
on: [pull_request]
jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'pcre2'
dry-run: false
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'pcre2'
fuzz-seconds: 300
dry-run: false
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
73 changes: 73 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '27 6 * * 4'

# Declare default permissions as read only.
permissions: read-all

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'cpp', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
81 changes: 81 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Dev
on:
workflow_dispatch:
pull_request:
branches:
- master

jobs:

canary:
name: gcc
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare
run: ./autogen.sh

- name: Configure
run: ./configure CC='gcc -O0 -fsanitize=undefined,address -fsanitize-undefined-trap-on-error' CPPFLAGS='-Wall -Wextra -Werror -Wno-error=unused-but-set-parameter' --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-debug --with-link-size=4

- name: Build
run: make -j3

- name: Test (main test script)
run: ./RunTest

- name: Test (JIT test program)
run: ./pcre2_jit_test

- name: Test (pcre2grep test script)
run: ./RunGrepTest

- name: Test (pcre2posix program)
run: ./pcre2posix_test -v

dragon:
name: clang
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare
run: ./autogen.sh

- name: Configure
run: ./configure CC='clang -fsanitize=undefined,address,integer -fno-sanitize=unsigned-integer-overflow' CPPFLAGS='-Wall -Wextra -Werror -Wno-error=unused-but-set-parameter -Wno-error=deprecated-declarations -Wno-error=incompatible-library-redeclaration' --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-debug --with-link-size=3

- name: Build
run: make -j3

- name: Test (main test script)
run: ./RunTest

- name: Test (JIT test program)
run: ./pcre2_jit_test

- name: Test (pcre2grep test script)
run: ./RunGrepTest

- name: Test (pcre2posix program)
run: ./pcre2posix_test -v

bigbird:
name: manyconfig
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare
run: |
sudo apt-get update
sudo apt-get install -y valgrind

- name: Run
run: |
./autogen.sh
./maint/ManyConfigTests
55 changes: 55 additions & 0 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Scorecards supply-chain security
on:
# Only the default branch is supported.
branch_protection_rule:
schedule:
- cron: '23 17 * * 1'
push:
branches: [ master ]

# Declare default permissions as read only.
permissions: read-all

jobs:
analysis:
name: Scorecards analysis
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
actions: read
contents: read

steps:
- name: "Checkout code"
uses: actions/checkout@v4
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@3e15ea8318eee9b333819ec77a36aca8d39df13e # tag=v1.1.1
with:
results_file: results.sarif
results_format: sarif
# Read-only PAT token. To create it,
# follow the steps in https://github.com/ossf/scorecard-action#pat-token-creation.
repo_token: ${{ secrets.SCORECARD_READ_TOKEN }}
# Publish the results to enable scorecard badges. For more details, see
# https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories, `publish_results` will automatically be set to `false`,
# regardless of the value entered here.
publish_results: true

# Upload the results as artifacts (optional).
- name: "Upload artifact"
uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # v2.3.1
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@5f532563584d71fdef14ee64d17bafb34f751ce5 # v1.0.26
with:
sarif_file: results.sarif
Loading
Loading