This is an automated email from the ASF dual-hosted git repository.

cmcfarlen pushed a change to branch 10.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


    from d1cc4e2137 Add unit tests for `Action` logic (#13332)
     add 5441adf93b Replace VLA with heap allocation in cachekey appendEncoded
     add faf0b456f4 Guard against size_t overflow in appendEncoded buffer sizing
     add aa8dea071f Use ts::LocalBuffer instead of std::vector in appendEncoded
     add 40eeb5f021 Fix SNI/hostname comparison to check full string length
     add 09f15c3960 Close connection if unneccesary H2 SETTINGS frame arrives
     add 2d72f26ff2 Reject Transfer-Encoding in HTTP/2 and HTTP/3 headers
     add 490dd09540 Reject Transfer-Encoding where chunked is not the final 
coding
     add d639cb8c40 Fix out-of-bounds write in MIME obs-fold handling
     add 81b4fa088d Enforce per-field size limit in HPACK/QPACK string decoding
     add af4958fe6b regex_remap: Issue 46 - Overflow in url_len Leads to Stack 
Overflow
     add 5d86357179 Also address issue #48
     add 222d33ceaa Reject oversized HPACK indexes
     add eb1a3e94b1 Enforce 16-bit srv_offset invariant in HostDBInfo::assign
     add dcfcb1ad29 Document valid range for round_robin_max_count
     add f0185e0c43 Replace VLAs with ts::LocalBuffer in HostDB SRV handling
     add 68370d9f20 Fix OOB read in H2 get_received_frame_count
     add 26ea550118 Add bounds checks to DNS answer parsing before NS_GET macros
     add c94a570449 cripts: Issue 31 - UB array write in remap instance 
initialization
     add 47bcf56e88 cripts: Issue 32 - Fix path traversal in File::Path::Rebase
     add 229f0b4cbb Fix integer overflow in MIME header parsing
     add 3622d3d0be Fix inverted condition for nonstandard method matching in 
ACL filtering
     add 0a9b3a3dd5 Bound status code parsing to prevent integer overflow
     add 7f5d62bf15 Avoid stack VLA in log filter wiping
     add ed3db2677a Avoid stack VLA in proxy protocol parsing
     add 5e87e83f3a Validate PROXY v1 port bounds
     add 87f5053c66 Guard txn_box stack allocations
     add d6edf3529f Limit CONNECT body preclusion to successful responses
     add a14f75bfa4 libswoc: Validate IPv6 hextet bounds
     add ffdad865ef Reject overflowing XPACK integers
     add 77c507ad55 Bound outstanding HTTP/2 SETTINGS
     add 523df9a2ec Fix inverted condition in SNI_IpAllow::TestClientSNIAction
     add 4eccff0ac9 Fix max_settings_per_minute condition
     add 18d6570c7a Update autest for SNI_IpAllow::TestClientSNIAction #188 
changes
     add 93657ab769 http2: Add tests for CRLF rejection in H2 header values
     add c17b724772 Fix format issue in http2_crlf_header_validation
     add 807b037e06 rate_limit: Issue 106 - Fix queue bypass
     add 932b5fa100 rate_limit: Issue 108 - Fix ip-rep UB writes
     add e39e178b50 compress: stop gzip transform after deflate() error
     add 752fea85b1 Fix leaks of POST failures
     add fb45f2f898 Add nullptr check before calling SSL_shutdown
     add e6f8b84551 Fix length check of MethodMod:check
     add c181b39fd4 iocore: tighten IOBuffer and AIO bounds checks
     add 9a65757e49 stream_editor: allocate rules in contdata_t ctor
     add 2838fec6d3 tscpp: hold intercept try-lock guard via shared mutex
     add 39bb899911 URL: reject parsed ports outside uint16 range
     add a75f04a8f6 access_control: cap stack buffer for cookie base64 decode
     add 10e7d116f3 rate_limit: Fix active counter underflow
     add 23297265ae Constrain prefetch relative paths
     add b542a27ba9 Server Session: Make sure read_buffer is empty before 
pooling a server session
     add 21b786a1ec Keep OCSP map on init failure
     add 664666e94d Return evacuation bucket by reference not by value
     add 94f2069783 Handle addressless PROXY headers in TLS
     add b706c00ca3 Guard outbound server_name SNI policy
     add 329d3546df Verify H2 origin certs on session reuse
     add bd6a40312b TLSSNISupport: own outbound_sni_policy bytes across config 
reload
     add 7e85ad3f8d Avoid signed tolower for name bytes
     add 61a02258a6 Reject oversized multiplexer chunks
     add 8605e6553a Keep loop detection on outbound-transparent ports
     add 9d99f4f654 Set default value of 
proxy.config.http2.default_buffer_water_mark to 32KB
     add e6e7135d25 Avoid UB when URL part is absent in URLImpl getters
     add b73cf9d3bb HTTPHdr: fix use-after-free in destroy() leaving dangling 
m_http
     add c80606f222 ESI: cap HTTP request length to prevent size_t overflow
     add b485b59d97 Invoke Continuation operator bool, not pointer-to-bool
     add 252466fb88 Prevent unbounded recursion in host-down Range fallback
     add 9bf1fa52c3 Add uds-perm/uds-user/uds-group port options
     add 6cf8175967 Fix ChunkHandler Flow Control
     add de964687af Fix FetchSM header block copying
     add 7785b7a4da Gate H2 reads during async hooks
     add 4b7b907b73 background_fetch: fix inverted size operator and broken 
value wildcard
     add 950c078bd4 Fix an integer overflow in HdrHeap
     add e66d2572b2 lua: Add checks on server request hdr
     add 96dc167c15 Regex: add RE_FULL_MATCH flag, fix SNI partial-match policy 
bypass
     add d2c64e7bee Combo handler: Reject empty Content-Type when allowlist is 
configured
     add 95d9db9453 ESI: bound for nested esi html comment
     add 75412e09f6 ja3_fingerprint: tighten encode_word_buffer bounds
     add db35e842a1 Use ParseRules::is_digit on raw network bytes in HTTP parser
     add c6d02f5a97 header_rewrite: Copy set-body-from response body with memcpy
     add 948e9fe463 Cap stale_response SIE buffering
     add 159ce649b2 Guard parent mark-down on UNAVAILABLE_SERVER retry
     add a6dbdb9fbc xdebug: Cap X-Remap header length to actual buffer content
     add 90e0b06073 DNS: fix TCP length-prefix read under edge-triggered epoll
     add 6dcf044fcc Add admin-guide reference for writing secure regex rules
     add 0d7b210df5 combo_handler.test.py: Fix empty type test output
     add 63d5c95765 test_proxy: Fix macOS link duplicates after FetchSM test 
was added
     add c420e013f8 Fixes HRW bridge issues, adds autests to Cripts
     add 4c72a98d5a cripts: Fix undersized sockaddr in Geo IP lookup
     add bb2ffba6dd cripts: fix use-after-free in TSRemapDoRemap
     add a4a83197e1 cripts: Fix abort on duplicate query keys
     add e076e7dfa1 header_rewrite: Fix cookie key over-read
     add c248c81663 doc: cover uri_signing cdniuc uri-regex in regex best 
practices
     add c12aa9160d Preserve dynamic-port flag across tunnel_route mapping ops
     add 25c665a74b HttpTunnel: Guard get_producer(VIO*) against dead producers
     add c6ac6d6244 ts_lua: clear rri pointer in http_ctx after remap returns
     add b110f78f9b ts_lua: use sockaddr_storage for ts_lua_fetch client address
     add 43f78d0e34 header_rewrite: Guard SESSION/STATE access on null handle
     add 1256e746cf cripts: Fix global Client::URL MLoc leak
     add b70fbca639 cripts: Fix Bundle::Headers server-side header removal
     add ae09135224 slice: Check for Integer underflow in firstblockbytes
     add ad40f2853a ParentSelection: increase size of mapWrapped array for 
compat with strategies
     add 2c28d2c488 lua: Invalidate cached main_ctx when slot is outside 
instance's range
     add 52e6b46d93 DNS: Run HostEnt destructor on free to release SRV vector 
heap
     add c185e559c9 HttpSM: Stop tracking the fire-and-forget cache-delete 
Action
     add c1aebba911 lua: Free transform context when client-hook VConn closes
     add 00b1a11e2f NextHopRoundRobin: update ring size for wrapping when 
switching rings
     add 41cd074cff certifier: Reject unsafe SNI names
     add b7fdf9975a Drop H2 origin trailers for H1 clients
     add ed25aaed94 http2: Reject CONTINUATION accumulation that overflows 
header_blocks_length
     add 62497ae3c1 Honor number_of_redirections for plugin-initiated redirects
     add f26b1219eb cache_range_requests: use std::string spill buffer for 
building override cachekey
     add 1b98b1fc2d Reject header fields exceeding the uint16 field-length limit
     add 74ccaa28f4 webp_transform: bound buffered body and ImageMagick decode
     add 3c44efd804 header_rewrite: Fix IPv6 CIDR masking for non-aligned 
prefixes
     add 89d543adcd Implement SSRF validation for ESI include URLs
     add aac5c3b7e9 SSLNetVConnection: deregister async handshake eventfd on 
connection teardown
     add a69e886eec Strip Connection-listed headers per RFC 9110 ยง7.6.1
     add ceacc9baf7 Test H2 control-character rejection
     add 5d215fc749 http2: Defer HPACK dynamic-table updates until encoding 
succeeds
     add a1d35f9fb6 authproxy: Don't assert on auth response with no header 
fields
     add 9500f6b705 mgmt/rpc: create JSONRPC unix socket with intended mode 
atomically
     add 230ae9fd66 cache: Move openReadStartEarliest recursion counter off 
CacheVC to fix UAF
     add e27b7ef0f8 Bound host header buffer
     add b9f36ca3f8 uri_signing: replace stack arrays with LocalBuffer
     add 946e241032 http: reject chunked extension quoted-string values 
containing CR or LF
     add d57b23d493 ip_allow: add default CONNECT destination rules
     add be5a335b2d Guard against missing delimiter in url_sig C= parameter
     add 51c5b0fb4e master: Strip external @ headers before plugin hooks
     add 85f90ebb79 Fix: cancel stale TLS accept timeouts so session acceptors 
don't abort
     add 67ded938ac regex_map: anchor host matching to the full hostname
     add be70ba8311 Invalidate dns_info.addr when claiming resolved without DNS
     add f322409710 PendingAction: Don't let CAS failure overwrite the caller's 
action
     add f684c07272 parent_selection: Cap retries to one per window via 
failedAt CAS
     add 37985fb4c0 compress: Wrap isspace so obs-text Content-Type bytes don't 
trigger UB
     add 076024a1f2 Expand URI normalization test coverage for userinfo handling
     add 2303f89e8a Guard remap against shutdown table teardown
     add 27a42ae487 Revert "Guard remap against shutdown table teardown"
     add 9127101a2f Guard remap against shutdown table teardown
     add ae5e6dad2a http: reject a bare LF chunked trailer terminator under 
strict parsing
     add 25cfec9873 Combo handler: Refactor Cache-Control parsing and update 
gold test
     add 40ef716d40 Fix null-deref in error_log_connection_failure for a DOWN 
host
     add d5adeb3fcf Fix tls_engine_abort autest referencing removed 
async_engine plugin
     add 91b7e49336 Fix header_rewrite_bundle cookie rules matching the wrong 
path
     add 3563e4c2d0 http: drain request body on internally generated cache 
responses
     add 3e05a64806 Fix chunked passthrough flow-control deadlock 
(drop_chunked_trailers=0)
     add 2bed75447e webp_transform: fix decode_limit test to send a matching 
signature
     add 338f3ab524 Regex: preserve RE_ENDANCHORED semantics on PCRE2 < 10.30
     add 4c0fd8023e esi: drop tsutil from esicore link deps to avoid plugin ODR
     add 90700df5e2 esi: add <sys/socket.h> for AF_INET/AF_INET6 in 
IncludeUrlValidator
     add 6b041958c0 esi: guard optarg null before setHostAllowRegex to satisfy 
clang analyzer
     add 7a898ed9a3 connect_destination_acl: accept curl exit 7 for a refused 
CONNECT
     add f1cbde3500 Fix race in remap table refcount during reload

No new revisions were added by this update.

Summary of changes:
 configs/ip_allow.yaml.default                      |  28 +-
 doc/admin-guide/configuration/index.en.rst         |   1 +
 .../configuration/regex-best-practices.en.rst      | 423 +++++++++++++++++
 doc/admin-guide/files/cache.config.en.rst          |  12 +-
 doc/admin-guide/files/ip_allow.yaml.en.rst         |  64 ++-
 doc/admin-guide/files/parent.config.en.rst         |   8 +-
 doc/admin-guide/files/records.yaml.en.rst          |  67 ++-
 doc/admin-guide/files/remap.config.en.rst          |  14 +
 doc/admin-guide/files/sni.yaml.en.rst              |  10 +
 doc/admin-guide/files/splitdns.config.en.rst       |   9 +-
 doc/admin-guide/layer-4-routing.en.rst             |   9 +
 doc/admin-guide/plugins/esi.en.rst                 |  35 ++
 doc/admin-guide/plugins/geoip_acl.en.rst           |   7 +
 doc/admin-guide/plugins/maxmind_acl.en.rst         |   8 +-
 doc/admin-guide/plugins/uri_signing.en.rst         |  23 +-
 doc/admin-guide/plugins/url_sig.en.rst             |   8 +
 doc/admin-guide/plugins/webp_transform.en.rst      |  45 +-
 .../api/functions/TSMimeHdrFieldCreate.en.rst      |   6 +
 .../api/functions/TSMimeHdrFieldNameSet.en.rst     |  11 +
 .../functions/TSMimeHdrFieldValueStringSet.en.rst  |   4 +
 .../cripts/cripts-connections.en.rst               |   2 +-
 doc/developer-guide/cripts/cripts-headers.en.rst   |   7 +
 .../plugins/http-headers/mime-headers.en.rst       |  20 +
 include/cripts/Bundles/Headers.hpp                 |  10 +-
 include/cripts/Connections.hpp                     |   6 +-
 include/cripts/Epilogue.hpp                        |  10 +-
 include/cripts/Urls.hpp                            |  19 +-
 include/iocore/eventsystem/IOBuffer.h              |   9 +-
 include/iocore/net/AcceptOptions.h                 |   6 +
 include/iocore/net/NetVConnection.h                |  22 +-
 include/iocore/net/TLSSNISupport.h                 |  23 +-
 include/proxy/ControlBase.h                        |   1 +
 include/proxy/ParentSelection.h                    |  36 +-
 include/proxy/ProxySession.h                       |   7 +
 include/proxy/ProxyTransaction.h                   |   4 +
 include/proxy/ReverseProxy.h                       |  12 +-
 include/proxy/hdrs/HTTP.h                          |  47 +-
 include/proxy/hdrs/MIME.h                          |  34 +-
 include/proxy/hdrs/XPACK.h                         |   2 +-
 include/proxy/http/HttpConfig.h                    |   3 +
 include/proxy/http/HttpSM.h                        |  10 +-
 include/proxy/http/HttpSessionManager.h            |   5 +-
 include/proxy/http/HttpTransact.h                  |  65 +--
 include/proxy/http/HttpTunnel.h                    |  54 ++-
 include/proxy/http/remap/UrlRewrite.h              |  25 +-
 include/proxy/http2/HPACK.h                        |  12 +-
 include/proxy/http2/HTTP2.h                        |  14 +-
 include/proxy/http2/Http2ConnectionState.h         |  64 ++-
 include/proxy/http2/Http2Stream.h                  |  14 +-
 include/proxy/http3/QPACK.h                        |   4 +-
 include/records/RecHttp.h                          |   8 +
 include/tscore/PendingAction.h                     |   8 +-
 include/tscore/X509HostnameValidator.h             |   5 +-
 include/tsutil/AtomicSharedPtr.h                   |  84 ++++
 include/tsutil/Convert.h                           |   7 +-
 include/tsutil/Regex.h                             |   8 +-
 lib/swoc/src/swoc_ip.cc                            |   5 +-
 lib/swoc/unit_tests/test_ip.cc                     |   5 +
 plugins/authproxy/authproxy.cc                     |   1 -
 plugins/background_fetch/configs.cc                |   6 +-
 plugins/background_fetch/rules.cc                  |   8 +-
 .../cache_range_requests/cache_range_requests.cc   |  57 ++-
 plugins/cachekey/cachekey.cc                       |  12 +-
 plugins/certifier/certifier.cc                     |  47 +-
 plugins/compress/configuration.cc                  |  18 +-
 plugins/compress/gzip_compress.cc                  |   3 +-
 plugins/esi/CMakeLists.txt                         |   2 +-
 plugins/esi/combo_handler.cc                       |  44 +-
 plugins/esi/combo_handler_utils.cc                 | 141 ++++++
 .../esi/combo_handler_utils.h                      |  29 +-
 plugins/esi/esi.cc                                 | 103 ++++-
 plugins/esi/fetcher/HttpDataFetcherImpl.cc         |  18 +-
 plugins/esi/lib/CMakeLists.txt                     |   9 +
 plugins/esi/lib/EsiProcessor.cc                    | 105 ++++-
 plugins/esi/lib/EsiProcessor.h                     |  14 +-
 plugins/esi/lib/IncludeUrlValidator.cc             | 441 ++++++++++++++++++
 plugins/esi/lib/IncludeUrlValidator.h              |  86 ++++
 plugins/esi/test/CMakeLists.txt                    |  20 +-
 plugins/esi/test/combo_handler_utils_test.cc       | 197 ++++++++
 plugins/esi/test/include_url_validator_test.cc     | 206 +++++++++
 plugins/experimental/access_control/plugin.cc      |  22 +-
 plugins/experimental/jax_fingerprint/ja3/test.cc   |  55 +++
 plugins/experimental/jax_fingerprint/ja3/utils.cc  |  12 +-
 plugins/experimental/rate_limit/ip_reputation.cc   |   4 +-
 plugins/experimental/rate_limit/sni_selector.cc    |   6 +-
 plugins/experimental/rate_limit/txn_limiter.cc     |   2 +-
 plugins/experimental/stale_response/BodyData.h     |   4 +
 .../experimental/stale_response/ServerIntercept.cc |   1 +
 .../experimental/stale_response/stale_response.cc  | 202 +++++++-
 .../experimental/stale_response/stale_response.h   |   2 +
 .../experimental/stream_editor/stream_editor.cc    |   2 +-
 .../experimental/txn_box/plugin/src/Modifier.cc    |  11 +-
 plugins/experimental/txn_box/plugin/src/ts_util.cc |  20 +-
 plugins/experimental/uri_signing/normalize.cc      |  50 +-
 .../uri_signing/unit_tests/uri_signing_test.cc     | 216 +++++++--
 plugins/experimental/url_sig/url_sig.cc            |   8 +
 plugins/header_rewrite/cidr.h                      |  68 +++
 plugins/header_rewrite/conditions.cc               |  16 +-
 plugins/header_rewrite/conditions.h                |   2 +-
 plugins/header_rewrite/header_rewrite_test.cc      |  86 +++-
 plugins/header_rewrite/operators.cc                |  24 +-
 plugins/header_rewrite/statement.h                 |   9 +-
 plugins/ja3_fingerprint/ja3_fingerprint.cc         |   4 +-
 plugins/ja3_fingerprint/ja3_utils.cc               |  12 +-
 plugins/ja3_fingerprint/test_utils.cc              |  55 +++
 plugins/lua/ts_lua.cc                              |  18 +-
 plugins/lua/ts_lua_common.h                        |   1 +
 plugins/lua/ts_lua_fetch.cc                        |  33 +-
 plugins/lua/ts_lua_server_request.cc               |   4 +
 plugins/lua/ts_lua_transform.cc                    |   5 +
 plugins/lua/ts_lua_util.cc                         |   4 +-
 plugins/multiplexer/CMakeLists.txt                 |   7 +
 plugins/multiplexer/chunk-decoder.cc               |  81 +++-
 plugins/multiplexer/chunk-decoder.h                |  16 +-
 plugins/multiplexer/fetcher.h                      |  35 +-
 .../multiplexer/unit_tests/test_chunk_decoder.cc   | 155 +++++++
 plugins/prefetch/CMakeLists.txt                    |   1 +
 plugins/prefetch/fetch.cc                          |  15 +-
 plugins/prefetch/fetch.h                           |   4 +-
 plugins/prefetch/path.cc                           | 190 ++++++++
 plugins/prefetch/path.h                            |  63 +++
 plugins/prefetch/plugin.cc                         |  45 +-
 plugins/prefetch/test/CMakeLists.txt               |   4 +
 plugins/prefetch/test/test_path.cc                 |  67 +++
 plugins/regex_remap/regex_remap.cc                 |  38 +-
 plugins/slice/server.cc                            |  23 +-
 plugins/webp_transform/ImageTransform.cc           | 313 +++++++++++--
 plugins/xdebug/xdebug.cc                           |   9 +-
 src/api/InkAPI.cc                                  |  33 +-
 src/cripts/Bundles/HRWBridge.cc                    |  85 ++--
 src/cripts/Bundles/Headers.cc                      |  16 +-
 src/cripts/Connections.cc                          |   7 +-
 src/cripts/Context.cc                              |   6 +-
 src/cripts/Files.cc                                |  11 +-
 src/cripts/Geo.cc                                  |   2 +-
 src/cripts/Instance.cc                             |   2 +-
 src/cripts/Urls.cc                                 |  25 +-
 src/iocore/aio/AIO.cc                              |   3 +-
 src/iocore/cache/CacheRead.cc                      |  31 +-
 src/iocore/cache/CacheVC.h                         |   1 -
 src/iocore/cache/StripeSM.h                        |   4 +-
 src/iocore/cache/unit_tests/test_Stripe.cc         |  30 ++
 src/iocore/dns/CMakeLists.txt                      |   6 +-
 src/iocore/dns/DNS.cc                              |  72 +--
 src/iocore/{net/UDPIOEvent.cc => dns/HostEnt.cc}   |  12 +-
 src/iocore/dns/P_DNSConnection.h                   |  16 +-
 .../iocore/dns/unit_tests}/CMakeLists.txt          |  30 +-
 src/iocore/dns/unit_tests/test_HostEnt.cc          | 102 +++++
 src/iocore/eventsystem/IOBuffer.cc                 |  14 +-
 src/iocore/eventsystem/unit_tests/test_IOBuffer.cc |  90 ++++
 src/iocore/hostdb/HostDB.cc                        |   9 +-
 src/iocore/hostdb/HostDBInfo.cc                    |   4 +-
 src/iocore/net/CMakeLists.txt                      |  12 +-
 src/iocore/net/NetVConnection.cc                   |  15 +-
 src/iocore/net/P_SSLClientUtils.h                  |   6 +-
 src/iocore/net/P_SSLNetVConnection.h               |   2 +
 src/iocore/net/ProxyProtocol.cc                    |  38 +-
 src/iocore/net/SNIActionPerformer.cc               |  19 +-
 src/iocore/net/SSLClientUtils.cc                   |  67 ++-
 src/iocore/net/SSLNetVConnection.cc                |  52 ++-
 src/iocore/net/SSLNextProtocolAccept.cc            |   2 +
 src/iocore/net/SSLSNIConfig.cc                     |   7 +-
 src/iocore/net/Server.cc                           |   7 +-
 src/iocore/net/unit_tests/sni_conf_test.yaml       |   8 +
 src/iocore/net/unit_tests/test_OCSPStapling.cc     | 105 +++++
 src/iocore/net/unit_tests/test_ProxyProtocol.cc    |  24 +
 .../net/unit_tests/test_SSLCertLookup.cc}          |  52 +--
 .../unit_tests/test_SSLNetVConnectionAsyncEp.cc    | 132 ++++++
 src/iocore/net/unit_tests/test_SSLSNIConfig.cc     | 134 ++++++
 src/iocore/net/unit_tests/test_YamlSNIConfig.cc    |   2 +-
 src/mgmt/rpc/server/IPCSocketServer.cc             |  29 +-
 src/mgmt/rpc/server/unit_tests/test_rpcserver.cc   |  40 ++
 src/proxy/ControlBase.cc                           |   5 +-
 src/proxy/FetchSM.cc                               |  42 +-
 src/proxy/ParentConsistentHash.cc                  |  13 +-
 src/proxy/ParentRoundRobin.cc                      |  18 +-
 src/proxy/ProxyTransaction.cc                      |   6 +
 src/proxy/ReverseProxy.cc                          |  76 ++-
 src/proxy/hdrs/HTTP.cc                             |  54 ++-
 src/proxy/hdrs/HdrHeap.cc                          |  14 +-
 src/proxy/hdrs/HeaderValidator.cc                  |   3 +-
 src/proxy/hdrs/MIME.cc                             | 268 +++++------
 src/proxy/hdrs/URL.cc                              |  42 +-
 src/proxy/hdrs/XPACK.cc                            |  17 +-
 src/proxy/hdrs/unit_tests/test_HdrHeap.cc          |  44 ++
 src/proxy/hdrs/unit_tests/test_Hdrs.cc             | 275 +++++++++--
 src/proxy/hdrs/unit_tests/test_HeaderValidator.cc  |  13 +
 src/proxy/hdrs/unit_tests/test_URL.cc              | 142 ++++++
 src/proxy/hdrs/unit_tests/test_XPACK.cc            | 105 ++++-
 src/proxy/hdrs/unit_tests/test_mime.cc             | 373 +++++++++++++++
 src/proxy/http/ConnectingEntry.cc                  |  25 +-
 src/proxy/http/Http1ClientSession.cc               |   7 +
 src/proxy/http/HttpConfig.cc                       |  52 ++-
 src/proxy/http/HttpProxyServerMain.cc              |   3 +
 src/proxy/http/HttpSM.cc                           | 155 +++++--
 src/proxy/http/HttpSessionAccept.cc                |   6 +-
 src/proxy/http/HttpSessionManager.cc               |  50 +-
 src/proxy/http/HttpTransact.cc                     | 192 +++++++-
 src/proxy/http/HttpTransactHeaders.cc              |  28 ++
 src/proxy/http/HttpTunnel.cc                       | 276 +++++++++--
 src/proxy/http/remap/NextHopConsistentHash.cc      |   6 +-
 src/proxy/http/remap/NextHopRoundRobin.cc          |  18 +-
 src/proxy/http/remap/RemapConfig.cc                |   9 +-
 src/proxy/http/remap/RemapProcessor.cc             |  16 +-
 src/proxy/http/remap/UrlRewrite.cc                 |   6 +-
 src/proxy/http/unit_tests/CMakeLists.txt           |   2 +
 src/proxy/http/unit_tests/test_ChunkedHandler.cc   | 510 +++++++++++++++++++++
 src/proxy/http/unit_tests/test_HttpTransact.cc     | 226 +++++++++
 .../http/unit_tests/test_HttpTransactHeaders.cc    | 352 ++++++++++++++
 src/proxy/http2/HPACK.cc                           |  51 ++-
 src/proxy/http2/HTTP2.cc                           |   5 +-
 src/proxy/http2/Http2ClientSession.cc              |  17 +-
 src/proxy/http2/Http2ConnectionState.cc            | 196 ++++++--
 src/proxy/http2/Http2ServerSession.cc              |  17 +-
 src/proxy/http2/Http2SessionAccept.cc              |   9 +-
 src/proxy/http2/Http2Stream.cc                     |  56 ++-
 src/proxy/http2/test_HPACK.cc                      |   9 +-
 src/proxy/http2/unit_tests/test_HTTP2.cc           | 151 ++++++
 .../http2/unit_tests/test_HpackIndexingTable.cc    | 271 ++++++++++-
 src/proxy/http3/Http3Session.cc                    |  19 +-
 src/proxy/http3/QPACK.cc                           |  20 +-
 src/proxy/http3/test/test_QPACK.cc                 |   7 +-
 src/proxy/logging/LogFilter.cc                     |  45 +-
 src/proxy/unit_tests/CMakeLists.txt                |   4 +-
 src/proxy/unit_tests/stub.cc                       |  12 +-
 src/proxy/unit_tests/test_ControlBase.cc           |  99 ++++
 src/proxy/unit_tests/test_FetchSM.cc               |  93 ++++
 src/records/RecHttp.cc                             |  62 +++
 src/records/RecordsConfig.cc                       |   6 +-
 src/traffic_cache_tool/CacheScan.cc                |   8 +-
 src/traffic_server/traffic_server.cc               |   3 +
 src/tscore/CMakeLists.txt                          |   1 +
 src/tscore/X509HostnameValidator.cc                |  16 +-
 src/tscore/unit_tests/test_PendingAction.cc        |  91 ++++
 .../unit_tests/test_X509HostnameValidator.cc       |  32 +-
 src/tscpp/api/InterceptPlugin.cc                   |  21 +-
 src/tscpp/api/TransformationPlugin.cc              |   2 +-
 src/tsutil/Regex.cc                                |  74 ++-
 src/tsutil/unit_tests/test_Regex.cc                | 112 +++++
 tests/CMakeLists.txt                               |   1 +
 tests/fuzzing/fuzz_hpack.cc                        |   4 +-
 .../at_headers.test.py}                            |   9 +-
 .../gold_tests/at_headers}/plugins/CMakeLists.txt  |   2 +-
 .../at_headers/plugins/at_header_probe.cc          | 220 +++++++++
 .../at_headers/replay/at_headers.replay.yaml       | 161 +++++++
 tests/gold_tests/autest-site/ats_replay.test.ext   |  62 ++-
 tests/gold_tests/autest-site/min_cfg/ip_allow.yaml |  20 +
 .../gold_tests/autest-site/trafficserver.test.ext  |  41 ++
 .../cache/cache_corrupt_recursive_uaf.test.py      | 127 +++++
 .../cache/host_down_range_recursion.test.py        |  81 ++++
 .../host_down_range_recursion_prime.replay.yaml}   |  31 +-
 .../host_down_range_recursion_range.replay.yaml    |  52 +++
 .../chunked_encoding/chunk_extension_client.py     | 106 +++++
 .../chunk_extension_quoted_string.test.py          |  84 ++++
 .../chunked_encoding/chunk_trailer_bare_lf.test.py |  86 ++++
 .../chunked_encoding/chunk_trailer_client.py       | 104 +++++
 .../chunked_flow_control.test.py}                  |   8 +-
 .../chunked_not_last.test.py}                      |   8 +-
 .../chunk_extension_quoted_string.replay.yaml}     |  43 +-
 .../replays/chunk_trailer_bare_lf.replay.yaml}     |  44 +-
 .../replays/chunked_h1_flow_control.replay.yaml    | 138 ++++++
 .../replays/chunked_h2_flow_control.replay.yaml    | 148 ++++++
 .../replays/chunked_not_last.replay.yaml           | 206 +++++++++
 .../chunked_passthru_flow_control.replay.yaml      | 161 +++++++
 tests/gold_tests/connect/connect.test.py           |   3 +
 .../connect/connect_parent_error_body.test.py      |  72 +++
 .../connect/h2_malformed_request_logging.test.py   |   1 +
 .../connect/malformed_h2_request_client.py         |  63 ++-
 .../replays/connect_parent_error_body.replay.yaml  | 115 +++++
 tests/gold_tests/cripts/cripts_bundle.replay.yaml  | 325 +++++++++++++
 tests/gold_tests/cripts/cripts_bundle.test.py      |  49 ++
 tests/gold_tests/cripts/files/bundle_headers.cript |  60 +++
 tests/gold_tests/cripts/files/direct_headers.cript |  65 +++
 .../cripts/files/server_bundle_headers.cript       |  45 ++
 .../clients/h2_max_settings_per_minute.py}         |  83 +---
 .../gold_tests/h2/clients/h2_settings_ack_stall.py | 184 ++++++++
 tests/gold_tests/h2/h1_trailer_client.py           |  86 ++++
 .../gold_tests/h2/h2_origin_cert_reverify.test.py  |  72 +++
 .../h2_origin_trailers_h1.replay.yaml}             |  34 +-
 tests/gold_tests/h2/h2_origin_trailers_h1.test.py  |  88 ++++
 tests/gold_tests/h2/http2.test.py                  |  24 +
 .../h2/http2_crlf_header_validation.test.py        |  91 ++++
 tests/gold_tests/h2/http2_flow_control.test.py     |  42 ++
 .../h2/http2_txn_start_read_gate.test.py           |  57 +++
 .../replay/http2_settings_ack_stall.replay.yaml}   |  44 +-
 .../http2_txn_start_read_gate.replay.yaml}         |  49 +-
 ...ue.yaml => replay_h2_origin_cert_reverify.yaml} |  42 +-
 .../headers/clients/oversized_field_h2_client.py   | 151 ++++++
 .../gold_tests/headers/hopbyhop_connection.test.py |  16 +-
 .../oversized_field.test.py}                       |  15 +-
 .../gold_tests/headers/oversized_field_h2.test.py  | 136 ++++++
 .../headers/replay/oversized_field.replay.yaml     |  90 ++++
 .../replay/oversized_field_h2.replay.yaml}         |  74 ++-
 ...replay.yaml => hopbyhop_connection.replay.yaml} | 108 +++--
 .../ip_allow/connect_destination_acl.test.py       | 168 +++++++
 .../strategies_ch5.test.py}                        | 142 +++---
 .../gold_tests/next_hop/strategies_ch5/trace.gold  | 192 ++++++++
 .../per_server_connection_max.test.py              |   1 +
 .../parent_retry_non_retryable_post.test.py}       |  12 +-
 .../parent_retry_non_retryable_post.replay.yaml    |  90 ++++
 .../delete_maxforwards_body_desync.test.py         |  89 ++++
 .../pipeline/delete_maxfwd_noop_drain.test.py      |  89 ++++
 tests/gold_tests/pipeline/desync_client.py         | 112 +++++
 tests/gold_tests/pipeline/desync_client_miss.py    |  45 ++
 tests/gold_tests/pipeline/desync_server.py         |  97 ++++
 tests/gold_tests/pipeline/noop_keepalive.test.py   |  92 ++++
 tests/gold_tests/pipeline/noop_keepalive_client.py |  57 +++
 .../cache_range_requests.test.py                   |  36 ++
 .../pluginTest/certifier/certifier.test.py         | 107 +++++
 ...{https.replay.yaml => https-no-sni.replay.yaml} |   4 +-
 ...eplay.yaml => https-path-traversal.replay.yaml} |   6 +-
 .../pluginTest/combo_handler/combo_handler.test.py |  53 ++-
 .../{tr2.gold => cache_control_aggregation.gold}   |   7 +-
 .../{tr2.gold => max_age_zero.gold}                |   7 +-
 .../combo_handler_files/{tr1.gold => tr3.gold}     |   0
 .../compress-content-type-params.replay.yaml       |  28 ++
 .../esi/esi_nested_html_comment.replay.yaml}       |  36 +-
 .../pluginTest/esi/esi_nested_html_comment.test.py | 156 +++++++
 .../esi_nested_html_comment_reject.replay.yaml}    |  38 +-
 .../pluginTest/esi/esi_request_size_cap.test.py    |  91 ++++
 .../pluginTest/esi/esi_ssrf_validate.replay.yaml   | 164 +++++++
 .../pluginTest/esi/esi_ssrf_validate.test.py       | 111 +++++
 .../header_rewrite_bundle.replay.yaml              | 380 ++++++++++++++-
 .../header_rewrite_set_body_from.test.py           |  44 ++
 .../rules/{rule_empty_body.conf => rule_cidr.conf} |  11 +-
 .../header_rewrite/rules/rule_cookie.conf          |  68 +++
 .../header_rewrite/rules/rule_session_vars.conf    |  39 +-
 .../rules/rule_set_body_from_remap.conf            |   4 +
 .../pluginTest/lua/fetch_ipv6_cliaddr.lua          |  37 +-
 ...hook.test.py => lua_fetch_ipv6_cliaddr.test.py} |  42 +-
 .../pluginTest/lua/lua_remap_after_hook.test.py    |  55 +++
 .../gold_tests/pluginTest/lua/remap_after_hook.lua |  23 +-
 .../pluginTest/multiplexer/multiplexer.test.py     |  81 ++++
 .../multiplexer_invalid_chunk_copy.replay.yaml}    |  28 +-
 ...multiplexer_invalid_chunk_original.replay.yaml} |  37 +-
 .../prefetch_query_path_traversal.replay.yaml      | 165 +++++++
 .../prefetch_query_path_traversal.test.py}         |   8 +-
 .../pluginTest/rate_limit/concurrent_reject.sh     |  28 +-
 .../pluginTest/rate_limit/independent_limiters.sh  |  29 +-
 .../rate_limit/queue_bypass_regression.sh          |  77 ++++
 .../pluginTest/rate_limit/queue_drain.sh           |  44 ++
 .../pluginTest/rate_limit/rate_limit.test.py       | 132 ++++++
 .../pluginTest/rate_limit/rate_limit_iprep.test.py | 114 +++++
 .../pluginTest/rate_limit/rate_limit_sni.test.py   | 115 +++++
 .../pluginTest/rate_limit/retry_after.sh           |  26 +-
 .../pluginTest/rate_limit/sequential_pass.sh       |  27 +-
 .../redirect_limit/redirect_limit.test.py          | 134 ++++++
 tests/gold_tests/pluginTest/slice/shrink_origin.py | 134 ++++++
 .../pluginTest/slice/slice_content_shrink.test.py  |  94 ++++
 .../stale_response/stale_response.test.py          |  18 +
 ....yaml => stale_response_max_memory.replay.yaml} |  51 ++-
 .../pluginTest/traffic_dump/traffic_dump.test.py   |   1 +
 .../pluginTest/tsapi/test_TSHttpSsnInfo.cc         |   7 +
 .../pluginTest/tsapi/test_TSHttpSsnInfo.test.py    |   2 +
 tests/gold_tests/pluginTest/url_sig/url_sig.gold   |   3 +
 .../gold_tests/pluginTest/url_sig/url_sig.test.py  |  30 ++
 .../replay/webp_chunked_cap.replay.yaml}           |  32 +-
 .../webp_transform_cache_refused.test.py           |  90 ++++
 .../webp_transform_chunked_cap.test.py             |  74 +++
 .../webp_transform_decode_limit.test.py            | 117 +++++
 .../webp_transform_max_buffer_size.test.py         | 108 +++++
 .../webp_transform/webp_transform_size_cap.test.py | 115 +++++
 .../x_remap_long_url/x_remap_long_url.replay.yaml} |  80 +---
 .../x_remap_long_url/x_remap_long_url.test.py}     |  20 +-
 .../proxy_protocol/proxy_protocol.test.py          |   1 +
 tests/gold_tests/remap/regex_map_anchor.test.py    |  35 ++
 .../remap/replay/regex_map_anchor.replay.yaml      | 204 +++++++++
 .../timeout/tunnel_active_timeout.test.py          |   1 +
 tests/gold_tests/tls/gold/tls-tunnel-metrics.gold  |   6 +-
 .../tls/proxy_protocol_addressless.test.py         |  81 ++++
 tests/gold_tests/tls/proxy_protocol_client.py      |  31 +-
 .../outbound_sni_server_name_plain.replay.yaml     |  79 ++++
 .../tls_accept_timeout_crash.replay.yaml}          |  32 +-
 .../tls/tls_accept_timeout_crash.test.py           |  75 +++
 tests/gold_tests/tls/tls_engine_abort.py           |  64 +++
 tests/gold_tests/tls/tls_engine_abort.test.py      | 113 +++++
 tests/gold_tests/tls/tls_forward_nonhttp.test.py   |   1 +
 .../tls/tls_outbound_sni_server_name_plain.test.py |  25 +
 .../tls/tls_partial_blind_tunnel.test.py           |   1 +
 tests/gold_tests/tls/tls_sni_host_policy.test.py   |  99 ++++
 tests/gold_tests/tls/tls_sni_ip_allow.test.py      |   1 +
 tests/gold_tests/tls/tls_sni_with_port.test.py     |   1 +
 tests/gold_tests/tls/tls_tunnel.test.py            |  20 +
 tests/gold_tests/tls/tls_tunnel_forward.test.py    |   1 +
 tests/gold_tests/tunnel/tunnel_transform.test.py   |   2 +
 tests/gold_tests/tunnel/txn_type.test.py           |   2 +
 tests/gold_tests/uds/uds_socket_perm.test.py       |  57 +++
 tests/tools/plugins/CMakeLists.txt                 |   2 +
 tests/tools/plugins/async_handshake.cc             |  20 +-
 tests/tools/plugins/delay_txn_start.cc             | 122 +++++
 tests/tools/plugins/hook_add_plugin.cc             |  24 +-
 tests/tools/plugins/redirect_rearm.cc              | 112 +++++
 392 files changed, 19404 insertions(+), 2175 deletions(-)
 create mode 100644 doc/admin-guide/configuration/regex-best-practices.en.rst
 create mode 100644 include/tsutil/AtomicSharedPtr.h
 create mode 100644 plugins/esi/combo_handler_utils.cc
 copy src/tsutil/unit_tests/test_Strerror.cc => 
