This is an automated email from the ASF dual-hosted git repository. acanary pushed a change to branch h1outbound in repository https://gitbox.apache.org/repos/asf/trafficserver.git.
from f0361d8 Merge remote-tracking branch 'asfMain/master' into h1outbound add 128507a Add a remap @strategy tag and nexthop selection strategies to remap. add 151b1d0 Fix the strategies.yaml documentation. add 3a4fe4e ssl_session_reuse optimization to check if diags is on add 9c1b88a Cleanup trailing whitespaces, and YAML formatting (#6210) add ed7add8 Adds WS check, and some cleanup (#6213) add 0b5ae4a Fixes spelling in strategies.yaml docs add a59f1df Check Range header for stale content add 0ec8ca4 Cleanup: Remove useless UDPConnection function add cd2afa6 Lua plugin fix: Account for null in output from TSUrlPercentDecode. add 994a2f0 Run dos2unix on all files in tree add c0fe598a Add 100-continue expectation support on H2 connection add 52538c4 Set END_STREAM flag when write_vio ntodo is 0 add 66bf0c4 Add autopep8 & pyflakes in dev-packages for AuTest add f990f13 This fixes next hop unit tests that segfault due to missing (#6216) add e541bc7 Fixed next hop tests for out of tree builds add a6e66df Do not reenable txnp with TS_EVENT_HTTP_ERROR if received TS_EVENT_HTTP_TXN_CLOSE event (PR #6215) add c44e0dc Move logging before session could be freed add 92911d0 Merge remote-tracking branch 'asfMain/master' into h1outbound No new revisions were added by this update. Summary of changes: .gitignore | 5 + ci/jenkins/bin/build.sh | 1 + ci/jenkins/bin/clang-format.sh | 17 +- ci/jenkins/bin/github.sh | 6 +- ci/jenkins/bin/regression.sh | 9 +- configs/strategies.yaml.default | 132 +++ .../configuration/proxy-protocol.en.rst | 2 +- doc/admin-guide/files/index.en.rst | 4 + doc/admin-guide/files/sni.yaml.en.rst | 2 +- doc/admin-guide/files/strategies.yaml.en.rst | 238 +++++ doc/admin-guide/logging/formatting.en.rst | 4 +- doc/admin-guide/plugins/ja3_fingerprint.en.rst | 3 +- doc/admin-guide/plugins/lua.en.rst | 4 +- doc/admin-guide/plugins/slice.en.rst | 4 +- doc/admin-guide/plugins/ssl_session_reuse.en.rst | 17 +- .../api/functions/TSContCall.en.rst | 5 +- .../api/functions/TSUrlPercentEncode.en.rst | 24 +- .../api/functions/TSVConnReenable.en.rst | 6 +- .../api/functions/TSVConnSslVerifyCTXGet.en.rst | 2 +- .../cache-architecture/architecture.en.rst | 2 +- doc/developer-guide/layout/runroot.en.rst | 2 +- doc/developer-guide/plugins/remap-plugins.en.rst | 2 +- example/plugins/lua-api/connect_geoip.lua | 6 +- example/plugins/lua-api/connect_redis.lua | 17 +- example/plugins/lua-api/sorted_query_params.lua | 30 +- example/plugins/lua-api/uncompress.lua | 41 +- iocore/net/I_UDPConnection.h | 4 +- iocore/net/P_UDPConnection.h | 50 +- iocore/net/P_UnixUDPConnection.h | 3 +- lib/yamlcpp/test/create-emitter-tests.py | 7 +- .../test/integration/error_messages_test.cpp | 27 +- lib/yamlcpp/test/integration/load_node_test.cpp | 31 +- mgmt/RecordsConfig.cc | 2 + plugins/experimental/fastcgi/src/Readme | 19 +- plugins/experimental/slice/Makefile.tsxs | 2 +- plugins/experimental/slice/README.md | 2 +- .../experimental/ssl_session_reuse/src/publish.cc | 57 +- plugins/experimental/uri_signing/Makefile.inc | 2 +- plugins/experimental/uri_signing/README.md | 8 +- .../uri_signing/python_signer/README.md | 18 +- plugins/lua/ts_lua_crypto.c | 4 +- plugins/prefetch/plugin.cc | 9 +- proxy/ParentSelection.cc | 2 - proxy/ParentSelection.h | 25 +- proxy/hdrs/HTTP.h | 23 +- proxy/http/HttpSM.cc | 34 +- proxy/http/HttpTransact.cc | 242 +++++- proxy/http/HttpTransact.h | 3 +- proxy/http/remap/Makefile.am | 102 ++- proxy/http/remap/NextHopConsistentHash.cc | 402 +++++++++ proxy/http/remap/NextHopConsistentHash.h | 54 ++ proxy/http/remap/NextHopRoundRobin.cc | 219 +++++ .../http/remap/NextHopRoundRobin.h | 31 +- proxy/http/remap/NextHopSelectionStrategy.cc | 377 ++++++++ proxy/http/remap/NextHopSelectionStrategy.h | 215 +++++ proxy/http/remap/NextHopStrategyFactory.cc | 259 ++++++ .../remap/NextHopStrategyFactory.h} | 36 +- proxy/http/remap/RemapConfig.cc | 27 + proxy/http/remap/RemapConfig.h | 1 + proxy/http/remap/RemapProcessor.cc | 5 + proxy/http/remap/UrlMapping.h | 3 + proxy/http/remap/UrlRewrite.cc | 6 + proxy/http/remap/UrlRewrite.h | 2 + proxy/http/remap/unit-tests/combined.yaml | 170 ++++ .../remap/unit-tests/consistent-hash-tests.yaml | 171 ++++ proxy/http/remap/unit-tests/hosts.yaml | 71 ++ proxy/http/remap/unit-tests/nexthop_test_stubs.cc | 144 ++++ proxy/http/remap/unit-tests/nexthop_test_stubs.h | 85 ++ proxy/http/remap/unit-tests/round-robin-tests.yaml | 206 +++++ proxy/http/remap/unit-tests/simple-strategy.yaml | 117 +++ .../remap/unit-tests/strategies-dir/01-hosts.yaml | 60 ++ .../remap/unit-tests/strategies-dir/02-groups.yaml | 23 +- .../unit-tests/strategies-dir/03-strategies.yaml | 65 ++ .../http/remap/unit-tests/strategy.yaml | 82 +- .../remap/unit-tests/test_NextHopConsistentHash.cc | 394 +++++++++ .../remap/unit-tests/test_NextHopRoundRobin.cc | 318 +++++++ .../unit-tests/test_NextHopStrategyFactory.cc | 956 +++++++++++++++++++++ proxy/http2/Http2ConnectionState.cc | 12 +- proxy/http2/Http2Stream.cc | 11 + proxy/http2/Http2Stream.h | 4 +- tests/Pipfile | 2 + tests/README.md | 8 +- tests/gold_tests/autest-site/readme.md | 10 +- .../data/www.customplugin204.test_get.txt | 4 +- .../data/www.customtemplate204.test_get.txt | 4 +- .../body_factory/data/www.default204.test_get.txt | 4 +- .../body_factory/data/www.default304.test_get.txt | 4 +- .../body_factory/data/www.example.test_get_200.txt | 6 +- .../body_factory/data/www.example.test_get_304.txt | 8 +- .../body_factory/data/www.example.test_head.txt | 6 +- .../data/www.example.test_head_200.txt | 6 +- tests/gold_tests/h2/gold/http2_9_stderr.gold | 10 + .../sni-1.gold => h2/gold/http2_9_stdout.gold} | 0 tests/gold_tests/h2/gold/httpbin_0_stdout.gold | 9 +- tests/gold_tests/h2/gold/httpbin_3_stderr.gold | 9 + tests/gold_tests/h2/gold/httpbin_3_stdout.gold | 7 + tests/gold_tests/h2/gold/httpbin_access.gold | 1 + tests/gold_tests/h2/http2.test.py | 13 + tests/gold_tests/h2/httpbin.test.py | 19 +- .../headers/data/www.passthrough.test_get.txt | 4 +- .../headers/data/www.redirect0.test_get.txt | 4 +- .../headers/data/www.redirect301.test_get.txt | 4 +- .../headers/data/www.redirect302.test_get.txt | 4 +- .../headers/data/www.redirect307.test_get.txt | 4 +- .../headers/data/www.redirect308.test_get.txt | 4 +- .../headers/general-connection-failure-502.gold | 14 +- .../regex_remap/gold/regex_remap_crash.gold | 8 +- .../regex_remap/gold/regex_remap_smoke.gold | 8 +- .../regex_revalidate/gold/regex_reval-hit.gold | 20 +- .../regex_revalidate/gold/regex_reval-miss.gold | 20 +- .../regex_revalidate/gold/regex_reval-stale.gold | 20 +- .../pluginTest/slice/gold/slice_200.stdout.gold | 16 +- .../pluginTest/slice/gold/slice_206.stdout.gold | 18 +- .../pluginTest/slice/gold/slice_first.stdout.gold | 18 +- .../pluginTest/slice/gold/slice_last.stderr.gold | 2 +- .../pluginTest/slice/gold/slice_last.stdout.gold | 18 +- .../pluginTest/slice/gold/slice_mid.stderr.gold | 2 +- .../pluginTest/slice/gold/slice_mid.stdout.gold | 18 +- .../pluginTest/slice/gold_error/crr.stdout.gold | 18 +- .../pluginTest/slice/gold_error/etag.stdout.gold | 18 +- .../pluginTest/slice/gold_error/lm.stdout.gold | 18 +- .../pluginTest/slice/gold_error/non206.stdout.gold | 20 +- tests/gold_tests/pluginTest/url_sig/url_sig.gold | 30 +- tests/gold_tests/redirect/gold/redirect.gold | 6 +- tests/gold_tests/tls/test-nc-s_client.sh | 4 +- tests/tools/README.md | 18 +- 126 files changed, 5698 insertions(+), 557 deletions(-) create mode 100644 configs/strategies.yaml.default create mode 100644 doc/admin-guide/files/strategies.yaml.en.rst create mode 100644 proxy/http/remap/NextHopConsistentHash.cc create mode 100644 proxy/http/remap/NextHopConsistentHash.h create mode 100644 proxy/http/remap/NextHopRoundRobin.cc copy include/tscore/SHA256.h => proxy/http/remap/NextHopRoundRobin.h (56%) create mode 100644 proxy/http/remap/NextHopSelectionStrategy.cc create mode 100644 proxy/http/remap/NextHopSelectionStrategy.h create mode 100644 proxy/http/remap/NextHopStrategyFactory.cc copy proxy/{shared/DiagsConfig.h => http/remap/NextHopStrategyFactory.h} (55%) create mode 100644 proxy/http/remap/unit-tests/combined.yaml create mode 100644 proxy/http/remap/unit-tests/consistent-hash-tests.yaml create mode 100644 proxy/http/remap/unit-tests/hosts.yaml create mode 100644 proxy/http/remap/unit-tests/nexthop_test_stubs.cc create mode 100644 proxy/http/remap/unit-tests/nexthop_test_stubs.h create mode 100644 proxy/http/remap/unit-tests/round-robin-tests.yaml create mode 100644 proxy/http/remap/unit-tests/simple-strategy.yaml create mode 100644 proxy/http/remap/unit-tests/strategies-dir/01-hosts.yaml copy configs/body_factory/Makefile.am => proxy/http/remap/unit-tests/strategies-dir/02-groups.yaml (71%) create mode 100644 proxy/http/remap/unit-tests/strategies-dir/03-strategies.yaml copy tests/gold_tests/logging/ccid_ctid_observer.py => proxy/http/remap/unit-tests/strategy.yaml (51%) create mode 100644 proxy/http/remap/unit-tests/test_NextHopConsistentHash.cc create mode 100644 proxy/http/remap/unit-tests/test_NextHopRoundRobin.cc create mode 100644 proxy/http/remap/unit-tests/test_NextHopStrategyFactory.cc create mode 100644 tests/gold_tests/h2/gold/http2_9_stderr.gold copy tests/gold_tests/{tls_hooks/gold/sni-1.gold => h2/gold/http2_9_stdout.gold} (100%) create mode 100644 tests/gold_tests/h2/gold/httpbin_3_stderr.gold create mode 100644 tests/gold_tests/h2/gold/httpbin_3_stdout.gold