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 99499a05d6e2a55b3e6a072b2593c49cf0331130
Merge: 6e5d6f2a47 607783448e
Author: bneradt <bner...@yahooinc.com>
AuthorDate: Tue May 7 10:19:54 2024 -0600

    Merge master into 11-Dev
    
    Conflicts are related to:
    https://github.com/apache/trafficserver/pull/11157

 .clang-format                                      |  44 +-
 CMakeLists.txt                                     |  26 +-
 CMakePresets.json                                  |  46 +-
 cmake/ExperimentalPlugins.cmake                    |  15 +-
 plugins/esi/CMakeLists.txt => cmake/Findwamr.cmake |  38 +-
 cmake/add_atsplugin.cmake                          |  13 +-
 doc/admin-guide/files/ip_allow.yaml.en.rst         |  22 +
 doc/admin-guide/files/records.yaml.en.rst          |  36 +-
 doc/admin-guide/files/remap.config.en.rst          |   2 +
 doc/admin-guide/files/sni.yaml.en.rst              | 382 +++++-----
 .../statistics/core/http-connection.en.rst         |  11 +-
 doc/admin-guide/plugins/header_rewrite.en.rst      |  18 +
 doc/admin-guide/plugins/ja3_fingerprint.en.rst     |  14 +-
 doc/admin-guide/plugins/lua.en.rst                 |  10 +-
 doc/admin-guide/plugins/rate_limit.en.rst          |  10 +
 example/cripts/example1.cc                         |  20 +-
 example/plugins/c-api/add_header/add_header.cc     |  18 +-
 .../c-api/append_transform/append_transform.cc     |  20 +-
 example/plugins/c-api/basic_auth/basic_auth.cc     |  20 +-
 .../c-api/bnull_transform/bnull_transform.cc       |  18 +-
 example/plugins/c-api/cache_scan/cache_scan.cc     |  46 +-
 example/plugins/c-api/cert_update/cert_update.cc   |   6 +-
 .../client_context_dump/client_context_dump.cc     |  14 +-
 example/plugins/c-api/denylist_0/denylist_0.cc     |  22 +-
 example/plugins/c-api/denylist_1/denylist_1.cc     |  38 +-
 .../plugins/c-api/disable_http2/disable_http2.cc   |   8 +-
 example/plugins/c-api/file_1/file_1.cc             |   4 +-
 example/plugins/c-api/intercept/intercept.cc       |  50 +-
 .../c-api/lifecycle_plugin/lifecycle_plugin.cc     |   2 +-
 .../plugins/c-api/null_transform/null_transform.cc |  18 +-
 .../plugins/c-api/output_header/output_header.cc   |  12 +-
 example/plugins/c-api/passthru/passthru.cc         |  20 +-
 example/plugins/c-api/protocol/Protocol.cc         |  14 +-
 example/plugins/c-api/protocol/TxnSM.cc            |  20 +-
 example/plugins/c-api/protocol/TxnSM.h             |  38 +-
 .../plugins/c-api/protocol_stack/protocol_stack.cc |   4 +-
 example/plugins/c-api/query_remap/query_remap.cc   |  10 +-
 example/plugins/c-api/redirect_1/redirect_1.cc     |  14 +-
 example/plugins/c-api/remap/remap.cc               |  30 +-
 .../c-api/remap_header_add/remap_header_add.cc     |   6 +-
 .../plugins/c-api/replace_header/replace_header.cc |   4 +-
 .../plugins/c-api/request_buffer/request_buffer.cc |  20 +-
 .../c-api/response_header_1/response_header_1.cc   |  16 +-
 example/plugins/c-api/secure_link/secure_link.cc   |  22 +-
 example/plugins/c-api/server_push/server_push.cc   |   2 +-
 .../c-api/server_transform/server_transform.cc     |  42 +-
 .../plugins/c-api/session_hooks/session_hooks.cc   |   2 +-
 .../plugins/c-api/ssl_preaccept/ssl_preaccept.cc   |  12 +-
 example/plugins/c-api/ssl_sni/ssl_sni.cc           |  12 +-
 .../c-api/ssl_sni_allowlist/ssl_sni_allowlist.cc   |  12 +-
 example/plugins/c-api/statistic/statistic.cc       |   2 +-
 example/plugins/c-api/thread_pool/psi.cc           |  78 +-
 example/plugins/c-api/thread_pool/thread.cc        |   2 +-
 example/plugins/c-api/thread_pool/thread.h         |  14 +-
 .../plugins/c-api/txn_data_sink/txn_data_sink.cc   |   6 +-
 example/plugins/c-api/vconn_args/vconn_args.cc     |   4 +-
 example/plugins/c-api/verify_cert/verify_cert.cc   |  10 +-
 include/api/APIHook.h                              |   6 +-
 include/api/InkAPIInternal.h                       |  38 +-
 include/cripts/Bundle.hpp                          |   2 +-
 include/cripts/Bundles/Common.hpp                  |   6 +-
 include/cripts/Bundles/LogsMetrics.hpp             |   8 +-
 include/cripts/Configs.hpp                         | 419 +++++------
 include/cripts/Connections.hpp                     |  48 +-
 include/cripts/Context.hpp                         |  26 +-
 include/cripts/Crypto.hpp                          |  16 +-
 include/cripts/Epilogue.hpp                        |  26 +-
 include/cripts/Error.hpp                           |   6 +-
 include/cripts/Files.hpp                           |   2 +-
 include/cripts/Headers.hpp                         |  34 +-
 include/cripts/Instance.hpp                        |  18 +-
 include/cripts/Lulu.hpp                            |  97 +--
 include/cripts/Matcher.hpp                         |  18 +-
 include/cripts/Metrics.hpp                         |   8 +-
 include/cripts/Plugins.hpp                         |  17 +-
 include/cripts/Preamble.hpp                        |   6 +-
 include/cripts/Time.hpp                            |   4 +-
 include/cripts/Transaction.hpp                     |   8 +-
 include/cripts/Urls.hpp                            |  88 +--
 include/iocore/aio/AIO.h                           |  20 +-
 include/iocore/aio/AIO_fault_injection.h           |  10 +-
 include/iocore/cache/AggregateWriteBuffer.h        |  20 +-
 include/iocore/cache/Cache.h                       |  46 +-
 include/iocore/cache/CacheDefs.h                   |   6 +-
 include/iocore/cache/CacheVC.h                     | 139 ++--
 include/iocore/cache/HttpConfigAccessor.h          |  10 +-
 include/iocore/cache/Store.h                       |  14 +-
 include/iocore/dns/DNSEventIO.h                    |   2 +-
 include/iocore/dns/DNSProcessor.h                  |  32 +-
 include/iocore/dns/SRV.h                           |  16 +-
 include/iocore/dns/SplitDNSProcessor.h             |  10 +-
 include/iocore/eventsystem/ConfigProcessor.h       |   8 +-
 include/iocore/eventsystem/EThread.h               |  26 +-
 include/iocore/eventsystem/Event.h                 |   4 +-
 include/iocore/eventsystem/EventProcessor.h        |  20 +-
 .../iocore/eventsystem/Freer.h                     |   0
 include/iocore/eventsystem/IOBuffer.h              |  22 +-
 include/iocore/eventsystem/Lock.h                  |  14 +-
 include/iocore/eventsystem/PriorityEventQueue.h    |   4 +-
 include/iocore/eventsystem/ProtectedQueue.h        |  16 +-
 include/iocore/eventsystem/ProxyAllocator.h        |   9 +-
 include/iocore/eventsystem/SocketManager.h         |   4 +-
 include/iocore/eventsystem/Tasks.h                 |   2 +-
 include/iocore/eventsystem/Thread.h                |   2 +-
 include/iocore/eventsystem/VIO.h                   |  12 +-
 include/iocore/hostdb/HostDBProcessor.h            |  24 +-
 include/iocore/hostdb/HostFile.h                   |   2 +-
 include/iocore/io_uring/IOUringEventIO.h           |   2 +-
 include/iocore/io_uring/IO_URING.h                 |  14 +-
 include/iocore/net/ConnectionTracker.h             |  46 +-
 include/iocore/net/EventIO.h                       |  14 +-
 include/iocore/net/NetAcceptEventIO.h              |   2 +-
 include/iocore/net/NetEvent.h                      |  33 +-
 include/iocore/net/NetHandler.h                    |  26 +-
 include/iocore/net/NetTimeout.h                    |  33 +-
 include/iocore/net/NetVCOptions.h                  |   2 +-
 include/iocore/net/NetVConnection.h                |  14 +-
 include/iocore/net/PollCont.h                      |   6 +-
 include/iocore/net/PreWarm.h                       |   8 +-
 include/iocore/net/ProxyProtocol.h                 |  14 +-
 include/iocore/net/QUICMultiCertConfigLoader.h     |  12 +-
 include/iocore/net/QUICSupport.h                   |   6 +-
 include/iocore/net/ReadWriteEventIO.h              |   6 +-
 include/iocore/net/SSLAPIHooks.h                   |   7 +-
 include/iocore/net/SSLMultiCertConfigLoader.h      | 106 +++
 include/iocore/net/SSLSNIConfig.h                  |  26 +-
 include/iocore/net/SSLTypes.h                      |  22 +
 include/iocore/net/Socks.h                         |   2 +-
 include/iocore/net/TLSALPNSupport.h                |  18 +-
 include/iocore/net/TLSBasicSupport.h               |  16 +-
 include/iocore/net/TLSCertSwitchSupport.h          |  10 +-
 include/iocore/net/TLSEarlyDataSupport.h           |   8 +-
 include/iocore/net/TLSSNISupport.h                 |  23 +-
 include/iocore/net/TLSSessionResumptionSupport.h   |  19 +-
 include/iocore/net/TLSTunnelSupport.h              |  22 +-
 include/iocore/net/UDPConnection.h                 |  12 +-
 include/iocore/net/UDPEventIO.h                    |   4 +-
 include/iocore/net/UDPNet.h                        |   6 +-
 include/iocore/net/UDPPacket.h                     |  18 +-
 include/iocore/net/YamlSNIConfig.h                 |  66 +-
 include/iocore/net/quic/MTHashTable.h              |  32 +-
 include/iocore/net/quic/Mock.h                     |  45 +-
 include/iocore/net/quic/QUICApplicationMap.h       |   6 +-
 include/iocore/net/quic/QUICConfig.h               | 110 +--
 include/iocore/net/quic/QUICConnection.h           |  34 +-
 include/iocore/net/quic/QUICConnectionTable.h      |   2 +-
 include/iocore/net/quic/QUICContext.h              |   4 +-
 include/iocore/net/quic/QUICGlobals.h              |   2 +-
 include/iocore/net/quic/QUICIntUtil.h              |   8 +-
 include/iocore/net/quic/QUICStream.h               |  21 +-
 include/iocore/net/quic/QUICStreamAdapter.h        |  12 +-
 include/iocore/net/quic/QUICStreamManager.h        |  20 +-
 include/iocore/net/quic/QUICStreamVCAdapter.h      |  22 +-
 .../iocore/net/quic/QUICTransferProgressProvider.h |  16 +-
 include/iocore/net/quic/QUICTransportParameters.h  |  14 +-
 include/iocore/net/quic/QUICTypes.h                | 136 ++--
 include/iocore/utils/Machine.h                     |  22 +-
 include/iocore/utils/OneWayMultiTunnel.h           |   8 +-
 include/iocore/utils/OneWayTunnel.h                |  14 +-
 include/mgmt/config/FileManager.h                  |  18 +-
 include/mgmt/rpc/config/JsonRPCConfig.h            |   6 +-
 include/mgmt/rpc/handlers/server/Server.h          |   2 +-
 include/mgmt/rpc/jsonrpc/Defs.h                    |  12 +-
 include/mgmt/rpc/jsonrpc/JsonRPCManager.h          |  14 +-
 include/mgmt/rpc/server/CommBase.h                 |  10 +-
 include/mgmt/rpc/server/IPCSocketServer.h          |  14 +-
 include/mgmt/rpc/server/RPCServer.h                |  10 +-
 include/proxy/CacheControl.h                       |  28 +-
 include/proxy/ControlBase.h                        |   8 +-
 include/proxy/ControlMatcher.h                     | 106 +--
 include/proxy/FetchSM.h                            |  99 ++-
 include/proxy/HostStatus.h                         |  44 +-
 include/proxy/IPAllow.h                            |  22 +-
 include/proxy/ParentConsistentHash.h               |  18 +-
 include/proxy/ParentRoundRobin.h                   |  10 +-
 include/proxy/ParentSelection.h                    |  96 +--
 include/proxy/Plugin.h                             |   6 +-
 include/proxy/PluginVC.h                           |  62 +-
 include/proxy/PoolableSession.h                    |  20 +-
 include/proxy/ProxySession.h                       |  33 +-
 include/proxy/ProxyTransaction.h                   |  48 +-
 include/proxy/RegressionSM.h                       |  26 +-
 include/proxy/ReverseProxy.h                       |   2 +-
 include/proxy/Transform.h                          |   2 +-
 include/proxy/TransformInternal.h                  |  52 +-
 include/proxy/hdrs/HTTP.h                          | 138 ++--
 include/proxy/hdrs/HdrHeap.h                       |  38 +-
 include/proxy/hdrs/HdrToken.h                      |  36 +-
 include/proxy/hdrs/HdrUtils.h                      |  10 +-
 include/proxy/hdrs/HuffmanCodec.h                  |   8 +-
 include/proxy/hdrs/MIME.h                          | 230 +++---
 include/proxy/hdrs/URL.h                           |  92 +--
 include/proxy/hdrs/XPACK.h                         |  50 +-
 include/proxy/http/ConnectingEntry.h               |  26 +-
 include/proxy/http/Http1ClientSession.h            |  24 +-
 include/proxy/http/Http1ServerSession.h            |  18 +-
 include/proxy/http/Http1Transaction.h              |   2 +-
 include/proxy/http/HttpBodyFactory.h               |  42 +-
 include/proxy/http/HttpCacheSM.h                   |  18 +-
 include/proxy/http/HttpConfig.h                    |  88 +--
 include/proxy/http/HttpProxyServerMain.h           |   8 +-
 include/proxy/http/HttpSM.h                        | 206 +++---
 include/proxy/http/HttpSessionAccept.h             |   2 +-
 include/proxy/http/HttpSessionManager.h            |  20 +-
 include/proxy/http/HttpTransact.h                  | 246 +++----
 include/proxy/http/HttpTransactHeaders.h           |   2 +-
 include/proxy/http/HttpTunnel.h                    | 128 ++--
 include/proxy/http/HttpUserAgent.h                 |  10 +-
 include/proxy/http/HttpVCTable.h                   |  28 +-
 include/proxy/http/PreWarmConfig.h                 |   8 +-
 include/proxy/http/PreWarmManager.h                |  56 +-
 include/proxy/http/remap/AclFiltering.h            |  46 +-
 include/proxy/http/remap/NextHopConsistentHash.h   |   2 +-
 include/proxy/http/remap/NextHopRoundRobin.h       |   2 +-
 .../proxy/http/remap/NextHopSelectionStrategy.h    |  70 +-
 include/proxy/http/remap/NextHopStrategyFactory.h  |   4 +-
 include/proxy/http/remap/PluginDso.h               |  49 +-
 include/proxy/http/remap/PluginFactory.h           |  31 +-
 include/proxy/http/remap/RemapConfig.h             |  18 +-
 include/proxy/http/remap/RemapPluginInfo.h         |  30 +-
 include/proxy/http/remap/RemapPlugins.h            |  12 +-
 include/proxy/http/remap/RemapProcessor.h          |   2 +-
 include/proxy/http/remap/UrlMapping.h              |  86 ++-
 include/proxy/http/remap/UrlMappingPathIndex.h     |   6 +-
 include/proxy/http/remap/UrlRewrite.h              |  49 +-
 include/proxy/http2/HPACK.h                        |  12 +-
 include/proxy/http2/HTTP2.h                        |  90 +--
 include/proxy/http2/Http2ClientSession.h           |  26 +-
 include/proxy/http2/Http2CommonSession.h           |  60 +-
 include/proxy/http2/Http2ConnectionState.h         | 133 ++--
 include/proxy/http2/Http2DependencyTree.h          |  62 +-
 include/proxy/http2/Http2Frame.h                   |  18 +-
 include/proxy/http2/Http2ServerSession.h           |  24 +-
 include/proxy/http2/Http2SessionAccept.h           |   2 +-
 include/proxy/http2/Http2Stream.h                  | 108 +--
 include/proxy/http3/Http09App.h                    |   2 +-
 include/proxy/http3/Http3.h                        |   2 +-
 include/proxy/http3/Http3App.h                     |  14 +-
 include/proxy/http3/Http3Config.h                  |   6 +-
 include/proxy/http3/Http3DataFramer.h              |   4 +-
 include/proxy/http3/Http3Frame.h                   |  54 +-
 include/proxy/http3/Http3FrameCounter.h            |   4 +-
 include/proxy/http3/Http3FrameDispatcher.h         |   8 +-
 include/proxy/http3/Http3FrameGenerator.h          |   2 +-
 include/proxy/http3/Http3FrameHandler.h            |   6 +-
 include/proxy/http3/Http3HeaderFramer.h            |  26 +-
 include/proxy/http3/Http3HeaderVIOAdaptor.h        |  16 +-
 include/proxy/http3/Http3ProtocolEnforcer.h        |   4 +-
 include/proxy/http3/Http3Session.h                 |  38 +-
 include/proxy/http3/Http3SessionAccept.h           |   2 +-
 include/proxy/http3/Http3SettingsFramer.h          |   6 +-
 include/proxy/http3/Http3SettingsHandler.h         |   4 +-
 include/proxy/http3/Http3StreamDataVIOAdaptor.h    |   8 +-
 include/proxy/http3/Http3Transaction.h             |  56 +-
 include/proxy/http3/Http3Types.h                   |   6 +-
 include/proxy/http3/QPACK.h                        |  58 +-
 include/proxy/logging/Log.h                        |  28 +-
 include/proxy/logging/LogAccess.h                  |  96 +--
 include/proxy/logging/LogBuffer.h                  |  38 +-
 include/proxy/logging/LogConfig.h                  |  42 +-
 include/proxy/logging/LogField.h                   |  64 +-
 include/proxy/logging/LogFieldAliasMap.h           |  16 +-
 include/proxy/logging/LogFile.h                    |  32 +-
 include/proxy/logging/LogFilter.h                  |  36 +-
 include/proxy/logging/LogFormat.h                  |  40 +-
 include/proxy/logging/LogObject.h                  |  54 +-
 include/proxy/logging/LogUtils.h                   |  24 +-
 include/proxy/logging/RolledLogDeleter.h           |   4 +-
 include/proxy/shared/DiagsConfig.h                 |   4 +-
 include/records/RecCore.h                          |  12 +-
 include/records/RecDefs.h                          |  20 +-
 include/records/RecHttp.h                          |  22 +-
 include/records/RecMutex.h                         |   4 +-
 include/records/RecProcess.h                       |   6 +-
 include/records/RecordsConfig.h                    |  21 +-
 include/shared/rpc/IPCSocketClient.h               |   2 +-
 include/shared/rpc/RPCRequests.h                   |  52 +-
 include/ts/InkAPIPrivateIOCore.h                   |  24 +-
 include/ts/apidefs.h.in                            |  62 +-
 include/ts/remap.h                                 |  10 +-
 include/ts/ts.h                                    | 274 +++----
 include/tscore/AcidPtr.h                           |   2 +-
 include/tscore/Allocator.h                         |  12 +-
 include/tscore/Arena.h                             |  24 +-
 include/tscore/ArgParser.h                         |   2 +-
 include/tscore/AtomicBit.h                         |   4 +-
 include/tscore/BaseLogFile.h                       |  36 +-
 include/tscore/ConsistentHash.h                    |   8 +-
 include/tscore/ContFlags.h                         |   6 +-
 include/tscore/CryptoHash.h                        |   4 +-
 include/tscore/Diags.h                             |  12 +-
 include/tscore/DiagsTypes.h                        |  22 +-
 include/tscore/EnumDescriptor.h                    |   4 +-
 include/tscore/EventNotify.h                       |   6 +-
 include/tscore/Extendible.h                        |  78 +-
 include/tscore/FrequencyCounter.h                  |   4 +-
 include/tscore/HKDF.h                              |   2 +-
 include/tscore/HTTPVersion.h                       |   4 +-
 include/tscore/Hash.h                              |  10 +-
 include/tscore/HashFNV.h                           |   8 +-
 include/tscore/HashSip.h                           |  28 +-
 include/tscore/History.h                           |   4 +-
 include/tscore/HostLookup.h                        |  40 +-
 include/tscore/JeMiAllocator.h                     |   8 +-
 include/tscore/List.h                              |  16 +-
 include/tscore/MMH.h                               |   6 +-
 include/tscore/MatcherUtils.h                      |  18 +-
 include/tscore/NumericType.h                       |   4 +-
 include/tscore/ParseRules.h                        |  18 +-
 include/tscore/PluginUserArgs.h                    |  10 +-
 include/tscore/PriorityQueue.h                     |  18 +-
 include/tscore/Ptr.h                               |  25 +-
 include/tscore/Regression.h                        |  38 +-
 include/tscore/Result.h                            |   2 +-
 include/tscore/SimpleTokenizer.h                   |  10 +-
 include/tscore/TestBox.h                           |  10 +-
 include/tscore/TextBuffer.h                        |  10 +-
 include/tscore/Tokenizer.h                         |  24 +-
 include/tscore/Trie.h                              |  12 +-
 include/tscore/TsBuffer.h                          |  18 +-
 include/tscore/Version.h                           |   6 +-
 include/tscore/hugepages.h                         |   8 +-
 include/tscore/ink_aiocb.h                         |   2 +-
 include/tscore/ink_align.h                         |  16 +-
 include/tscore/ink_args.h                          |  36 +-
 include/tscore/ink_cap.h                           |   4 +-
 include/tscore/ink_defs.h                          |   3 +-
 include/tscore/ink_hrtime.h                        |   4 +-
 include/tscore/ink_inet.h                          | 112 +--
 include/tscore/ink_llqueue.h                       |  20 +-
 include/tscore/ink_lockfile.h                      |   2 +-
 include/tscore/ink_memory.h                        |  11 +-
 include/tscore/ink_queue.h                         |  42 +-
 include/tscore/ink_rand.h                          |   6 +-
 include/tscore/ink_resolver.h                      |  54 +-
 include/tscore/ink_resource.h                      |   6 +-
 include/tscore/ink_sock.h                          |   2 +-
 include/tscore/ink_string++.h                      |  32 +-
 include/tscore/ink_string.h                        |   2 +-
 include/tscore/ink_sys_control.h                   |   2 +-
 include/tscore/ink_thread.h                        |  12 +-
 include/tscore/ink_time.h                          |   4 +-
 include/tscore/ink_uuid.h                          |   8 +-
 include/tscpp/api/Async.h                          |   4 +-
 include/tscpp/api/Cleanup.h                        |   2 +-
 include/tscpp/api/Plugin.h                         |   2 +-
 include/tscpp/api/RemapPlugin.h                    |   8 +-
 include/tscpp/api/Request.h                        |   4 +-
 include/tscpp/api/Response.h                       |   4 +-
 include/tscpp/api/TransformationPlugin.h           |   4 +-
 include/tscpp/api/Url.h                            |   4 +-
 include/tsutil/Bravo.h                             |  24 +-
 include/tsutil/DbgCtl.h                            |   2 +-
 include/tsutil/DenseThreadId.h                     |   8 +-
 include/tsutil/Histogram.h                         |   2 +-
 include/tsutil/LocalBuffer.h                       |   6 +-
 include/tsutil/Metrics.h                           | 170 +++--
 include/tsutil/PostScript.h                        |   2 +-
 include/tsutil/Regex.h                             |  60 +-
 include/tsutil/SourceLocation.h                    |   4 +-
 include/tsutil/Strerror.h                          |   2 +-
 include/tsutil/YamlCfg.h                           |   4 +-
 include/tsutil/ts_unit_parser.h                    |   8 +-
 lib/swoc/CMakeLists.txt                            |   2 +-
 lib/swoc/include/swoc/Lexicon.h                    |   3 +-
 lib/swoc/include/swoc/swoc_ip_util.h               |   2 +-
 lib/swoc/include/swoc/swoc_version.h               |   4 +-
 lib/swoc/unit_tests/ex_bw_format.cc                |   2 -
 lib/swoc/unit_tests/test_TextView.cc               |   3 -
 lib/swoc/unit_tests/test_bw_format.cc              |   1 -
 lib/swoc/unit_tests/test_ip.cc                     |   1 -
 lib/swoc/unit_tests/test_range.cc                  |   1 -
 plugins/authproxy/CMakeLists.txt                   |   1 +
 plugins/authproxy/authproxy.cc                     |  94 +--
 plugins/authproxy/utils.cc                         |  14 +-
 plugins/authproxy/utils.h                          |   4 +-
 plugins/background_fetch/CMakeLists.txt            |   3 +-
 plugins/background_fetch/background_fetch.cc       |  50 +-
 plugins/background_fetch/configs.cc                |   4 +-
 plugins/background_fetch/configs.h                 |   6 +-
 plugins/background_fetch/headers.cc                |  14 +-
 plugins/background_fetch/headers.h                 |   2 +-
 plugins/background_fetch/rules.cc                  |   8 +-
 plugins/cache_promote/cache_promote.cc             |   8 +-
 plugins/cache_promote/chance_policy.h              |   6 +-
 plugins/cache_promote/configs.cc                   |   6 +-
 plugins/cache_promote/configs.h                    |   2 +-
 plugins/cache_promote/lru_policy.cc                |  30 +-
 plugins/cache_promote/lru_policy.h                 |  12 +-
 plugins/cache_promote/policy.cc                    |   2 +-
 plugins/cache_promote/policy.h                     |  20 +-
 plugins/cache_promote/policy_manager.h             |   2 +-
 plugins/cache_range_requests/CMakeLists.txt        |   1 +
 .../cache_range_requests/cache_range_requests.cc   |  80 +--
 plugins/cachekey/CMakeLists.txt                    |   1 +
 plugins/cachekey/cachekey.cc                       |  60 +-
 plugins/cachekey/cachekey.h                        |  16 +-
 plugins/cachekey/configs.cc                        |  12 +-
 plugins/cachekey/configs.h                         |  38 +-
 plugins/cachekey/pattern.cc                        |   4 +-
 plugins/cachekey/pattern.h                         |  10 +-
 plugins/certifier/certifier.cc                     |  78 +-
 plugins/compress/CMakeLists.txt                    |   1 +
 plugins/compress/compress.cc                       |  81 +--
 plugins/compress/configuration.cc                  |   6 +-
 plugins/compress/configuration.h                   |  18 +-
 plugins/compress/misc.cc                           |  14 +-
 plugins/compress/misc.h                            |  44 +-
 plugins/conf_remap/CMakeLists.txt                  |   1 +
 plugins/conf_remap/conf_remap.cc                   |  20 +-
 plugins/escalate/CMakeLists.txt                    |   1 +
 plugins/escalate/escalate.cc                       |  20 +-
 plugins/esi/CMakeLists.txt                         |   2 +
 plugins/esi/combo_handler.cc                       | 168 ++---
 plugins/esi/common/Attribute.h                     |   4 +-
 plugins/esi/common/DocNode.cc                      |   4 +-
 plugins/esi/common/DocNode.h                       |   4 +-
 plugins/esi/common/HttpHeader.h                    |   4 +-
 plugins/esi/common/Utils.cc                        |  16 +-
 plugins/esi/common/gzip.cc                         |  18 +-
 plugins/esi/common/gzip.h                          |   2 +-
 plugins/esi/esi.cc                                 | 206 +++---
 plugins/esi/fetcher/HttpDataFetcherImpl.cc         |  18 +-
 plugins/esi/fetcher/HttpDataFetcherImpl.h          |  28 +-
 plugins/esi/lib/EsiGunzip.cc                       |   4 +-
 plugins/esi/lib/EsiGunzip.h                        |   4 +-
 plugins/esi/lib/EsiGzip.cc                         |   4 +-
 plugins/esi/lib/EsiGzip.h                          |   4 +-
 plugins/esi/lib/EsiParser.cc                       |  46 +-
 plugins/esi/lib/EsiParser.h                        |  14 +-
 plugins/esi/lib/EsiProcessor.cc                    |  48 +-
 plugins/esi/lib/EsiProcessor.h                     |  38 +-
 plugins/esi/lib/Expression.cc                      |  20 +-
 plugins/esi/lib/Expression.h                       |   6 +-
 plugins/esi/lib/HandlerManager.h                   |   4 +-
 plugins/esi/lib/SpecialIncludeHandler.h            |   6 +-
 plugins/esi/lib/Stats.cc                           |   4 +-
 plugins/esi/lib/Stats.h                            |   2 +-
 plugins/esi/lib/Variables.cc                       |  16 +-
 plugins/esi/lib/Variables.h                        |  32 +-
 plugins/esi/serverIntercept.cc                     |  42 +-
 plugins/esi/test/StubIncludeHandler.cc             |  10 +-
 plugins/esi/test/StubIncludeHandler.h              |   8 +-
 plugins/esi/test/TestHttpDataFetcher.h             |   4 +-
 plugins/esi/test/docnode_test.cc                   |  72 +-
 plugins/esi/test/gzip_test.cc                      |   4 +-
 plugins/esi/test/parser_test.cc                    | 270 +++----
 plugins/esi/test/print_funcs.cc                    |   4 +-
 plugins/esi/test/processor_test.cc                 | 234 +++---
 plugins/esi/test/sampleProb.cc                     |   8 +-
 plugins/esi/test/utils_test.cc                     |   4 +-
 plugins/esi/test/vars_test.cc                      |  24 +-
 plugins/experimental/access_control/CMakeLists.txt |   4 +-
 .../experimental/access_control/access_control.cc  |  24 +-
 .../experimental/access_control/access_control.h   |  56 +-
 plugins/experimental/access_control/common.h       |   2 +-
 plugins/experimental/access_control/config.cc      |  12 +-
 plugins/experimental/access_control/config.h       |  14 +-
 plugins/experimental/access_control/headers.cc     |  28 +-
 plugins/experimental/access_control/headers.h      |   4 +-
 plugins/experimental/access_control/pattern.cc     |   4 +-
 plugins/experimental/access_control/pattern.h      |  26 +-
 plugins/experimental/access_control/plugin.cc      |  74 +-
 .../unit_tests/test_access_control.cc              |   8 +-
 .../access_control/unit_tests/test_utils.cc        |  58 +-
 plugins/experimental/access_control/utils.cc       |  30 +-
 plugins/experimental/access_control/utils.h        |   2 +-
 plugins/experimental/block_errors/block_errors.cc  |  36 +-
 plugins/experimental/cache_fill/CMakeLists.txt     |   2 +
 .../experimental/cache_fill/background_fetch.cc    |  24 +-
 plugins/experimental/cache_fill/background_fetch.h |  22 +-
 plugins/experimental/cache_fill/cache_fill.cc      |   2 +-
 .../cert_reporting_tool/cert_reporting_tool.cc     |  14 +-
 plugins/experimental/cookie_remap/CMakeLists.txt   |   2 +
 plugins/experimental/cookie_remap/cookie_remap.cc  |  92 +--
 plugins/experimental/cookie_remap/cookiejar.cc     |   4 +-
 plugins/experimental/cookie_remap/cookiejar.h      |   4 +-
 plugins/experimental/cookie_remap/hash.cc          |   2 +-
 plugins/experimental/cookie_remap/strip.cc         |  16 +-
 .../experimental/cookie_remap/test_cookiejar.cc    |  12 +-
 .../custom_redirect/custom_redirect.cc             |  22 +-
 plugins/experimental/fq_pacing/CMakeLists.txt      |   1 +
 plugins/experimental/fq_pacing/fq_pacing.cc        |  36 +-
 plugins/experimental/geoip_acl/CMakeLists.txt      |   1 +
 plugins/experimental/geoip_acl/acl.cc              |  14 +-
 plugins/experimental/geoip_acl/acl.h               |  18 +-
 plugins/experimental/header_freq/header_freq.cc    |  18 +-
 plugins/experimental/hook-trace/hook-trace.cc      |   6 +-
 plugins/experimental/http_stats/CMakeLists.txt     |   1 +
 plugins/experimental/http_stats/http_stats.cc      |  56 +-
 plugins/experimental/icap/icap_plugin.cc           | 114 +--
 plugins/experimental/inliner/ats-inliner.cc        |   6 +-
 plugins/experimental/inliner/cache-handler.h       |  32 +-
 plugins/experimental/inliner/cache.cc              |   2 +-
 plugins/experimental/inliner/cache.h               |   6 +-
 plugins/experimental/inliner/chunk-decoder.cc      |   2 +-
 plugins/experimental/inliner/chunk-decoder.h       |   6 +-
 plugins/experimental/inliner/fetcher.cc            |   6 +-
 plugins/experimental/inliner/fetcher.h             |  30 +-
 plugins/experimental/inliner/html-parser.h         |  12 +-
 plugins/experimental/inliner/inliner-handler.cc    |   6 +-
 plugins/experimental/inliner/inliner-handler.h     |   8 +-
 plugins/experimental/inliner/png.h                 |  10 +-
 plugins/experimental/inliner/ts.h                  |  68 +-
 plugins/experimental/inliner/vconnection.h         |   4 +-
 plugins/experimental/magick/CMakeLists.txt         |   2 +-
 .../magick/image_magic_dlopen_leak_suppression.txt |  21 +
 plugins/experimental/magick/magick.cc              |  36 +-
 plugins/experimental/maxmind_acl/CMakeLists.txt    |   4 +-
 plugins/experimental/maxmind_acl/mmdb.cc           |  28 +-
 plugins/experimental/maxmind_acl/mmdb.h            |  26 +-
 plugins/experimental/memcache/protocol_binary.h    |  20 +-
 plugins/experimental/memcache/tsmemcache.cc        |  22 +-
 plugins/experimental/memcache/tsmemcache.h         |  74 +-
 .../experimental/memory_profile/memory_profile.cc  |   2 +-
 plugins/experimental/money_trace/CMakeLists.txt    |   1 +
 plugins/experimental/money_trace/money_trace.cc    |  34 +-
 plugins/experimental/mp4/CMakeLists.txt            |   1 +
 plugins/experimental/mp4/mp4.cc                    |  74 +-
 plugins/experimental/mp4/mp4_common.h              |  22 +-
 plugins/experimental/mp4/mp4_meta.cc               | 198 +++---
 plugins/experimental/mp4/mp4_meta.h                |  34 +-
 .../otel_tracer}/CMakeLists.txt                    |   5 +-
 plugins/experimental/otel_tracer/otel_tracer.cc    |  70 +-
 plugins/experimental/otel_tracer/tracer_common.h   |   6 +-
 plugins/experimental/rate_limit/CMakeLists.txt     |   1 +
 plugins/experimental/rate_limit/ip_reputation.cc   |   4 +-
 plugins/experimental/rate_limit/ip_reputation.h    |  24 +-
 plugins/experimental/rate_limit/iprep_simu.cc      |  21 +-
 plugins/experimental/rate_limit/limiter.h          |  18 +-
 plugins/experimental/rate_limit/rate_limit.cc      |  24 +-
 plugins/experimental/rate_limit/sni_limiter.cc     |   8 +-
 plugins/experimental/rate_limit/sni_limiter.h      |   6 +-
 plugins/experimental/rate_limit/sni_selector.h     |  21 +-
 plugins/experimental/rate_limit/txn_limiter.cc     |  50 +-
 plugins/experimental/rate_limit/txn_limiter.h      |  21 +-
 plugins/experimental/rate_limit/utilities.cc       |  26 +-
 plugins/experimental/rate_limit/utilities.h        |   4 +-
 plugins/experimental/sslheaders/CMakeLists.txt     |   6 +-
 plugins/experimental/sslheaders/expand.cc          |   2 +-
 plugins/experimental/sslheaders/sslheaders.cc      |  26 +-
 plugins/experimental/sslheaders/sslheaders.h       |   6 +-
 .../sslheaders/unit_tests/test_sslheaders.cc       |  10 +-
 plugins/experimental/sslheaders/util.cc            |   2 +-
 plugins/experimental/stale_response/BodyData.h     |  10 +-
 plugins/experimental/stale_response/CMakeLists.txt |   1 +
 plugins/experimental/stale_response/CacheUpdate.cc |  42 +-
 plugins/experimental/stale_response/CacheUpdate.h  |   6 +-
 plugins/experimental/stale_response/MurmurHash3.cc |   8 +-
 .../experimental/stale_response/ServerIntercept.cc |  32 +-
 .../experimental/stale_response/UrlComponents.h    |   6 +-
 .../experimental/stale_response/stale_response.cc  |  53 +-
 .../experimental/stale_response/stale_response.h   |  93 +--
 .../stale_response/unit_tests/test_BodyData.cc     |   4 +-
 plugins/experimental/stek_share/common.h           |   4 +-
 plugins/experimental/stek_share/log_store.cc       |  24 +-
 plugins/experimental/stek_share/log_store.h        |   4 +-
 plugins/experimental/stek_share/state_machine.h    |  26 +-
 plugins/experimental/stek_share/state_manager.h    |  14 +-
 plugins/experimental/stek_share/stek_share.cc      |  38 +-
 plugins/experimental/stek_share/stek_share.h       |   6 +-
 plugins/experimental/stek_share/stek_utils.cc      |   2 +-
 .../experimental/stream_editor/stream_editor.cc    | 110 +--
 plugins/experimental/system_stats/system_stats.cc  |   6 +-
 plugins/experimental/tls_bridge/CMakeLists.txt     |   3 +-
 plugins/experimental/tls_bridge/tls_bridge.cc      |  52 +-
 plugins/experimental/txn_box/plugin/CMakeLists.txt |   3 +
 .../txn_box/plugin/include/txn_box/Comparison.h    |   2 +-
 .../txn_box/plugin/include/txn_box/Config.h        |  20 +-
 .../txn_box/plugin/include/txn_box/Context.h       |  38 +-
 .../txn_box/plugin/include/txn_box/Directive.h     |  12 +-
 .../txn_box/plugin/include/txn_box/Expr.h          |   8 +-
 .../txn_box/plugin/include/txn_box/Extractor.h     |   6 +-
 .../txn_box/plugin/include/txn_box/FeatureGroup.h  |  10 +-
 .../txn_box/plugin/include/txn_box/Rxp.h           |   8 +-
 .../txn_box/plugin/include/txn_box/accl_util.h     |  79 +-
 .../txn_box/plugin/include/txn_box/common.h        |  28 +-
 .../txn_box/plugin/include/txn_box/ts_util.h       |  30 +-
 .../experimental/txn_box/plugin/src/Comparison.cc  | 112 +--
 plugins/experimental/txn_box/plugin/src/Config.cc  |  44 +-
 plugins/experimental/txn_box/plugin/src/Context.cc |  12 +-
 plugins/experimental/txn_box/plugin/src/Ex_Base.cc |  62 +-
 plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc | 156 ++--
 plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc  |  80 +--
 .../experimental/txn_box/plugin/src/Extractor.cc   |  20 +-
 .../experimental/txn_box/plugin/src/Machinery.cc   | 286 ++++----
 .../experimental/txn_box/plugin/src/Modifier.cc    |  60 +-
 plugins/experimental/txn_box/plugin/src/Rxp.cc     |  10 +-
 .../experimental/txn_box/plugin/src/ex_tcp_info.cc |  12 +-
 .../experimental/txn_box/plugin/src/ip_space.cc    |  90 +--
 plugins/experimental/txn_box/plugin/src/query.cc   |  99 ++-
 plugins/experimental/txn_box/plugin/src/stats.cc   |  32 +-
 .../experimental/txn_box/plugin/src/text_block.cc  |  40 +-
 plugins/experimental/txn_box/plugin/src/ts_util.cc |  94 +--
 plugins/experimental/txn_box/plugin/src/txn_box.cc |  24 +-
 .../txn_box/plugin/src/txn_box_remap.cc            |   8 +-
 plugins/experimental/txn_box/plugin/src/util.cc    |  16 +-
 .../experimental/txn_box/plugin/src/yaml_util.cc   |   2 +-
 .../txn_box/unit_tests/test_accl_utils.cc          |  28 +-
 plugins/experimental/uri_signing/CMakeLists.txt    |   2 +
 plugins/experimental/uri_signing/config.cc         |  38 +-
 plugins/experimental/uri_signing/config.h          |  20 +-
 plugins/experimental/uri_signing/cookie.cc         |   4 +-
 plugins/experimental/uri_signing/jwt.cc            |  30 +-
 plugins/experimental/uri_signing/jwt.h             |  26 +-
 plugins/experimental/uri_signing/normalize.cc      |  22 +-
 plugins/experimental/uri_signing/parse.cc          |   8 +-
 plugins/experimental/uri_signing/timing.cc         |   2 +-
 plugins/experimental/uri_signing/timing.h          |   2 +-
 .../uri_signing/unit_tests/uri_signing_test.cc     |  20 +-
 plugins/experimental/uri_signing/uri_signing.cc    |  54 +-
 plugins/experimental/url_sig/CMakeLists.txt        |   1 +
 plugins/experimental/url_sig/url_sig.cc            |  92 +--
 .../{tls_bridge => wasm}/CMakeLists.txt            |   7 +-
 plugins/experimental/wasm/ats_context.cc           | 372 +++++-----
 plugins/experimental/wasm/ats_context.h            |  52 +-
 plugins/experimental/wasm/ats_wasm.cc              |   2 +-
 plugins/experimental/wasm/ats_wasm.h               |  12 +-
 .../experimental/wasm/examples/cpp/myproject.cc    |   2 +-
 .../wasm/examples/transform/transform.cc           |   4 +-
 .../{stale_response => wasm/lib}/CMakeLists.txt    |  37 +-
 plugins/experimental/wasm/wasm_main.cc             |  68 +-
 plugins/generator/CMakeLists.txt                   |   1 +
 plugins/generator/generator.cc                     |  58 +-
 plugins/header_rewrite/CMakeLists.txt              |   3 +-
 plugins/header_rewrite/condition.h                 |   6 +-
 plugins/header_rewrite/conditions.cc               |  80 +--
 plugins/header_rewrite/conditions.h                |  40 +-
 plugins/header_rewrite/conditions_geo.h            |   4 +-
 plugins/header_rewrite/conditions_geo_geoip.cc     |   4 +-
 plugins/header_rewrite/conditions_geo_maxmind.cc   |   4 +-
 plugins/header_rewrite/factory.cc                  |   6 +-
 plugins/header_rewrite/factory.h                   |   2 +-
 plugins/header_rewrite/header_rewrite.cc           |  68 +-
 plugins/header_rewrite/lulu.h                      |  11 +-
 plugins/header_rewrite/matcher.h                   |  10 +-
 plugins/header_rewrite/operator.h                  |   4 +-
 plugins/header_rewrite/operators.cc                | 115 ++-
 plugins/header_rewrite/operators.h                 |  54 +-
 plugins/header_rewrite/parser.cc                   |  22 +-
 plugins/header_rewrite/parser.h                    |  28 +-
 plugins/header_rewrite/regex_helper.cc             |   2 +-
 plugins/header_rewrite/regex_helper.h              |   8 +-
 plugins/header_rewrite/resources.h                 |  18 +-
 plugins/header_rewrite/ruleset.cc                  |   2 +-
 plugins/header_rewrite/ruleset.h                   |  14 +-
 plugins/header_rewrite/statement.cc                |   2 +-
 plugins/header_rewrite/statement.h                 |   8 +-
 plugins/header_rewrite/value.cc                    |   3 +-
 plugins/header_rewrite/value.h                     |   6 +-
 plugins/healthchecks/healthchecks.cc               |  86 +--
 plugins/ja3_fingerprint/CMakeLists.txt             |   1 +
 plugins/ja3_fingerprint/ja3_fingerprint.cc         |  44 +-
 plugins/libloader/libloader.cc                     |   8 +-
 plugins/lua/CMakeLists.txt                         |   1 +
 plugins/lua/ts_lua.cc                              |  66 +-
 plugins/lua/ts_lua_cached_response.cc              |  34 +-
 plugins/lua/ts_lua_client_request.cc               | 134 ++--
 plugins/lua/ts_lua_client_response.cc              |  67 +-
 plugins/lua/ts_lua_common.h                        |  38 +-
 plugins/lua/ts_lua_context.cc                      |   4 +-
 plugins/lua/ts_lua_coroutine.cc                    |   2 +-
 plugins/lua/ts_lua_coroutine.h                     |  36 +-
 plugins/lua/ts_lua_crypto.cc                       |  72 +-
 plugins/lua/ts_lua_fetch.cc                        |  96 +--
 plugins/lua/ts_lua_fetch.h                         |  14 +-
 plugins/lua/ts_lua_hook.cc                         |   4 +-
 plugins/lua/ts_lua_http.cc                         | 130 ++--
 plugins/lua/ts_lua_http_cntl.cc                    |   8 +-
 plugins/lua/ts_lua_http_config.cc                  |  44 +-
 plugins/lua/ts_lua_http_intercept.cc               |  58 +-
 plugins/lua/ts_lua_http_milestone.cc               |   6 +-
 plugins/lua/ts_lua_http_txn_info.cc                |   2 +-
 plugins/lua/ts_lua_io.cc                           |   4 +-
 plugins/lua/ts_lua_log.cc                          |   8 +-
 plugins/lua/ts_lua_mgmt.cc                         |  16 +-
 plugins/lua/ts_lua_misc.cc                         |  66 +-
 plugins/lua/ts_lua_package.cc                      |  50 +-
 plugins/lua/ts_lua_remap.cc                        |  16 +-
 plugins/lua/ts_lua_server_request.cc               | 134 ++--
 plugins/lua/ts_lua_server_response.cc              |  46 +-
 plugins/lua/ts_lua_stat.cc                         |  14 +-
 plugins/lua/ts_lua_transform.cc                    |  42 +-
 plugins/lua/ts_lua_util.cc                         |  90 +--
 plugins/lua/ts_lua_util.h                          |  26 +-
 plugins/lua/ts_lua_vconn.cc                        |   8 +-
 plugins/multiplexer/CMakeLists.txt                 |   2 +
 plugins/multiplexer/ats-multiplexer.cc             |   4 +-
 plugins/multiplexer/chunk-decoder.cc               |   2 +-
 plugins/multiplexer/chunk-decoder.h                |   8 +-
 plugins/multiplexer/dispatch.cc                    |  26 +-
 plugins/multiplexer/dispatch.h                     |   6 +-
 plugins/multiplexer/fetcher.cc                     |   6 +-
 plugins/multiplexer/fetcher.h                      |  30 +-
 plugins/multiplexer/original-request.cc            |   4 +-
 plugins/multiplexer/original-request.h             |   8 +-
 plugins/multiplexer/post.h                         |   2 +-
 plugins/multiplexer/ts.h                           |   4 +-
 plugins/prefetch/CMakeLists.txt                    |   2 +
 plugins/prefetch/configs.cc                        |   2 +-
 plugins/prefetch/configs.h                         |  28 +-
 plugins/prefetch/evaluate.cc                       |  18 +-
 plugins/prefetch/fetch.cc                          |  26 +-
 plugins/prefetch/fetch.h                           |  56 +-
 plugins/prefetch/fetch_policy.cc                   |   2 +-
 plugins/prefetch/fetch_policy.h                    |  12 +-
 plugins/prefetch/fetch_policy_lru.cc               |   2 +-
 plugins/prefetch/fetch_policy_lru.h                |  14 +-
 plugins/prefetch/fetch_policy_simple.h             |  10 +-
 plugins/prefetch/headers.cc                        |  28 +-
 plugins/prefetch/headers.h                         |   4 +-
 plugins/prefetch/pattern.cc                        |   4 +-
 plugins/prefetch/pattern.h                         |  12 +-
 plugins/prefetch/plugin.cc                         |  96 +--
 plugins/prefetch/test/test_evaluate.cc             |  14 +-
 plugins/regex_remap/CMakeLists.txt                 |   2 +
 plugins/regex_remap/regex_remap.cc                 | 108 +--
 plugins/regex_revalidate/regex_revalidate.cc       | 102 +--
 plugins/remap_purge/CMakeLists.txt                 |   2 +
 plugins/remap_purge/remap_purge.cc                 |  40 +-
 plugins/remap_stats/CMakeLists.txt                 |   1 -
 plugins/remap_stats/remap_stats.cc                 |  28 +-
 plugins/s3_auth/CMakeLists.txt                     |   4 +-
 plugins/s3_auth/aws_auth_v4.cc                     |  48 +-
 plugins/s3_auth/aws_auth_v4.h                      |  36 +-
 plugins/s3_auth/aws_auth_v4_wrap.h                 |   8 +-
 plugins/s3_auth/s3_auth.cc                         |  96 +--
 plugins/s3_auth/unit_tests/test_aws_auth_v4.cc     |  94 +--
 plugins/s3_auth/unit_tests/test_aws_auth_v4.h      |  12 +-
 plugins/server_push_preload/server_push_preload.cc |  18 +-
 plugins/slice/CMakeLists.txt                       |   4 +-
 plugins/slice/Config.cc                            |  14 +-
 plugins/slice/Config.h                             |  16 +-
 plugins/slice/Data.h                               |  10 +-
 plugins/slice/HttpHeader.cc                        |  22 +-
 plugins/slice/HttpHeader.h                         |  12 +-
 plugins/slice/Range.cc                             |  26 +-
 plugins/slice/Stage.h                              |   4 +-
 plugins/slice/client.cc                            |  16 +-
 plugins/slice/prefetch.cc                          |  12 +-
 plugins/slice/prefetch.h                           |   6 +-
 plugins/slice/response.cc                          |  16 +-
 plugins/slice/server.cc                            |  66 +-
 plugins/slice/slice.cc                             |  20 +-
 plugins/slice/slice_test.cc                        |   8 +-
 plugins/slice/transfer.cc                          |  10 +-
 plugins/slice/unit-tests/slice_test.cc             |   8 +-
 plugins/slice/unit-tests/test_config.cc            |  16 +-
 plugins/slice/unit-tests/test_content_range.cc     |   4 +-
 plugins/slice/util.cc                              |   8 +-
 plugins/statichit/CMakeLists.txt                   |   1 +
 plugins/statichit/statichit.cc                     |  72 +-
 plugins/stats_over_http/stats_over_http.cc         |  88 +--
 plugins/tcpinfo/tcpinfo.cc                         |  56 +-
 plugins/traffic_dump/session_data.cc               |  36 +-
 plugins/traffic_dump/traffic_dump.cc               |  18 +-
 plugins/traffic_dump/transaction_data.cc           |  32 +-
 plugins/webp_transform/CMakeLists.txt              |   2 +-
 plugins/webp_transform/ImageTransform.cc           |  12 +-
 .../image_magic_dlopen_leak_suppression.txt        |  21 +
 plugins/xdebug/xdebug.cc                           |  80 +--
 plugins/xdebug/xdebug_headers.cc                   |  14 +-
 plugins/xdebug/xdebug_transforms.cc                |   2 +-
 src/api/APIHooks.cc                                |   4 +-
 src/api/ConfigUpdateCbTable.cc                     |   6 +-
 src/api/InkAPI.cc                                  | 505 ++++++-------
 src/api/InkAPIInternal.cc                          |  15 +-
 src/api/InkAPITest.cc                              | 792 ++++++++++-----------
 src/api/InkIOCoreAPI.cc                            |  26 +-
 src/cripts/Connections.cc                          |  24 +-
 src/cripts/Crypto.cc                               |  14 +-
 src/cripts/Geo.cc                                  |   2 +-
 src/cripts/Headers.cc                              |  20 +-
 src/cripts/Instance.cc                             |   2 +-
 src/cripts/Lulu.cc                                 |  12 +-
 src/cripts/Matcher.cc                              |  14 +-
 src/cripts/Plugins.cc                              |  15 +-
 src/cripts/UUID.cc                                 |   6 +-
 src/cripts/Urls.cc                                 |  16 +-
 src/iocore/aio/AIO.cc                              |  32 +-
 src/iocore/aio/AIO_fault_injection.cc              |  16 +-
 src/iocore/aio/P_AIO.h                             |  22 +-
 src/iocore/aio/test_AIO.cc                         |  65 +-
 src/iocore/cache/Cache.cc                          | 198 +++---
 src/iocore/cache/CacheDir.cc                       |  82 +--
 src/iocore/cache/CacheDisk.cc                      |  10 +-
 src/iocore/cache/CacheEvacuateDocVC.cc             |   6 +-
 {include => src}/iocore/cache/CacheEvacuateDocVC.h |   2 +-
 src/iocore/cache/CacheHosting.cc                   |  76 +-
 src/iocore/cache/CacheHttp.cc                      |  10 +-
 src/iocore/cache/CacheRead.cc                      |  54 +-
 src/iocore/cache/CacheTest.cc                      |  56 +-
 src/iocore/cache/CacheVC.cc                        |  40 +-
 src/iocore/cache/CacheWrite.cc                     |  70 +-
 src/iocore/cache/HttpTransactCache.cc              | 262 +++----
 src/iocore/cache/P_CacheArray.h                    |  18 +-
 src/iocore/cache/P_CacheDir.h                      | 110 +--
 src/iocore/cache/P_CacheDisk.h                     |  92 +--
 src/iocore/cache/P_CacheDoc.h                      |   6 +-
 src/iocore/cache/P_CacheHosting.h                  |  58 +-
 src/iocore/cache/P_CacheHttp.h                     |  18 +-
 src/iocore/cache/P_CacheInternal.h                 |  42 +-
 src/iocore/cache/P_CacheStats.h                    |  24 +-
 src/iocore/cache/P_CacheTest.h                     |  64 +-
 src/iocore/cache/P_CacheVol.h                      | 168 ++---
 src/iocore/cache/P_RamCache.h                      |   8 +-
 src/iocore/cache/RamCacheCLFUS.cc                  |  74 +-
 src/iocore/cache/RamCacheLRU.cc                    |  58 +-
 src/iocore/cache/Store.cc                          |  24 +-
 src/iocore/cache/Stripe.cc                         |  68 +-
 src/iocore/cache/unit_tests/CacheTestHandler.h     |   6 +-
 src/iocore/cache/unit_tests/main.cc                |  23 +-
 src/iocore/cache/unit_tests/main.h                 |  32 +-
 src/iocore/cache/unit_tests/stub.cc                |   2 +-
 .../cache/unit_tests/test_Alternate_L_to_S.cc      |  14 +-
 .../unit_tests/test_Alternate_L_to_S_remove_L.cc   |  22 +-
 .../unit_tests/test_Alternate_L_to_S_remove_S.cc   |  22 +-
 .../cache/unit_tests/test_Alternate_S_to_L.cc      |  14 +-
 .../unit_tests/test_Alternate_S_to_L_remove_L.cc   |  22 +-
 .../unit_tests/test_Alternate_S_to_L_remove_S.cc   |  22 +-
 src/iocore/cache/unit_tests/test_Cache.cc          |   4 +-
 src/iocore/cache/unit_tests/test_CacheDir.cc       |   8 +-
 src/iocore/cache/unit_tests/test_CacheVol.cc       |  51 +-
 src/iocore/cache/unit_tests/test_Disk_Failure.cc   |   4 +-
 .../cache/unit_tests/test_Disk_Init_Failure.cc     |   6 +-
 .../cache/unit_tests/test_Populated_Cache.cc       |   4 +-
 .../test_Populated_Cache_Disk_Failure.cc           |   4 +-
 src/iocore/cache/unit_tests/test_RWW.cc            |  24 +-
 src/iocore/cache/unit_tests/test_Stripe.cc         | 164 ++++-
 src/iocore/cache/unit_tests/test_Update_L_to_S.cc  |  10 +-
 src/iocore/cache/unit_tests/test_Update_S_to_L.cc  |  10 +-
 src/iocore/cache/unit_tests/test_Update_header.cc  |  12 +-
 src/iocore/dns/DNS.cc                              | 134 ++--
 src/iocore/dns/DNSConnection.cc                    |  10 +-
 src/iocore/dns/DNSEventIO.cc                       |   1 +
 src/iocore/dns/P_DNSConnection.h                   |  14 +-
 src/iocore/dns/P_DNSProcessor.h                    | 124 ++--
 src/iocore/dns/P_SplitDNSProcessor.h               |  12 +-
 src/iocore/dns/SplitDNS.cc                         |  38 +-
 src/iocore/dns/test_P_DNS.cc                       |   6 +-
 src/iocore/eventsystem/ConfigProcessor.cc          |  18 +-
 src/iocore/eventsystem/EventSystem.cc              |   4 +-
 src/iocore/eventsystem/IOBuffer.cc                 |  32 +-
 src/iocore/eventsystem/MIOBufferWriter.cc          |   2 +-
 src/iocore/eventsystem/PQ-List.cc                  |   2 +-
 src/iocore/eventsystem/P_EventSystem.h             |   2 +-
 src/iocore/eventsystem/P_IOBuffer.h                |  22 +-
 src/iocore/eventsystem/P_UnixEventProcessor.h      |   6 +-
 src/iocore/eventsystem/ProxyAllocator.cc           |   8 +-
 src/iocore/eventsystem/RecProcess.cc               |  18 +-
 src/iocore/eventsystem/RecRawStatsImpl.cc          |   2 +-
 src/iocore/eventsystem/SocketManager.cc            |   2 +-
 src/iocore/eventsystem/Tasks.cc                    |   2 +-
 src/iocore/eventsystem/Thread.cc                   |  13 +-
 src/iocore/eventsystem/UnixEThread.cc              |   2 +-
 src/iocore/eventsystem/UnixEventProcessor.cc       |  40 +-
 .../eventsystem/unit_tests/test_EventSystem.cc     |   2 +-
 src/iocore/eventsystem/unit_tests/test_IOBuffer.cc |  22 +-
 .../eventsystem/unit_tests/test_MIOBufferWriter.cc |   8 +-
 src/iocore/hostdb/HostDB.cc                        | 150 ++--
 src/iocore/hostdb/HostDBInfo.cc                    |   4 +-
 src/iocore/hostdb/HostFile.cc                      |   8 +-
 src/iocore/hostdb/P_HostDBProcessor.h              |  42 +-
 src/iocore/hostdb/P_RefCountCache.h                |  64 +-
 src/iocore/hostdb/test_HostFile.cc                 |   2 +-
 src/iocore/hostdb/test_P_HostDB.cc                 |   6 +-
 src/iocore/hostdb/test_RefCountCache.cc            |  14 +-
 src/iocore/io_uring/io_uring.cc                    |  20 +-
 src/iocore/io_uring/unit_tests/test_diskIO.cc      |  18 +-
 src/iocore/net/ALPNSupport.cc                      |  14 +-
 src/iocore/net/BoringSSLUtils.cc                   |   6 +-
 src/iocore/net/Connection.cc                       |  25 +-
 src/iocore/net/ConnectionTracker.cc                |  42 +-
 src/iocore/net/EventIO.cc                          |   9 +-
 src/iocore/net/Net.cc                              |   1 -
 src/iocore/net/NetHandler.cc                       | 120 ++--
 src/iocore/net/NetVCTest.cc                        |  30 +-
 src/iocore/net/NetVConnection.cc                   |  10 +-
 src/iocore/net/OCSPStapling.cc                     | 178 ++---
 src/iocore/net/P_CompletionUtil.h                  |  24 +-
 src/iocore/net/P_Connection.h                      |  14 +-
 src/iocore/net/P_Net.h                             |  26 +-
 src/iocore/net/P_NetAccept.h                       |  32 +-
 src/iocore/net/P_NetVCTest.h                       |  16 +-
 src/iocore/net/P_QUICNet.h                         |   8 +-
 src/iocore/net/P_QUICNetProcessor.h                |   6 +-
 src/iocore/net/P_QUICNetVConnection.h              |  84 +--
 src/iocore/net/P_QUICPacketHandler.h               |  10 +-
 src/iocore/net/P_SSLCertLookup.h                   |  55 +-
 src/iocore/net/P_SSLConfig.h                       | 104 +--
 src/iocore/net/P_SSLNetAccept.h                    |   2 +-
 src/iocore/net/P_SSLNetVConnection.h               |  64 +-
 src/iocore/net/P_SSLNextProtocolAccept.h           |   8 +-
 src/iocore/net/P_SSLNextProtocolSet.h              |   4 +-
 src/iocore/net/P_SSLSecret.h                       |   8 +-
 src/iocore/net/P_SSLUtils.h                        |  77 +-
 src/iocore/net/P_Socks.h                           |  40 +-
 src/iocore/net/P_UDPConnection.h                   |  12 +-
 src/iocore/net/P_UDPIOEvent.h                      |  16 +-
 src/iocore/net/P_UDPNet.h                          |  40 +-
 src/iocore/net/P_UnixNet.h                         |  14 +-
 src/iocore/net/P_UnixNetProcessor.h                |   2 +-
 src/iocore/net/P_UnixNetState.h                    |  54 --
 src/iocore/net/P_UnixNetVConnection.h              |  65 +-
 src/iocore/net/P_UnixPollDescriptor.h              |  16 +-
 src/iocore/net/P_UnixUDPConnection.h               |  12 +-
 src/iocore/net/ProxyProtocol.cc                    |  56 +-
 src/iocore/net/QUICMultiCertConfigLoader.cc        |   5 +-
 src/iocore/net/QUICNet.cc                          |  14 +-
 src/iocore/net/QUICNetProcessor.cc                 |  33 +-
 src/iocore/net/QUICNetVConnection.cc               | 107 +--
 src/iocore/net/QUICNextProtocolAccept.cc           |  12 +-
 src/iocore/net/QUICPacketHandler.cc                |  65 +-
 src/iocore/net/ReadWriteEventIO.cc                 |   8 +-
 src/iocore/net/SNIActionPerformer.cc               |  31 +-
 src/iocore/net/SNIActionPerformer.h                |  28 +-
 src/iocore/net/SSLAPIHooks.cc                      |  10 +-
 src/iocore/net/SSLCertLookup.cc                    |  52 +-
 src/iocore/net/SSLClientUtils.cc                   |  41 +-
 src/iocore/net/SSLConfig.cc                        | 127 ++--
 src/iocore/net/SSLDiags.cc                         |  12 +-
 src/iocore/net/SSLDynlock.cc                       |  19 +-
 src/iocore/net/SSLDynlock.h                        |   4 +-
 src/iocore/net/SSLNetProcessor.cc                  |   6 +-
 src/iocore/net/SSLNetVConnection.cc                | 177 ++---
 src/iocore/net/SSLNextProtocolAccept.cc            |  14 +-
 src/iocore/net/SSLNextProtocolSet.cc               |  10 +-
 src/iocore/net/SSLSNIConfig.cc                     |  23 +-
 src/iocore/net/SSLSecret.cc                        |  38 +-
 src/iocore/net/SSLSessionCache.cc                  |  49 +-
 src/iocore/net/SSLSessionCache.h                   |  12 +-
 src/iocore/net/SSLStats.cc                         |  15 +-
 src/iocore/net/SSLStats.h                          |  10 +-
 src/iocore/net/SSLUtils.cc                         | 168 ++---
 src/iocore/net/Socks.cc                            |  20 +-
 src/iocore/net/TLSBasicSupport.cc                  |   8 +-
 src/iocore/net/TLSCertSwitchSupport.cc             |  17 +-
 src/iocore/net/TLSEarlyDataSupport.cc              |  15 +-
 src/iocore/net/TLSKeyLogger.cc                     |  12 +-
 src/iocore/net/TLSSNISupport.cc                    |   8 +-
 src/iocore/net/TLSSessionResumptionSupport.cc      |  26 +-
 src/iocore/net/UDPEventIO.cc                       |   8 +-
 src/iocore/net/UnixConnection.cc                   |  22 +-
 src/iocore/net/UnixNet.cc                          |  18 +-
 src/iocore/net/UnixNetAccept.cc                    |  54 +-
 src/iocore/net/UnixNetProcessor.cc                 |  10 +-
 src/iocore/net/UnixNetVConnection.cc               |  82 ++-
 src/iocore/net/UnixUDPNet.cc                       | 178 +++--
 src/iocore/net/YamlSNIConfig.cc                    |  47 +-
 src/iocore/net/quic/QUICGlobals.cc                 |  12 +-
 src/iocore/net/quic/QUICIntUtil.cc                 |   2 +-
 src/iocore/net/quic/QUICStream.cc                  |   4 +-
 src/iocore/net/quic/QUICStreamManager.cc           |   6 +-
 src/iocore/net/quic/QUICStreamVCAdapter.cc         |  12 +
 src/iocore/net/quic/QUICTransportParameters.cc     |  80 +--
 src/iocore/net/quic/QUICTypes.cc                   |  16 +-
 src/iocore/net/quic/test/test_QUICInvariants.cc    |  50 +-
 src/iocore/net/quic/test/test_QUICTypeUtil.cc      |  64 +-
 src/iocore/net/quic/test_MTHashTable.cc            |   2 +-
 src/iocore/net/test_I_UDPNet.cc                    |   4 +-
 src/iocore/net/test_P_Net.cc                       |   6 +-
 src/iocore/net/test_certlookup.cc                  |  22 +-
 src/iocore/net/unit_tests/test_SSLSNIConfig.cc     |   4 +-
 src/iocore/net/unit_tests/test_YamlSNIConfig.cc    |   4 +-
 src/iocore/net/unit_tests/unit_test_main.cc        |   1 -
 src/iocore/utils/Machine.cc                        |  10 +-
 src/iocore/utils/OneWayMultiTunnel.cc              |  10 +-
 src/iocore/utils/OneWayTunnel.cc                   |  14 +-
 src/mgmt/config/AddConfigFilesHere.cc              |   2 +-
 src/mgmt/config/FileManager.cc                     |  16 +-
 src/mgmt/rpc/config/JsonRPCConfig.cc               |   2 +-
 src/mgmt/rpc/handlers/common/RecordsUtils.cc       | 123 +---
 .../mgmt/rpc/handlers/common/RecordsUtils.h        |  13 -
 .../mgmt/rpc/handlers/common/convert.h             |   2 +-
 src/mgmt/rpc/handlers/config/Configuration.cc      |  11 +-
 src/mgmt/rpc/handlers/plugins/Plugins.cc           |   4 +-
 src/mgmt/rpc/handlers/records/Records.cc           |   8 +-
 src/mgmt/rpc/handlers/server/Server.cc             |   8 +-
 src/mgmt/rpc/handlers/storage/Storage.cc           |   6 +-
 src/mgmt/rpc/jsonrpc/JsonRPCManager.cc             |  23 +-
 .../rpc/jsonrpc/unit_tests/test_basic_protocol.cc  |  30 +-
 src/mgmt/rpc/server/IPCSocketServer.cc             |   6 +-
 src/mgmt/rpc/server/unit_tests/test_rpcserver.cc   |  58 +-
 src/proxy/CacheControl.cc                          |  14 +-
 src/proxy/ControlBase.cc                           |  98 +--
 src/proxy/ControlMatcher.cc                        |  46 +-
 src/proxy/FetchSM.cc                               |  40 +-
 src/proxy/HostStatus.cc                            |  40 +-
 src/proxy/IPAllow.cc                               |  26 +-
 src/proxy/ParentConsistentHash.cc                  |  26 +-
 src/proxy/ParentRoundRobin.cc                      |  10 +-
 src/proxy/ParentSelection.cc                       |  82 +--
 src/proxy/ParentSelectionStrategy.cc               |   6 +-
 src/proxy/Plugin.cc                                |  28 +-
 src/proxy/PluginVC.cc                              |  20 +-
 src/proxy/ProtocolProbeSessionAccept.cc            |  24 +-
 src/proxy/ProxySession.cc                          |   1 +
 src/proxy/RegressionSM.cc                          |   4 +-
 src/proxy/ReverseProxy.cc                          |   4 +-
 src/proxy/Transform.cc                             |  16 +-
 src/proxy/hdrs/HTTP.cc                             |  78 +-
 src/proxy/hdrs/HdrHeap.cc                          |  38 +-
 src/proxy/hdrs/HdrTSOnly.cc                        |   4 +-
 src/proxy/hdrs/HdrToken.cc                         |  24 +-
 src/proxy/hdrs/HdrUtils.cc                         |   4 +-
 src/proxy/hdrs/HeaderValidator.cc                  |  18 +-
 src/proxy/hdrs/HttpCompat.cc                       |  32 +-
 src/proxy/hdrs/HuffmanCodec.cc                     |  14 +-
 src/proxy/hdrs/MIME.cc                             | 170 ++---
 src/proxy/hdrs/URL.cc                              |  78 +-
 src/proxy/hdrs/VersionConverter.cc                 |  40 +-
 src/proxy/hdrs/XPACK.cc                            |  44 +-
 src/proxy/hdrs/load_http_hdr.cc                    |  14 +-
 src/proxy/hdrs/test_urlhash.cc                     |   8 +-
 src/proxy/hdrs/unit_tests/test_HdrHeap.cc          |   2 +-
 src/proxy/hdrs/unit_tests/test_HdrUtils.cc         |  26 +-
 src/proxy/hdrs/unit_tests/test_Hdrs.cc             | 183 ++---
 src/proxy/hdrs/unit_tests/test_Huffmancode.cc      |  32 +-
 src/proxy/hdrs/unit_tests/test_URL.cc              |  24 +-
 src/proxy/hdrs/unit_tests/test_XPACK.cc            |  28 +-
 src/proxy/hdrs/unit_tests/test_mime.cc             |   8 +-
 src/proxy/http/ConnectingEntry.cc                  |  22 +-
 src/proxy/http/Http1ClientSession.cc               |  37 +-
 src/proxy/http/Http1ServerSession.cc               |  16 +-
 src/proxy/http/HttpBodyFactory.cc                  | 183 ++---
 src/proxy/http/HttpCacheSM.cc                      |  60 +-
 src/proxy/http/HttpConfig.cc                       | 102 ++-
 src/proxy/http/HttpProxyServerMain.cc              |  26 +-
 src/proxy/http/HttpSM.cc                           | 282 ++++----
 src/proxy/http/HttpSessionAccept.cc                |  16 +-
 src/proxy/http/HttpSessionManager.cc               | 130 ++--
 src/proxy/http/HttpTransact.cc                     | 260 +++----
 src/proxy/http/HttpTransactHeaders.cc              | 124 ++--
 src/proxy/http/HttpTunnel.cc                       | 127 ++--
 src/proxy/http/PreWarmManager.cc                   |  98 +--
 src/proxy/http/RegressionHttpTransact.cc           |  24 +-
 src/proxy/http/TestUrl.cc                          |   2 +-
 src/proxy/http/remap/AclFiltering.cc               |   6 +-
 src/proxy/http/remap/CMakeLists.txt                |   4 +
 src/proxy/http/remap/NextHopConsistentHash.cc      |  50 +-
 src/proxy/http/remap/NextHopHealthStatus.cc        |  18 +-
 src/proxy/http/remap/NextHopRoundRobin.cc          |  38 +-
 src/proxy/http/remap/NextHopSelectionStrategy.cc   |  16 +-
 src/proxy/http/remap/NextHopStrategyFactory.cc     |  24 +-
 src/proxy/http/remap/PluginDso.cc                  |  80 ++-
 src/proxy/http/remap/PluginFactory.cc              |  54 +-
 src/proxy/http/remap/RemapConfig.cc                | 201 +++---
 src/proxy/http/remap/RemapPluginInfo.cc            |  30 +-
 src/proxy/http/remap/RemapPlugins.cc               |  38 +-
 src/proxy/http/remap/RemapProcessor.cc             |  86 +--
 src/proxy/http/remap/UrlMapping.cc                 |  36 +-
 src/proxy/http/remap/UrlMappingPathIndex.cc        |  31 +-
 src/proxy/http/remap/UrlRewrite.cc                 | 169 +++--
 src/proxy/http/remap/unit-tests/CMakeLists.txt     | 176 +++++
 .../http/remap/unit-tests/nexthop_test_stubs.cc    |   4 +-
 .../http/remap/unit-tests/nexthop_test_stubs.h     |   4 +-
 .../http/remap/unit-tests/plugin_testing_common.cc |   4 +-
 .../http/remap/unit-tests/plugin_testing_common.h  |  32 +-
 .../remap/unit-tests/test_NextHopConsistentHash.cc |  44 +-
 .../remap/unit-tests/test_NextHopRoundRobin.cc     |  33 +-
 .../unit-tests/test_NextHopStrategyFactory.cc      |  10 +-
 src/proxy/http/remap/unit-tests/test_PluginDso.cc  |  28 +-
 .../http/remap/unit-tests/test_PluginFactory.cc    | 102 +--
 .../http/remap/unit-tests/test_RemapPlugin.cc      |  64 +-
 src/proxy/http/test_socket_close.cc                |  44 +-
 src/proxy/http/testheaders.cc                      |   8 +-
 src/proxy/http/unit_tests/test_HttpTransact.cc     |  48 +-
 src/proxy/http/unit_tests/test_HttpUserAgent.cc    |   6 +-
 .../http/unit_tests/test_error_page_selection.cc   |  14 +-
 src/proxy/http2/HPACK.cc                           |  66 +-
 src/proxy/http2/HTTP2.cc                           | 104 +--
 src/proxy/http2/Http2ClientSession.cc              |   6 +-
 src/proxy/http2/Http2CommonSession.cc              |  11 +-
 src/proxy/http2/Http2ConnectionState.cc            | 279 +++++---
 src/proxy/http2/Http2ServerSession.cc              |  21 +-
 src/proxy/http2/Http2SessionAccept.cc              |   4 +-
 src/proxy/http2/Http2Stream.cc                     |   6 +-
 src/proxy/http2/test_HPACK.cc                      |  50 +-
 src/proxy/http2/unit_tests/test_HTTP2.cc           |  24 +-
 .../http2/unit_tests/test_HpackIndexingTable.cc    |  52 +-
 .../http2/unit_tests/test_Http2DependencyTree.cc   |  32 +-
 src/proxy/http2/unit_tests/test_Http2Frame.cc      |  14 +-
 src/proxy/http3/Http09App.cc                       |   8 +-
 src/proxy/http3/Http3App.cc                        |  70 +-
 src/proxy/http3/Http3DataFramer.cc                 |   2 +-
 src/proxy/http3/Http3Frame.cc                      |  52 +-
 src/proxy/http3/Http3FrameCollector.cc             |   2 +-
 src/proxy/http3/Http3FrameDispatcher.cc            |  14 +-
 src/proxy/http3/Http3HeaderFramer.cc               |   2 +-
 src/proxy/http3/Http3HeaderVIOAdaptor.cc           |   6 +-
 src/proxy/http3/Http3SessionAccept.cc              |   4 +-
 src/proxy/http3/Http3StreamDataVIOAdaptor.cc       |   4 +-
 src/proxy/http3/Http3Transaction.cc                |  20 +-
 src/proxy/http3/QPACK.cc                           | 200 +++---
 src/proxy/http3/test/main_qpack.cc                 |   6 +-
 src/proxy/http3/test/test_Http3Frame.cc            |  30 +-
 src/proxy/http3/test/test_Http3FrameDispatcher.cc  |  62 +-
 src/proxy/http3/test/test_QPACK.cc                 |  63 +-
 src/proxy/logging/Log.cc                           |  42 +-
 src/proxy/logging/LogAccess.cc                     | 175 ++---
 src/proxy/logging/LogAccessTest.cc                 |  12 +-
 src/proxy/logging/LogBuffer.cc                     |  56 +-
 src/proxy/logging/LogConfig.cc                     |  18 +-
 src/proxy/logging/LogField.cc                      |  10 +-
 src/proxy/logging/LogFieldAliasMap.cc              |   8 +-
 src/proxy/logging/LogFile.cc                       |  44 +-
 src/proxy/logging/LogFilter.cc                     |  60 +-
 src/proxy/logging/LogFormat.cc                     |  25 +-
 src/proxy/logging/LogObject.cc                     |  56 +-
 src/proxy/logging/LogStandalone.cc                 |   2 +-
 src/proxy/logging/LogUtils.cc                      |  26 +-
 src/proxy/logging/RolledLogDeleter.cc              |   4 +-
 src/proxy/logging/YamlLogConfig.cc                 |   4 +-
 src/proxy/logging/YamlLogConfigDecoders.cc         |   6 +-
 .../logging/unit-tests/benchmark_LogObject.cc      |  14 +-
 src/proxy/logging/unit-tests/test_LogUtils.cc      |   3 +-
 .../logging/unit-tests/test_RolledLogDeleter.cc    |  20 +-
 src/proxy/private/SSLProxySession.h                |   2 +-
 src/proxy/shared/DiagsConfig.cc                    |  24 +-
 src/records/P_RecCore.cc                           |  28 +-
 src/records/P_RecCore.h                            |  18 +-
 src/records/P_RecDefs.h                            |  66 +-
 src/records/P_RecFile.h                            |  16 +-
 src/records/P_RecMessage.h                         |   8 +-
 src/records/P_RecUtils.h                           |  30 +-
 src/records/RecConfigParse.cc                      |  22 +-
 src/records/RecCore.cc                             |  36 +-
 src/records/RecHttp.cc                             |  52 +-
 src/records/RecMessage.cc                          |  30 +-
 src/records/RecRawStats.cc                         |  10 +-
 src/records/RecUtils.cc                            | 108 ++-
 src/records/RecYAMLDecoder.cc                      |  27 +-
 src/records/RecordsConfig.cc                       |   8 +-
 src/records/RecordsConfigUtils.cc                  |  16 +-
 src/records/test_I_RecLocal.cc                     |   2 +-
 src/records/test_RecTree.cc                        |   2 +-
 src/records/unit_tests/test_RecHttp.cc             |  14 +-
 src/shared/rpc/IPCSocketClient.cc                  |  10 +-
 src/traffic_cache_tool/CacheDefs.cc                | 145 ++--
 src/traffic_cache_tool/CacheDefs.h                 | 176 ++---
 src/traffic_cache_tool/CacheScan.cc                |  28 +-
 src/traffic_cache_tool/CacheScan.h                 |   6 +-
 src/traffic_cache_tool/CacheTool.cc                | 161 +++--
 src/traffic_crashlog/backtrace.cc                  |  20 +-
 src/traffic_crashlog/procinfo.cc                   |  10 +-
 src/traffic_crashlog/traffic_crashlog.cc           |  26 +-
 src/traffic_crashlog/traffic_crashlog.h            |   4 +-
 src/traffic_ctl/CtrlCommands.cc                    |  42 +-
 src/traffic_ctl/CtrlCommands.h                     |   4 +-
 src/traffic_ctl/CtrlPrinters.cc                    |   9 +-
 src/traffic_ctl/CtrlPrinters.h                     |   8 +-
 src/traffic_ctl/FileConfigCommand.cc               |   6 +-
 src/traffic_ctl/FileConfigCommand.h                |   2 +-
 src/traffic_ctl/jsonrpc/CtrlRPCRequests.h          |  10 +-
 src/traffic_layout/engine.cc                       |  30 +-
 src/traffic_layout/file_system.cc                  |   2 +-
 src/traffic_layout/info.cc                         |   2 +
 src/traffic_logcat/logcat.cc                       |  24 +-
 src/traffic_logstats/logstats.cc                   | 162 +++--
 src/traffic_quic/diags.h                           |   2 +-
 src/traffic_quic/quic_client.cc                    |  22 +-
 src/traffic_quic/quic_client.h                     |  36 +-
 src/traffic_quic/traffic_quic.cc                   |   4 +-
 src/traffic_server/Crash.cc                        |  12 +-
 src/traffic_server/SocksProxy.cc                   |  32 +-
 src/traffic_server/traffic_server.cc               | 103 +--
 src/traffic_top/stats.h                            |  22 +-
 src/traffic_top/traffic_top.cc                     |  28 +-
 src/traffic_via/traffic_via.cc                     |  16 +-
 src/tscore/Arena.cc                                |   4 +-
 src/tscore/ArgParser.cc                            |   2 +-
 src/tscore/BaseLogFile.cc                          |  20 +-
 src/tscore/CompileParseRules.cc                    |  12 +-
 src/tscore/ConsistentHash.cc                       |  22 +-
 src/tscore/CryptoHash.cc                           |   2 +-
 src/tscore/Diags.cc                                |   8 +-
 src/tscore/Encoding.cc                             |   8 +-
 src/tscore/EventNotify.cc                          |  10 +-
 src/tscore/FrequencyCounter.cc                     |   6 +-
 src/tscore/HKDF_openssl3.cc                        |  26 +-
 src/tscore/HashSip.cc                              |   8 +-
 src/tscore/HostLookup.cc                           |  22 +-
 src/tscore/JeMiAllocator.cc                        |  10 +-
 src/tscore/Layout.cc                               |   6 +-
 src/tscore/LogMessage.cc                           |   2 +-
 src/tscore/MMH.cc                                  |  47 +-
 src/tscore/MatcherUtils.cc                         |  50 +-
 src/tscore/ParseRules.cc                           |   8 +-
 src/tscore/Regression.cc                           |  22 +-
 src/tscore/TextBuffer.cc                           |   2 +-
 src/tscore/Throttler.cc                            |   2 +-
 src/tscore/Tokenizer.cc                            |  24 +-
 src/tscore/Version.cc                              |   2 +-
 src/tscore/X509HostnameValidator.cc                |  16 +-
 src/tscore/hugepages.cc                            |   6 +-
 src/tscore/ink_args.cc                             |   8 +-
 src/tscore/ink_base64.cc                           |  12 +-
 src/tscore/ink_cap.cc                              |  24 +-
 src/tscore/ink_error.cc                            |  14 +-
 src/tscore/ink_file.cc                             |  10 +-
 src/tscore/ink_hrtime.cc                           |  20 +-
 src/tscore/ink_inet.cc                             |  44 +-
 src/tscore/ink_memory.cc                           |   6 +-
 src/tscore/ink_mutex.cc                            |   2 +-
 src/tscore/ink_queue.cc                            |  48 +-
 src/tscore/ink_queue_utils.cc                      |   2 +-
 src/tscore/ink_rand.cc                             |   2 +-
 src/tscore/ink_res_init.cc                         |  40 +-
 src/tscore/ink_res_mkquery.cc                      |  32 +-
 src/tscore/ink_resource.cc                         |  20 +-
 src/tscore/ink_sock.cc                             |  10 +-
 src/tscore/ink_sprintf.cc                          |  10 +-
 src/tscore/ink_stack_trace.cc                      |   4 +-
 src/tscore/ink_string++.cc                         |   4 +-
 src/tscore/ink_string.cc                           |  14 +-
 src/tscore/ink_sys_control.cc                      |   2 +-
 src/tscore/ink_syslog.cc                           |   2 +-
 src/tscore/ink_time.cc                             |   6 +-
 src/tscore/llqueue.cc                              |   6 +-
 src/tscore/lockfile.cc                             |  16 +-
 src/tscore/runroot.cc                              |   8 +-
 src/tscore/test_atomic.cc                          |  32 +-
 src/tscore/test_freelist.cc                        |   4 +-
 src/tscore/test_geometry.cc                        |   2 +-
 src/tscore/unit_tests/test_AcidPtr.cc              |  20 +-
 src/tscore/unit_tests/test_ArgParser.cc            |   2 +-
 src/tscore/unit_tests/test_Bravo.cc                |  18 +-
 src/tscore/unit_tests/test_CryptoHash.cc           |   8 +-
 src/tscore/unit_tests/test_Encoding.cc             |   4 +-
 src/tscore/unit_tests/test_Extendible.cc           |  50 +-
 src/tscore/unit_tests/test_HKDF.cc                 |  72 +-
 src/tscore/unit_tests/test_History.cc              |   2 +-
 src/tscore/unit_tests/test_IntrusivePtr.cc         |   2 +-
 src/tscore/unit_tests/test_MMH.cc                  |  14 +-
 src/tscore/unit_tests/test_ParseRules.cc           |  32 +-
 src/tscore/unit_tests/test_PriorityQueue.cc        |   6 +-
 src/tscore/unit_tests/test_Ptr.cc                  |   4 +-
 src/tscore/unit_tests/test_Throttler.cc            |   4 +-
 src/tscore/unit_tests/test_Version.cc              |   2 +-
 .../unit_tests/test_X509HostnameValidator.cc       |  20 +-
 src/tscore/unit_tests/test_arena.cc                |   4 +-
 src/tscore/unit_tests/test_ink_inet.cc             |  22 +-
 src/tscore/unit_tests/test_ink_string.cc           |   6 +-
 src/tscore/unit_tests/test_layout.cc               |   2 +-
 src/tscpp/api/AsyncHttpFetch.cc                    |  42 +-
 src/tscpp/api/AsyncTimer.cc                        |  16 +-
 src/tscpp/api/ClientRequest.cc                     |   4 +-
 src/tscpp/api/GlobalPlugin.cc                      |   4 +-
 src/tscpp/api/GzipDeflateTransformation.cc         |  20 +-
 src/tscpp/api/GzipInflateTransformation.cc         |  14 +-
 src/tscpp/api/Headers.cc                           |  38 +-
 src/tscpp/api/InterceptPlugin.cc                   |  42 +-
 src/tscpp/api/Logger.cc                            |  22 +-
 src/tscpp/api/RemapPlugin.cc                       |   6 +-
 src/tscpp/api/Request.cc                           |  18 +-
 src/tscpp/api/Response.cc                          |   6 +-
 src/tscpp/api/Transaction.cc                       |  54 +-
 src/tscpp/api/TransactionPlugin.cc                 |   6 +-
 src/tscpp/api/TransformationPlugin.cc              |  20 +-
 src/tscpp/api/Url.cc                               |  12 +-
 src/tscpp/api/utils_internal.cc                    |  20 +-
 src/tscpp/api/utils_internal.h                     |  18 +-
 src/tsutil/DbgCtl.cc                               |  20 +-
 src/tsutil/Metrics.cc                              | 131 +++-
 src/tsutil/Regex.cc                                | 199 ++++--
 src/tsutil/YamlCfg.cc                              |   2 +-
 src/tsutil/ts_ip.cc                                |   4 +-
 src/tsutil/ts_unit_parser.cc                       |   4 +-
 src/tsutil/unit_tests/test_LocalBuffer.cc          |  24 +-
 src/tsutil/unit_tests/test_Metrics.cc              |  38 +-
 src/tsutil/unit_tests/test_PostScript.cc           |   2 +-
 src/tsutil/unit_tests/test_Regex.cc                |  24 +-
 tests/CMakeLists.txt                               |  11 +-
 tests/Pipfile                                      |   3 +
 tests/fuzzing/fuzz_esi.cc                          |   4 +-
 tests/fuzzing/fuzz_hpack.cc                        |   4 +-
 tests/fuzzing/fuzz_http.cc                         |   2 +-
 tests/fuzzing/fuzz_rec_http.cc                     |   2 +-
 tests/fuzzing/oss-fuzz.sh                          |  10 +-
 tests/gold_tests/cache/background_fill.test.py     |  18 +-
 ...stderr.gold => background_fill_0_stderr_H.gold} |   4 +-
 ...stderr.gold => background_fill_0_stderr_W.gold} |   8 +-
 ...stderr.gold => background_fill_1_stderr_H.gold} |   4 +-
 ...stderr.gold => background_fill_1_stderr_W.gold} |   8 +-
 ...stderr.gold => background_fill_2_stderr_H.gold} |   4 +-
 ...stderr.gold => background_fill_2_stderr_W.gold} |   8 +-
 tests/gold_tests/chunked_encoding/smuggle-client.c |   4 +-
 tests/gold_tests/h2/gold/http2_8_stderr.gold       |  18 -
 tests/gold_tests/h2/gold/http2_8_stdout.gold       |  19 +-
 tests/gold_tests/h2/http2.test.py                  |  26 +-
 tests/gold_tests/h2/http2_rst_stream.test.py       |  10 +-
 tests/gold_tests/h2/http2_write_threshold.test.py  | 137 ++++
 tests/gold_tests/h2/trickle_client.py              | 349 +++++++++
 tests/gold_tests/h2/trickle_server.py              | 407 +++++++++++
 .../jsonrpc/plugins/jsonrpc_plugin_handler_test.cc |   6 +-
 tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc |  40 +-
 .../pluginTest/certifier/certifier.test.py         |   2 +-
 tests/gold_tests/pluginTest/compress/compress.gold |  24 +-
 .../pluginTest/compress/compress.test.py           | 176 +++--
 .../ja3_fingerprint/ja3_fingerprint.test.py        |   3 +
 .../ja3_fingerprint/modify-incoming-client.gold    |   2 +-
 .../ja3_fingerprint/modify-incoming-proxy.gold     |   4 +-
 .../ja3_fingerprint/modify-sent-client.gold        |   4 +-
 .../ja3_fingerprint/modify-sent-proxy.gold         |   4 +-
 .../pluginTest/lua/lua_set_error_response.test.py  |  98 +++
 .../pluginTest/lua/set_error_response.lua          |  29 +
 .../set_error_response.replay.yaml}                |  56 +-
 .../polite_hook_wait/polite_hook_wait.cc           |   6 +-
 tests/gold_tests/pluginTest/statichit/empty.txt    |   0
 .../gold_tests/pluginTest/statichit/small_body.txt |   1 +
 .../pluginTest/statichit/statichit.replay.yaml     | 168 +++++
 .../pluginTest/statichit/statichit.test.py         |  88 +++
 .../gold_tests/pluginTest/statichit/story_16.json  | 395 ++++++++++
 .../pluginTest/tsapi/test_TSHttpSsnInfo.cc         |  35 +-
 .../pluginTest/tsapi/test_TSHttpSsnInfo.test.py    |   4 +-
 .../tsapi/test_TSHttpTxnServerAddrSet.cc           |   6 +-
 tests/gold_tests/pluginTest/tsapi/test_tsapi.cc    |  10 +-
 .../basic/{basic.test.py => txn_box_basic.test.py} |   0
 .../basic/{cmp.test.py => txn_box_cmp.test.py}     |   0
 .../{ip-addr.test.py => txn_box_ip-addr.test.py}   |   0
 .../basic/{mod.test.py => txn_box_mod.test.py}     |   0
 ...multi-cfg.test.py => txn_box_multi-cfg.test.py} |   0
 .../{redirect.test.py => txn_box_redirect.test.py} |   0
 .../basic/{reply.test.py => txn_box_reply.test.py} |   0
 .../basic/{rxp.test.py => txn_box_rxp.test.py}     |   0
 .../basic/{stat.test.py => txn_box_stat.test.py}   |   0
 .../{tls-cert.test.py => txn_box_tls-cert.test.py} |   0
 .../basic/{tls.test.py => txn_box_tls.test.py}     |   0
 .../basic/{tuple.test.py => txn_box_tuple.test.py} |   0
 ...txn-debug.test.py => txn_box_txn-debug.test.py} |   0
 ...txn-error.test.py => txn_box_txn-error.test.py} |   0
 ...n_open_1.test.py => txn_box_txn_open_1.test.py} |   0
 ...n_open_2.test.py => txn_box_txn_open_2.test.py} |   0
 ...n_open_3.test.py => txn_box_txn_open_3.test.py} |   0
 .../basic/{with.test.py => txn_box_with.test.py}   |   0
 ...ct_header.test.py => txn_box_ct_header.test.py} |   0
 ...ing.test.py => txn_box_accept-encoding.test.py} |   0
 ...-origin.test.py => txn_box_cors-origin.test.py} |   0
 ...errer.test.py => txn_box_cors-referrer.test.py} |   0
 .../{ip-acl.test.py => txn_box_ip-acl.test.py}     |   0
 .../prod/{mTLS.test.py => txn_box_mTLS.test.py}    |   0
 ...test.py => txn_box_query-delete-filter.test.py} |   0
 ....test.py => txn_box_query-delete-regex.test.py} |   0
 .../prod/{query.test.py => txn_box_query.test.py}  |   0
 .../{stanley.test.py => txn_box_stanley.test.py}   |   0
 .../{vznith-1.test.py => txn_box_vznith-1.test.py} |   0
 .../{yts-3489.test.py => txn_box_yts-3489.test.py} |   0
 .../pluginTest/txn_box/ramp/ramp.replay.yaml       |   4 +-
 ...ramp-1.test.py => txn_box_multi-ramp-1.test.py} |   0
 ...ramp-2.test.py => txn_box_multi-ramp-2.test.py} |   0
 ...ramp-3.test.py => txn_box_multi-ramp-3.test.py} |   0
 .../ramp/{ramp.test.py => txn_box_ramp.test.py}    |  31 +-
 ...map-base.test.py => txn_box_remap-base.test.py} |   0
 .../{smoke-2.test.py => txn_box_smoke-2.test.py}   |   0
 .../smoke/{smoke.test.py => txn_box_smoke.test.py} |   0
 ...ic_file.test.py => txn_box_static_file.test.py} |   0
 tests/gold_tests/timeout/ssl-delay-server.cc       |  10 +-
 tests/gold_tests/tls/h2_early_decode.py            |   4 +-
 tests/gold_tests/tls/ssl-post.c                    |  20 +-
 tests/gold_tests/tls/ssl/passphrase.key            |  30 +
 tests/gold_tests/tls/ssl/passphrase.pem            |  27 +
 tests/gold_tests/tls/ssl/passphrase2.key           |  30 +
 tests/gold_tests/tls/ssl/passphrase2.pem           |  27 +
 tests/gold_tests/tls/ssl_key_dialog.test.py        |  91 +++
 tests/gold_tests/tls/test-0rtt-s_client.py         |   5 +-
 tests/gold_tests/tls/tls_0rtt_server.test.py       |  22 +-
 .../tls/tls_check_dual_cert_selection.test.py      |   8 +-
 .../tls/tls_check_dual_cert_selection2.test.py     |  12 +-
 .../tls_check_dual_cert_selection_plugin.test.py   |  14 +-
 .../tls/tls_verify_override_base.test.py           |   4 +-
 tests/tools/plugins/async_engine.c                 |  18 +-
 tests/tools/plugins/custom204plugin.cc             |  40 +-
 tests/tools/plugins/emergency_shutdown.cc          |   2 +-
 tests/tools/plugins/fatal_shutdown.cc              |   2 +-
 tests/tools/plugins/hook_add_plugin.cc             |   2 +-
 tests/tools/plugins/hook_tunnel_plugin.cc          |   2 +-
 tests/tools/plugins/ssl_client_verify_test.cc      |  16 +-
 tests/tools/plugins/ssl_hook_test.cc               |   6 +-
 tests/tools/plugins/ssl_secret_load_test.cc        |   2 +-
 tests/tools/plugins/ssl_verify_test.cc             |  14 +-
 tests/tools/plugins/ssntxnorder_verify.cc          |  12 +-
 tests/tools/plugins/test_cppapi.cc                 |   2 +-
 tests/tools/plugins/test_log_interface.cc          |   6 +-
 tests/tools/plugins/tunnel_transform.cc            |  14 +-
 tests/tools/plugins/user_args.cc                   |  24 +-
 tools/benchmark/benchmark_FreeList.cc              |  22 +-
 tools/benchmark/benchmark_SharedMutex.cc           |   2 +-
 ...ild_h3_tools.sh => build_boringssl_h3_tools.sh} |  97 ++-
 tools/build_h3_tools.sh                            | 261 +------
 ...build_h3_tools.sh => build_openssl_h3_tools.sh} | 108 +--
 tools/clang-format.sh                              |   8 +-
 tools/cripts/compiler.sh                           |  97 +++
 tools/http_load/http_load.c                        | 228 +++---
 tools/http_load/timers.c                           |  16 +-
 tools/http_load/timers.h                           |  16 +-
 tools/jtest/jtest.cc                               | 486 ++++++-------
 1396 files changed, 23196 insertions(+), 19609 deletions(-)