plugins/esi/combo_handler_utils.h (56%)
 create mode 100644 plugins/esi/lib/IncludeUrlValidator.cc
 create mode 100644 plugins/esi/lib/IncludeUrlValidator.h
 create mode 100644 plugins/esi/test/combo_handler_utils_test.cc
 create mode 100644 plugins/esi/test/include_url_validator_test.cc
 create mode 100644 plugins/header_rewrite/cidr.h
 create mode 100644 plugins/multiplexer/unit_tests/test_chunk_decoder.cc
 create mode 100644 plugins/prefetch/path.cc
 create mode 100644 plugins/prefetch/path.h
 create mode 100644 plugins/prefetch/test/test_path.cc
 copy src/iocore/{net/UDPIOEvent.cc => dns/HostEnt.cc} (81%)
 copy {plugins/experimental/access_control => 
src/iocore/dns/unit_tests}/CMakeLists.txt (61%)
 create mode 100644 src/iocore/dns/unit_tests/test_HostEnt.cc
 create mode 100644 src/iocore/net/unit_tests/test_OCSPStapling.cc
 copy src/{tscore/unit_tests/test_List.cc => 
iocore/net/unit_tests/test_SSLCertLookup.cc} (52%)
 create mode 100644 src/iocore/net/unit_tests/test_SSLNetVConnectionAsyncEp.cc
 create mode 100644 src/proxy/http/unit_tests/test_ChunkedHandler.cc
 create mode 100644 src/proxy/http/unit_tests/test_HttpTransactHeaders.cc
 create mode 100644 src/proxy/unit_tests/test_ControlBase.cc
 create mode 100644 src/proxy/unit_tests/test_FetchSM.cc
 create mode 100644 src/tscore/unit_tests/test_PendingAction.cc
 copy tests/gold_tests/{headers/range.test.py => at_headers/at_headers.test.py} 
