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 1a07ca9cdf Emit type-default for custom log fields with no transaction
(#13243)
new 3a5904aa19 header_rewrite: count operators and conditions run (#13286)
new 0246aec026 Fix set-status crash inside if/endif at remap time (#13052)
new 24c34a1bb1 Fix hdrHeap/hdrStrHeap allocator inuse metric underflow
(#13218)
new fefa7fe7bd Fix incorrect errno short names on FreeBSD/macOS in
bwf::Errno (#13240)
new 4cde4ed3be Add S3-FIFO RAM cache eviction algorithm
(ram_cache.algorithm = 2) (#13255)
new 447dd6dcd4 header_rewrite: Improve URL Error messages (#13261)
new af98f1ba15 Use ls-hpack's fast Huffman decoder for HPACK/QPACK strings
(#13259)
new 197ecbdeb0 logging: add a marshalled-bytes counter (#13277)
new 2b0ccc94ad Cripts: make URL::Query copyable via deep-copy of _state
(#13269)
new de3841dab7 Test TLS async without ENGINE (#13264)
new 641d15d07a Fix bounds check in CacheVC::scanObject (#13263)
new c958a7dd30 Enable probes in Fedora C++20 CI (#13280)
new 0fd5a7ff3c Fix connect attempt retries (#13102)
new 39bcc86588 net: count application bytes in read_bytes for TLS (#13282)
new 4fbb38df68 compress: count uncompressed input bytes (#13287)
new ddc283c280 TLS: count handshake signatures by key type (#13289)
new e2fb345993 ProxyProtocol: free pp_info heap on NetVConnection recycle
(#13293)
new 5081848180 Fix pending HostDB DNS queue removal race (#13294)
new b02d0640f2 traffic_crashlog: fix false-positive crash logs on clean
shutdown (#13296)
new b8a6099c30 tools/clang-format.sh: cache clang-format in the common git
dir (#13302)
new e8fe4526bb header_rewrite: Fix a leak and truncation in set-body-from
(#13303)
new 4ee1a8b9dd tests: give cripts ATS startup a longer readiness window
(#13304)
new 245a0a78d8 ci: modernize the coverage helper script (#13305)
new 7d95f45b63 tests: add TLS gold tests (#13306)
new 1020680f40 dns: destruct HostEnt on free to fix SRV vector leak
(#13307)
new 70a2448244 Fix server entry cleanup after request tunnel setup (#13295)
new ab3a1ccbc6 Introduce Clang Thread Safety Analysis, and apply it to two
subsystems (#13310)
new a1aa2ed7dd Fix redirected cache write without write VC (#13309)
new 83bb02235c TLS: Fix memory leaks in cert load and OCSP stapling
(#13318)
new 3df7f9e3d9 pqsi-pqsp.test.py: address log order flakiness (#13321)
new ff3ec35eba slice_prefetch.test.py: address cache.log flakiness (#13322)
new 5336b5c43d HttpSM.cc: fix cache read end milestone order (#13325)
new bf218ea66a Add per-plugin workload counters (#13278)
The 33 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:
AGENTS.md | 7 +
CMakeLists.txt | 31 ++
CMakePresets.json | 11 +-
NOTICE | 9 +
ci/coverage | 178 +++++----
doc/admin-guide/files/records.yaml.en.rst | 84 +++-
.../monitoring/statistics/core/network-io.en.rst | 19 +
doc/admin-guide/storage/index.en.rst | 14 +-
.../api/functions/TSHttpOverridableConfig.en.rst | 269 ++++++-------
.../api/types/TSOverridableConfigKey.en.rst | 1 +
doc/release-notes/upgrading.en.rst | 5 +
include/cripts/Configs.hpp | 2 +
include/cripts/Urls.hpp | 38 ++
include/iocore/cache/Cache.h | 5 +-
include/iocore/eventsystem/Thread.h | 1 +
include/iocore/hostdb/HostDBProcessor.h | 2 +-
include/iocore/net/ProxyProtocol.h | 19 +
include/proxy/PluginThreadContext.h | 61 +++
include/proxy/PluginVC.h | 6 +
include/proxy/hdrs/HTTP.h | 4 +-
include/proxy/hdrs/HuffmanCodec.h | 10 +
include/proxy/http/HttpConfig.h | 10 +-
include/proxy/http/HttpTransact.h | 5 +-
include/proxy/http/OverridableConfigDefs.h | 3 +-
include/proxy/http/remap/PluginDso.h | 11 +-
include/proxy/logging/LogConfig.h | 1 +
include/ts/apidefs.h.in | 1 +
include/tsutil/Metrics.h | 18 +-
include/tsutil/TsMutex.h | 100 +++++
include/tsutil/TsSharedMutex.h | 54 ++-
include/tsutil/ts_thread_safety.h | 97 +++++
lib/ls-hpack/README.md | 16 +-
lib/ls-hpack/lshpack.cc | 190 ++++++++-
lib/ls-hpack/lshpack.h | 6 +
lib/swoc/src/bw_format.cc | 155 ++++----
lib/swoc/unit_tests/test_bw_format.cc | 35 ++
plugins/compress/compress.cc | 20 +-
plugins/header_rewrite/condition.h | 4 +
plugins/header_rewrite/conditions.cc | 58 ++-
plugins/header_rewrite/conditions.h | 2 +
plugins/header_rewrite/header_rewrite.cc | 4 +
plugins/header_rewrite/operator.h | 3 +
plugins/header_rewrite/operators.cc | 31 +-
plugins/header_rewrite/resources.cc | 1 +
plugins/header_rewrite/resources.h | 1 +
plugins/header_rewrite/ruleset.cc | 6 +-
plugins/header_rewrite/statement.cc | 28 +-
plugins/header_rewrite/statement.h | 47 ++-
plugins/header_rewrite/value.cc | 6 +
src/api/InkContInternal.cc | 9 +-
src/cripts/tests/query_test.cc | 15 +
src/iocore/cache/CMakeLists.txt | 1 +
src/iocore/cache/Cache.cc | 70 ++--
src/iocore/cache/CacheProcessor.cc | 7 +
src/iocore/cache/CacheTest.cc | 28 +-
src/iocore/cache/CacheVC.cc | 14 +-
src/iocore/cache/P_CacheInternal.h | 4 +
src/iocore/cache/P_RamCache.h | 1 +
src/iocore/cache/RamCacheS3FIFO.cc | 437 +++++++++++++++++++++
src/iocore/dns/DNS.cc | 2 +-
src/iocore/eventsystem/ProxyAllocator.cc | 8 +
src/iocore/hostdb/HostDB.cc | 19 +-
src/iocore/net/OCSPStapling.cc | 17 +-
src/iocore/net/SSLNetVConnection.cc | 15 +-
src/iocore/net/SSLSessionCache.cc | 21 +-
src/iocore/net/SSLSessionCache.h | 8 +-
src/iocore/net/SSLStats.cc | 4 +
src/iocore/net/SSLStats.h | 4 +
src/iocore/net/SSLUtils.cc | 63 +--
src/iocore/net/TLSBasicSupport.cc | 22 ++
src/iocore/net/UnixNetVConnection.cc | 3 +
src/iocore/net/unit_tests/test_ProxyProtocol.cc | 50 +++
src/proxy/CMakeLists.txt | 1 +
src/proxy/Plugin.cc | 38 ++
src/proxy/PluginThreadContext.cc | 65 +++
src/proxy/PluginVC.cc | 16 +
src/proxy/hdrs/CMakeLists.txt | 2 +
src/proxy/hdrs/HTTP.cc | 4 +-
src/proxy/hdrs/HuffmanCodec.cc | 4 +-
src/proxy/hdrs/unit_tests/test_HdrHeap.cc | 101 +++++
src/proxy/hdrs/unit_tests/test_Huffmancode.cc | 137 +++++++
src/proxy/http/HttpConfig.cc | 40 +-
src/proxy/http/HttpSM.cc | 88 +++--
src/proxy/http/HttpTransact.cc | 199 ++++++----
src/proxy/http/HttpTunnel.cc | 2 +
src/proxy/http/remap/PluginDso.cc | 7 +
src/proxy/http/remap/RemapPlugins.cc | 2 +
src/proxy/logging/LogConfig.cc | 1 +
src/proxy/logging/LogObject.cc | 2 +
src/proxy/unit_tests/stub.cc | 2 -
src/records/RecordsConfig.cc | 19 +-
src/traffic_crashlog/traffic_crashlog.cc | 21 +-
src/traffic_server/Crash.cc | 9 +
src/tsutil/CMakeLists.txt | 15 +
src/tsutil/Metrics.cc | 16 +-
src/tsutil/unit_tests/test_thread_safety.cc | 182 +++++++++
tests/gold_tests/autest-site/ats_replay.test.ext | 30 +-
.../gold_tests/autest-site/trafficserver.test.ext | 3 +
.../autest-site/verifier_client.test.ext | 15 +-
.../replay/connect_down_policy_4.replay.yaml | 2 +-
tests/gold_tests/cripts/cripts.test.py | 44 ++-
tests/gold_tests/cripts/files/query_copy.cript | 64 +++
tests/gold_tests/cripts/gold/basic_cript.gold | 1 +
tests/gold_tests/cripts/gold/certs_cript.gold | 1 +
tests/gold_tests/dns/connect_attempts.test.py | 5 +
tests/gold_tests/dns/dns_host_down.test.py | 14 +
.../connect_attempts_rr_max_retries_error_log.gold | 4 +-
.../connect_attempts_rr_retries_error_log.gold | 7 +-
...nect_attempts_single_max_retries_error_log.gold | 9 +
.../connect_attempts_rr_max_retries.replay.yaml | 2 +-
.../connect_attempts_rr_no_retry.replay.yaml | 2 +-
.../replay/connect_attempts_rr_retries.replay.yaml | 59 +--
...onnect_attempts_single_max_retries.replay.yaml} | 79 ++--
tests/gold_tests/logging/gold/pqsi-pqsp.gold | 2 +-
tests/gold_tests/logging/pqsi-pqsp.test.py | 6 +-
.../pluginTest/escalate/escalate.test.py | 10 +-
.../header_rewrite_bundle.replay.yaml | 37 ++
...rule_cond_method.conf => set_status_in_if.conf} | 17 +-
tests/gold_tests/pluginTest/lua/metrics.sh | 3 +-
.../per_plugin_metrics/per_plugin_metrics.test.py | 111 ++++++
.../per_plugin_metrics/rules/global.conf | 13 +-
.../pluginTest/regex_revalidate/metrics.sh | 3 +-
.../pluginTest/regex_revalidate/metrics_miss.sh | 3 +-
.../pluginTest/slice/gold/slice_prefetch.gold | 27 --
.../pluginTest/slice/slice_prefetch.test.py | 33 +-
.../shutdown/crashlog_no_false_positive.test.py | 73 ++++
..._engine.test.py => tls_async_handshake.test.py} | 43 +-
tests/gold_tests/tls/tls_flow_control.test.py | 116 ++++++
tests/gold_tests/tls/tls_flow_control_client.py | 100 +++++
.../gold_tests/tls/tls_origin_open_failed.test.py | 78 ++++
tests/gold_tests/tls/tls_origin_post_abort.test.py | 114 ++++++
tests/gold_tests/tls/tls_post_abort_client.py | 127 ++++++
tests/gold_tests/tls/tls_post_abort_origin.py | 92 +++++
tests/gold_tests/tls/tls_record_size.test.py | 117 ++++++
tests/gold_tests/tls/tls_record_size_client.py | 155 ++++++++
tests/gold_tests/tls/tls_reload_under_load.test.py | 100 +++++
.../gold_tests/tls/tls_reload_under_load_client.py | 183 +++++++++
tests/gold_tests/tls/tls_renegotiation.test.py | 124 ++++++
.../tls/tls_renegotiation_allowed.test.py | 145 +++++++
.../tls/tls_renegotiation_allowed_client.py | 132 +++++++
tests/gold_tests/tls/tls_renegotiation_client.py | 67 ++++
tests/tools/plugins/CMakeLists.txt | 6 +-
tests/tools/plugins/async_engine.c | 325 ---------------
tests/tools/plugins/async_handshake.cc | 182 +++++++++
tools/benchmark/CMakeLists.txt | 4 +
tools/benchmark/benchmark_HuffmanDecode.cc | 142 +++++++
tools/clang-format.sh | 14 +-
147 files changed, 5369 insertions(+), 1160 deletions(-)
create mode 100644 include/proxy/PluginThreadContext.h
create mode 100644 include/tsutil/TsMutex.h
create mode 100644 include/tsutil/ts_thread_safety.h
create mode 100644 src/iocore/cache/RamCacheS3FIFO.cc
create mode 100644 src/proxy/PluginThreadContext.cc
create mode 100644 src/tsutil/unit_tests/test_thread_safety.cc
create mode 100644 tests/gold_tests/cripts/files/query_copy.cript
create mode 100644
tests/gold_tests/dns/gold/connect_attempts_single_max_retries_error_log.gold
copy tests/gold_tests/dns/replay/{connect_attempts_rr_retries.replay.yaml =>
connect_attempts_single_max_retries.replay.yaml} (63%)
copy tests/gold_tests/pluginTest/header_rewrite/rules/{rule_cond_method.conf
=> set_status_in_if.conf} (70%)
create mode 100644
tests/gold_tests/pluginTest/per_plugin_metrics/per_plugin_metrics.test.py
copy plugins/experimental/magick/verify.sh =>
tests/gold_tests/pluginTest/per_plugin_metrics/rules/global.conf (74%)
mode change 100755 => 100644
delete mode 100644 tests/gold_tests/pluginTest/slice/gold/slice_prefetch.gold
create mode 100644 tests/gold_tests/shutdown/crashlog_no_false_positive.test.py
rename tests/gold_tests/tls/{tls_engine.test.py =>
tls_async_handshake.test.py} (66%)
create mode 100644 tests/gold_tests/tls/tls_flow_control.test.py
create mode 100644 tests/gold_tests/tls/tls_flow_control_client.py
create mode 100644 tests/gold_tests/tls/tls_origin_open_failed.test.py
create mode 100644 tests/gold_tests/tls/tls_origin_post_abort.test.py
create mode 100644 tests/gold_tests/tls/tls_post_abort_client.py
create mode 100644 tests/gold_tests/tls/tls_post_abort_origin.py
create mode 100644 tests/gold_tests/tls/tls_record_size.test.py
create mode 100644 tests/gold_tests/tls/tls_record_size_client.py
create mode 100644 tests/gold_tests/tls/tls_reload_under_load.test.py
create mode 100644 tests/gold_tests/tls/tls_reload_under_load_client.py
create mode 100644 tests/gold_tests/tls/tls_renegotiation.test.py
create mode 100644 tests/gold_tests/tls/tls_renegotiation_allowed.test.py
create mode 100644 tests/gold_tests/tls/tls_renegotiation_allowed_client.py
create mode 100644 tests/gold_tests/tls/tls_renegotiation_client.py
delete mode 100644 tests/tools/plugins/async_engine.c
create mode 100644 tests/tools/plugins/async_handshake.cc
create mode 100644 tools/benchmark/benchmark_HuffmanDecode.cc