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 ce18c3f23f7204799c335899ef11243dbb8fa31c Merge: f19af2ab81 fc2031dfc8 Author: Brian Neradt <[email protected]> AuthorDate: Mon Aug 25 14:59:59 2025 +0000 Merge latest master into 11-Dev Conflicts: doc/admin-guide/files/records.yaml.en.rst src/iocore/net/SSLConfig.cc src/records/RecordsConfig.cc tests/gold_tests/pluginTest/stek_share/stek_share.test.py tests/gold_tests/tls/tls_0rtt_server.test.py tests/gold_tests/tls/tls_origin_session_reuse.test.py tests/gold_tests/tls/tls_session_reuse.test.py .cursor/rules/writing-autests.mdc | 318 + CMakePresets.json | 6 +- README.md | 2 +- ci/rat-regex.txt | 1 + doc/admin-guide/configuration/hrw4u.en.rst | 36 +- doc/admin-guide/files/records.yaml.en.rst | 10 +- .../monitoring/statistics/core-statistics.en.rst | 1 + .../statistics/core/http-connection.en.rst | 10 + .../monitoring/statistics/core/ssl-group.en.rst | 65 + doc/admin-guide/performance/index.en.rst | 2 +- doc/admin-guide/plugins/cache_fill.en.rst | 57 +- doc/admin-guide/plugins/cache_promote.en.rst | 5 + .../plugins/cache_range_requests.en.rst | 59 +- doc/admin-guide/plugins/escalate.en.rst | 31 +- doc/admin-guide/plugins/esi.en.rst | 3 + doc/admin-guide/plugins/header_rewrite.en.rst | 40 +- doc/admin-guide/plugins/slice.en.rst | 54 +- doc/admin-guide/plugins/xdebug.en.rst | 69 +- .../tools/converting-records-to-yaml.en.rst | 2 +- .../api/functions/TSMimeHdrFieldAppend.en.rst | 9 + .../api/functions/TSSslSession.en.rst | 2 +- .../cripts/cripts-convenience.en.rst | 3 +- doc/developer-guide/cripts/cripts-headers.en.rst | 35 +- doc/developer-guide/cripts/cripts-misc.en.rst | 16 +- .../hooks-and-transactions/ssl-session-api.en.rst | 2 +- doc/release-notes/upgrading.en.rst | 2 +- doc/release-notes/whats-new.en.rst | 106 +- example/cripts/example1.cc | 9 +- example/cripts/example2.cc | 8 +- include/cripts/Context.hpp | 20 +- include/cripts/Epilogue.hpp | 12 +- include/cripts/Headers.hpp | 123 +- include/cripts/Instance.hpp | 2 +- include/cripts/Lulu.hpp | 7 + include/cripts/Matcher.hpp | 4 +- include/cripts/Preamble.hpp | 6 +- include/cripts/Time.hpp | 70 +- include/cripts/Transaction.hpp | 14 - include/cripts/Urls.hpp | 14 +- include/records/RecDefs.h | 22 +- include/records/RecordsConfig.h | 18 +- include/ts/ts.h | 29 +- include/tscore/ink_inet.h | 18 +- lib/CMakeLists.txt | 38 +- lib/Catch2/.clang-format | 45 + lib/Catch2/.clang-tidy | 82 + lib/Catch2/.gitattributes | 22 + lib/Catch2/.gitignore | 40 + lib/Catch2/BUILD.bazel | 117 + lib/Catch2/CMake/Catch2Config.cmake.in | 9 + lib/Catch2/CMake/CatchConfigOptions.cmake | 91 + lib/Catch2/CMake/CatchMiscFunctions.cmake | 121 + lib/Catch2/CMake/FindGcov.cmake | 157 + lib/Catch2/CMake/FindLcov.cmake | 354 + lib/Catch2/CMake/Findcodecov.cmake | 258 + lib/Catch2/CMake/catch2-with-main.pc.in | 10 + lib/Catch2/CMake/catch2.pc.in | 11 + lib/Catch2/CMake/llvm-cov-wrapper | 56 + lib/Catch2/CMakeLists.txt | 218 + lib/Catch2/CMakePresets.json | 31 + lib/Catch2/CODE_OF_CONDUCT.md | 46 + lib/Catch2/Doxyfile | 2650 +++ lib/{catch2/LICENSE_1_0.txt => Catch2/LICENSE.txt} | 0 lib/Catch2/MAINTAINERS.md | 11 + lib/Catch2/MODULE.bazel | 5 + lib/Catch2/README.md | 103 + lib/Catch2/SECURITY.md | 19 + lib/Catch2/appveyor.yml | 83 + lib/Catch2/codecov.yml | 22 + lib/Catch2/conanfile.py | 129 + lib/Catch2/extras/Catch.cmake | 318 + lib/Catch2/extras/CatchAddTests.cmake | 253 + lib/Catch2/extras/CatchShardTests.cmake | 72 + lib/Catch2/extras/CatchShardTestsImpl.cmake | 52 + lib/Catch2/extras/ParseAndAddCatchTests.cmake | 250 + lib/Catch2/extras/catch_amalgamated.cpp | 11957 ++++++++++++ lib/Catch2/extras/catch_amalgamated.hpp | 14309 +++++++++++++++ lib/Catch2/extras/gdbinit | 16 + lib/Catch2/extras/lldbinit | 16 + lib/Catch2/mdsnippets.json | 9 + lib/Catch2/meson.build | 19 + lib/Catch2/meson_options.txt | 2 + lib/Catch2/src/CMakeLists.txt | 478 + .../src/catch2/benchmark/catch_benchmark.hpp | 146 + .../src/catch2/benchmark/catch_benchmark_all.hpp | 46 + .../src/catch2/benchmark/catch_chronometer.cpp | 17 + .../src/catch2/benchmark/catch_chronometer.hpp | 77 + lib/Catch2/src/catch2/benchmark/catch_clock.hpp | 27 + .../src/catch2/benchmark/catch_constructor.hpp | 82 + .../src/catch2/benchmark/catch_environment.hpp | 29 + lib/Catch2/src/catch2/benchmark/catch_estimate.hpp | 25 + .../src/catch2/benchmark/catch_execution_plan.hpp | 58 + .../src/catch2/benchmark/catch_optimizer.hpp | 78 + .../benchmark/catch_outlier_classification.hpp | 29 + .../src/catch2/benchmark/catch_sample_analysis.hpp | 31 + .../src/catch2/benchmark/detail/catch_analyse.cpp | 85 + .../src/catch2/benchmark/detail/catch_analyse.hpp | 27 + .../benchmark/detail/catch_benchmark_function.cpp | 23 + .../benchmark/detail/catch_benchmark_function.hpp | 87 + .../benchmark/detail/catch_benchmark_stats.hpp | 48 + .../benchmark/detail/catch_benchmark_stats_fwd.hpp | 23 + .../benchmark/detail/catch_complete_invoke.hpp | 58 + .../benchmark/detail/catch_estimate_clock.hpp | 126 + .../src/catch2/benchmark/detail/catch_measure.hpp | 32 + .../src/catch2/benchmark/detail/catch_repeat.hpp | 36 + .../benchmark/detail/catch_run_for_at_least.cpp | 31 + .../benchmark/detail/catch_run_for_at_least.hpp | 65 + .../src/catch2/benchmark/detail/catch_stats.cpp | 393 + .../src/catch2/benchmark/detail/catch_stats.hpp | 60 + .../src/catch2/benchmark/detail/catch_timing.hpp | 29 + lib/Catch2/src/catch2/catch_all.hpp | 138 + lib/Catch2/src/catch2/catch_approx.cpp | 85 + lib/Catch2/src/catch2/catch_approx.hpp | 128 + lib/Catch2/src/catch2/catch_assertion_info.hpp | 28 + lib/Catch2/src/catch2/catch_assertion_result.cpp | 105 + lib/Catch2/src/catch2/catch_assertion_result.hpp | 60 + lib/Catch2/src/catch2/catch_case_sensitive.hpp | 17 + lib/Catch2/src/catch2/catch_config.cpp | 249 + lib/Catch2/src/catch2/catch_config.hpp | 153 + lib/Catch2/src/catch2/catch_get_random_seed.cpp | 18 + lib/Catch2/src/catch2/catch_get_random_seed.hpp | 18 + lib/Catch2/src/catch2/catch_message.cpp | 115 + lib/Catch2/src/catch2/catch_message.hpp | 150 + lib/Catch2/src/catch2/catch_registry_hub.cpp | 106 + lib/Catch2/src/catch2/catch_section_info.hpp | 42 + lib/Catch2/src/catch2/catch_session.cpp | 359 + lib/Catch2/src/catch2/catch_session.hpp | 70 + lib/Catch2/src/catch2/catch_tag_alias.hpp | 29 + .../src/catch2/catch_tag_alias_autoregistrar.cpp | 24 + .../src/catch2/catch_tag_alias_autoregistrar.hpp | 29 + .../src/catch2/catch_template_test_macros.hpp | 124 + lib/Catch2/src/catch2/catch_test_case_info.cpp | 262 + lib/Catch2/src/catch2/catch_test_case_info.hpp | 142 + lib/Catch2/src/catch2/catch_test_macros.hpp | 243 + lib/Catch2/src/catch2/catch_test_run_info.hpp | 22 + lib/Catch2/src/catch2/catch_test_spec.cpp | 141 + lib/Catch2/src/catch2/catch_test_spec.hpp | 119 + lib/Catch2/src/catch2/catch_timer.cpp | 37 + lib/Catch2/src/catch2/catch_timer.hpp | 27 + lib/Catch2/src/catch2/catch_tostring.cpp | 264 + lib/Catch2/src/catch2/catch_tostring.hpp | 682 + lib/Catch2/src/catch2/catch_totals.cpp | 65 + lib/Catch2/src/catch2/catch_totals.hpp | 41 + .../src/catch2/catch_translate_exception.cpp | 20 + .../src/catch2/catch_translate_exception.hpp | 88 + lib/Catch2/src/catch2/catch_user_config.hpp.in | 247 + lib/Catch2/src/catch2/catch_version.cpp | 43 + lib/Catch2/src/catch2/catch_version.hpp | 39 + lib/Catch2/src/catch2/catch_version_macros.hpp | 15 + .../generators/catch_generator_exception.cpp | 17 + .../generators/catch_generator_exception.hpp | 31 + .../src/catch2/generators/catch_generators.cpp | 42 + .../src/catch2/generators/catch_generators.hpp | 244 + .../generators/catch_generators_adapters.hpp | 241 + .../src/catch2/generators/catch_generators_all.hpp | 30 + .../catch2/generators/catch_generators_random.cpp | 41 + .../catch2/generators/catch_generators_random.hpp | 107 + .../catch2/generators/catch_generators_range.hpp | 111 + .../src/catch2/interfaces/catch_interfaces_all.hpp | 37 + .../catch2/interfaces/catch_interfaces_capture.cpp | 13 + .../catch2/interfaces/catch_interfaces_capture.hpp | 107 + .../catch2/interfaces/catch_interfaces_config.cpp | 13 + .../catch2/interfaces/catch_interfaces_config.hpp | 99 + .../catch_interfaces_enum_values_registry.hpp | 47 + .../interfaces/catch_interfaces_exception.cpp | 14 + .../interfaces/catch_interfaces_exception.hpp | 36 + .../catch_interfaces_generatortracker.cpp | 32 + .../catch_interfaces_generatortracker.hpp | 90 + .../interfaces/catch_interfaces_registry_hub.cpp | 14 + .../interfaces/catch_interfaces_registry_hub.hpp | 66 + .../interfaces/catch_interfaces_reporter.cpp | 93 + .../interfaces/catch_interfaces_reporter.hpp | 227 + .../catch_interfaces_reporter_factory.cpp | 14 + .../catch_interfaces_reporter_factory.hpp | 45 + .../catch_interfaces_tag_alias_registry.hpp | 29 + .../interfaces/catch_interfaces_test_invoker.hpp | 23 + .../interfaces/catch_interfaces_testcase.cpp | 13 + .../interfaces/catch_interfaces_testcase.hpp | 30 + .../catch2/internal/catch_assertion_handler.cpp | 82 + .../catch2/internal/catch_assertion_handler.hpp | 68 + .../catch_case_insensitive_comparisons.cpp | 35 + .../catch_case_insensitive_comparisons.hpp | 30 + lib/Catch2/src/catch2/internal/catch_clara.cpp | 464 + lib/Catch2/src/catch2/internal/catch_clara.hpp | 748 + .../src/catch2/internal/catch_commandline.cpp | 314 + .../src/catch2/internal/catch_commandline.hpp | 21 + .../src/catch2/internal/catch_compare_traits.hpp | 75 + .../internal/catch_compiler_capabilities.hpp | 463 + .../internal/catch_config_android_logwrite.hpp | 33 + .../src/catch2/internal/catch_config_counter.hpp | 34 + .../internal/catch_config_prefix_messages.hpp | 29 + .../catch_config_static_analysis_support.hpp | 34 + .../internal/catch_config_uncaught_exceptions.hpp | 46 + .../src/catch2/internal/catch_config_wchar.hpp | 35 + .../src/catch2/internal/catch_console_colour.cpp | 282 + .../src/catch2/internal/catch_console_colour.hpp | 141 + .../src/catch2/internal/catch_console_width.hpp | 19 + .../catch2/internal/catch_container_nonmembers.hpp | 73 + lib/Catch2/src/catch2/internal/catch_context.cpp | 35 + lib/Catch2/src/catch2/internal/catch_context.hpp | 56 + .../src/catch2/internal/catch_debug_console.cpp | 45 + .../src/catch2/internal/catch_debug_console.hpp | 17 + lib/Catch2/src/catch2/internal/catch_debugger.cpp | 120 + lib/Catch2/src/catch2/internal/catch_debugger.hpp | 78 + .../src/catch2/internal/catch_decomposer.cpp | 28 + .../src/catch2/internal/catch_decomposer.hpp | 467 + .../catch2/internal/catch_deprecation_macro.hpp | 19 + lib/Catch2/src/catch2/internal/catch_enforce.cpp | 41 + lib/Catch2/src/catch2/internal/catch_enforce.hpp | 54 + .../catch2/internal/catch_enum_values_registry.cpp | 73 + .../catch2/internal/catch_enum_values_registry.hpp | 36 + .../src/catch2/internal/catch_errno_guard.cpp | 16 + .../src/catch2/internal/catch_errno_guard.hpp | 27 + .../catch_exception_translator_registry.cpp | 87 + .../catch_exception_translator_registry.hpp | 29 + .../internal/catch_fatal_condition_handler.cpp | 244 + .../internal/catch_fatal_condition_handler.hpp | 66 + .../internal/catch_floating_point_helpers.cpp | 43 + .../internal/catch_floating_point_helpers.hpp | 108 + lib/Catch2/src/catch2/internal/catch_getenv.cpp | 37 + lib/Catch2/src/catch2/internal/catch_getenv.hpp | 20 + .../src/catch2/internal/catch_is_permutation.hpp | 141 + lib/Catch2/src/catch2/internal/catch_istream.cpp | 152 + lib/Catch2/src/catch2/internal/catch_istream.hpp | 52 + .../src/catch2/internal/catch_jsonwriter.cpp | 148 + .../src/catch2/internal/catch_jsonwriter.hpp | 120 + lib/Catch2/src/catch2/internal/catch_lazy_expr.cpp | 29 + lib/Catch2/src/catch2/internal/catch_lazy_expr.hpp | 40 + .../src/catch2/internal/catch_leak_detector.cpp | 38 + .../src/catch2/internal/catch_leak_detector.hpp | 19 + lib/Catch2/src/catch2/internal/catch_list.cpp | 120 + lib/Catch2/src/catch2/internal/catch_list.hpp | 43 + .../src/catch2/internal/catch_logical_traits.hpp | 44 + lib/Catch2/src/catch2/internal/catch_main.cpp | 39 + .../src/catch2/internal/catch_message_info.cpp | 25 + .../src/catch2/internal/catch_message_info.hpp | 45 + lib/Catch2/src/catch2/internal/catch_meta.hpp | 47 + .../src/catch2/internal/catch_move_and_forward.hpp | 19 + .../src/catch2/internal/catch_noncopyable.hpp | 29 + lib/Catch2/src/catch2/internal/catch_optional.hpp | 117 + .../src/catch2/internal/catch_output_redirect.cpp | 339 + .../src/catch2/internal/catch_output_redirect.hpp | 77 + .../src/catch2/internal/catch_parse_numbers.cpp | 52 + .../src/catch2/internal/catch_parse_numbers.hpp | 26 + lib/Catch2/src/catch2/internal/catch_platform.hpp | 40 + lib/Catch2/src/catch2/internal/catch_polyfills.cpp | 42 + lib/Catch2/src/catch2/internal/catch_polyfills.hpp | 21 + .../src/catch2/internal/catch_preprocessor.hpp | 247 + .../catch_preprocessor_internal_stringify.hpp | 19 + .../internal/catch_preprocessor_remove_parens.hpp | 19 + .../catch_random_floating_point_helpers.hpp | 94 + .../internal/catch_random_integer_helpers.hpp | 224 + .../internal/catch_random_number_generator.cpp | 78 + .../internal/catch_random_number_generator.hpp | 59 + .../internal/catch_random_seed_generation.cpp | 35 + .../internal/catch_random_seed_generation.hpp | 26 + .../catch2/internal/catch_reporter_registry.cpp | 91 + .../catch2/internal/catch_reporter_registry.hpp | 55 + .../catch2/internal/catch_reporter_spec_parser.cpp | 173 + .../catch2/internal/catch_reporter_spec_parser.hpp | 85 + .../src/catch2/internal/catch_result_type.hpp | 66 + .../internal/catch_reusable_string_stream.cpp | 62 + .../internal/catch_reusable_string_stream.hpp | 57 + .../src/catch2/internal/catch_run_context.cpp | 839 + .../src/catch2/internal/catch_run_context.hpp | 175 + lib/Catch2/src/catch2/internal/catch_section.cpp | 60 + lib/Catch2/src/catch2/internal/catch_section.hpp | 104 + lib/Catch2/src/catch2/internal/catch_sharding.hpp | 40 + .../src/catch2/internal/catch_singletons.cpp | 36 + .../src/catch2/internal/catch_singletons.hpp | 45 + .../src/catch2/internal/catch_source_line_info.cpp | 33 + .../src/catch2/internal/catch_source_line_info.hpp | 37 + .../internal/catch_startup_exception_registry.cpp | 29 + .../internal/catch_startup_exception_registry.hpp | 29 + .../src/catch2/internal/catch_stdstreams.cpp | 24 + .../src/catch2/internal/catch_stdstreams.hpp | 22 + .../src/catch2/internal/catch_stream_end_stop.hpp | 30 + .../src/catch2/internal/catch_string_manip.cpp | 116 + .../src/catch2/internal/catch_string_manip.hpp | 61 + lib/Catch2/src/catch2/internal/catch_stringref.cpp | 65 + lib/Catch2/src/catch2/internal/catch_stringref.hpp | 123 + .../catch2/internal/catch_tag_alias_registry.cpp | 54 + .../catch2/internal/catch_tag_alias_registry.hpp | 33 + .../internal/catch_template_test_registry.hpp | 337 + .../internal/catch_test_case_info_hasher.cpp | 39 + .../internal/catch_test_case_info_hasher.hpp | 29 + .../internal/catch_test_case_registry_impl.cpp | 153 + .../internal/catch_test_case_registry_impl.hpp | 59 + .../catch2/internal/catch_test_case_tracker.cpp | 239 + .../catch2/internal/catch_test_case_tracker.hpp | 244 + .../internal/catch_test_failure_exception.cpp | 31 + .../internal/catch_test_failure_exception.hpp | 34 + .../src/catch2/internal/catch_test_macro_impl.hpp | 155 + .../src/catch2/internal/catch_test_registry.cpp | 84 + .../src/catch2/internal/catch_test_registry.hpp | 222 + .../src/catch2/internal/catch_test_spec_parser.cpp | 239 + .../src/catch2/internal/catch_test_spec_parser.hpp | 81 + lib/Catch2/src/catch2/internal/catch_textflow.cpp | 379 + lib/Catch2/src/catch2/internal/catch_textflow.hpp | 298 + .../src/catch2/internal/catch_thread_support.hpp | 49 + lib/Catch2/src/catch2/internal/catch_to_string.hpp | 29 + .../catch2/internal/catch_uncaught_exceptions.cpp | 25 + .../catch2/internal/catch_uncaught_exceptions.hpp | 15 + .../catch_uniform_floating_point_distribution.hpp | 131 + .../catch_uniform_integer_distribution.hpp | 108 + .../src/catch2/internal/catch_unique_name.hpp | 20 + .../src/catch2/internal/catch_unique_ptr.hpp | 118 + .../src/catch2/internal/catch_unreachable.hpp | 56 + lib/Catch2/src/catch2/internal/catch_void_type.hpp | 25 + .../src/catch2/internal/catch_wildcard_pattern.cpp | 47 + .../src/catch2/internal/catch_wildcard_pattern.hpp | 38 + .../src/catch2/internal/catch_windows_h_proxy.hpp | 28 + lib/Catch2/src/catch2/internal/catch_xmlwriter.cpp | 328 + lib/Catch2/src/catch2/internal/catch_xmlwriter.hpp | 163 + lib/Catch2/src/catch2/matchers/catch_matchers.cpp | 25 + lib/Catch2/src/catch2/matchers/catch_matchers.hpp | 237 + .../src/catch2/matchers/catch_matchers_all.hpp | 36 + .../catch_matchers_container_properties.cpp | 34 + .../catch_matchers_container_properties.hpp | 90 + .../catch2/matchers/catch_matchers_contains.hpp | 102 + .../catch2/matchers/catch_matchers_exception.cpp | 26 + .../catch2/matchers/catch_matchers_exception.hpp | 61 + .../matchers/catch_matchers_floating_point.cpp | 226 + .../matchers/catch_matchers_floating_point.hpp | 94 + .../catch2/matchers/catch_matchers_predicate.cpp | 17 + .../catch2/matchers/catch_matchers_predicate.hpp | 59 + .../catch2/matchers/catch_matchers_quantifiers.cpp | 24 + .../catch2/matchers/catch_matchers_quantifiers.hpp | 165 + .../matchers/catch_matchers_range_equals.hpp | 160 + .../src/catch2/matchers/catch_matchers_string.cpp | 114 + .../src/catch2/matchers/catch_matchers_string.hpp | 85 + .../catch2/matchers/catch_matchers_templated.cpp | 41 + .../catch2/matchers/catch_matchers_templated.hpp | 296 + .../src/catch2/matchers/catch_matchers_vector.hpp | 194 + .../matchers/internal/catch_matchers_impl.cpp | 25 + .../matchers/internal/catch_matchers_impl.hpp | 109 + lib/Catch2/src/catch2/meson.build | 402 + .../catch2/reporters/catch_reporter_automake.cpp | 37 + .../catch2/reporters/catch_reporter_automake.hpp | 40 + .../reporters/catch_reporter_common_base.cpp | 49 + .../reporters/catch_reporter_common_base.hpp | 79 + .../catch2/reporters/catch_reporter_compact.cpp | 255 + .../catch2/reporters/catch_reporter_compact.hpp | 42 + .../catch2/reporters/catch_reporter_console.cpp | 670 + .../catch2/reporters/catch_reporter_console.hpp | 65 + .../reporters/catch_reporter_cumulative_base.cpp | 158 + .../reporters/catch_reporter_cumulative_base.hpp | 151 + .../reporters/catch_reporter_event_listener.cpp | 40 + .../reporters/catch_reporter_event_listener.hpp | 60 + .../catch2/reporters/catch_reporter_helpers.cpp | 364 + .../catch2/reporters/catch_reporter_helpers.hpp | 95 + .../src/catch2/reporters/catch_reporter_json.cpp | 373 + .../src/catch2/reporters/catch_reporter_json.hpp | 94 + .../src/catch2/reporters/catch_reporter_junit.cpp | 310 + .../src/catch2/reporters/catch_reporter_junit.hpp | 56 + .../src/catch2/reporters/catch_reporter_multi.cpp | 199 + .../src/catch2/reporters/catch_reporter_multi.hpp | 77 + .../catch2/reporters/catch_reporter_registrars.cpp | 36 + .../catch2/reporters/catch_reporter_registrars.hpp | 133 + .../catch2/reporters/catch_reporter_sonarqube.cpp | 162 + .../catch2/reporters/catch_reporter_sonarqube.hpp | 60 + .../reporters/catch_reporter_streaming_base.cpp | 23 + .../reporters/catch_reporter_streaming_base.hpp | 73 + .../src/catch2/reporters/catch_reporter_tap.cpp | 229 + .../src/catch2/reporters/catch_reporter_tap.hpp | 43 + .../catch2/reporters/catch_reporter_teamcity.cpp | 177 + .../catch2/reporters/catch_reporter_teamcity.hpp | 67 + .../src/catch2/reporters/catch_reporter_xml.cpp | 332 + .../src/catch2/reporters/catch_reporter_xml.hpp | 64 + .../src/catch2/reporters/catch_reporters_all.hpp | 41 + lib/Catch2/third_party/clara.hpp | 1267 ++ lib/catch2/catch.hpp | 17966 ------------------- lib/swoc/unit_tests/CMakeLists.txt | 4 +- lib/swoc/unit_tests/ex_IntrusiveDList.cc | 2 +- lib/swoc/unit_tests/ex_Lexicon.cc | 2 +- lib/swoc/unit_tests/ex_MemArena.cc | 2 +- lib/swoc/unit_tests/ex_TextView.cc | 2 +- lib/swoc/unit_tests/ex_UnitParser.cc | 2 +- lib/swoc/unit_tests/ex_bw_format.cc | 2 +- lib/swoc/unit_tests/ex_ipspace_properties.cc | 2 +- lib/swoc/unit_tests/test_BufferWriter.cc | 2 +- lib/swoc/unit_tests/test_Errata.cc | 2 +- lib/swoc/unit_tests/test_IntrusiveDList.cc | 2 +- lib/swoc/unit_tests/test_IntrusiveHashMap.cc | 2 +- lib/swoc/unit_tests/test_Lexicon.cc | 2 +- lib/swoc/unit_tests/test_MemArena.cc | 3 +- lib/swoc/unit_tests/test_MemSpan.cc | 2 +- lib/swoc/unit_tests/test_Scalar.cc | 2 +- lib/swoc/unit_tests/test_TextView.cc | 6 +- lib/swoc/unit_tests/test_Vectray.cc | 2 +- lib/swoc/unit_tests/test_bw_format.cc | 3 +- lib/swoc/unit_tests/test_ip.cc | 6 +- lib/swoc/unit_tests/test_meta.cc | 2 +- lib/swoc/unit_tests/test_range.cc | 2 +- lib/swoc/unit_tests/test_swoc_file.cc | 2 +- lib/swoc/unit_tests/unit_test_main.cc | 4 +- plugins/authproxy/tests/authproxy_test.cc | 3 +- plugins/cache_promote/cache_promote.cc | 5 + plugins/cache_promote/configs.cc | 3 + plugins/cache_promote/configs.h | 7 + .../cache_range_requests/cache_range_requests.cc | 365 +- plugins/escalate/escalate.cc | 69 +- plugins/esi/esi.cc | 102 +- plugins/esi/test/CMakeLists.txt | 14 +- plugins/esi/test/docnode_test.cc | 3 +- plugins/esi/test/gzip_test.cc | 3 +- plugins/esi/test/parser_test.cc | 3 +- plugins/esi/test/processor_test.cc | 3 +- plugins/esi/test/utils_test.cc | 3 +- plugins/esi/test/vars_test.cc | 3 +- .../access_control/unit_tests/CMakeLists.txt | 4 +- .../unit_tests/test_access_control.cc | 5 +- .../access_control/unit_tests/test_utils.cc | 2 +- .../experimental/cache_fill/background_fetch.cc | 27 + plugins/experimental/cache_fill/background_fetch.h | 11 + plugins/experimental/cache_fill/cache_fill.cc | 31 + plugins/experimental/cache_fill/configs.cc | 48 +- plugins/experimental/cache_fill/configs.h | 9 +- plugins/experimental/cookie_remap/CMakeLists.txt | 4 +- .../experimental/cookie_remap/test_cookiejar.cc | 3 +- .../experimental/ja4_fingerprint/CMakeLists.txt | 4 +- plugins/experimental/ja4_fingerprint/test_ja4.cc | 3 +- plugins/experimental/sslheaders/CMakeLists.txt | 4 +- .../sslheaders/unit_tests/test_sslheaders.cc | 2 +- .../sslheaders/unit_tests/unit_test_main.cc | 25 - .../stale_response/unit_tests/CMakeLists.txt | 9 +- .../stale_response/unit_tests/test_BodyData.cc | 2 +- .../unit_tests/test_DirectiveParser.cc | 2 +- .../stale_response/unit_tests/unit_test_main.cc | 25 - .../experimental/txn_box/unit_tests/CMakeLists.txt | 6 +- .../txn_box/unit_tests/test_accl_utils.cc | 3 +- .../txn_box/unit_tests/test_txn_box.cc | 2 +- .../txn_box/unit_tests/unit_test_main.cc | 32 - .../uri_signing/unit_tests/CMakeLists.txt | 4 +- .../uri_signing/unit_tests/uri_signing_test.cc | 3 +- plugins/header_rewrite/CMakeLists.txt | 12 + plugins/header_rewrite/conditions.cc | 223 +- plugins/header_rewrite/conditions.h | 9 +- plugins/header_rewrite/header_rewrite.cc | 34 +- plugins/header_rewrite/matcher.cc | 10 + plugins/header_rewrite/matcher.h | 8 + plugins/header_rewrite/matcher_tests.cc | 108 + plugins/header_rewrite/operators.cc | 111 +- plugins/header_rewrite/resources.cc | 49 +- plugins/header_rewrite/resources.h | 67 +- plugins/header_rewrite/statement.h | 26 +- plugins/header_rewrite/value.cc | 8 +- plugins/header_rewrite/value.h | 4 +- plugins/ja3_fingerprint/CMakeLists.txt | 8 +- plugins/ja3_fingerprint/test_utils.cc | 3 +- plugins/origin_server_auth/CMakeLists.txt | 4 +- .../origin_server_auth/unit_tests/CMakeLists.txt | 4 +- .../unit_tests/test_aws_auth_v4.cc | 7 +- plugins/prefetch/test/CMakeLists.txt | 4 +- plugins/prefetch/test/test_evaluate.cc | 3 +- plugins/slice/CMakeLists.txt | 2 +- plugins/slice/Config.cc | 12 +- plugins/slice/Config.h | 1 - plugins/slice/Data.h | 15 +- plugins/slice/server.cc | 104 +- plugins/slice/unit-tests/CMakeLists.txt | 16 +- plugins/slice/unit-tests/test_cache.cc | 3 +- plugins/slice/unit-tests/test_config.cc | 3 +- plugins/slice/unit-tests/test_content_range.cc | 3 +- plugins/slice/unit-tests/test_range.cc | 3 +- plugins/slice/util.cc | 49 +- plugins/stats_over_http/stats_over_http.cc | 117 +- plugins/traffic_dump/unit_tests/CMakeLists.txt | 8 +- plugins/traffic_dump/unit_tests/test_json_utils.cc | 2 +- .../unit_tests/test_sensitive_fields.cc | 2 +- plugins/traffic_dump/unit_tests/unit_test_main.cc | 25 - plugins/xdebug/CMakeLists.txt | 2 +- plugins/xdebug/xdebug.cc | 168 +- plugins/xdebug/xdebug_headers.cc | 139 +- plugins/xdebug/xdebug_headers.h | 83 + plugins/xdebug/xdebug_transforms.cc | 62 +- .../Mock.h => plugins/xdebug/xdebug_transforms.h | 46 +- plugins/xdebug/xdebug_types.h | 58 + src/api/InkAPITest.cc | 8 +- src/cripts/Bundles/LogsMetrics.cc | 15 +- src/cripts/Context.cc | 6 +- src/cripts/Headers.cc | 110 +- src/cripts/Urls.cc | 28 +- src/iocore/cache/CMakeLists.txt | 4 +- src/iocore/cache/CacheProcessor.cc | 26 +- src/iocore/cache/CacheTest.cc | 3 +- src/iocore/cache/unit_tests/main.cc | 8 +- src/iocore/cache/unit_tests/main.h | 8 +- src/iocore/eventsystem/CMakeLists.txt | 12 +- .../eventsystem/unit_tests/test_EventSystem.cc | 10 +- src/iocore/eventsystem/unit_tests/test_IOBuffer.cc | 10 +- .../eventsystem/unit_tests/test_MIOBufferWriter.cc | 3 +- src/iocore/hostdb/CMakeLists.txt | 8 +- src/iocore/hostdb/test_HostFile.cc | 11 +- src/iocore/io_uring/CMakeLists.txt | 4 +- src/iocore/io_uring/unit_tests/test_diskIO.cc | 3 +- src/iocore/net/CMakeLists.txt | 12 +- src/iocore/net/QUICMultiCertConfigLoader.cc | 26 +- src/iocore/net/SSLConfig.cc | 16 +- src/iocore/net/quic/test/event_processor_main.cc | 15 +- src/iocore/net/quic/test/main.cc | 15 +- src/iocore/net/quic/test/test_QUICInvariants.cc | 2 +- src/iocore/net/quic/test/test_QUICTypeUtil.cc | 2 +- src/iocore/net/quic/test_MTHashTable.cc | 3 +- src/iocore/net/unit_tests/test_ProxyProtocol.cc | 2 +- src/iocore/net/unit_tests/test_SSLSNIConfig.cc | 2 +- src/iocore/net/unit_tests/test_YamlSNIConfig.cc | 3 +- src/iocore/net/unit_tests/unit_test_main.cc | 13 +- src/mgmt/rpc/CMakeLists.txt | 13 +- .../rpc/jsonrpc/unit_tests/test_basic_protocol.cc | 2 +- src/mgmt/rpc/jsonrpc/unit_tests/unit_test_main.cc | 22 - src/mgmt/rpc/server/unit_tests/test_rpcserver.cc | 9 +- src/mgmt/rpc/server/unit_tests/unit_test_main.cc | 22 - src/proxy/hdrs/CMakeLists.txt | 8 +- src/proxy/hdrs/unit_tests/test_HdrHeap.cc | 2 +- src/proxy/hdrs/unit_tests/test_HdrUtils.cc | 2 +- src/proxy/hdrs/unit_tests/test_Hdrs.cc | 2 +- src/proxy/hdrs/unit_tests/test_HeaderValidator.cc | 2 +- src/proxy/hdrs/unit_tests/test_Huffmancode.cc | 2 +- src/proxy/hdrs/unit_tests/test_URL.cc | 2 +- src/proxy/hdrs/unit_tests/test_XPACK.cc | 3 +- src/proxy/hdrs/unit_tests/test_mime.cc | 2 +- src/proxy/hdrs/unit_tests/unit_test_main.cc | 4 +- src/proxy/http/CMakeLists.txt | 9 +- src/proxy/http/HttpSM.cc | 8 +- src/proxy/http/remap/unit-tests/CMakeLists.txt | 29 +- .../remap/unit-tests/test_NextHopConsistentHash.cc | 4 +- .../remap/unit-tests/test_NextHopRoundRobin.cc | 4 +- .../unit-tests/test_NextHopStrategyFactory.cc | 5 +- src/proxy/http/remap/unit-tests/test_PluginDso.cc | 5 +- .../http/remap/unit-tests/test_PluginFactory.cc | 12 +- .../http/remap/unit-tests/test_RemapPlugin.cc | 5 +- src/proxy/http/remap/unit-tests/test_RemapRules.cc | 11 +- src/proxy/http/unit_tests/CMakeLists.txt | 4 +- src/proxy/http/unit_tests/main.cc | 10 +- src/proxy/http/unit_tests/test_ForwardedConfig.cc | 2 +- src/proxy/http/unit_tests/test_HttpTransact.cc | 2 +- src/proxy/http/unit_tests/test_HttpUserAgent.cc | 2 +- src/proxy/http/unit_tests/test_PreWarm.cc | 2 +- .../http/unit_tests/test_error_page_selection.cc | 2 +- src/proxy/http/unit_tests/unit_test_main.cc | 26 - src/proxy/http2/CMakeLists.txt | 8 +- src/proxy/http2/unit_tests/main.cc | 10 +- src/proxy/http2/unit_tests/test_HTTP2.cc | 22 +- .../http2/unit_tests/test_HpackIndexingTable.cc | 2 +- .../http2/unit_tests/test_Http2DependencyTree.cc | 3 +- src/proxy/http2/unit_tests/test_Http2Frame.cc | 2 +- src/proxy/http3/CMakeLists.txt | 8 +- src/proxy/http3/test/Mock.h | 2 +- src/proxy/http3/test/main.cc | 15 +- src/proxy/http3/test/main_qpack.cc | 19 +- src/proxy/http3/test/test_Http3Frame.cc | 2 +- src/proxy/http3/test/test_Http3FrameDispatcher.cc | 2 +- src/proxy/http3/test/test_QPACK.cc | 2 +- src/proxy/logging/CMakeLists.txt | 8 +- .../logging/unit-tests/benchmark_LogObject.cc | 3 +- src/proxy/logging/unit-tests/test_LogUtils.cc | 3 +- .../logging/unit-tests/test_RolledLogDeleter.cc | 3 +- src/records/CMakeLists.txt | 10 +- src/records/RecUtils.cc | 5 +- src/records/RecordsConfig.cc | 106 +- src/records/unit_tests/test_RecHttp.cc | 2 +- src/records/unit_tests/unit_test_main.cc | 4 +- .../unit_tests/unit_test_main_on_eventsystem.cc | 55 - src/tscore/CMakeLists.txt | 5 +- src/tscore/unit_tests/test_AcidPtr.cc | 2 +- src/tscore/unit_tests/test_ArgParser.cc | 2 +- src/tscore/unit_tests/test_CryptoHash.cc | 2 +- src/tscore/unit_tests/test_Encoding.cc | 2 +- src/tscore/unit_tests/test_Extendible.cc | 42 +- src/tscore/unit_tests/test_FrequencyCounter.cc | 2 +- src/tscore/unit_tests/test_HKDF.cc | 2 +- src/tscore/unit_tests/test_Histogram.cc | 2 +- src/tscore/unit_tests/test_History.cc | 14 +- src/tscore/unit_tests/test_IntrusivePtr.cc | 2 +- src/tscore/unit_tests/test_List.cc | 2 +- src/tscore/unit_tests/test_MMH.cc | 2 +- src/tscore/unit_tests/test_ParseRules.cc | 2 +- src/tscore/unit_tests/test_PluginUserArgs.cc | 2 +- src/tscore/unit_tests/test_PriorityQueue.cc | 2 +- src/tscore/unit_tests/test_Ptr.cc | 2 +- src/tscore/unit_tests/test_Random.cc | 2 +- src/tscore/unit_tests/test_SnowflakeID.cc | 5 +- src/tscore/unit_tests/test_Throttler.cc | 2 +- src/tscore/unit_tests/test_Tokenizer.cc | 2 +- src/tscore/unit_tests/test_Version.cc | 2 +- .../unit_tests/test_X509HostnameValidator.cc | 4 +- src/tscore/unit_tests/test_arena.cc | 2 +- src/tscore/unit_tests/test_ink_inet.cc | 2 +- src/tscore/unit_tests/test_ink_memory.cc | 2 +- src/tscore/unit_tests/test_ink_string.cc | 2 +- src/tscore/unit_tests/test_layout.cc | 5 +- src/tscore/unit_tests/test_scoped_resource.cc | 2 +- src/tscore/unit_tests/unit_test_main.cc | 25 - src/tsutil/CMakeLists.txt | 5 +- src/tsutil/unit_tests/test_Bravo.cc | 2 +- src/tsutil/unit_tests/test_LocalBuffer.cc | 2 +- src/tsutil/unit_tests/test_Metrics.cc | 2 +- src/tsutil/unit_tests/test_PostScript.cc | 2 +- src/tsutil/unit_tests/test_Regex.cc | 2 +- src/tsutil/unit_tests/test_Strerror.cc | 2 +- src/tsutil/unit_tests/test_StringConvert.cc | 2 +- src/tsutil/unit_tests/test_time_parser.cc | 2 +- src/tsutil/unit_tests/test_ts_meta.cc | 2 +- src/tsutil/unit_tests/unit_test_main.cc | 25 - tests/CMakeLists.txt | 2 + tests/autest.sh.in | 6 + tests/gold_tests/autest-site/curl.test.ext | 4 + tests/gold_tests/connect/connect.test.py | 17 +- .../connect/gold/connect_0_stderr_uds.gold | 19 - tests/gold_tests/cripts/cripts.test.py | 3 +- tests/gold_tests/ip_allow/ip_allow_pp_uds.test.py | 259 - tests/gold_tests/logging/all_headers.test.py | 24 +- tests/gold_tests/logging/custom-log-pp-uds.test.py | 99 - .../logging/gold/test_all_headers_uds.gold | 1 - .../next_hop/zzz_strategies_peer/trace.gold | 64 +- .../next_hop/zzz_strategies_peer2/trace.gold | 64 +- .../per_server_connection_max.test.py | 2 + .../pluginTest/cache_fill/cache_fill.test.py | 232 + .../pluginTest/cache_promote/cache_promote.test.py | 77 + .../replay/cache_promote.replay.yaml.tmpl | 166 + ...range_requests_cache_complete_responses.test.py | 2 - .../cache_range_requests_ident.test.py | 254 +- .../cache_range_requests_ims.test.py | 133 - .../pluginTest/escalate/escalate.test.py | 188 +- .../escalate/escalate_failover.replay.yaml | 25 + ...y.yaml => escalate_non_get_methods.replay.yaml} | 71 +- .../escalate/escalate_original.replay.yaml | 71 + tests/gold_tests/pluginTest/esi/esi.test.py | 30 +- .../pluginTest/header_rewrite/gold/cond-elif.gold | 2 +- .../pluginTest/header_rewrite/gold/ext-sets.gold | 2 +- .../pluginTest/healthchecks/healthchecks.test.py | 52 +- .../ja4_fingerprint/ja4_fingerprint.test.py | 1 + .../gold/origin_server_auth_parsing_ts_uds.gold | 5 + .../origin_server_auth/origin_server_auth.test.py | 5 +- .../pluginTest/slice/gold/slice_crr_ident.gold | 8 +- .../pluginTest/slice/gold/slice_ident.gold | 8 +- .../pluginTest/slice/slice_ident.test.py | 6 +- .../pluginTest/slice/slice_selfhealing.test.py | 9 +- .../stats_over_http/stats_over_http.test.py | 41 +- .../gold_tests/pluginTest/url_sig/url_sig.test.py | 3 + .../xdebug/x_probe/x_probe.replay.yaml} | 60 +- .../pluginTest/xdebug/x_probe/x_probe.test.py | 81 + .../xdebug/x_probe_full_json/gold/jq.gold | 3 + .../x_probe_full_json.replay.yaml} | 59 +- .../x_probe_full_json/x_probe_full_json.test.py | 98 + .../gold_tests/pluginTest/xdebug/x_remap/out.gold | 36 +- tests/gold_tests/records/gold/full_records.yaml | 2 +- tests/gold_tests/records/gold/renamed_records.gold | 2 +- tests/gold_tests/records/gold/renamed_records.yaml | 2 +- .../redirect_to_same_origin_on_cache.test.py | 3 +- .../redirect_to_same_origin_on_cache.replay.yaml | 26 + tests/gold_tests/remap/gold/lookupTest.gold | 2 +- tests/gold_tests/remap/gold/remap-200.gold | 2 +- tests/gold_tests/remap/gold/remap-404.gold | 2 +- tests/gold_tests/remap/gold/remap-DNS-200.gold | 2 +- .../gold_tests/remap/gold/remap-DNS-ipv6-200.gold | 2 +- tests/gold_tests/remap/gold/remap-redirect.gold | 2 +- tests/gold_tests/remap/gold/remap-referer-hit.gold | 2 +- .../gold_tests/remap/gold/remap-referer-miss.gold | 2 +- tests/gold_tests/remap/gold/remap2-200.gold | 2 +- tests/gold_tests/remap/remap_http.test.py | 13 +- tests/gold_tests/remap/remap_ws.test.py | 6 +- tests/gold_tests/timeout/accept_timeout.test.py | 1 + tools/benchmark/CMakeLists.txt | 8 +- tools/benchmark/benchmark_EventSystem.cc | 7 +- tools/benchmark/benchmark_FreeList.cc | 4 +- tools/benchmark/benchmark_ProxyAllocator.cc | 3 +- tools/benchmark/benchmark_SharedMutex.cc | 4 +- tools/clang-format.sh | 2 +- tools/cmake-format.sh | 2 +- tools/git/pre-commit | 4 +- tools/hrw4u/Makefile | 140 +- tools/hrw4u/README.md | 191 + tools/hrw4u/grammar/u4wrh.g4 | 248 + tools/hrw4u/pyproject.toml | 51 +- tools/hrw4u/requirements.txt | 9 +- tools/hrw4u/scripts/hrw4u | 74 +- tools/hrw4u/scripts/u4wrh | 50 + tools/hrw4u/scripts/u4wrh_validator | 107 + tools/hrw4u/setup.py | 38 - tools/hrw4u/src/common.py | 138 + tools/hrw4u/src/debugging.py | 54 + tools/hrw4u/src/errors.py | 3 + tools/hrw4u/src/hrw_symbols.py | 426 + tools/hrw4u/src/hrw_visitor.py | 424 + tools/hrw4u/src/script_common.py | 145 + tools/hrw4u/src/states.py | 182 +- tools/hrw4u/src/symbols.py | 236 +- tools/hrw4u/src/tables.py | 302 + tools/hrw4u/src/types.py | 15 +- tools/hrw4u/src/validation.py | 135 +- tools/hrw4u/src/visitor.py | 422 +- tools/hrw4u/tests/data/conds/access.input.txt | 2 +- tools/hrw4u/tests/data/conds/cache.ast.txt | 2 +- tools/hrw4u/tests/data/conds/cache.input.txt | 6 +- tools/hrw4u/tests/data/conds/capture.input.txt | 2 +- tools/hrw4u/tests/data/conds/cidr.input.txt | 4 +- tools/hrw4u/tests/data/conds/cookie.input.txt | 9 +- tools/hrw4u/tests/data/conds/from-url.input.txt | 2 +- tools/hrw4u/tests/data/conds/geo.input.txt | 2 +- tools/hrw4u/tests/data/conds/if-elif.input.txt | 2 +- tools/hrw4u/tests/data/conds/impl-expr.input.txt | 2 +- tools/hrw4u/tests/data/conds/inbound.ast.txt | 2 +- tools/hrw4u/tests/data/conds/inbound.input.txt | 2 +- tools/hrw4u/tests/data/conds/internal.input.txt | 2 +- tools/hrw4u/tests/data/conds/ip.input.txt | 10 +- tools/hrw4u/tests/data/conds/long-if.ast.txt | 2 +- tools/hrw4u/tests/data/conds/long-if.input.txt | 10 +- tools/hrw4u/tests/data/conds/method.input.txt | 2 +- tools/hrw4u/tests/data/conds/multi-if.input.txt | 4 +- tools/hrw4u/tests/data/conds/now.input.txt | 18 +- tools/hrw4u/tests/data/conds/to-url.input.txt | 2 +- tools/hrw4u/tests/data/conds/true_false.input.txt | 2 +- tools/hrw4u/tests/data/conds/txn-count.ast.txt | 2 +- tools/hrw4u/tests/data/conds/txn-count.input.txt | 4 +- .../hrw4u/tests/data/examples/add-cc-path.ast.txt | 2 +- .../tests/data/examples/add-cc-path.input.txt | 10 +- tools/hrw4u/tests/data/examples/conn-drain.ast.txt | 2 +- .../hrw4u/tests/data/examples/conn-drain.input.txt | 2 +- .../tests/data/examples/conn-drain.output.txt | 2 +- tools/hrw4u/tests/data/examples/dbg-req.input.txt | 2 +- tools/hrw4u/tests/data/examples/hdr-exists.ast.txt | 2 +- .../hrw4u/tests/data/examples/hdr-exists.input.txt | 2 +- tools/hrw4u/tests/data/examples/hsts.ast.txt | 2 +- tools/hrw4u/tests/data/examples/hsts.input.txt | 4 +- tools/hrw4u/tests/data/examples/rm-query.ast.txt | 2 +- tools/hrw4u/tests/data/examples/rm-query.input.txt | 6 - .../hrw4u/tests/data/examples/rm-query.output.txt | 4 - .../hrw4u/tests/data/examples/run-plugin.input.txt | 2 +- tools/hrw4u/tests/data/examples/teapots.ast.txt | 2 +- tools/hrw4u/tests/data/examples/teapots.input.txt | 2 +- tools/hrw4u/tests/data/examples/useless.input.txt | 4 +- tools/hrw4u/tests/data/examples/uuid.ast.txt | 2 +- tools/hrw4u/tests/data/examples/uuid.input.txt | 2 +- tools/hrw4u/tests/data/examples/x-debug.ast.txt | 2 +- tools/hrw4u/tests/data/examples/x-debug.input.txt | 10 +- .../hrw4u/tests/data/hooks/read_response.input.txt | 2 +- tools/hrw4u/tests/data/hooks/remap.input.txt | 4 +- .../hrw4u/tests/data/hooks/send_request.input.txt | 2 +- tools/hrw4u/tests/data/hooks/send_response.ast.txt | 2 +- .../hrw4u/tests/data/hooks/send_response.input.txt | 2 +- tools/hrw4u/tests/data/ops/dscp.input.txt | 2 +- tools/hrw4u/tests/data/ops/exceptions.txt | 5 + tools/hrw4u/tests/data/ops/expansion.ast.txt | 2 +- tools/hrw4u/tests/data/ops/expansion.input.txt | 6 +- tools/hrw4u/tests/data/ops/qsa.input.txt | 5 + tools/hrw4u/tests/data/ops/qsa.output.txt | 4 + tools/hrw4u/tests/data/ops/set-body.ast.txt | 2 +- tools/hrw4u/tests/data/ops/set-body.input.txt | 6 +- tools/hrw4u/tests/data/ops/set-conf.input.txt | 2 +- tools/hrw4u/tests/data/ops/skip-remap.ast.txt | 2 +- tools/hrw4u/tests/data/ops/skip-remap.input.txt | 2 +- tools/hrw4u/tests/data/ops/skip-remap.output.txt | 2 +- tools/hrw4u/tests/data/ops/status.ast.txt | 2 +- tools/hrw4u/tests/data/ops/status.input.txt | 8 +- tools/hrw4u/tests/data/vars/assign.ast.txt | 2 +- tools/hrw4u/tests/data/vars/assign.input.txt | 6 +- tools/hrw4u/tests/data/vars/bool.ast.txt | 2 +- tools/hrw4u/tests/data/vars/bool.input.txt | 4 +- tools/hrw4u/tests/data/vars/int16.ast.txt | 2 +- tools/hrw4u/tests/data/vars/int16.input.txt | 4 +- tools/hrw4u/tests/data/vars/int8.ast.txt | 2 +- tools/hrw4u/tests/data/vars/int8.input.txt | 4 +- tools/hrw4u/tests/test_conds.py | 15 +- .../tests/{test_conds.py => test_conds_reverse.py} | 18 +- tools/hrw4u/tests/test_examples.py | 15 +- .../{test_examples.py => test_examples_reverse.py} | 18 +- tools/hrw4u/tests/test_hooks.py | 18 +- .../tests/{test_ops.py => test_hooks_reverse.py} | 20 +- tools/hrw4u/tests/test_ops.py | 15 +- .../tests/{test_ops.py => test_ops_reverse.py} | 18 +- tools/hrw4u/tests/test_vars.py | 22 +- .../tests/{test_ops.py => test_vars_reverse.py} | 20 +- tools/hrw4u/tests/utils.py | 146 +- tools/records/convert2yaml.py | 2 +- 776 files changed, 71057 insertions(+), 21282 deletions(-) diff --cc src/iocore/net/SSLConfig.cc index 3439266180,a4b1e391b8..15ab3d7740 --- a/src/iocore/net/SSLConfig.cc +++ b/src/iocore/net/SSLConfig.cc @@@ -42,31 -42,37 +42,34 @@@ #include "tscore/ink_config.h" #include "tscore/Layout.h" #include "records/RecHttp.h" + #include "records/RecCore.h" #include <openssl/pem.h> + #include <array> #include <cstring> #include <cmath> + #include <unordered_map> -int SSLConfig::config_index = 0; -int SSLConfig::configids[] = {0, 0}; -int SSLCertificateConfig::configid = 0; -int SSLTicketKeyConfig::configid = 0; -int SSLConfigParams::ssl_maxrecord = 0; -int SSLConfigParams::ssl_misc_max_iobuffer_size_index = 8; -bool SSLConfigParams::ssl_allow_client_renegotiation = false; -bool SSLConfigParams::ssl_ocsp_enabled = false; -int SSLConfigParams::ssl_ocsp_cache_timeout = 3600; -bool SSLConfigParams::ssl_ocsp_request_mode = false; -int SSLConfigParams::ssl_ocsp_request_timeout = 10; -int SSLConfigParams::ssl_ocsp_update_period = 60; -char *SSLConfigParams::ssl_ocsp_user_agent = nullptr; -int SSLConfigParams::ssl_handshake_timeout_in = 0; -int SSLConfigParams::origin_session_cache = 1; -size_t SSLConfigParams::origin_session_cache_size = 10240; -size_t SSLConfigParams::session_cache_number_buckets = 1024; -bool SSLConfigParams::session_cache_skip_on_lock_contention = false; -size_t SSLConfigParams::session_cache_max_bucket_size = 100; -init_ssl_ctx_func SSLConfigParams::init_ssl_ctx_cb = nullptr; -load_ssl_file_func SSLConfigParams::load_ssl_file_cb = nullptr; -swoc::IPRangeSet *SSLConfigParams::proxy_protocol_ip_addrs = nullptr; -bool SSLConfigParams::ssl_ktls_enabled = false; +int SSLConfig::config_index = 0; +int SSLConfig::configids[] = {0, 0}; +int SSLCertificateConfig::configid = 0; +int SSLTicketKeyConfig::configid = 0; +int SSLConfigParams::ssl_maxrecord = 0; +int SSLConfigParams::ssl_misc_max_iobuffer_size_index = 8; +bool SSLConfigParams::ssl_allow_client_renegotiation = false; +bool SSLConfigParams::ssl_ocsp_enabled = false; +int SSLConfigParams::ssl_ocsp_cache_timeout = 3600; +bool SSLConfigParams::ssl_ocsp_request_mode = false; +int SSLConfigParams::ssl_ocsp_request_timeout = 10; +int SSLConfigParams::ssl_ocsp_update_period = 60; +char *SSLConfigParams::ssl_ocsp_user_agent = nullptr; +int SSLConfigParams::ssl_handshake_timeout_in = 0; +int SSLConfigParams::origin_session_cache = 1; +size_t SSLConfigParams::origin_session_cache_size = 10240; +init_ssl_ctx_func SSLConfigParams::init_ssl_ctx_cb = nullptr; +load_ssl_file_func SSLConfigParams::load_ssl_file_cb = nullptr; +swoc::IPRangeSet *SSLConfigParams::proxy_protocol_ip_addrs = nullptr; +bool SSLConfigParams::ssl_ktls_enabled = false; const uint32_t EARLY_DATA_DEFAULT_SIZE = 16384; uint32_t SSLConfigParams::server_max_early_data = 0; diff --cc src/records/RecordsConfig.cc index 9a765d4292,df22eb3f1c..1ee6cb1985 --- a/src/records/RecordsConfig.cc +++ b/src/records/RecordsConfig.cc @@@ -1193,8 -1193,24 +1193,8 @@@ static constexpr RecordElement RecordsC , {RECT_CONFIG, "proxy.config.ssl.origin_session_cache.size", RECD_INT, "10240", RECU_RESTART_TS, RR_NULL, RECC_NULL, nullptr, RECA_NULL} , - {RECT_CONFIG, "proxy.config.ssl.max_record_size", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_NULL, "[0-16383]", RECA_NULL} - {RECT_CONFIG, "proxy.config.ssl.session_cache.mode", RECD_INT, "2", RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-2]", RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.enabled", RECD_INT, "2", RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-2]", RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.value", RECD_INT, "2", RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-2]", RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.size", RECD_INT, "102400", RECU_RESTART_TS, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.num_buckets", RECD_INT, "256", RECU_RESTART_TS, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.skip_cache_on_bucket_contention", RECD_INT, "0", RECU_RESTART_TS, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , + {RECT_CONFIG, "proxy.config.ssl.max_record_size", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_INT, "[0-16383]", RECA_NULL} , - {RECT_CONFIG, "proxy.config.ssl.session_cache.timeout", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , - {RECT_CONFIG, "proxy.config.ssl.session_cache.auto_clear", RECD_INT, "1", RECU_DYNAMIC, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , {RECT_CONFIG, "proxy.config.ssl.hsts_max_age", RECD_INT, "-1", RECU_DYNAMIC, RR_NULL, RECC_STR, "^-?[0-9]+$", RECA_NULL} , {RECT_CONFIG, "proxy.config.ssl.hsts_include_subdomains", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_INT, "[0-1]", RECA_NULL}