(85%)
 copy {example => tests/gold_tests/at_headers}/plugins/CMakeLists.txt (93%)
 create mode 100644 tests/gold_tests/at_headers/plugins/at_header_probe.cc
 create mode 100644 tests/gold_tests/at_headers/replay/at_headers.replay.yaml
 create mode 100644 tests/gold_tests/cache/cache_corrupt_recursive_uaf.test.py
 create mode 100644 tests/gold_tests/cache/host_down_range_recursion.test.py
 copy tests/gold_tests/{dns/replay/single_transaction.replay.yaml => 
cache/replay/host_down_range_recursion_prime.replay.yaml} (72%)
 create mode 100644 
tests/gold_tests/cache/replay/host_down_range_recursion_range.replay.yaml
 create mode 100644 tests/gold_tests/chunked_encoding/chunk_extension_client.py
 create mode 100644 
tests/gold_tests/chunked_encoding/chunk_extension_quoted_string.test.py
 create mode 100644 
tests/gold_tests/chunked_encoding/chunk_trailer_bare_lf.test.py
 create mode 100644 tests/gold_tests/chunked_encoding/chunk_trailer_client.py
 copy tests/gold_tests/{statistics/metric_response_429.test.py => 
chunked_encoding/chunked_flow_control.test.py} (71%)
 copy tests/gold_tests/{cache/alternate-caching.test.py => 
chunked_encoding/chunked_not_last.test.py} (74%)
 copy tests/gold_tests/{tls/tls_sni_with_port.replay.yaml => 
chunked_encoding/replays/chunk_extension_quoted_string.replay.yaml} (66%)
 copy tests/gold_tests/{tls/tls_sni_with_port.replay.yaml => 
chunked_encoding/replays/chunk_trailer_bare_lf.replay.yaml} (64%)
 create mode 100644 
