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}

Reply via email to