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 e3b37be4f8df0fc24d3fade87575e40a6250edf3 Merge: 4274bc0328 293bccb26a Author: bneradt <[email protected]> AuthorDate: Mon Feb 26 11:14:38 2024 -0600 Merge latest master into 11-Dev CMakeLists.txt | 7 + CMakePresets.json | 3 +- Findtsapi.cmake.in | 76 + cmake/ExperimentalPlugins.cmake | 13 + cmake/Findopentelemetry.cmake | 72 + doc/CMakeLists.txt | 3 + doc/admin-guide/files/records.yaml.en.rst | 2 +- doc/admin-guide/plugins/esi.en.rst | 4 + doc/admin-guide/plugins/header_freq.en.rst | 1 + doc/admin-guide/plugins/index.en.rst | 4 + doc/admin-guide/plugins/stale_response.en.rst | 10 +- doc/admin-guide/plugins/txn_box/Doxyfile | 2435 ++++++++++++ doc/admin-guide/plugins/txn_box/arch.en.rst | 122 + doc/admin-guide/plugins/txn_box/building.en.rst | 59 + .../plugins/txn_box/dev/acceleration.en.rst | 73 + .../plugins/txn_box/dev/class-reference.en.rst} | 25 +- doc/admin-guide/plugins/txn_box/dev/config.en.rst | 44 + doc/admin-guide/plugins/txn_box/dev/design.en.rst | 297 ++ .../plugins/txn_box/dev/dev-directive.en.rst | 91 + .../plugins/txn_box/dev/dev-extractor.en.rst | 272 ++ .../plugins/txn_box/dev/dev-guide.en.rst} | 25 +- .../plugins/txn_box/dev/memory-management.en.rst | 129 + doc/admin-guide/plugins/txn_box/directive.en.rst | 192 + doc/admin-guide/plugins/txn_box/examples.en.rst | 240 ++ doc/admin-guide/plugins/txn_box/expr.en.rst | 176 + doc/admin-guide/plugins/txn_box/future.en.rst | 159 + doc/admin-guide/plugins/txn_box/guide.en.rst | 293 ++ doc/admin-guide/plugins/txn_box/index.en.rst | 70 + doc/admin-guide/plugins/txn_box/install.en.rst | 148 + doc/admin-guide/plugins/txn_box/misc.en.rst | 396 ++ doc/admin-guide/plugins/txn_box/reference.en.rst | 91 + doc/admin-guide/plugins/txn_box/selection.en.rst | 57 + doc/admin-guide/plugins/txn_box/txn_box.en.rst | 145 + doc/admin-guide/plugins/txn_box/txnbox_common.defs | 18 + .../txn_box/user/ComparisonReference.en.rst | 352 ++ .../plugins/txn_box/user/DirectiveReference.en.rst | 630 ++++ .../plugins/txn_box/user/ExtractorReference.en.rst | 816 ++++ .../plugins/txn_box/user/ModifierReference.en.rst | 353 ++ doc/conf.cmake.in.py | 6 + doc/developer-guide/api/functions/TSDebug.en.rst | 3 - doc/developer-guide/api/functions/TSmalloc.en.rst | 10 +- .../plugins/building-plugins.en.rst | 56 + .../getting-started/naming-conventions.en.rst | 11 +- doc/ext/extras/txnbox.cmake.in.py | 487 +++ .../config-data.plantuml} | 23 +- doc/uml/extras/txn_box_config_schema.plantuml | 35 + doc/uml/host-resolve.plantuml | 2 - example/plugins/c-api/denylist_0/denylist_0.cc | 2 +- example/plugins/c-api/redirect_1/redirect_1.cc | 2 +- example/plugins/c-api/thread_pool/psi.cc | 2 +- example/plugins/c-api/thread_pool/thread.cc | 4 +- include/cripts/Connections.hpp | 6 - include/cripts/Headers.hpp | 4 - include/cripts/Matcher.hpp | 7 +- include/cripts/Transaction.hpp | 9 - include/iocore/cache/CacheVC.h | 2 +- include/iocore/hostdb/HostDBProcessor.h | 3 +- include/iocore/net/quic/Mock.h | 7 +- include/iocore/net/quic/QUICApplication.h | 3 +- include/iocore/net/quic/QUICStream.h | 2 + include/iocore/net/quic/QUICStreamVCAdapter.h | 13 +- include/proxy/http2/Http2ConnectionState.h | 12 +- include/proxy/http3/Http09App.h | 3 +- include/proxy/http3/Http3App.h | 19 +- include/proxy/http3/Http3Session.h | 4 +- .../http3/Http3SettingsFramer.h} | 28 +- include/proxy/http3/Http3Transaction.h | 1 + include/proxy/http3/QPACK.h | 3 +- include/ts/ts.h | 8 +- .../FrequencyCounter.h} | 6 +- lib/swoc/include/swoc/BufferWriter.h | 10 +- lib/swoc/include/swoc/IPRange.h | 8 +- plugins/CMakeLists.txt | 6 +- plugins/esi/esi.cc | 74 +- plugins/esi/lib/EsiParser.cc | 10 +- plugins/esi/lib/EsiParser.h | 6 +- plugins/esi/lib/EsiProcessor.cc | 5 +- plugins/esi/lib/EsiProcessor.h | 3 +- plugins/esi/test/docnode_test.cc | 4 +- plugins/esi/test/parser_test.cc | 2 +- plugins/esi/test/processor_test.cc | 10 +- plugins/experimental/CMakeLists.txt | 7 +- plugins/experimental/fq_pacing/fq_pacing.cc | 4 +- plugins/experimental/otel_tracer/otel_tracer.cc | 1 + plugins/experimental/otel_tracer/tracer_common.h | 2 +- plugins/experimental/txn_box/CMakeLists.txt | 26 + plugins/experimental/txn_box/Pipfile | 29 + plugins/experimental/txn_box/README.md | 40 + plugins/experimental/txn_box/Sconstruct | 63 + plugins/experimental/txn_box/lib/libyaml-cpp.part | 38 + plugins/experimental/txn_box/lib/openssl.part | 31 + .../experimental/txn_box/lib/trafficserver.part | 39 + plugins/experimental/txn_box/plugin/CMakeLists.txt | 49 + .../txn_box/plugin/include/txn_box/Accelerator.h | 83 + .../txn_box/plugin/include/txn_box/Comparison.h | 342 ++ .../txn_box/plugin/include/txn_box/Config.h | 754 ++++ .../txn_box/plugin/include/txn_box/Context.h | 852 +++++ .../txn_box/plugin/include/txn_box/Directive.h | 258 ++ .../txn_box/plugin/include/txn_box/Expr.h | 206 ++ .../txn_box/plugin/include/txn_box/Extractor.h | 198 + .../txn_box/plugin/include/txn_box/FeatureGroup.h | 287 ++ .../txn_box/plugin/include/txn_box/Modifier.h | 164 + .../txn_box/plugin/include/txn_box/Rxp.h | 189 + .../txn_box/plugin/include/txn_box/accl_util.h | 605 +++ .../txn_box/plugin/include/txn_box/common.h | 968 +++++ .../txn_box/plugin/include/txn_box/ts_util.h | 1152 ++++++ .../txn_box/plugin/include/txn_box/yaml_util.h | 161 + .../experimental/txn_box/plugin/src/0_static.cc | 48 + .../experimental/txn_box/plugin/src/Accelerator.cc | 46 +- .../experimental/txn_box/plugin/src/Comparison.cc | 1839 +++++++++ plugins/experimental/txn_box/plugin/src/Config.cc | 853 +++++ plugins/experimental/txn_box/plugin/src/Context.cc | 542 +++ .../experimental/txn_box/plugin/src/Directive.cc | 62 + plugins/experimental/txn_box/plugin/src/Ex_Base.cc | 519 +++ plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc | 1555 ++++++++ plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc | 735 ++++ .../experimental/txn_box/plugin/src/Extractor.cc | 458 +++ .../experimental/txn_box/plugin/src/Machinery.cc | 3894 ++++++++++++++++++++ .../experimental/txn_box/plugin/src/Modifier.cc | 1369 +++++++ plugins/experimental/txn_box/plugin/src/Rxp.cc | 161 + .../experimental/txn_box/plugin/src/ex_tcp_info.cc | 221 ++ .../experimental/txn_box/plugin/src/ip_space.cc | 1062 ++++++ plugins/experimental/txn_box/plugin/src/query.cc | 1124 ++++++ plugins/experimental/txn_box/plugin/src/stats.cc | 389 ++ .../experimental/txn_box/plugin/src/text_block.cc | 508 +++ plugins/experimental/txn_box/plugin/src/ts_util.cc | 1286 +++++++ plugins/experimental/txn_box/plugin/src/txn_box.cc | 225 ++ .../txn_box/plugin/src/txn_box_remap.cc | 148 + plugins/experimental/txn_box/plugin/src/util.cc | 651 ++++ .../experimental/txn_box/plugin/src/yaml_util.cc | 97 + plugins/experimental/txn_box/plugin/txn_box.part | 36 + .../experimental/txn_box/plugin/txn_box.rpm.part | 58 + .../txn_box/plugin/txn_box.schema.json | 169 + plugins/experimental/txn_box/scons-setup.sh | 19 + .../txn_box/test/cors-disable-by-sni.yaml | 100 + plugins/experimental/txn_box/test/ipspace.csv | 19 + .../experimental/txn_box/test/ipspace.replay.yaml | 61 + .../txn_box/test/prsp-header-1.replay.yaml | 74 + .../experimental/txn_box/test/query_replay.yaml | 202 + .../txn_box/test/reload-test.replay.yaml | 112 + plugins/experimental/txn_box/test/server_test.key | 28 + plugins/experimental/txn_box/test/server_test.pem | 47 + .../experimental/txn_box/test/yts-2534-config.yaml | 4 + .../experimental/txn_box/test/yts-2534-replay.yaml | 168 + .../experimental/txn_box/test/yts-2797-replay.yaml | 44 + .../experimental/txn_box/tools/update-version.sh | 28 + .../experimental/txn_box/unit_tests/CMakeLists.txt | 34 + .../txn_box/unit_tests/test_accl_utils.cc | 331 ++ .../txn_box/unit_tests/test_txn_box.cc | 56 + .../txn_box/unit_tests/unit_test_main.cc | 32 + .../txn_box/unit_tests/unit_tests.part | 37 + plugins/experimental/url_sig/url_sig.cc | 2 +- plugins/healthchecks/healthchecks.cc | 12 +- plugins/libloader/libloader.cc | 2 +- plugins/lua/ts_lua.cc | 8 +- plugins/lua/ts_lua_client_response.cc | 4 +- plugins/lua/ts_lua_crypto.cc | 6 +- plugins/lua/ts_lua_util.cc | 12 +- plugins/remap_purge/remap_purge.cc | 2 +- plugins/webp_transform/CMakeLists.txt | 21 + src/cripts/Bundles/LogsMetrics.cc | 12 +- src/cripts/Connections.cc | 1 + src/iocore/cache/CacheWrite.cc | 6 +- src/iocore/net/P_QUICNetVConnection.h | 2 + src/iocore/net/QUICNetVConnection.cc | 26 +- src/iocore/net/quic/QUICStream.cc | 7 + src/iocore/net/quic/QUICStreamManager.cc | 7 +- src/iocore/net/quic/QUICStreamVCAdapter.cc | 89 +- src/proxy/http/HttpTransact.cc | 4 + src/proxy/http2/CMakeLists.txt | 5 - src/proxy/http3/CMakeLists.txt | 1 + src/proxy/http3/Http09App.cc | 7 +- src/proxy/http3/Http3App.cc | 67 +- src/proxy/http3/Http3Session.cc | 40 +- src/proxy/http3/Http3SettingsFramer.cc | 67 + src/proxy/http3/Http3Transaction.cc | 25 +- src/proxy/http3/QPACK.cc | 7 +- src/proxy/http3/test/test_QPACK.cc | 6 +- src/traffic_top/stats.h | 2 +- src/traffic_top/traffic_top.cc | 24 +- src/tscore/CMakeLists.txt | 3 + .../FrequencyCounter.cc} | 10 +- .../unit_tests/test_FrequencyCounter.cc} | 11 +- tests/CMakeLists.txt | 10 + tests/gold_tests/autest-site/txn_box.test.ext | 251 ++ .../parent_config/parent_config_dest_ip.test.py | 125 + tests/gold_tests/pluginTest/esi/esi.test.py | 23 + .../pluginTest/txn_box/basic/basic.replay.yaml | 639 ++++ .../pluginTest/txn_box/basic/basic.test.py | 44 + .../pluginTest/txn_box/basic/cmp.replay.yaml | 182 + .../pluginTest/txn_box/basic/cmp.test.py | 26 + .../pluginTest/txn_box/basic/ip-addr.replay.yaml | 68 + .../pluginTest/txn_box/basic/ip-addr.test.py | 34 + .../pluginTest/txn_box/basic/mod.replay.yaml | 228 ++ .../pluginTest/txn_box/basic/mod.test.py | 42 + .../pluginTest/txn_box/basic/multi-cfg.1.yaml | 1 + .../pluginTest/txn_box/basic/multi-cfg.2.yaml | 5 + .../pluginTest/txn_box/basic/multi-cfg.replay.yaml | 120 + .../pluginTest/txn_box/basic/multi-cfg.test.py | 43 + .../pluginTest/txn_box/basic/redirect.replay.yaml | 255 ++ .../pluginTest/txn_box/basic/redirect.test.py | 52 + .../pluginTest/txn_box/basic/reply.replay.yaml | 101 + .../pluginTest/txn_box/basic/reply.test.py | 47 + .../pluginTest/txn_box/basic/rxp.replay.yaml | 97 + .../pluginTest/txn_box/basic/rxp.test.py | 37 + .../pluginTest/txn_box/basic/stat.replay.yaml | 101 + .../pluginTest/txn_box/basic/stat.test.py | 60 + .../pluginTest/txn_box/basic/tls-cert.replay.yaml | 117 + .../pluginTest/txn_box/basic/tls-cert.test.py | 61 + .../pluginTest/txn_box/basic/tls.replay.yaml | 103 + .../pluginTest/txn_box/basic/tls.test.py | 56 + .../pluginTest/txn_box/basic/tuple.replay.yaml | 79 + .../pluginTest/txn_box/basic/tuple.test.py | 29 + .../pluginTest/txn_box/basic/txn-debug.replay.yaml | 54 + .../pluginTest/txn_box/basic/txn-debug.test.py | 66 + .../pluginTest/txn_box/basic/txn-error.replay.yaml | 97 + .../pluginTest/txn_box/basic/txn-error.test.py | 57 + .../txn_box/basic/txn_open_1.replay.yaml | 43 + .../pluginTest/txn_box/basic/txn_open_1.test.py | 41 + .../txn_box/basic/txn_open_2.replay.yaml | 52 + .../pluginTest/txn_box/basic/txn_open_2.test.py | 42 + .../txn_box/basic/txn_open_3.replay.yaml | 49 + .../pluginTest/txn_box/basic/txn_open_3.test.py | 41 + .../pluginTest/txn_box/basic/with.replay.yaml | 170 + .../pluginTest/txn_box/basic/with.test.py | 37 + .../txn_box/ct_header/ct_header.replay.yaml | 393 ++ .../pluginTest/txn_box/ct_header/ct_header.test.py | 59 + .../txn_box/example/accept-encoding.replay.yaml | 62 + .../txn_box/example/accept-encoding.test.py | 39 + .../txn_box/prod/cors-origin.replay.yaml | 110 + .../pluginTest/txn_box/prod/cors-origin.test.py | 45 + .../txn_box/prod/cors-referrer.replay.yaml | 117 + .../pluginTest/txn_box/prod/cors-referrer.test.py | 45 + .../gold_tests/pluginTest/txn_box/prod/ip-acl.csv | 18 + .../pluginTest/txn_box/prod/ip-acl.replay.yaml | 125 + .../pluginTest/txn_box/prod/ip-acl.test.py | 50 + .../pluginTest/txn_box/prod/mTLS-alpha.replay.yaml | 29 + .../pluginTest/txn_box/prod/mTLS-bravo.replay.yaml | 39 + .../pluginTest/txn_box/prod/mTLS.replay.yaml | 33 + .../pluginTest/txn_box/prod/mTLS.test.py | 70 + .../pluginTest/txn_box/prod/mTLS.txnbox.yaml | 21 + .../txn_box/prod/query-delete-filter.test.py | 46 + .../txn_box/prod/query-delete-regex.test.py | 46 + .../txn_box/prod/query-delete.replay.yaml | 208 ++ .../pluginTest/txn_box/prod/query.replay.yaml | 412 +++ .../pluginTest/txn_box/prod/query.test.py | 51 + .../pluginTest/txn_box/prod/stanley.replay.yaml | 78 + .../pluginTest/txn_box/prod/stanley.test.py | 51 + .../pluginTest/txn_box/prod/vznith-1.replay.yaml | 227 ++ .../pluginTest/txn_box/prod/vznith-1.test.py | 47 + .../pluginTest/txn_box/prod/yts-3489.replay.yaml | 322 ++ .../pluginTest/txn_box/prod/yts-3489.test.py | 52 + .../pluginTest/txn_box/ramp/multi-ramp-1.cfg.yaml | 27 + .../pluginTest/txn_box/ramp/multi-ramp-1.test.py | 46 + .../pluginTest/txn_box/ramp/multi-ramp-2.cfg.yaml | 21 + .../pluginTest/txn_box/ramp/multi-ramp-2.test.py | 45 + .../pluginTest/txn_box/ramp/multi-ramp-3.cfg.yaml | 17 + .../pluginTest/txn_box/ramp/multi-ramp-3.test.py | 45 + .../pluginTest/txn_box/ramp/multi-ramp-4.cfg.yaml | 28 + .../pluginTest/txn_box/ramp/multi-ramp.replay.yaml | 90 + .../pluginTest/txn_box/ramp/multi_ramp_common.py | 121 + .../pluginTest/txn_box/ramp/ramp.logging.yaml | 9 + .../pluginTest/txn_box/ramp/ramp.replay.yaml | 37 + .../pluginTest/txn_box/ramp/ramp.test.py | 44 + .../txn_box/remap/remap-base.replay.yaml | 242 ++ .../pluginTest/txn_box/remap/remap-base.test.py | 63 + .../pluginTest/txn_box/smoke/smoke-2.replay.yaml | 38 + .../pluginTest/txn_box/smoke/smoke-2.test.py | 39 + .../pluginTest/txn_box/smoke/smoke.replay.yaml | 101 + .../pluginTest/txn_box/smoke/smoke.test.py | 38 + .../gold_tests/pluginTest/txn_box/ssl/alpha-ca.key | 30 + .../gold_tests/pluginTest/txn_box/ssl/alpha-ca.pem | 20 + .../pluginTest/txn_box/ssl/alpha-signed.cert | 47 + .../pluginTest/txn_box/ssl/alpha-signed.key | 27 + .../pluginTest/txn_box/ssl/alpha-signed.pem | 20 + .../gold_tests/pluginTest/txn_box/ssl/bravo-ca.key | 30 + .../gold_tests/pluginTest/txn_box/ssl/bravo-ca.pem | 20 + .../pluginTest/txn_box/ssl/bravo-signed.cert | 47 + .../pluginTest/txn_box/ssl/bravo-signed.key | 27 + .../pluginTest/txn_box/ssl/bravo-signed.pem | 20 + .../pluginTest/txn_box/ssl/ca-bundle.pem | 61 + .../pluginTest/txn_box/ssl/charlie-ca.key | 30 + .../pluginTest/txn_box/ssl/charlie-ca.pem | 20 + .../pluginTest/txn_box/ssl/charlie-signed.cert | 47 + .../pluginTest/txn_box/ssl/charlie-signed.key | 27 + .../pluginTest/txn_box/ssl/charlie-signed.pem | 20 + .../pluginTest/txn_box/ssl/pv-server.cert | 49 + tests/gold_tests/pluginTest/txn_box/ssl/server.key | 28 + tests/gold_tests/pluginTest/txn_box/ssl/server.pem | 21 + .../txn_box/static_file/static_file.replay.yaml | 514 +++ .../txn_box/static_file/static_file.test.py | 39 + .../pluginTest/txn_box/static_file/static_file.txt | 1 + ts.pc.in | 11 + 293 files changed, 43761 insertions(+), 347 deletions(-)