tests/gold_tests/chunked_encoding/replays/chunked_h1_flow_control.replay.yaml
 create mode 100644 
tests/gold_tests/chunked_encoding/replays/chunked_h2_flow_control.replay.yaml
 create mode 100644 
tests/gold_tests/chunked_encoding/replays/chunked_not_last.replay.yaml
 create mode 100644 
tests/gold_tests/chunked_encoding/replays/chunked_passthru_flow_control.replay.yaml
 create mode 100644 tests/gold_tests/connect/connect_parent_error_body.test.py
 create mode 100644 
tests/gold_tests/connect/replays/connect_parent_error_body.replay.yaml
 create mode 100644 tests/gold_tests/cripts/cripts_bundle.replay.yaml
 create mode 100644 tests/gold_tests/cripts/cripts_bundle.test.py
 create mode 100644 tests/gold_tests/cripts/files/bundle_headers.cript
 create mode 100644 tests/gold_tests/cripts/files/direct_headers.cript
 create mode 100644 tests/gold_tests/cripts/files/server_bundle_headers.cript
 copy tests/gold_tests/{connect/malformed_h2_request_client.py => 
h2/clients/h2_max_settings_per_minute.py} (58%)
 create mode 100644 tests/gold_tests/h2/clients/h2_settings_ack_stall.py
 create mode 100644 tests/gold_tests/h2/h1_trailer_client.py
 create mode 100644 tests/gold_tests/h2/h2_origin_cert_reverify.test.py
 copy tests/gold_tests/{ip_allow/replays/h3.replay.yaml => 
h2/h2_origin_trailers_h1.replay.yaml} (66%)
 create mode 100644 tests/gold_tests/h2/h2_origin_trailers_h1.test.py
 create mode 100644 tests/gold_tests/h2/http2_crlf_header_validation.test.py
 create mode 100644 tests/gold_tests/h2/http2_txn_start_read_gate.test.py
 copy tests/gold_tests/{remap/base.replay.yaml => 
h2/replay/http2_settings_ack_stall.replay.yaml} (68%)
 copy tests/gold_tests/h2/{h2get_with_body.yaml => 
replay/http2_txn_start_read_gate.replay.yaml} (61%)
 copy tests/gold_tests/h2/{expect_100_continue.yaml => 
replay_h2_origin_cert_reverify.yaml} (66%)
 create mode 100644 
