opnsense-src/contrib/netbsd-tests/lib/libc
Kyle Evans adeebf4cd4 regex(3): Interpret many escaped ordinary characters as EESCAPE
In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for
any character to be escaped, but "ORD_CHAR preceded by an unescaped
<backslash> character [gives undefined results]".

Historically, we've interpreted an escaped ordinary character as the
ordinary character itself. This becomes problematic when some extensions
give special meanings to an otherwise ordinary character
(e.g. GNU's \b, \s, \w), meaning we may have two different valid
interpretations of the same sequence.

To make this easier to deal with and given that the standard calls this
undefined, we should throw an error (EESCAPE) if we run into this scenario
to ease transition into a state where some escaped ordinaries are blessed
with a special meaning -- it will either error out or have extended
behavior, rather than have two entirely different versions of undefined
behavior that leave the consumer of regex(3) guessing as to what behavior
will be used or leaving them with false impressions.

This change bumps the symbol version of regcomp to FBSD_1.6 and provides the
old escape semantics for legacy applications, just in case one has an older
application that would immediately turn into a pumpkin because of an
extraneous escape that's embedded or otherwise critical to its operation.

This is the final piece needed before enhancing libregex with GNU extensions
and flipping the switch on bsdgrep.

[1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/

PR:		229925 (exp-run, courtesy of antoine)
Differential Revision:	https://reviews.freebsd.org/D10510
2020-07-29 23:21:56 +00:00
..
arch Upgrade NetBSD tests to 01.11.2017_23.20 snapshot 2017-01-13 03:33:57 +00:00
c063 MFV r357687: Import NFS fix for O_SEARCH tests 2020-02-09 04:05:30 +00:00
common
db Drop unnecessary diff rewriting dict(..) function 2017-01-16 07:34:45 +00:00
gen Add missing mode in open(2) calls with O_CREAT. 2019-07-16 22:27:49 +00:00
hash Use copy of sha2.h from libnetbsd 2017-01-14 08:11:17 +00:00
inet Checkpoint initial integration work 2016-08-12 08:50:05 +00:00
locale Make mbstowcs_basic test pass, now that we have more ctype definitions. 2018-11-17 12:59:59 +00:00
net Checkpoint initial integration work 2016-08-12 08:50:05 +00:00
regex regex(3): Interpret many escaped ordinary characters as EESCAPE 2020-07-29 23:21:56 +00:00
rpc Remove expected failure now that it was fixed in r317660. 2017-05-02 22:14:55 +00:00
setjmp Pull in ^/vendor/NetBSD/tests/dist@r312219 2017-01-15 10:04:20 +00:00
ssp libc: remove gets 2019-09-01 16:12:05 +00:00
stdio Add missing mode in open(2) calls with O_CREAT. 2019-07-16 22:27:49 +00:00
stdlib Add additional __FreeBSD_version guards around the hsearch_r testcases 2017-03-01 03:31:12 +00:00
string Pull in ^/vendor/NetBSD/tests/dist@r312219 2017-01-15 10:04:20 +00:00
sync Upgrade NetBSD tests to 01.11.2017_23.20 snapshot 2017-01-13 03:33:57 +00:00
sys Adjust tests after page fault changes in r352807 2019-09-29 15:17:58 +00:00
termios
time strptime: make %k and %l specifiers match their description in 2018-11-03 23:37:13 +00:00
tls Mechanically replace #if defined(__FreeBSD__) and #if defined(__NetBSD__) with 2014-11-17 13:39:00 +00:00
tls_dso Mechanically replace #if defined(__FreeBSD__) and #if defined(__NetBSD__) with 2014-11-17 13:39:00 +00:00
ttyio Merge ^/vendor/NetBSD/tests/dist@r311868 2017-01-10 10:16:59 +00:00
t_cdb.c Import testcase updates with code contributed back to NetBSD 2017-01-11 09:51:34 +00:00
t_convfp.c
t_gdtoa.c