This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit 3caa8765d48ab2b1fb745c2b525d24683e1c1114 Merge: 95c9c77469 b7a2edc02b Author: bneradt <[email protected]> AuthorDate: Thu Dec 11 12:09:52 2025 -0600 Merge latest master into 11-Dev There were no conflicts. .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 -- .../slice/CMakeLists.txt => cmake/add_cript.cmake | 39 +- 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 +- .../CMakeLists.txt | 7 +- .../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 | 23 +- .../exempt_lists/exempt_localhost.yaml | 23 +- .../exempt_lists/no_localhost.yaml | 23 +- .../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 + .../{compress2.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, 5228 insertions(+), 1917 deletions(-)