tests/gold_tests/headers/clients/oversized_field_h2_client.py
 copy plugins/experimental/magick/sign.sh => 
tests/gold_tests/headers/hopbyhop_connection.test.py (77%)
 mode change 100755 => 100644
 copy tests/gold_tests/{basic/basic.test.py => headers/oversized_field.test.py} 
(69%)
 create mode 100644 tests/gold_tests/headers/oversized_field_h2.test.py
 create mode 100644 tests/gold_tests/headers/replay/oversized_field.replay.yaml
 copy 
tests/gold_tests/{pluginTest/escalate/escalate_failover_server_non_get.replay.yaml
 => headers/replay/oversized_field_h2.replay.yaml} (50%)
 copy tests/gold_tests/headers/replays/{hsts.replay.yaml => 
hopbyhop_connection.replay.yaml} (51%)
 create mode 100644 tests/gold_tests/ip_allow/connect_destination_acl.test.py
 copy tests/gold_tests/next_hop/{strategies_ch2/strategies_ch2.test.py => 
strategies_ch5/strategies_ch5.test.py} (50%)
 create mode 100644 tests/gold_tests/next_hop/strategies_ch5/trace.gold
 copy tests/gold_tests/{cache/alternate-caching.test.py => 
parent_proxy/parent_retry_non_retryable_post.test.py} (72%)
 create mode 100644 
