This is an automated email from the ASF dual-hosted git repository.
bneradt pushed a change to branch 11-Dev
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
from 95c9c77469 Merge latest master into 11-Dev
add 355a9ee34d Fix false positive -Wrestrict warning in test_ja4.cc with
GCC 12 (#12690)
add b38147f370 Remove PCRE references, complete migration to PCRE2 (#12685)
add ef9e3ce967 Fix request buffering with post_copy_size=0 (#12702)
add 5c7cffe10b Fix a build error in UnixEvent.cc due to insufficient
header inclusion (#12714)
add 61d9346696 Require and call destructors on ClassAllocated objects
(#12676)
add c183dd184d Add Zstandard compression support and update tests (#12201)
add e84ca70ed0 Fix false positive -Wrestrict warning in HttpUserAgent.h
with GCC 12 (#12715)
add 0039a4d463 Fix DOS pre-commit hook check. (#12718)
add abf073f911 Fix for fetchsm chunked response handling with dechunking
turned off (#12707)
add 7d8a3a0602 Fix convert2yaml script to include missed records. (#12713)
add cf9aeadd96 Fix ProxyProtocol double destructor call in
HttpTransact::State (#12724)
add 3f2b5c873c Fix hanging SDK_API_HttpParentProxySet regression tests
(#12721)
add f373755b16 Cripts: tighten context cleanup (#12725)
add 0c323385b8 Fix Sphinx documentation build warnings (#12709)
add 052852158b Simplify overridable config code (#12719)
add 671f6aef19 Fix autest.sh.in to preserve autest exit code (#12732)
add ef0731ac53 Replace deprecated ASN1_STRING_data function (#12698)
add 90e2d1dd66 stats_over_http: fix incorrect use of C string functions
(#12722)
add 68e4bd3cd7 Cleanup HttpCacheKey (#12739)
add 8bdb73ec29 Automatic caching of parsed STRING config values (#12735)
add 163056e768 Reduce ram_cache regression test scope for CI stability
(#12737)
add bb34d9eec5 Fix retry logic for TSHttpTxnServerAddrSet (issue #12611)
(#12733)
add bd851ac982 Fix potential buffer overflow in http_load snprintf calls
(#12723)
add 5df027fa67 Fix cache test reenable loop in VC_EVENT_READ_READY handler
(#12712)
add 8f3749bbd3 ASAN: Fix leak with the Stripe raw-dirs allocation (#12750)
add d47009360f proxy.config.http.per_client.connection.exempt_list (#12198)
add 5f2212bde2 Rename `Stripte` identifier prefix to `Stripe` (#12751)
add 5e3f0525f6 Break recursive call of CacheVC::openReadStartEarliest
(#12710)
add 0e42870205 Add a per client connection max exempt list cript (#12476)
add cc801ec27e Fix test_net to not depend on system sni.yaml (#12736)
add b7a2edc02b Catch2: Use CAPTURE and GENERATE (#12731)
new 3caa8765d4 Merge latest master into 11-Dev
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.gitignore | 3 +-
.vscode/settings.json | 3 +-
CMakeLists.txt | 28 +-
README.md | 2 +-
ci/coverity-model.cpp | 16 +-
ci/docker/deb/Dockerfile | 3 +-
ci/docker/yum/Dockerfile | 2 +-
cmake/ExperimentalPlugins.cmake | 1 +
cmake/FindPCRE.cmake | 48 --
cmake/{add_cripts_bundle.cmake => add_cript.cmake} | 27 +-
contrib/docker/ubuntu/noble/Dockerfile | 2 +
doc/Doxyfile | 2 +-
doc/admin-guide/files/records.yaml.en.rst | 42 +-
doc/admin-guide/plugins/compress.en.rst | 85 ++-
.../plugins/connection_exempt_list.en.rst | 103 +++
doc/admin-guide/plugins/index.en.rst | 5 +
doc/admin-guide/plugins/lua.en.rst | 6 +-
doc/conf.cmake.in.py | 83 +-
.../functions/TSConnectionLimitExemptList.en.rst | 125 +++
.../api/functions/TSHttpTxnServerAddrSet.en.rst | 8 +-
.../plugins/http-headers/header-functions.en.rst | 3 +
doc/release-notes/whats-new.en.rst | 1 +
include/cripts/Epilogue.hpp | 6 +-
include/cripts/Urls.hpp | 5 +
include/iocore/cache/CacheDefs.h | 6 +-
include/iocore/eventsystem/Event.h | 2 +-
include/iocore/eventsystem/IOBuffer.h | 4 +-
include/iocore/eventsystem/Lock.h | 2 +-
include/iocore/net/ConnectionTracker.h | 69 +-
include/iocore/utils/OneWayMultiTunnel.h | 2 +-
include/proxy/ControlMatcher.h | 3 -
include/proxy/hdrs/HTTP.h | 1 +
include/proxy/hdrs/MIME.h | 2 +
include/proxy/http/Http1ClientSession.h | 2 +-
include/proxy/http/Http1ServerSession.h | 2 +-
include/proxy/http/HttpConfig.h | 73 ++
include/proxy/http/HttpSM.h | 2 +-
include/proxy/http/HttpTransact.h | 12 +-
include/proxy/http/HttpUserAgent.h | 2 +-
include/proxy/http/OverridableConfigDefs.h | 254 +++++++
include/proxy/http/PreWarmManager.h | 5 +-
include/proxy/http2/Http2ClientSession.h | 2 +-
include/proxy/http2/Http2ServerSession.h | 2 +-
include/proxy/http2/Http2Stream.h | 2 +-
include/proxy/http3/Http3Frame.h | 8 +-
include/ts/apidefs.h.in | 2 +
include/ts/ts.h | 30 +
include/tscore/Allocator.h | 8 +-
include/tscore/ink_config.h.cmake.in | 1 +
lib/swoc/unit_tests/test_TextView.cc | 1 +
plugins/CMakeLists.txt | 1 +
plugins/cachekey/CMakeLists.txt | 4 +-
plugins/cachekey/cachekey.cc | 4 +-
plugins/cachekey/pattern.cc | 2 +-
plugins/cachekey/unit_tests/pattern_test.cc | 4 +-
plugins/compress/CMakeLists.txt | 6 +
plugins/compress/README | 4 +-
plugins/compress/compress.cc | 65 +-
plugins/compress/compress_common.h | 24 +-
plugins/compress/configuration.cc | 68 +-
plugins/compress/configuration.h | 58 +-
plugins/compress/debug_macros.h | 2 +-
plugins/compress/gzip_compress.cc | 10 +-
plugins/compress/misc.cc | 13 +-
plugins/compress/misc.h | 2 +-
plugins/compress/sample.compress.config | 30 +-
plugins/compress/zstd_compress.cc | 213 ++++++
plugins/compress/zstd_compress.h | 44 ++
plugins/experimental/CMakeLists.txt | 3 +
plugins/experimental/access_control/pattern.cc | 32 +-
plugins/experimental/access_control/pattern.h | 6 +-
.../connection_exempt_list}/CMakeLists.txt | 3 +-
.../connection_exempt_list.cript | 86 +++
plugins/experimental/geoip_acl/README | 2 +-
plugins/experimental/ja4_fingerprint/test_ja4.cc | 3 +-
plugins/experimental/memcache/CMakeLists.txt | 5 +-
plugins/experimental/memcache/tsmemcache.cc | 2 +-
plugins/experimental/tls_bridge/CMakeLists.txt | 2 +-
plugins/experimental/tls_bridge/tls_bridge.cc | 2 +-
.../txn_box/plugin/include/txn_box/Context.h | 4 +-
.../txn_box/plugin/include/txn_box/Rxp.h | 2 +-
.../txn_box/unit_tests/test_accl_utils.cc | 12 +
plugins/experimental/wasm/ats_context.cc | 4 +-
plugins/header_rewrite/CMakeLists.txt | 2 +-
plugins/header_rewrite/matcher_tests.cc | 2 +-
plugins/lua/ts_lua_common.h | 2 +-
plugins/lua/ts_lua_fetch.cc | 3 +
plugins/lua/ts_lua_http_config.cc | 287 +------
plugins/prefetch/CMakeLists.txt | 2 +-
plugins/prefetch/pattern.cc | 26 +-
plugins/prefetch/pattern.h | 6 +-
plugins/slice/CMakeLists.txt | 2 +-
plugins/slice/unit-tests/CMakeLists.txt | 2 +-
plugins/stats_over_http/stats_over_http.cc | 12 +-
src/api/APIHooks.cc | 2 +-
src/api/CMakeLists.txt | 4 +-
src/api/InkAPI.cc | 612 +++++----------
src/api/InkAPIInternal.cc | 4 +
src/api/InkAPITest.cc | 168 +---
src/api/InkContInternal.cc | 2 +-
src/api/InkVConnInternal.cc | 2 +-
src/cripts/Context.cc | 1 +
src/cripts/Instance.cc | 9 +
src/cripts/Matcher.cc | 4 +-
src/cripts/Urls.cc | 4 +-
src/iocore/cache/Cache.cc | 30 +-
src/iocore/cache/CacheDir.cc | 4 +-
src/iocore/cache/CacheEvacuateDocVC.h | 2 +-
src/iocore/cache/CacheProcessor.cc | 12 +-
src/iocore/cache/CacheRead.cc | 32 +-
src/iocore/cache/CacheTest.cc | 10 +-
src/iocore/cache/P_CacheDir.h | 16 +-
src/iocore/cache/P_CacheInternal.h | 16 +-
src/iocore/cache/PreservationTable.h | 4 +-
src/iocore/cache/RamCacheCLFUS.cc | 2 +-
src/iocore/cache/RamCacheLRU.cc | 2 +-
src/iocore/cache/Stripe.cc | 27 +-
src/iocore/cache/Stripe.h | 5 +-
src/iocore/cache/StripeSM.cc | 12 +-
src/iocore/cache/StripeSM.h | 8 +-
src/iocore/cache/unit_tests/main.cc | 8 +-
src/iocore/cache/unit_tests/stub.cc | 2 +-
src/iocore/cache/unit_tests/test_Stripe.cc | 35 +-
src/iocore/dns/DNS.cc | 6 +-
src/iocore/dns/SplitDNS.cc | 2 +-
src/iocore/eventsystem/IOBuffer.cc | 14 +-
src/iocore/eventsystem/Lock.cc | 2 +-
src/iocore/eventsystem/ProtectedQueue.cc | 2 +-
src/iocore/eventsystem/UnixEvent.cc | 3 +-
src/iocore/hostdb/HostDB.cc | 2 +-
src/iocore/hostdb/P_RefCountCache.h | 2 +-
src/iocore/hostdb/RefCountCache.cc | 4 +-
src/iocore/net/ConnectionTracker.cc | 165 +++-
src/iocore/net/Net.cc | 3 +-
src/iocore/net/OCSPStapling.cc | 2 +-
src/iocore/net/P_Net.h | 1 +
src/iocore/net/P_QUICNet.h | 2 +-
src/iocore/net/P_QUICNetVConnection.h | 2 +-
src/iocore/net/P_SSLNetVConnection.h | 2 +-
src/iocore/net/P_Socks.h | 2 +-
src/iocore/net/P_UDPIOEvent.h | 2 +-
src/iocore/net/P_UnixNetVConnection.h | 2 +-
src/iocore/net/QUICNet.cc | 2 +-
src/iocore/net/QUICNetVConnection.cc | 2 +-
src/iocore/net/SSLNetVConnection.cc | 2 +-
src/iocore/net/Socks.cc | 2 +-
src/iocore/net/UDPIOEvent.cc | 2 +-
src/iocore/net/UnixNetAccept.cc | 11 +-
src/iocore/net/UnixNetVConnection.cc | 2 +-
src/iocore/net/UnixUDPNet.cc | 6 +-
src/iocore/net/libinknet_stub.cc | 2 +-
src/iocore/net/unit_tests/test_SSLSNIConfig.cc | 6 +
src/iocore/net/unit_tests/test_YamlSNIConfig.cc | 2 +
src/iocore/utils/OneWayMultiTunnel.cc | 2 +-
src/iocore/utils/OneWayTunnel.cc | 2 +-
src/proxy/ControlMatcher.cc | 8 +-
src/proxy/FetchSM.cc | 15 +-
src/proxy/hdrs/HTTP.cc | 4 +-
src/proxy/hdrs/HdrToken.cc | 7 +-
src/proxy/hdrs/MIME.cc | 2 +
src/proxy/hdrs/unit_tests/test_Hdrs.cc | 88 +--
src/proxy/hdrs/unit_tests/test_URL.cc | 79 +-
src/proxy/hdrs/unit_tests/test_mime.cc | 39 +-
src/proxy/http/Http1ClientSession.cc | 2 +-
src/proxy/http/Http1ServerSession.cc | 2 +-
src/proxy/http/HttpConfig.cc | 107 ++-
src/proxy/http/HttpSM.cc | 6 +-
src/proxy/http/HttpTransact.cc | 14 +-
src/proxy/http/HttpTransactHeaders.cc | 47 ++
src/proxy/http/PreWarmManager.cc | 4 +-
src/proxy/http/remap/RemapPlugins.cc | 2 +-
.../http/remap/unit-tests/nexthop_test_stubs.cc | 7 +-
src/proxy/http/remap/unit-tests/plugin_stub.cc | 2 +-
.../http/unit_tests/test_error_page_selection.cc | 1 +
src/proxy/http2/Http2ClientSession.cc | 2 +-
src/proxy/http2/Http2ServerSession.cc | 2 +-
src/proxy/http2/Http2Stream.cc | 2 +-
src/proxy/http3/Http3Frame.cc | 8 +-
src/proxy/http3/QPACK.cc | 3 +-
src/records/RecordsConfig.cc | 4 +-
src/shared/overridable_txn_vars.cc | 217 ++----
src/traffic_layout/CMakeLists.txt | 4 +
src/traffic_layout/info.cc | 14 +
src/traffic_quic/traffic_quic.cc | 2 +-
src/traffic_server/SocksProxy.cc | 2 +-
src/tscore/CMakeLists.txt | 10 +-
src/tscore/unit_tests/test_Allocator.cc | 330 ++++++++
src/tscore/unit_tests/test_ink_string.cc | 39 +-
src/tsutil/unit_tests/test_Regex.cc | 34 +-
tests/autest.sh.in | 3 +
tests/gold_tests/autest-site/setup.cli.ext | 1 +
.../gold_tests/autest-site/trafficserver.test.ext | 7 +-
.../client_connection/exempt_lists/exempt_all.yaml | 5 +-
.../exempt_lists/exempt_localhost.yaml | 5 +-
.../exempt_lists/no_localhost.yaml | 5 +-
.../per_client_connection_max.test.py | 144 ++--
tests/gold_tests/cripts/files/basic.cript | 12 +-
tests/gold_tests/headers/normalize_ae.gold | 332 ++++++++
tests/gold_tests/headers/normalize_ae.test.py | 53 ++
.../headers/normalized_ae_match_vary_cache.test.py | 8 +-
.../normalized_ae_varied_transactions.replay.yaml | 844 ++++++++++++++++++++-
tests/gold_tests/pluginTest/compress/compress.gold | 204 ++++-
.../pluginTest/compress/compress.test.py | 72 +-
.../pluginTest/compress/compress2.config | 3 +
.../compress/{compress.config => compress3.config} | 6 +-
.../pluginTest/compress/compress_userver.gold | 24 +-
.../pluginTest/test_hooks/body_buffer.test.py | 119 +--
.../test_hooks/replay/body_buffer.replay.yaml | 123 +++
.../replay/zero_post_copy_size.replay.yaml | 127 ++++
tests/gold_tests/pluginTest/tsapi/CMakeLists.txt | 1 +
.../tsapi/test_TSHttpTxnServerAddrSet_retry.cc | 169 +++++
.../test_TSHttpTxnServerAddrSet_retry.test.py | 87 +++
tests/gold_tests/records/gold/renamed_records.gold | 7 +-
tests/gold_tests/records/gold/renamed_records.yaml | 5 +
.../records/legacy_config/old_records.config | 3 +
tests/gold_tests/traffic_ctl/gold/test_2.gold | 1 +
tests/gold_tests/traffic_ctl/gold/test_3.gold | 1 +
tools/benchmark/benchmark_ProxyAllocator.cc | 2 +-
tools/clang-format.sh | 2 +-
tools/git/pre-commit | 9 +-
tools/hrw4u/src/lsp/documentation.py | 20 +-
tools/http_load/http_load.c | 79 +-
tools/records/convert2yaml.py | 5 +-
223 files changed, 5226 insertions(+), 1849 deletions(-)
delete mode 100644 cmake/FindPCRE.cmake
copy cmake/{add_cripts_bundle.cmake => add_cript.cmake} (58%)
create mode 100644 doc/admin-guide/plugins/connection_exempt_list.en.rst
create mode 100644
doc/developer-guide/api/functions/TSConnectionLimitExemptList.en.rst
create mode 100644 include/proxy/http/OverridableConfigDefs.h
create mode 100644 plugins/compress/zstd_compress.cc
create mode 100644 plugins/compress/zstd_compress.h
copy {example/plugins =>
plugins/experimental/connection_exempt_list}/CMakeLists.txt (86%)
create mode 100644
plugins/experimental/connection_exempt_list/connection_exempt_list.cript
create mode 100644 src/tscore/unit_tests/test_Allocator.cc
copy setup.cfg =>
tests/gold_tests/client_connection/exempt_lists/exempt_all.yaml (96%)
copy setup.cfg =>
tests/gold_tests/client_connection/exempt_lists/exempt_localhost.yaml (95%)
copy setup.cfg =>
tests/gold_tests/client_connection/exempt_lists/no_localhost.yaml (95%)
copy tests/gold_tests/pluginTest/compress/{compress.config =>
compress3.config} (62%)
create mode 100644
tests/gold_tests/pluginTest/test_hooks/replay/body_buffer.replay.yaml
create mode 100644
tests/gold_tests/pluginTest/test_hooks/replay/zero_post_copy_size.replay.yaml
create mode 100644
tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet_retry.cc
create mode 100644
tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet_retry.test.py
create mode 100644 tests/gold_tests/traffic_ctl/gold/test_2.gold
create mode 100644 tests/gold_tests/traffic_ctl/gold/test_3.gold