diff --cc include/iocore/net/TLSSessionResumptionSupport.h
index 6ba38779b0,5c610550f5..4088d4f785
--- a/include/iocore/net/TLSSessionResumptionSupport.h
+++ b/include/iocore/net/TLSSessionResumptionSupport.h
@@@ -47,10 -48,11 +48,10 @@@ public
    int processSessionTicket(SSL *ssl, unsigned char *keyname, unsigned char 
*iv, EVP_CIPHER_CTX *cipher_ctx, HMAC_CTX *hctx,
                             int enc);
  #endif
-   bool getSSLSessionCacheHit() const;
-   bool getSSLOriginSessionCacheHit() const;
+   bool         getSSLSessionCacheHit() const;
+   bool         getSSLOriginSessionCacheHit() const;
    ssl_curve_id getSSLCurveNID() const;
  
 -  SSL_SESSION                 *getSession(SSL *ssl, const unsigned char *id, 
int len, int *copy);
    std::shared_ptr<SSL_SESSION> getOriginSession(SSL *ssl, const std::string 
&lookup_key);
  
  protected:
diff --cc include/ts/ts.h
index 1dc2bf7cd5,2911d72a7a..5e00fa7be8
--- a/include/ts/ts.h
+++ b/include/ts/ts.h
@@@ -1364,12 -1364,17 +1364,12 @@@ TSReturnCode TSVConnProtocolEnable(TSVC
  int TSVConnIsSsl(TSVConn sslp);
  /* Returns 1 if a certificate was provided in the TLS handshake, 0 otherwise.
   */
- int TSVConnProvidedSslCert(TSVConn sslp);
+ int         TSVConnProvidedSslCert(TSVConn sslp);
  const char *TSVConnSslSniGet(TSVConn sslp, int *length);
  
 -TSSslSession TSSslSessionGet(const TSSslSessionID *session_id);
 -int          TSSslSessionGetBuffer(const TSSslSessionID *session_id, char 
*buffer, int *len_ptr);
 -TSReturnCode TSSslSessionInsert(const TSSslSessionID *session_id, 
TSSslSession add_session, TSSslConnection ssl_conn);
 -TSReturnCode TSSslSessionRemove(const TSSslSessionID *session_id);
 -
  /* --------------------------------------------------------------------------
     HTTP transactions */
- void TSHttpTxnHookAdd(TSHttpTxn txnp, TSHttpHookID id, TSCont contp);
+ void      TSHttpTxnHookAdd(TSHttpTxn txnp, TSHttpHookID id, TSCont contp);
  TSHttpSsn TSHttpTxnSsnGet(TSHttpTxn txnp);
  
  /* Gets the client request header for a specified HTTP transaction. */
diff --cc src/iocore/net/P_SSLConfig.h
index bd7a3cc8f6,f894cb02bb..44c3fca63a
--- a/src/iocore/net/P_SSLConfig.h
+++ b/src/iocore/net/P_SSLConfig.h
@@@ -72,28 -78,34 +72,28 @@@ struct SSLConfigParams : public ConfigI
    char *dhparamsFile;
    char *cipherSuite;
    char *client_cipherSuite;
-   int configExitOnLoadError;
-   int clientCertLevel;
-   int verify_depth;
-   int ssl_origin_session_cache;
-   int ssl_origin_session_cache_size;
- 
-   char *clientCertPath;
-   char *clientCertPathOnly;
-   char *clientKeyPath;
-   char *clientKeyPathOnly;
-   char *clientCACertFilename;
-   char *clientCACertPath;
-   int clientCertExitOnLoadError;
-   YamlSNIConfig::Policy verifyServerPolicy;
+   int   configExitOnLoadError;
+   int   clientCertLevel;
+   int   verify_depth;
+   int   ssl_origin_session_cache;
+   int   ssl_origin_session_cache_size;
 -  int   ssl_session_cache; // SSL_SESSION_CACHE_MODE
 -  int   ssl_session_cache_size;
 -  int   ssl_session_cache_num_buckets;
 -  int   ssl_session_cache_skip_on_contention;
 -  int   ssl_session_cache_timeout;
 -  int   ssl_session_cache_auto_clear;
+ 
+   char                   *clientCertPath;
+   char                   *clientCertPathOnly;
+   char                   *clientKeyPath;
+   char                   *clientKeyPathOnly;
+   char                   *clientCACertFilename;
+   char                   *clientCACertPath;
+   int                     clientCertExitOnLoadError;
+   YamlSNIConfig::Policy   verifyServerPolicy;
    YamlSNIConfig::Property verifyServerProperties;
-   bool tls_server_connection;
-   int client_verify_depth;
-   long ssl_ctx_options;
-   long ssl_client_ctx_options;
+   bool                    tls_server_connection;
+   int                     client_verify_depth;
+   long                    ssl_ctx_options;
+   long                    ssl_client_ctx_options;
  
    unsigned char alpn_protocols_array[MAX_ALPN_STRING];
-   int alpn_protocols_array_size = 0;
+   int           alpn_protocols_array_size = 0;
  
    char *server_tls13_cipher_suites;
    char *client_tls13_cipher_suites;
@@@ -110,23 -122,26 +110,23 @@@
  
    static uint32_t server_max_early_data;
    static uint32_t server_recv_max_early_data;
-   static bool server_allow_early_data_params;
+   static bool     server_allow_early_data_params;
  
-   static int ssl_maxrecord;
-   static int ssl_misc_max_iobuffer_size_index;
+   static int  ssl_maxrecord;
+   static int  ssl_misc_max_iobuffer_size_index;
    static bool ssl_allow_client_renegotiation;
  
-   static bool ssl_ocsp_enabled;
-   static int ssl_ocsp_cache_timeout;
-   static bool ssl_ocsp_request_mode;
-   static int ssl_ocsp_request_timeout;
-   static int ssl_ocsp_update_period;
-   static int ssl_handshake_timeout_in;
-   char *ssl_ocsp_response_path_only;
+   static bool  ssl_ocsp_enabled;
+   static int   ssl_ocsp_cache_timeout;
+   static bool  ssl_ocsp_request_mode;
+   static int   ssl_ocsp_request_timeout;
+   static int   ssl_ocsp_update_period;
+   static int   ssl_handshake_timeout_in;
+   char        *ssl_ocsp_response_path_only;
    static char *ssl_ocsp_user_agent;
  
-   static int origin_session_cache;
+   static int    origin_session_cache;
    static size_t origin_session_cache_size;
 -  static size_t session_cache_number_buckets;
 -  static size_t session_cache_max_bucket_size;
 -  static bool   session_cache_skip_on_lock_contention;
  
    static swoc::IPRangeSet *proxy_protocol_ip_addrs;
  
diff --cc src/iocore/net/SSLConfig.cc
index dcdeb9ca22,aa02e18a99..7ed208d4c7
--- a/src/iocore/net/SSLConfig.cc
+++ b/src/iocore/net/SSLConfig.cc
@@@ -52,36 -53,47 +53,44 @@@
  #include "SSLSessionTicket.h"
  #include "iocore/net/YamlSNIConfig.h"
  
- 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;
- uint32_t SSLConfigParams::server_recv_max_early_data = 
EARLY_DATA_DEFAULT_SIZE;
- bool SSLConfigParams::server_allow_early_data_params = false;
- 
- int SSLConfigParams::async_handshake_enabled = 0;
- char *SSLConfigParams::engine_conf_file      = nullptr;
- 
- static std::unique_ptr<ConfigUpdateHandler<SSLTicketKeyConfig>> sslTicketKey;
 -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;
+ uint32_t       SSLConfigParams::server_recv_max_early_data     = 
EARLY_DATA_DEFAULT_SIZE;
+ bool           SSLConfigParams::server_allow_early_data_params = false;
+ 
+ int   SSLConfigParams::async_handshake_enabled = 0;
+ char *SSLConfigParams::engine_conf_file        = nullptr;
+ 
+ namespace
+ {
+ std::unique_ptr<ConfigUpdateHandler<SSLTicketKeyConfig>> sslTicketKey;
+ 
+ DbgCtl dbg_ctl_ssl_load{"ssl_load"};
+ DbgCtl dbg_ctl_ssl_config_updateCTX{"ssl_config_updateCTX"};
+ DbgCtl dbg_ctl_ssl_client_ctx{"ssl_client_ctx"};
+ 
+ } // end anonymous namespace
  
  SSLConfigParams::SSLConfigParams()
  {
diff --cc src/iocore/net/SSLSessionCache.cc
index 53cd7b8d8f,90eaceec23..73cedfc186
--- a/src/iocore/net/SSLSessionCache.cc
+++ b/src/iocore/net/SSLSessionCache.cc
@@@ -27,6 -27,293 +27,11 @@@
  #include <memory>
  #include <shared_mutex>
  
 -#define SSLSESSIONCACHE_STRINGIFY0(x) #x
 -#define SSLSESSIONCACHE_STRINGIFY(x)  SSLSESSIONCACHE_STRINGIFY0(x)
 -#define SSLSESSIONCACHE_LINENO        SSLSESSIONCACHE_STRINGIFY(__LINE__)
 -
 -#ifdef DEBUG
 -#define PRINT_BUCKET(x) this->print(x " at " __FILE__ ":" 
SSLSESSIONCACHE_LINENO);
 -#else
 -#define PRINT_BUCKET(x)
 -#endif
 -
+ namespace
+ {
+ DbgCtl dbg_ctl_ssl_origin_session_cache{"ssl.origin_session_cache"};
 -DbgCtl dbg_ctl_ssl_session_cache{"ssl.session_cache"};
 -DbgCtl dbg_ctl_ssl_session_cache_bucket{"ssl.session_cache.bucket"};
 -DbgCtl dbg_ctl_ssl_session_cache_get{"ssl.session_cache.get"};
 -DbgCtl dbg_ctl_ssl_session_cache_insert{"ssl.session_cache.insert"};
 -DbgCtl dbg_ctl_ssl_session_cache_remove{"ssl.session_cache.remove"};
 -
+ } // end anonymous namespace
+ 
 -/* Session Cache */
 -SSLSessionCache::SSLSessionCache() : 
nbuckets(SSLConfigParams::session_cache_number_buckets)
 -{
 -  Dbg(dbg_ctl_ssl_session_cache, "Created new ssl session cache %p with %zu 
buckets each with size max size %zu", this, nbuckets,
 -      SSLConfigParams::session_cache_max_bucket_size);
 -
 -  session_bucket = new SSLSessionBucket[nbuckets];
 -}
 -
 -SSLSessionCache::~SSLSessionCache()
 -{
 -  delete[] session_bucket;
 -}
 -
 -int
 -SSLSessionCache::getSessionBuffer(const SSLSessionID &sid, char *buffer, int 
&len) const
 -{
 -  uint64_t          hash          = sid.hash();
 -  uint64_t          target_bucket = hash % nbuckets;
 -  SSLSessionBucket *bucket        = &session_bucket[target_bucket];
 -
 -  return bucket->getSessionBuffer(sid, buffer, len);
 -}
 -
 -bool
 -SSLSessionCache::getSession(const SSLSessionID &sid, SSL_SESSION **sess, 
ssl_session_cache_exdata **data) const
 -{
 -  uint64_t          hash          = sid.hash();
 -  uint64_t          target_bucket = hash % nbuckets;
 -  SSLSessionBucket *bucket        = &session_bucket[target_bucket];
 -
 -  if (dbg_ctl_ssl_session_cache.on()) {
 -    char buf[sid.len * 2 + 1];
 -    sid.toString(buf, sizeof(buf));
 -    DbgPrint(dbg_ctl_ssl_session_cache_get, "SessionCache looking in bucket 
%" PRId64 " (%p) for session '%s' (hash: %" PRIX64 ").",
 -             target_bucket, bucket, buf, hash);
 -  }
 -
 -  return bucket->getSession(sid, sess, data);
 -}
 -
 -void
 -SSLSessionCache::removeSession(const SSLSessionID &sid)
 -{
 -  uint64_t          hash          = sid.hash();
 -  uint64_t          target_bucket = hash % nbuckets;
 -  SSLSessionBucket *bucket        = &session_bucket[target_bucket];
 -
 -  if (dbg_ctl_ssl_session_cache_remove.on()) {
 -    char buf[sid.len * 2 + 1];
 -    sid.toString(buf, sizeof(buf));
 -    DbgPrint(dbg_ctl_ssl_session_cache_remove,
 -             "SessionCache using bucket %" PRId64 " (%p): Removing session 
'%s' (hash: %" PRIX64 ").", target_bucket, bucket, buf,
 -             hash);
 -  }
 -  Metrics::Counter::increment(ssl_rsb.session_cache_eviction);
 -
 -  bucket->removeSession(sid);
 -}
 -
 -void
 -SSLSessionCache::insertSession(const SSLSessionID &sid, SSL_SESSION *sess, 
SSL *ssl)
 -{
 -  uint64_t          hash          = sid.hash();
 -  uint64_t          target_bucket = hash % nbuckets;
 -  SSLSessionBucket *bucket        = &session_bucket[target_bucket];
 -
 -  if (dbg_ctl_ssl_session_cache_insert.on()) {
 -    char buf[sid.len * 2 + 1];
 -    sid.toString(buf, sizeof(buf));
 -    DbgPrint(dbg_ctl_ssl_session_cache_insert,
 -             "SessionCache using bucket %" PRId64 " (%p): Inserting session 
'%s' (hash: %" PRIX64 ").", target_bucket, bucket, buf,
 -             hash);
 -  }
 -
 -  bucket->insertSession(sid, sess, ssl);
 -}
 -
 -void
 -SSLSessionBucket::insertSession(const SSLSessionID &id, SSL_SESSION *sess, 
SSL *ssl)
 -{
 -  std::shared_lock r_lock(mutex, std::try_to_lock);
 -  if (!r_lock.owns_lock()) {
 -    Metrics::Counter::increment(ssl_rsb.session_cache_lock_contention);
 -    if (SSLConfigParams::session_cache_skip_on_lock_contention) {
 -      return;
 -    }
 -    r_lock.lock();
 -  }
 -
 -  // Don't insert if it is already there
 -  if (bucket_map.find(id) != bucket_map.end()) {
 -    return;
 -  }
 -
 -  r_lock.unlock();
 -
 -  size_t len = i2d_SSL_SESSION(sess, nullptr); // make sure we're not going 
to need more than SSL_MAX_SESSION_SIZE bytes
 -  /* do not cache a session that's too big. */
 -  if (len > static_cast<size_t>(SSL_MAX_SESSION_SIZE)) {
 -    Dbg(dbg_ctl_ssl_session_cache, "Unable to save SSL session because size 
of %zd exceeds the max of %d", len,
 -        SSL_MAX_SESSION_SIZE);
 -    return;
 -  }
 -
 -  if (dbg_ctl_ssl_session_cache.on()) {
 -    char buf[id.len * 2 + 1];
 -    id.toString(buf, sizeof(buf));
 -    DbgPrint(dbg_ctl_ssl_session_cache, "Inserting session '%s' to bucket 
%p.", buf, this);
 -  }
 -
 -  Ptr<IOBufferData> buf;
 -  Ptr<IOBufferData> buf_exdata;
 -  size_t            len_exdata = sizeof(ssl_session_cache_exdata);
 -  buf                          = new_IOBufferData(buffer_size_to_index(len, 
MAX_BUFFER_SIZE_INDEX), MEMALIGNED);
 -  ink_release_assert(static_cast<size_t>(buf->block_size()) >= len);
 -  unsigned char *loc = reinterpret_cast<unsigned char *>(buf->data());
 -  i2d_SSL_SESSION(sess, &loc);
 -  buf_exdata = new_IOBufferData(buffer_size_to_index(len, 
MAX_BUFFER_SIZE_INDEX), MEMALIGNED);
 -  ink_release_assert(static_cast<size_t>(buf_exdata->block_size()) >= 
len_exdata);
 -  ssl_session_cache_exdata *exdata = 
reinterpret_cast<ssl_session_cache_exdata *>(buf_exdata->data());
 -  // This could be moved to a function in charge of populating exdata
 -  exdata->curve = (ssl == nullptr) ? 0 : SSLGetCurveNID(ssl);
 -
 -  std::unique_ptr<SSLSession> ssl_session(new SSLSession(id, buf, len, 
buf_exdata));
 -
 -  std::unique_lock w_lock(mutex, std::try_to_lock);
 -  if (!w_lock.owns_lock()) {
 -    Metrics::Counter::increment(ssl_rsb.session_cache_lock_contention);
 -    if (SSLConfigParams::session_cache_skip_on_lock_contention) {
 -      return;
 -    }
 -    w_lock.lock();
 -  }
 -
 -  PRINT_BUCKET("insertSession before")
 -  if (bucket_map.size() >= SSLConfigParams::session_cache_max_bucket_size) {
 -    Metrics::Counter::increment(ssl_rsb.session_cache_eviction);
 -    removeOldestSession(w_lock);
 -  }
 -
 -  /* do the actual insert */
 -  auto node = ssl_session.release();
 -  bucket_que.enqueue(node);
 -  bucket_map[id] = node;
 -
 -  PRINT_BUCKET("insertSession after")
 -}
 -
 -int
 -SSLSessionBucket::getSessionBuffer(const SSLSessionID &id, char *buffer, int 
&len)
 -{
 -  int              true_len = 0;
 -  std::shared_lock lock(mutex, std::try_to_lock);
 -  if (!lock.owns_lock()) {
 -    Metrics::Counter::increment(ssl_rsb.session_cache_lock_contention);
 -    if (SSLConfigParams::session_cache_skip_on_lock_contention) {
 -      return true_len;
 -    }
 -    lock.lock();
 -  }
 -
 -  auto entry = bucket_map.find(id);
 -  if (buffer && entry != bucket_map.end()) {
 -    true_len                 = entry->second->len_asn1_data;
 -    const unsigned char *loc = reinterpret_cast<const unsigned char 
*>(entry->second->asn1_data->data());
 -    if (true_len < len) {
 -      len = true_len;
 -    }
 -    memcpy(buffer, loc, len);
 -    return true_len;
 -  }
 -  return 0;
 -}
 -
 -bool
 -SSLSessionBucket::getSession(const SSLSessionID &id, SSL_SESSION **sess, 
ssl_session_cache_exdata **data)
 -{
 -  char buf[id.len * 2 + 1];
 -  buf[0] = '\0'; // just to be safe.
 -  if (dbg_ctl_ssl_session_cache.on()) {
 -    id.toString(buf, sizeof(buf));
 -  }
 -
 -  Dbg(dbg_ctl_ssl_session_cache, "Looking for session with id '%s' in bucket 
%p", buf, this);
 -
 -  std::shared_lock lock(mutex, std::try_to_lock);
 -  if (!lock.owns_lock()) {
 -    Metrics::Counter::increment(ssl_rsb.session_cache_lock_contention);
 -    if (SSLConfigParams::session_cache_skip_on_lock_contention) {
 -      return false;
 -    }
 -    lock.lock();
 -  }
 -
 -  PRINT_BUCKET("getSession")
 -
 -  auto entry = bucket_map.find(id);
 -  if (entry == bucket_map.end()) {
 -    Dbg(dbg_ctl_ssl_session_cache, "Session with id '%s' not found in bucket 
%p.", buf, this);
 -    return false;
 -  }
 -  const unsigned char *loc = reinterpret_cast<const unsigned char 
*>(entry->second->asn1_data->data());
 -  *sess                    = d2i_SSL_SESSION(nullptr, &loc, 
entry->second->len_asn1_data);
 -  if (data != nullptr) {
 -    ssl_session_cache_exdata *exdata = 
reinterpret_cast<ssl_session_cache_exdata *>(entry->second->extra_data->data());
 -    *data                            = exdata;
 -  }
 -  return true;
 -}
 -
 -void inline SSLSessionBucket::print(const char *ref_str) const
 -{
 -  /* NOTE: This method assumes you're already holding the bucket lock */
 -  if (!dbg_ctl_ssl_session_cache_bucket.on()) {
 -    return;
 -  }
 -
 -  fprintf(stderr, "-------------- BUCKET %p (%s) ----------------\n", this, 
ref_str);
 -  fprintf(stderr, "Current Size: %ld, Max Size: %zd\n", bucket_map.size(), 
SSLConfigParams::session_cache_max_bucket_size);
 -  fprintf(stderr, "Bucket: \n");
 -
 -  for (auto &x : bucket_map) {
 -    char s_buf[2 * x.second->session_id.len + 1];
 -    x.second->session_id.toString(s_buf, sizeof(s_buf));
 -    fprintf(stderr, "  %s\n", s_buf);
 -  }
 -}
 -
 -void inline SSLSessionBucket::removeOldestSession(const 
std::unique_lock<ts::shared_mutex> &lock)
 -{
 -  // Caller must hold the bucket shared_mutex with unique_lock.
 -  ink_assert(lock.owns_lock());
 -
 -  PRINT_BUCKET("removeOldestSession before")
 -
 -  while (bucket_que.head && bucket_que.size >= 
static_cast<int>(SSLConfigParams::session_cache_max_bucket_size)) {
 -    auto node = bucket_que.pop();
 -    bucket_map.erase(node->session_id);
 -    delete node;
 -  }
 -
 -  PRINT_BUCKET("removeOldestSession after")
 -}
 -
 -void
 -SSLSessionBucket::removeSession(const SSLSessionID &id)
 -{
 -  // We can't bail on contention here because this session MUST be removed.
 -  std::unique_lock lock(mutex);
 -
 -  PRINT_BUCKET("removeSession before")
 -
 -  auto entry = bucket_map.find(id);
 -  if (entry != bucket_map.end()) {
 -    auto node = entry->second;
 -    bucket_que.remove(node);
 -    bucket_map.erase(entry);
 -    delete node;
 -  }
 -
 -  PRINT_BUCKET("removeSession after")
 -
 -  return;
 -}
 -
  // Custom deleter for shared origin sessions
  void
  SSLSessDeleter(SSL_SESSION *_p)
diff --cc src/iocore/net/SSLUtils.cc
index 1b9828b5b6,53dc2bb117..cedc87a475
--- a/src/iocore/net/SSLUtils.cc
+++ b/src/iocore/net/SSLUtils.cc
@@@ -101,10 -102,12 +102,10 @@@ static constexpr char             SSL_C
  #endif
  #endif
  
 -SSLSessionCache *session_cache; // declared extern in P_SSLConfig.h
 -
  static int ssl_vc_index = -1;
  
- static ink_mutex *mutex_buf      = nullptr;
- static bool open_ssl_initialized = false;
+ static ink_mutex *mutex_buf            = nullptr;
+ static bool       open_ssl_initialized = false;
  
  static DbgCtl dbg_ctl_ssl_load{"ssl_load"};
  static DbgCtl dbg_ctl_ssl_session_cache{"ssl.session_cache"};
@@@ -349,15 -438,12 +350,15 @@@ ssl_cert_callback(SSL *ssl, void *arg
      }
  
      // Reset the ticket callback if needed
-     SSL_CTX *ctx                                         = 
SSL_get_SSL_CTX(ssl);
 -    SSL_CTX *ctx = SSL_get_SSL_CTX(ssl);
++    SSL_CTX                        *ctx                  = 
SSL_get_SSL_CTX(ssl);
 +    shared_SSLMultiCertConfigParams sslMultiCertSettings = 
std::make_shared<SSLMultiCertConfigParams>();
 +    if (sslMultiCertSettings->session_ticket_enabled != 0) {
  #ifdef HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB
 -    SSL_CTX_set_tlsext_ticket_key_evp_cb(ctx, ssl_callback_session_ticket);
 +      SSL_CTX_set_tlsext_ticket_key_evp_cb(ctx, ssl_callback_session_ticket);
  #else
 -    SSL_CTX_set_tlsext_ticket_key_cb(ctx, ssl_callback_session_ticket);
 +      SSL_CTX_set_tlsext_ticket_key_cb(ctx, ssl_callback_session_ticket);
  #endif
 +    }
    }
  #endif
  

Reply via email to