tests/gold_tests/parent_proxy/replays/parent_retry_non_retryable_post.replay.yaml
 create mode 100644 
tests/gold_tests/pipeline/delete_maxforwards_body_desync.test.py
 create mode 100644 tests/gold_tests/pipeline/delete_maxfwd_noop_drain.test.py
 create mode 100644 tests/gold_tests/pipeline/desync_client.py
 create mode 100644 tests/gold_tests/pipeline/desync_client_miss.py
 create mode 100644 tests/gold_tests/pipeline/desync_server.py
 create mode 100644 tests/gold_tests/pipeline/noop_keepalive.test.py
 create mode 100644 tests/gold_tests/pipeline/noop_keepalive_client.py
 copy tests/gold_tests/pluginTest/certifier/replays/{https.replay.yaml => 
https-no-sni.replay.yaml} (95%)
 copy tests/gold_tests/pluginTest/certifier/replays/{https.replay.yaml => 
https-path-traversal.replay.yaml} (93%)
 copy tests/gold_tests/pluginTest/combo_handler/combo_handler_files/{tr2.gold 
=> cache_control_aggregation.gold} (70%)
 copy tests/gold_tests/pluginTest/combo_handler/combo_handler_files/{tr2.gold 
=> max_age_zero.gold} (70%)
 copy tests/gold_tests/pluginTest/combo_handler/combo_handler_files/{tr1.gold 
=> tr3.gold} (100%)
 copy tests/gold_tests/{ats_probe/ats_probe.replay.yaml => 
pluginTest/esi/esi_nested_html_comment.replay.yaml} (62%)
 create mode 100644 
