freebsd-skq/lib
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
..
atf
clang Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-21 17:34:05 +00:00
csu Include ABI note tag in shared libraries. 2020-07-16 21:58:43 +00:00
geom geli(8): Add missing commands in the EXAMPLES section 2020-07-22 13:00:56 +00:00
googletest
kyua Install expected kyua docs. 2020-03-26 17:34:17 +00:00
lib80211
libalias libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
libarchive MFV r361280: 2020-05-20 20:58:48 +00:00
libauditd libauditd: make it a PRIVATELIB 2020-04-19 02:20:39 +00:00
libbe libbe: annotate lbh as __unused in be_is_auto_snapshot_name 2020-07-22 02:09:10 +00:00
libbearssl Revert that! 2020-07-19 23:56:19 +00:00
libbegemot
libblacklist
libblocksruntime
libbluetooth
libbsdstat
libbsm libbsm: fix some MLINKS 2020-04-19 02:18:40 +00:00
libbsnmp Merge release 1.14 of bsnmp. 2020-04-01 15:25:16 +00:00
libbz2
libc regex(3): Interpret many escaped ordinary characters as EESCAPE 2020-07-29 23:21:56 +00:00
libc_nonshared
libc++ Remove -mlong-calls vhen building arm libraries and llvm. 2020-03-10 06:49:43 +00:00
libc++experimental
libcalendar
libcam Clean up cam.3 2020-07-06 09:53:00 +00:00
libcapsicum
libcasper Fix trailing-comma-related typos in the tree when the Xr macro is used 2020-06-27 11:13:45 +00:00
libclang_rt Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-05-23 10:32:18 +00:00
libcom_err
libcompat
libcompiler_rt Merge ^/head r357662 through r357854. 2020-02-13 12:52:24 +00:00
libcrypt
libcuse
libcxxrt
libdevctl
libdevdctl libdevdctl: Force full match of "timestamp" field name 2020-06-23 16:29:59 +00:00
libdevinfo
libdevstat
libdl
libdpv
libdwarf
libedit
libefivar libefivar: define MDE_CPU_RISCV64 2020-07-06 17:47:29 +00:00
libelf
libelftc
libevent1 rename in-tree libevent v1 to libevent1 2020-05-28 22:05:50 +00:00
libexecinfo
libexpat
libfetch fetch(3): plug some leaks 2020-02-21 18:21:57 +00:00
libfigpar
libgcc_eh
libgcc_s Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
libgeom
libgpio
libgssapi
libiconv_modules
libifconfig libifconfig: Add function to get bridge status 2020-07-01 02:32:41 +00:00
libipsec Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec. 2020-06-04 22:58:37 +00:00
libipt
libjail
libkiconv
libkvm test: add libkvm read test 2020-07-08 18:58:44 +00:00
libldns
liblua liblua: ensure that "require" will fail in bootstrap flua 2020-04-29 13:41:32 +00:00
liblutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
liblzma liblzma: Make liblzma use libmd implementation of SHA256. 2020-06-20 21:32:07 +00:00
libmagic Fix installation of magic file. 2020-06-17 15:57:59 +00:00
libmd libmd: temporarily disable optimized assembly skein1024 implementation 2020-07-23 18:55:47 +00:00
libmemstat Use per-domain locks for the bucket cache. 2020-02-19 18:48:46 +00:00
libmilter
libmp
libmt
libnetbsd
libnetgraph Fix SYNPOSIS section to point to the proper include directive. 2020-05-15 12:04:39 +00:00
libngatm
libnv Fix libnv build post rename 2020-06-27 02:17:04 +00:00
libomp
libopenbsd
libopencsd Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
libopie
libpam pkgbase: Move telnetd and ftpd pam file to the utilities package 2020-03-24 01:08:06 +00:00
libpathconv
libpcap
libpe
libpjdlog
libpmc libpmc: Use known pmc_cpuid buffer size 2020-07-28 02:56:26 +00:00
libpmcstat pmc: Add include path for libpmcstat as it is an internallib 2020-03-25 01:32:16 +00:00
libproc Re-enable proc_test:symbol_lookup after r360979. 2020-05-12 17:05:55 +00:00
libprocstat libprocstat: fix kvm filedesc access after introduction of fdescenttbl 2020-07-15 10:13:23 +00:00
libradius
libregex
librpcsec_gss
librpcsvc
librss
librt
librtld_db librtld_db: Handle anonymous mappings below the first file mapping. 2020-06-05 18:44:14 +00:00
libsbuf
libsdp
libsecureboot Revert that! 2020-07-19 23:56:19 +00:00
libsm Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmb
libsmdb Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmutil
libsqlite3
libssp libssp: don't compile with -fstack-protector* 2020-03-14 15:15:27 +00:00
libssp_nonshared
libstats
libstdbuf
libstdthreads
libsysdecode Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
libtacplus
libtelnet
libthr Add pthread_getname_np() and pthread_setname_np() aliases for 2020-06-10 22:13:24 +00:00
libthread_db Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
libucl
libufs Correctly describe the return values for the libufs library sbget() 2020-06-23 21:37:12 +00:00
libugidfw Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
libulog
libunbound MFV r361322: 2020-05-21 21:00:46 +00:00
libusb libusb: improve compatibility 2020-06-09 17:17:43 +00:00
libusbhid USB HID descriptors may push/pop the current state to allow 2020-06-05 07:57:16 +00:00
libutil Add CAP_EVENT to pidfiles. 2020-06-25 21:34:43 +00:00
libveriexec Do not claim libbearssl et al are INTERNALLIB 2020-04-01 05:45:12 +00:00
libvgl
libvmmapi vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace 2020-05-15 15:54:22 +00:00
libwrap
libxo Fix installation of libxo encoder modules. 2020-05-31 17:20:17 +00:00
liby
libypclnt
libz Generate zlib.pc from source. 2020-05-12 01:47:33 +00:00
libzstd Update to Zstandard 1.4.5 2020-05-23 21:23:46 +00:00
msun Enable long double tests on RISC-V 2020-06-24 13:11:19 +00:00
ncurses ncurses: bump shlib number to version 9 2020-02-20 09:12:07 +00:00
ofed
tests
Makefile rename in-tree libevent v1 to libevent1 2020-05-28 22:05:50 +00:00
Makefile.inc