This is an automated email from the ASF dual-hosted git repository.
bneradt pushed a change to branch 11-Dev
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
from 58a2ea1f4f Merge ASF master into 11-Dev
add 9c1d1aa437 Serve stale contents until max-age + max_stale_age (#12241)
add 8a9372b39a Minor header_rewrite doc cleanup (#12277)
add 482e0c62b3 healthchecks: fix event matching for directory events
(#12274)
add f96d21457c hrw4u is a new header_rewrite configuration DSL (#12247)
add 196ac8cbe9 HRW: Allow sets to have quoted strings (#12256)
add fc4fa5ed11 Allow header_rewrite to run a compiler for HRW4u (#12230)
add ab25c40a07 jsonrpc - Implement handler to fetch connection tracker
information. (#12260)
add 8fbd40122f Try both old(9.2) and new cache key generation (#12271)
add aaa32afab7 Fix for issue 12279 - Fix error checking when parsing
records.yaml when verify_config is called. (#12285)
add 9ff94763d1 Make directory operations methods on `Directory` (#11945)
add cb76496052 Docs: add doc build folders to gitignore (#12289)
add 7a3486a0d3 Docs: Clarify URL Parts (#12288)
add c1baa3ae05 Cleanup: Move serve_stale autests under cache (#12281)
add 91a654dfa4 Add a setting to choose the data source of IP address for
ACL (#12293)
add 7f178de7de Add max inclusion depth support to esi plugin (#12295)
add f51b5c7cb0 HRW4U: Allow repeated sections within a section (#12287)
add 1890ee0beb Cleanup: Use string_view in URL and HTTPHdr (#12243)
add 24ebd0f86d Fix FileManager to handle file updates properly. (#12282)
add 02139d56ec Update url_m_loc variable to the newly generated one in
set-destination (#12278)
add b071101f7e Fix docs about Overridable Variables (#12311)
add d09b809dd5 Add the cqssg log field for TLS group name logging (#12261)
add 6ce2507e22 HRW4U: Adds support for HRW if-elif clauses (#12305)
add aea1e2c6d8 HRW: Add support for elif, in if-elif-else (#12304)
add 132e01c4ae stats_over_http: Add Prometheus format option (#12302)
add c3a40a7911 HTTP/2: Wait END_STREAM flag on half-closed(local) stream
state (#12257)
add 504f4a3c0d per_server_connection_max.test.py: Process fixes (#12314)
add 5e334de06b traffic_ctl - Set the appropriate error exit code. (#12308)
add 572ec5d0cd Support CLIENT_HELLO split across multiple packets (#12290)
add 632c8f09af Add URL argument to USDT (#12199)
add 93394591aa hrw4u: add inbound.cookie (#12306)
add e0909abeeb Increment parent mark down if config allows (#12318)
add 7b427112be Add metric when parent marked down from inactive timeout
(#12317)
add 64a8f60f11 SnowflakeID for organizationally unique identifiers (#12265)
new 7c4a753322 Merge master into 11-Dev
The 1 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:
.gitignore | 2 +
CMakeLists.txt | 3 +
doc/admin-guide/configuration/hrw4u.en.rst | 600 +++++++++++++++++++++
doc/admin-guide/configuration/index.en.rst | 1 +
.../configuration/proxy-protocol.en.rst | 4 +
doc/admin-guide/files/records.yaml.en.rst | 33 +-
doc/admin-guide/logging/formatting.en.rst | 11 +-
doc/admin-guide/plugins/esi.en.rst | 4 +-
doc/admin-guide/plugins/header_rewrite.en.rst | 159 ++++--
doc/admin-guide/plugins/stats_over_http.en.rst | 35 +-
doc/developer-guide/config-vars.en.rst | 2 +-
doc/developer-guide/jsonrpc/jsonrpc-api.en.rst | 84 +++
include/iocore/net/TLSBasicSupport.h | 1 +
include/iocore/utils/Machine.h | 9 +-
include/mgmt/config/FileManager.h | 2 -
include/mgmt/rpc/handlers/server/Server.h | 1 +
include/proxy/IPAllow.h | 4 +
include/proxy/ProxySession.h | 3 +-
include/proxy/hdrs/HTTP.h | 152 ++----
include/proxy/hdrs/URL.h | 230 ++++----
include/proxy/http/HttpConfig.h | 4 +
include/proxy/http/HttpSM.h | 8 +
include/proxy/http/HttpUserAgent.h | 15 +
include/proxy/logging/LogAccess.h | 2 +
include/records/RecCore.h | 2 +-
include/tscore/SnowflakeID.h | 270 ++++++++++
include/tscore/ink_config.h.cmake.in | 3 +
plugins/esi/esi.cc | 123 +++--
plugins/header_rewrite/header_rewrite.cc | 154 +++---
plugins/header_rewrite/lulu.cc | 1 -
plugins/header_rewrite/lulu.h | 4 +-
plugins/header_rewrite/matcher.h | 36 +-
plugins/header_rewrite/operators.cc | 4 +-
plugins/header_rewrite/parser.cc | 131 ++++-
plugins/header_rewrite/parser.h | 98 +++-
plugins/header_rewrite/ruleset.cc | 29 +-
plugins/header_rewrite/ruleset.h | 117 ++--
plugins/healthchecks/healthchecks.cc | 48 +-
plugins/stats_over_http/stats_over_http.cc | 278 +++++++---
src/api/InkAPI.cc | 71 ++-
src/api/InkAPIInternal.cc | 186 +++----
src/iocore/cache/Cache.cc | 6 +-
src/iocore/cache/CacheDir.cc | 168 +++---
src/iocore/cache/CacheEvacuateDocVC.cc | 8 +-
src/iocore/cache/CacheProcessor.cc | 4 +-
src/iocore/cache/CacheRead.cc | 35 +-
src/iocore/cache/CacheVC.cc | 18 +-
src/iocore/cache/CacheWrite.cc | 18 +-
src/iocore/cache/P_CacheDir.h | 42 +-
src/iocore/cache/P_CacheInternal.h | 24 +-
src/iocore/cache/Stripe.cc | 4 +-
src/iocore/cache/StripeSM.cc | 12 +-
.../unit_tests/test_Alternate_L_to_S_remove_L.cc | 4 +-
.../unit_tests/test_Alternate_L_to_S_remove_S.cc | 4 +-
.../unit_tests/test_Alternate_S_to_L_remove_L.cc | 4 +-
.../unit_tests/test_Alternate_S_to_L_remove_S.cc | 4 +-
src/iocore/cache/unit_tests/test_CacheDir.cc | 60 +--
src/iocore/net/P_SSLNetVConnection.h | 80 ++-
src/iocore/net/SNIActionPerformer.cc | 16 +-
src/iocore/net/SSLNetVConnection.cc | 185 ++++---
src/iocore/net/TLSBasicSupport.cc | 21 +
src/iocore/utils/Machine.cc | 41 +-
src/mgmt/config/FileManager.cc | 58 +-
src/mgmt/rpc/handlers/server/Server.cc | 81 +++
src/proxy/ControlBase.cc | 12 +-
src/proxy/FetchSM.cc | 3 +-
src/proxy/IPAllow.cc | 32 +-
src/proxy/ParentConsistentHash.cc | 10 +-
src/proxy/ParentSelection.cc | 8 +-
src/proxy/Transform.cc | 2 +-
src/proxy/hdrs/HTTP.cc | 280 ++++------
src/proxy/hdrs/HeaderValidator.cc | 3 +-
src/proxy/hdrs/URL.cc | 455 +++++++++-------
src/proxy/hdrs/VersionConverter.cc | 13 +-
src/proxy/hdrs/unit_tests/test_HdrHeap.cc | 6 +-
src/proxy/hdrs/unit_tests/test_URL.cc | 6 +-
src/proxy/http/HttpConfig.cc | 6 +-
src/proxy/http/HttpDebugNames.cc | 18 +-
src/proxy/http/HttpSM.cc | 107 ++--
src/proxy/http/HttpSessionAccept.cc | 18 +-
src/proxy/http/HttpTransact.cc | 137 +++--
src/proxy/http/HttpTransactHeaders.cc | 22 +-
src/proxy/http/RegressionHttpTransact.cc | 40 +-
src/proxy/http/remap/NextHopConsistentHash.cc | 39 +-
src/proxy/http/remap/RemapConfig.cc | 103 ++--
src/proxy/http/remap/RemapProcessor.cc | 17 +-
src/proxy/http/remap/UrlMappingPathIndex.cc | 23 +-
src/proxy/http/remap/UrlRewrite.cc | 133 +++--
src/proxy/http2/Http2ConnectionState.cc | 27 +-
src/proxy/http2/Http2SessionAccept.cc | 16 +-
src/proxy/http2/Http2Stream.cc | 27 +-
src/proxy/logging/Log.cc | 10 +
src/proxy/logging/LogAccess.cc | 36 +-
src/records/P_RecCore.cc | 2 +-
src/records/RecordsConfig.cc | 15 +
src/traffic_ctl/CtrlCommands.cc | 3 +
src/traffic_ctl/CtrlPrinters.cc | 9 +-
src/traffic_ctl/CtrlPrinters.h | 2 +
src/traffic_ctl/TrafficCtlStatus.h | 28 +
src/traffic_ctl/traffic_ctl.cc | 15 +-
src/traffic_server/RpcAdminPubHandlers.cc | 3 +-
src/traffic_server/traffic_server.cc | 4 +-
src/tscore/CMakeLists.txt | 2 +
src/tscore/SnowflakeID.cc | 147 +++++
src/tscore/unit_tests/test_SnowflakeID.cc | 229 ++++++++
tests/Pipfile | 3 +
.../gold/serve_stale_dns_fail.gold | 0
.../proxy_serve_stale.test.py | 0
.../proxy_serve_stale_dns_fail.test.py | 4 +-
.../negative-revalidating-enabled.replay.yaml | 16 +-
.../replay/negative-revalidating-list.replay.yaml | 7 +-
.../replay/proxy_serve_stale.replay.yaml | 29 +-
tests/gold_tests/h2/clients/h2empty_data_frame.py | 128 +++++
tests/gold_tests/h2/http2_empty_data_frame.test.py | 71 +++
tests/gold_tests/ip_allow/ip_allow.test.py | 24 +-
.../replays/http_proxy_protocol.replay.yaml} | 82 ++-
tests/gold_tests/logging/new_log_flds.test.py | 5 +-
tests/gold_tests/logging/new_log_flds_observer.py | 25 +-
.../per_server_connection_max.test.py | 16 +-
.../pluginTest/esi/esi_nested_include.test.py | 136 +++++
.../pluginTest/esi/gold/nested_include_body.gold | 12 +
.../gold/{ext-sets.gold => cond-elif.gold} | 1 +
.../pluginTest/header_rewrite/gold/ext-sets.gold | 1 +
.../header_rewrite/gold/header_rewrite-client.gold | 1 +
.../header_rewrite/header_rewrite_url.test.py | 14 +-
.../header_rewrite/rules/rule_client.conf | 11 +-
tests/gold_tests/pluginTest/healthchecks/acme | 17 +
tests/gold_tests/pluginTest/healthchecks/acme-ssl | 17 +
.../pluginTest/healthchecks/healthchecks.test.py | 148 +++++
.../gold/stats_over_http_0_stdout.gold | 4 -
...stderr.gold => stats_over_http_csv_stderr.gold} | 4 +-
...tderr.gold => stats_over_http_json_stderr.gold} | 2 +-
...gold => stats_over_http_prometheus_stderr.gold} | 4 +-
.../stats_over_http/prometheus_stats_ingester.py | 117 ++++
.../stats_over_http/stats_over_http.test.py | 101 +++-
tests/gold_tests/remap/remap_acl.test.py | 93 +++-
.../remap_acl_get_post_allowed_pp.replay.yaml | 132 +++++
tests/gold_tests/tls/gold/tls-tunnel-metrics.gold | 12 +-
tests/gold_tests/tls/receive_split_client_hello.py | 129 +++++
.../tls/replay/ip_allow_proxy.replay.yaml | 113 ++++
tests/gold_tests/tls/split_client_hello.py | 181 +++++++
tests/gold_tests/tls/tls_sni_ip_allow.test.py | 38 +-
tests/gold_tests/tls/tls_tunnel.test.py | 68 ++-
.../traffic_ctl/traffic_ctl_config_output.test.py | 3 +
.../traffic_ctl/traffic_ctl_server_output.test.py | 16 +
.../traffic_ctl/traffic_ctl_test_utils.py | 65 ++-
tools/hrw4u/Makefile | 81 +++
tests/Pipfile => tools/hrw4u/bootstrap.sh | 53 +-
tools/hrw4u/grammar/hrw4u.g4 | 232 ++++++++
tests/Pipfile => tools/hrw4u/pyproject.toml | 58 +-
tests/Pipfile => tools/hrw4u/requirements.txt | 49 +-
tools/hrw4u/scripts/hrw4u | 87 +++
tools/hrw4u/scripts/testcase.py | 138 +++++
tests/Pipfile => tools/hrw4u/setup.py | 68 +--
tests/Pipfile => tools/hrw4u/src/__init__.py | 46 +-
tools/hrw4u/src/errors.py | 77 +++
tools/hrw4u/src/states.py | 90 ++++
tools/hrw4u/src/symbols.py | 288 ++++++++++
tools/hrw4u/src/types.py | 85 +++
tools/hrw4u/src/validation.py | 178 ++++++
tools/hrw4u/src/visitor.py | 471 ++++++++++++++++
tools/hrw4u/tests/data/conds/access.ast.txt | 1 +
tools/hrw4u/tests/data/conds/access.input.txt | 5 +
tools/hrw4u/tests/data/conds/access.output.txt | 3 +
tools/hrw4u/tests/data/conds/cache.ast.txt | 1 +
tools/hrw4u/tests/data/conds/cache.input.txt | 11 +
tools/hrw4u/tests/data/conds/cache.output.txt | 7 +
tools/hrw4u/tests/data/conds/capture.ast.txt | 1 +
tools/hrw4u/tests/data/conds/capture.input.txt | 5 +
tools/hrw4u/tests/data/conds/capture.output.txt | 4 +
tools/hrw4u/tests/data/conds/cidr.ast.txt | 1 +
tools/hrw4u/tests/data/conds/cidr.input.txt | 5 +
tools/hrw4u/tests/data/conds/cidr.output.txt | 3 +
tools/hrw4u/tests/data/conds/cookie.ast.txt | 1 +
tools/hrw4u/tests/data/conds/cookie.input.txt | 10 +
tools/hrw4u/tests/data/conds/cookie.output.txt | 7 +
tools/hrw4u/tests/data/conds/from-url.ast.txt | 1 +
tools/hrw4u/tests/data/conds/from-url.input.txt | 5 +
tools/hrw4u/tests/data/conds/from-url.output.txt | 3 +
tools/hrw4u/tests/data/conds/geo.ast.txt | 1 +
tools/hrw4u/tests/data/conds/geo.input.txt | 8 +
tools/hrw4u/tests/data/conds/geo.output.txt | 6 +
tools/hrw4u/tests/data/conds/http-cntl.ast.txt | 1 +
tools/hrw4u/tests/data/conds/http-cntl.input.txt | 6 +
tools/hrw4u/tests/data/conds/http-cntl.output.txt | 4 +
tools/hrw4u/tests/data/conds/if-elif.ast.txt | 1 +
tools/hrw4u/tests/data/conds/if-elif.input.txt | 11 +
tools/hrw4u/tests/data/conds/if-elif.output.txt | 11 +
tools/hrw4u/tests/data/conds/inbound.ast.txt | 1 +
tools/hrw4u/tests/data/conds/inbound.input.txt | 14 +
tools/hrw4u/tests/data/conds/inbound.output.txt | 12 +
tools/hrw4u/tests/data/conds/internal.ast.txt | 1 +
tools/hrw4u/tests/data/conds/internal.input.txt | 5 +
tools/hrw4u/tests/data/conds/internal.output.txt | 3 +
tools/hrw4u/tests/data/conds/ip.ast.txt | 1 +
tools/hrw4u/tests/data/conds/ip.input.txt | 8 +
tools/hrw4u/tests/data/conds/ip.output.txt | 6 +
tools/hrw4u/tests/data/conds/method.ast.txt | 1 +
tools/hrw4u/tests/data/conds/method.input.txt | 5 +
tools/hrw4u/tests/data/conds/method.output.txt | 3 +
tools/hrw4u/tests/data/conds/multi-if.ast.txt | 1 +
tools/hrw4u/tests/data/conds/multi-if.input.txt | 15 +
tools/hrw4u/tests/data/conds/multi-if.output.txt | 13 +
tools/hrw4u/tests/data/conds/now.ast.txt | 1 +
tools/hrw4u/tests/data/conds/now.input.txt | 12 +
tools/hrw4u/tests/data/conds/now.output.txt | 10 +
tools/hrw4u/tests/data/conds/outbound.ast.txt | 1 +
tools/hrw4u/tests/data/conds/outbound.input.txt | 5 +
tools/hrw4u/tests/data/conds/outbound.output.txt | 3 +
tools/hrw4u/tests/data/conds/split-if.ast.txt | 1 +
tools/hrw4u/tests/data/conds/split-if.input.txt | 10 +
tools/hrw4u/tests/data/conds/split-if.output.txt | 10 +
tools/hrw4u/tests/data/conds/to-url.ast.txt | 1 +
tools/hrw4u/tests/data/conds/to-url.input.txt | 5 +
tools/hrw4u/tests/data/conds/to-url.output.txt | 3 +
tools/hrw4u/tests/data/conds/true_false.ast.txt | 1 +
tools/hrw4u/tests/data/conds/true_false.input.txt | 5 +
tools/hrw4u/tests/data/conds/true_false.output.txt | 4 +
tools/hrw4u/tests/data/conds/txn-count.ast.txt | 1 +
tools/hrw4u/tests/data/conds/txn-count.input.txt | 11 +
tools/hrw4u/tests/data/conds/txn-count.output.txt | 9 +
.../hrw4u/tests/data/examples/add-cc-path.ast.txt | 1 +
.../tests/data/examples/add-cc-path.input.txt | 13 +
.../tests/data/examples/add-cc-path.output.txt | 9 +
tools/hrw4u/tests/data/examples/conn-drain.ast.txt | 1 +
.../hrw4u/tests/data/examples/conn-drain.input.txt | 5 +
.../tests/data/examples/conn-drain.output.txt | 3 +
tools/hrw4u/tests/data/examples/dbg-req.ast.txt | 1 +
tools/hrw4u/tests/data/examples/dbg-req.input.txt | 5 +
tools/hrw4u/tests/data/examples/dbg-req.output.txt | 3 +
tools/hrw4u/tests/data/examples/hdr-exists.ast.txt | 1 +
.../hrw4u/tests/data/examples/hdr-exists.input.txt | 5 +
.../tests/data/examples/hdr-exists.output.txt | 5 +
tools/hrw4u/tests/data/examples/hsts.ast.txt | 1 +
tools/hrw4u/tests/data/examples/hsts.input.txt | 5 +
tools/hrw4u/tests/data/examples/hsts.output.txt | 4 +
tools/hrw4u/tests/data/examples/int-header.ast.txt | 1 +
.../hrw4u/tests/data/examples/int-header.input.txt | 3 +
.../tests/data/examples/int-header.output.txt | 2 +
.../tests/data/examples/meth-resp-hdr.ast.txt | 1 +
.../tests/data/examples/meth-resp-hdr.input.txt | 3 +
.../tests/data/examples/meth-resp-hdr.output.txt | 2 +
.../hrw4u/tests/data/examples/norm_status.ast.txt | 1 +
.../tests/data/examples/norm_status.input.txt | 5 +
.../tests/data/examples/norm_status.output.txt | 4 +
tools/hrw4u/tests/data/examples/path-ext.ast.txt | 1 +
tools/hrw4u/tests/data/examples/path-ext.input.txt | 5 +
.../hrw4u/tests/data/examples/path-ext.output.txt | 3 +
.../hrw4u/tests/data/examples/rem_org_auth.ast.txt | 1 +
.../tests/data/examples/rem_org_auth.input.txt | 4 +
.../tests/data/examples/rem_org_auth.output.txt | 3 +
tools/hrw4u/tests/data/examples/rm-cc-out.ast.txt | 1 +
.../hrw4u/tests/data/examples/rm-cc-out.input.txt | 4 +
.../hrw4u/tests/data/examples/rm-cc-out.output.txt | 3 +
tools/hrw4u/tests/data/examples/rm-int-hdr.ast.txt | 1 +
.../hrw4u/tests/data/examples/rm-int-hdr.input.txt | 6 +
.../tests/data/examples/rm-int-hdr.output.txt | 4 +
tools/hrw4u/tests/data/examples/rm-query.ast.txt | 1 +
tools/hrw4u/tests/data/examples/rm-query.input.txt | 11 +
.../hrw4u/tests/data/examples/rm-query.output.txt | 8 +
tools/hrw4u/tests/data/examples/run-plugin.ast.txt | 1 +
.../hrw4u/tests/data/examples/run-plugin.input.txt | 5 +
.../tests/data/examples/run-plugin.output.txt | 3 +
tools/hrw4u/tests/data/examples/teapots.ast.txt | 1 +
tools/hrw4u/tests/data/examples/teapots.input.txt | 5 +
tools/hrw4u/tests/data/examples/teapots.output.txt | 3 +
tools/hrw4u/tests/data/examples/useless.ast.txt | 1 +
tools/hrw4u/tests/data/examples/useless.input.txt | 7 +
tools/hrw4u/tests/data/examples/useless.output.txt | 7 +
tools/hrw4u/tests/data/examples/uuid.ast.txt | 1 +
tools/hrw4u/tests/data/examples/uuid.input.txt | 5 +
tools/hrw4u/tests/data/examples/uuid.output.txt | 4 +
tools/hrw4u/tests/data/examples/x-debug.ast.txt | 1 +
tools/hrw4u/tests/data/examples/x-debug.input.txt | 19 +
tools/hrw4u/tests/data/examples/x-debug.output.txt | 13 +
.../data/hooks/invalid_section.fail.error.txt | 3 +
.../data/hooks/invalid_section.fail.input.txt | 5 +
tools/hrw4u/tests/data/hooks/order.fail.error.txt | 3 +
tools/hrw4u/tests/data/hooks/order.fail.input.txt | 9 +
tools/hrw4u/tests/data/hooks/read_response.ast.txt | 1 +
.../hrw4u/tests/data/hooks/read_response.input.txt | 5 +
.../tests/data/hooks/read_response.output.txt | 3 +
tools/hrw4u/tests/data/hooks/remap.ast.txt | 1 +
tools/hrw4u/tests/data/hooks/remap.input.txt | 7 +
tools/hrw4u/tests/data/hooks/remap.output.txt | 5 +
tools/hrw4u/tests/data/hooks/send_request.ast.txt | 1 +
.../hrw4u/tests/data/hooks/send_request.input.txt | 5 +
.../hrw4u/tests/data/hooks/send_request.output.txt | 3 +
tools/hrw4u/tests/data/hooks/send_response.ast.txt | 1 +
.../hrw4u/tests/data/hooks/send_response.input.txt | 5 +
.../tests/data/hooks/send_response.output.txt | 3 +
tools/hrw4u/tests/data/ops/dscp.ast.txt | 1 +
tools/hrw4u/tests/data/ops/dscp.input.txt | 5 +
tools/hrw4u/tests/data/ops/dscp.output.txt | 3 +
tools/hrw4u/tests/data/ops/expansion.ast.txt | 1 +
tools/hrw4u/tests/data/ops/expansion.input.txt | 13 +
tools/hrw4u/tests/data/ops/expansion.output.txt | 7 +
tools/hrw4u/tests/data/ops/no-op.ast.txt | 1 +
tools/hrw4u/tests/data/ops/no-op.input.txt | 3 +
tools/hrw4u/tests/data/ops/no-op.output.txt | 2 +
tools/hrw4u/tests/data/ops/redirect.ast.txt | 1 +
tools/hrw4u/tests/data/ops/redirect.input.txt | 5 +
tools/hrw4u/tests/data/ops/redirect.output.txt | 3 +
tools/hrw4u/tests/data/ops/set-body.ast.txt | 1 +
tools/hrw4u/tests/data/ops/set-body.input.txt | 17 +
tools/hrw4u/tests/data/ops/set-body.output.txt | 9 +
tools/hrw4u/tests/data/ops/set-conf.ast.txt | 1 +
tools/hrw4u/tests/data/ops/set-conf.input.txt | 5 +
tools/hrw4u/tests/data/ops/set-conf.output.txt | 3 +
tools/hrw4u/tests/data/ops/skip-remap.ast.txt | 1 +
tools/hrw4u/tests/data/ops/skip-remap.input.txt | 5 +
tools/hrw4u/tests/data/ops/skip-remap.output.txt | 3 +
tools/hrw4u/tests/data/ops/status.ast.txt | 1 +
tools/hrw4u/tests/data/ops/status.input.txt | 16 +
tools/hrw4u/tests/data/ops/status.output.txt | 8 +
tools/hrw4u/tests/data/parser/no-vars.parser.txt | 6 +
tools/hrw4u/tests/data/parser/top-block.parser.txt | 4 +
tools/hrw4u/tests/data/vars/assign.ast.txt | 1 +
tools/hrw4u/tests/data/vars/assign.input.txt | 8 +
tools/hrw4u/tests/data/vars/assign.output.txt | 2 +
tools/hrw4u/tests/data/vars/bad_var.fail.error.txt | 3 +
tools/hrw4u/tests/data/vars/bad_var.fail.input.txt | 8 +
tools/hrw4u/tests/data/vars/bool.ast.txt | 1 +
tools/hrw4u/tests/data/vars/bool.input.txt | 9 +
tools/hrw4u/tests/data/vars/bool.output.txt | 3 +
tools/hrw4u/tests/data/vars/int16.ast.txt | 1 +
tools/hrw4u/tests/data/vars/int16.input.txt | 9 +
tools/hrw4u/tests/data/vars/int16.output.txt | 3 +
tools/hrw4u/tests/data/vars/int8.ast.txt | 1 +
tools/hrw4u/tests/data/vars/int8.input.txt | 9 +
tools/hrw4u/tests/data/vars/int8.output.txt | 3 +
.../tests/data/vars/vars_count.fail.error.txt | 3 +
.../tests/data/vars/vars_count.fail.input.txt | 12 +
.../hrw4u/tests/data/vars/vars_size.fail.error.txt | 3 +
.../hrw4u/tests/data/vars/vars_size.fail.input.txt | 7 +
.../hrw4u/tests/data/vars/vars_type.fail.error.txt | 3 +
.../hrw4u/tests/data/vars/vars_type.fail.input.txt | 9 +
tests/Pipfile => tools/hrw4u/tests/test_conds.py | 52 +-
.../Pipfile => tools/hrw4u/tests/test_examples.py | 52 +-
tests/Pipfile => tools/hrw4u/tests/test_hooks.py | 55 +-
tests/Pipfile => tools/hrw4u/tests/test_ops.py | 52 +-
tests/Pipfile => tools/hrw4u/tests/test_vars.py | 55 +-
tools/hrw4u/tests/utils.py | 98 ++++
343 files changed, 8567 insertions(+), 2341 deletions(-)
create mode 100644 doc/admin-guide/configuration/hrw4u.en.rst
create mode 100644 include/tscore/SnowflakeID.h
create mode 100644 src/traffic_ctl/TrafficCtlStatus.h
create mode 100644 src/tscore/SnowflakeID.cc
create mode 100644 src/tscore/unit_tests/test_SnowflakeID.cc
rename tests/gold_tests/{proxy_protocol =>
cache}/gold/serve_stale_dns_fail.gold (100%)
rename tests/gold_tests/{proxy_protocol => cache}/proxy_serve_stale.test.py
(100%)
rename tests/gold_tests/{proxy_protocol =>
cache}/proxy_serve_stale_dns_fail.test.py (96%)
rename tests/gold_tests/{proxy_protocol =>
cache}/replay/proxy_serve_stale.replay.yaml (80%)
create mode 100644 tests/gold_tests/h2/clients/h2empty_data_frame.py
create mode 100644 tests/gold_tests/h2/http2_empty_data_frame.test.py
copy tests/{Pipfile =>
gold_tests/ip_allow/replays/http_proxy_protocol.replay.yaml} (51%)
create mode 100644 tests/gold_tests/pluginTest/esi/esi_nested_include.test.py
create mode 100644
tests/gold_tests/pluginTest/esi/gold/nested_include_body.gold
copy tests/gold_tests/pluginTest/header_rewrite/gold/{ext-sets.gold =>
cond-elif.gold} (90%)
create mode 100644 tests/gold_tests/pluginTest/healthchecks/acme
create mode 100644 tests/gold_tests/pluginTest/healthchecks/acme-ssl
create mode 100644
tests/gold_tests/pluginTest/healthchecks/healthchecks.test.py
delete mode 100644
tests/gold_tests/pluginTest/stats_over_http/gold/stats_over_http_0_stdout.gold
copy
tests/gold_tests/pluginTest/stats_over_http/gold/{stats_over_http_0_stderr.gold
=> stats_over_http_csv_stderr.gold} (70%)
copy
tests/gold_tests/pluginTest/stats_over_http/gold/{stats_over_http_0_stderr.gold
=> stats_over_http_json_stderr.gold} (85%)
rename
tests/gold_tests/pluginTest/stats_over_http/gold/{stats_over_http_0_stderr.gold
=> stats_over_http_prometheus_stderr.gold} (59%)
create mode 100644
tests/gold_tests/pluginTest/stats_over_http/prometheus_stats_ingester.py
create mode 100644
tests/gold_tests/remap/remap_acl_get_post_allowed_pp.replay.yaml
create mode 100644 tests/gold_tests/tls/receive_split_client_hello.py
create mode 100644 tests/gold_tests/tls/replay/ip_allow_proxy.replay.yaml
create mode 100644 tests/gold_tests/tls/split_client_hello.py
create mode 100644 tools/hrw4u/Makefile
copy tests/Pipfile => tools/hrw4u/bootstrap.sh (52%)
create mode 100644 tools/hrw4u/grammar/hrw4u.g4
copy tests/Pipfile => tools/hrw4u/pyproject.toml (51%)
copy tests/Pipfile => tools/hrw4u/requirements.txt (51%)
create mode 100755 tools/hrw4u/scripts/hrw4u
create mode 100755 tools/hrw4u/scripts/testcase.py
copy tests/Pipfile => tools/hrw4u/setup.py (51%)
copy tests/Pipfile => tools/hrw4u/src/__init__.py (51%)
create mode 100644 tools/hrw4u/src/errors.py
create mode 100644 tools/hrw4u/src/states.py
create mode 100644 tools/hrw4u/src/symbols.py
create mode 100644 tools/hrw4u/src/types.py
create mode 100644 tools/hrw4u/src/validation.py
create mode 100644 tools/hrw4u/src/visitor.py
create mode 100644 tools/hrw4u/tests/data/conds/access.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/access.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/access.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/cache.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/cache.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/cache.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/capture.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/capture.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/capture.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/cidr.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/cidr.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/cidr.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/cookie.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/cookie.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/cookie.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/from-url.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/from-url.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/from-url.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/geo.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/geo.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/geo.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/http-cntl.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/http-cntl.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/http-cntl.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/if-elif.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/if-elif.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/if-elif.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/inbound.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/inbound.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/inbound.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/internal.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/internal.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/internal.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/ip.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/ip.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/ip.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/method.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/method.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/method.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/multi-if.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/multi-if.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/multi-if.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/now.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/now.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/now.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/outbound.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/outbound.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/outbound.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/split-if.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/split-if.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/split-if.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/to-url.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/to-url.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/to-url.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/true_false.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/true_false.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/true_false.output.txt
create mode 100644 tools/hrw4u/tests/data/conds/txn-count.ast.txt
create mode 100644 tools/hrw4u/tests/data/conds/txn-count.input.txt
create mode 100644 tools/hrw4u/tests/data/conds/txn-count.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/add-cc-path.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/add-cc-path.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/add-cc-path.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/conn-drain.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/conn-drain.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/conn-drain.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/dbg-req.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/dbg-req.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/dbg-req.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/hdr-exists.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/hdr-exists.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/hdr-exists.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/hsts.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/hsts.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/hsts.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/int-header.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/int-header.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/int-header.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/meth-resp-hdr.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/meth-resp-hdr.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/meth-resp-hdr.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/norm_status.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/norm_status.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/norm_status.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/path-ext.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/path-ext.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/path-ext.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/rem_org_auth.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/rem_org_auth.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/rem_org_auth.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-cc-out.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-cc-out.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-cc-out.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-int-hdr.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-int-hdr.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-int-hdr.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-query.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-query.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/rm-query.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/run-plugin.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/run-plugin.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/run-plugin.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/teapots.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/teapots.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/teapots.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/useless.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/useless.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/useless.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/uuid.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/uuid.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/uuid.output.txt
create mode 100644 tools/hrw4u/tests/data/examples/x-debug.ast.txt
create mode 100644 tools/hrw4u/tests/data/examples/x-debug.input.txt
create mode 100644 tools/hrw4u/tests/data/examples/x-debug.output.txt
create mode 100644 tools/hrw4u/tests/data/hooks/invalid_section.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/hooks/invalid_section.fail.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/order.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/hooks/order.fail.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/read_response.ast.txt
create mode 100644 tools/hrw4u/tests/data/hooks/read_response.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/read_response.output.txt
create mode 100644 tools/hrw4u/tests/data/hooks/remap.ast.txt
create mode 100644 tools/hrw4u/tests/data/hooks/remap.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/remap.output.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_request.ast.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_request.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_request.output.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_response.ast.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_response.input.txt
create mode 100644 tools/hrw4u/tests/data/hooks/send_response.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/dscp.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/dscp.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/dscp.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/expansion.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/expansion.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/expansion.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/no-op.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/no-op.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/no-op.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/redirect.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/redirect.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/redirect.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-body.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-body.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-body.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-conf.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-conf.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/set-conf.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/skip-remap.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/skip-remap.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/skip-remap.output.txt
create mode 100644 tools/hrw4u/tests/data/ops/status.ast.txt
create mode 100644 tools/hrw4u/tests/data/ops/status.input.txt
create mode 100644 tools/hrw4u/tests/data/ops/status.output.txt
create mode 100644 tools/hrw4u/tests/data/parser/no-vars.parser.txt
create mode 100644 tools/hrw4u/tests/data/parser/top-block.parser.txt
create mode 100644 tools/hrw4u/tests/data/vars/assign.ast.txt
create mode 100644 tools/hrw4u/tests/data/vars/assign.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/assign.output.txt
create mode 100644 tools/hrw4u/tests/data/vars/bad_var.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/vars/bad_var.fail.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/bool.ast.txt
create mode 100644 tools/hrw4u/tests/data/vars/bool.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/bool.output.txt
create mode 100644 tools/hrw4u/tests/data/vars/int16.ast.txt
create mode 100644 tools/hrw4u/tests/data/vars/int16.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/int16.output.txt
create mode 100644 tools/hrw4u/tests/data/vars/int8.ast.txt
create mode 100644 tools/hrw4u/tests/data/vars/int8.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/int8.output.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_count.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_count.fail.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_size.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_size.fail.input.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_type.fail.error.txt
create mode 100644 tools/hrw4u/tests/data/vars/vars_type.fail.input.txt
copy tests/Pipfile => tools/hrw4u/tests/test_conds.py (51%)
copy tests/Pipfile => tools/hrw4u/tests/test_examples.py (51%)
copy tests/Pipfile => tools/hrw4u/tests/test_hooks.py (51%)
copy tests/Pipfile => tools/hrw4u/tests/test_ops.py (51%)
copy tests/Pipfile => tools/hrw4u/tests/test_vars.py (51%)
create mode 100644 tools/hrw4u/tests/utils.py