tests/gold_tests/pluginTest/esi/esi_nested_html_comment.test.py
 copy tests/gold_tests/pluginTest/{xdebug/x_probe/x_probe.replay.yaml => 
esi/esi_nested_html_comment_reject.replay.yaml} (57%)
 create mode 100644 tests/gold_tests/pluginTest/esi/esi_request_size_cap.test.py
 create mode 100644 
tests/gold_tests/pluginTest/esi/esi_ssrf_validate.replay.yaml
 create mode 100644 tests/gold_tests/pluginTest/esi/esi_ssrf_validate.test.py
 copy tests/gold_tests/pluginTest/header_rewrite/rules/{rule_empty_body.conf => 
rule_cidr.conf} (71%)
 create mode 100644 
tests/gold_tests/pluginTest/header_rewrite/rules/rule_cookie.conf
 copy plugins/lua/example/test_fetch.lua => 
tests/gold_tests/pluginTest/lua/fetch_ipv6_cliaddr.lua (60%)
 copy tests/gold_tests/pluginTest/lua/{lua_client_hook.test.py => 
lua_fetch_ipv6_cliaddr.test.py} (50%)
 create mode 100644 tests/gold_tests/pluginTest/lua/lua_remap_after_hook.test.py
 copy plugins/lua/example/test_ret_403.lua => 
tests/gold_tests/pluginTest/lua/remap_after_hook.lua (71%)
 copy 
tests/gold_tests/pluginTest/{ja4_fingerprint/ja4_fingerprint_basic_server.replay.yaml
 => multiplexer/replays/multiplexer_invalid_chunk_copy.replay.yaml} (64%)
 copy tests/gold_tests/{tls/tls_sni_with_port.replay.yaml => 
pluginTest/multiplexer/replays/multiplexer_invalid_chunk_original.replay.yaml} 
(69%)
 create mode 100644 
tests/gold_tests/pluginTest/prefetch/prefetch_query_path_traversal.replay.yaml
 copy tests/gold_tests/{headers/invalid_range_header.test.py => 
pluginTest/prefetch/prefetch_query_path_traversal.test.py} (82%)
 copy ci/jenkins/bin/rat.sh => 
tests/gold_tests/pluginTest/rate_limit/concurrent_reject.sh (62%)
 copy ci/jenkins/bin/rat.sh => 
tests/gold_tests/pluginTest/rate_limit/independent_limiters.sh (60%)
 create mode 100755 
tests/gold_tests/pluginTest/rate_limit/queue_bypass_regression.sh
 create mode 100755 tests/gold_tests/pluginTest/rate_limit/queue_drain.sh
 create mode 100644 tests/gold_tests/pluginTest/rate_limit/rate_limit.test.py
 create mode 100644 
tests/gold_tests/pluginTest/rate_limit/rate_limit_iprep.test.py
 create mode 100644 
tests/gold_tests/pluginTest/rate_limit/rate_limit_sni.test.py
 copy ci/jenkins/bin/in_tree.sh => 
tests/gold_tests/pluginTest/rate_limit/retry_after.sh (70%)
 copy ci/jenkins/bin/rat.sh => 
tests/gold_tests/pluginTest/rate_limit/sequential_pass.sh (62%)
 create mode 100644 
tests/gold_tests/pluginTest/redirect_limit/redirect_limit.test.py
 create mode 100644 tests/gold_tests/pluginTest/slice/shrink_origin.py
 create mode 100644 
tests/gold_tests/pluginTest/slice/slice_content_shrink.test.py
 copy 
tests/gold_tests/pluginTest/stale_response/{stale_response_with_force_swr.replay.yaml
 => stale_response_max_memory.replay.yaml} (60%)
 copy 
tests/gold_tests/pluginTest/{ja4_fingerprint/ja4_fingerprint_basic_server.replay.yaml
 => webp_transform/replay/webp_chunked_cap.replay.yaml} (67%)
 create mode 100644 
tests/gold_tests/pluginTest/webp_transform/webp_transform_cache_refused.test.py
 create mode 100644 
tests/gold_tests/pluginTest/webp_transform/webp_transform_chunked_cap.test.py
 create mode 100644 
tests/gold_tests/pluginTest/webp_transform/webp_transform_decode_limit.test.py
 create mode 100644 
tests/gold_tests/pluginTest/webp_transform/webp_transform_max_buffer_size.test.py
 create mode 100644 
tests/gold_tests/pluginTest/webp_transform/webp_transform_size_cap.test.py
 copy tests/gold_tests/pluginTest/{slice/replay/slice_long_etag.replay.yaml => 
xdebug/x_remap_long_url/x_remap_long_url.replay.yaml} (61%)
 copy tests/gold_tests/{basic/basic.test.py => 
pluginTest/xdebug/x_remap_long_url/x_remap_long_url.test.py} (61%)
 create mode 100644 tests/gold_tests/remap/regex_map_anchor.test.py
 create mode 100644 tests/gold_tests/remap/replay/regex_map_anchor.replay.yaml
 create mode 100644 tests/gold_tests/tls/proxy_protocol_addressless.test.py
 create mode 100644 
tests/gold_tests/tls/replay/outbound_sni_server_name_plain.replay.yaml
 copy tests/gold_tests/{dns/replay/reverse_lookup.replay.yaml => 
tls/tls_accept_timeout_crash.replay.yaml} (74%)
 create mode 100644 tests/gold_tests/tls/tls_accept_timeout_crash.test.py
 create mode 100644 tests/gold_tests/tls/tls_engine_abort.py
 create mode 100644 tests/gold_tests/tls/tls_engine_abort.test.py
 create mode 100644 
tests/gold_tests/tls/tls_outbound_sni_server_name_plain.test.py
 create mode 100644 tests/gold_tests/uds/uds_socket_perm.test.py
 create mode 100644 tests/tools/plugins/delay_txn_start.cc
 create mode 100644 tests/tools/plugins/redirect_rearm.cc

Reply via email to