This is an automated email from the ASF dual-hosted git repository. acanary pushed a change to branch h1outbound in repository https://gitbox.apache.org/repos/asf/trafficserver.git.
from 81576ff ProxySession cleanup: moving inline functions to .h new 84fddcd Fix use-after-free problem related to logging headers new 35aa935 Concurrent SRV request failures new e3f4fd8 Turn on certificate verification, in permissive mode for now new 8bc8d26 Add filename to error message in header_rewrite new 80e4081 Removed hardcoded logging.yaml filename in logs new 9c093da Updating the default cipher-suite lists for the 9.x release. new 7cb9764 a general autoconf cleanup new bb45f42 add some documentation to the action class to avoid confusion new 1d4242c Cache SSL EC explicitly new 4d14465 Cleanup: do not re-define _proxy_ssn variable in local new 03230e8 clang-analyzer: Add a null check new 7e7f415 Destroy MIMEFieldBlockImpl that doesn't have fields in use new 32ea024 Fix our doc build system to handle non-source dir configure locations. new 3119a04 Mark host as partial when subdmains are more than default table depth new ccc3158 do not reload configs periodically new edeb096 These are the current settings we're running on docs new 21680c7 Fix dynamic update for conntrack (HttpConnectionCount) configuration variables. new 2fe243b Fix TSHttpTxnReenable to schedule back to original SM thread new 648865f Add QUIC draft-23 support new 7134538 Minor cleanup of proxy/logging/Log.h . new c2f9976 Update TSVConnSslConnectionGet name to match others in the TSVConnSsl* family new 10ea3f0 make proxy.config.http.request_buffer_enabled configurable and bug fix new c14666e url_sig: fix memory leak with urlParse and pristine flag new 56c6278 Revert "Optimize: If failed on migrateToCurrentThread, put the server session back to global server session pool" new c1ed3e2 cachekey: allow multiple values for `--key-type` new 22ba4ae Cleanup: unifdef TRACK_BUFFER_USER new 81e1921 Remove obsolete 4-2-0-fixup new e24d8a1 do not schedule stuff during shutdown new 08a302c "Plugin (un)used" post reload notification new bd2e3fc Log H2 priority information new 2faf5cd Restore the MIOBufferWriter unit tests. new b3c6a2a Doc: clean up build errors. new 096387f Doc: Fix :units: options for statistics. new 0787e54 Doc: improve documentation for event loop statistics. new 3914584 Enhance Connection Collapse in ATS core new ff7db65 Doc: Fixed the logging mode of pipe to be ascii_pipe new 30ccb5e Rewrote remap_stats plugin to use C++ new 00cbd62 Adding connection close headers to regex_remap test. new 2492ec8 Add Example URI Signer Python Script new 0c2f126 Remove obsolete pipeline_max variable new 759ab53 Ignore MgmtMessageHdr if ProcessManager is not running new 40c74cb Clarify relation of nameservers and resolv.conf new 7e4c242 Add tests for MIMEHdr::get_host_port_values new f7c89cc Add a config for internal HPACK header table size limit new 0a919ce Fixes help message for traffic_top's sleep switch new dc8df91 Updates references to OSX to macOS new 02f4002 Fix some long lines and reduntant plugin_config SO additions. new 403f798 Add MIMEHdr Garbage Collection to HPACK Dynamic Table new 4b50860 Dechunk chunked contents on HttpTunnel if client protocol is HTTP/2 or HTTP/3 new e9e8c74 Add example to retrieve request body using Lua new a1fb253 Cleanup: Remove use of obsolete class TSConstBuffer from MIME.cc new eb21472 Promote 'Enable_Config_Var' from HttpConnectionCount to HttpConfig. This is so other configuration can use it. new 06556e4 Fixing session sharing with IP matching. new 696683d support for listening on all the net threads uses epollexclusive flag and soreuseport new d20fdf7 Premature DSO unload with "suicidal" continuations new 147ebf0 Updated API header and ssl_session_reuse for new TSSslSessionInsert changes new 383cb5b Disable tests using exceptions in MIOBufferWriter UT. new 70abdcc Fix the malformed threads table new 7d805cc Issue 4635: Address pipe reuse after configuration reload issues new 4db59e6 Cleanup: Ignore checkprograms of remap new 15cd33f Issue #6072: Make If-Range date compare to be exact match. new 1d5ee64 Add basic SystemTap markers support new 884d400 Allow txn handler to be set from ssn on same hook new 9e48ece Replace container of HPACK dynamic table from std::vector to std::deque new 0e5441d Fixing log cleanup candidate selection and adding a test for it. new d7570ad Updating the autest version pin to 1.7.4. new 3762a6b doc + unittest TSRemap(Init|NewInstance) failures new 577535b Script used for comparing commits on internal branch and seeing if they are on the remote master or release branch. It uses a combination of cherry-mark and searching the commit message for cherry-pick -x hashes. new 535bc0d cleanup the eventloop new 35f2921 Docs: clarify remap plugin inst init params new 20f3411 Docs: cachekey: fixed non-ascii table characters new db09d41 Fixes misc. spelling and whitespace new ed246f9 Minor fixes. new 52b0057 set host name in TLS extension for SNI Host check in service side with sni policy verify_with_name_source. new 4de8334 Removes proxy.config.cache.storage_filename new 46dac6b For remap_stats, removes configure time dependency on search.h new f1ba657 Fixes misc. spelling and whitespace new c1b5fa5 Add an appropriate warning where behavior has changed new f6f8b8a Fix null pointer dereference reported by clang-analyzer new 4467f2d Issue #4294: Handle return value of SSL_write() properly. new 41ebd71 Adding an autest for traffic_dump. new cb0060e Fixing include synopsis rendering for API docs. new 6884fa3 Removes the records.config.shadow alternative config file new b03b34a Add Metrics to track SSL Handshake attempts new 00c6ea66 Remove never implemented HttpTransact::service_transaction_in_proxy_only_mode new 3850023 Updated to clang-format v9.0.0 new ca63581 Cleaned up the changelog command for making our release notes new 408735e Remove remnants of http/1.1 pipeline logic. new 7943734 Avoid IOBufferReader::read_avail() call from MIOBuffer::high_water() new 7f92a0d Remove using namespace std new a93f9e4 Update docs for SSL Handshake stats new a6cd9d2 A couple simple tweaks. new 84e0541 Remove including sys/sysctl.h for Linux new dc2edbd Make MIOBufferWriter unit tests work when compiled without -DDEBUG. new 4e254f3 slice plugin add support for using effective url with remap host. new a4bb556 Disable the most expensive "make check" tests by default new 9668b2d Reduce doc build errors new 912033b Internal link needs _ new e71add8 Add lua watermark test to check for existence of lua watermark upstream API call new 1d21632 Add apache header to watermark lua test new 69dc869 Rename test to lua_watermark.test.py new b1cdce7 tests: Cleans up imported but unused imports new 0c97456 tests: Cleans up local variable is assigned to but never used warnings new 8ca39a6 thread ready check new 358ba08 Reverse debug specific check. new a89af04 Fix building Catch on macOS new 1840439 tests: Adds autest for WebSocket mappings new 2657aaa Normalize loopback usage in session_match autest new 583207a Only decrement log_stat_log_files_open_stat when the file is closed. new 7b2cade Move TSHttpTxnServerPush to the stable API interface. new e46b093 Promote server_push_preload plugin. new 0da038d Change API to return a TSReturnCode code. new ba1f8ce Move websocket upgrade later in state machine new 6c12142 detect bogus jemalloc version new fed6574 Remove Cache v23 support new 4700c2d Fixed build issues with hwloc 2.x API changes new da12235 Cleans up some of the filenames mess (#6144) new 19babd9 tslua: Exposes set/get method for server request objects new 619ab97 Re-order READ_REQUEST_ HDR_HOOK and PRE_REMAP_HOOK new 2441db6 Remove unused functions of IOBuffer new b0c58cf Updates yaml-cpp to 0.6.3 new 7e67017 Fixed gcc7 issue with yaml-cpp 0.6.3 new 69d2091 Fixes cppcheck issues for cookie_remap plugin new 5dfbf4f Remove HttpTransact::build_upgrade_response new 73d04b0 Remove unimplement UDP function new c758831 tslua: Exposes set/get version for server request objects new 11c69f7 Removes the ssn_close hook, it can never work (#6175) new 438cc3a Doc: Remove local path to MathJax. new 27e2039 RBTree - fix potential nullptr dereference new 87b1090 Dockerfile for Debian package managers (#6183) new 3d5d7b6 Fix compile warnings in Catch checks for TextView (#6186) new a19c24e Replaces Python -> Python3 in a few utilities (#6187) new a8cab92 Fixed issue with macOS Catalina and pcre 8.43 enabling pcre-jit (#6189) new 79de81e Limit this check to Linux, where ldd always works (#6191) new 17c45ed remap_stats: Fix BufferWriter usage error. new 53746e4 Remove header conversion functions for HTTP/0.9 new cc47b8b Fix ssl_session_reuse to compile on macOS and FreeBSD new a65926a Upgrade Catch.hpp to v2.11 (#6185) new e3cf946 Add test to catch regressions in sni and override configs (#6170) The 139 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .clang-format | 40 +- .gitignore | 25 +- CONTRIBUTING.md | 2 +- INSTALL | 2 +- Makefile.am | 4 +- README | 2 +- build/ax_check_openssl.m4 | 2 +- build/hiredis.m4 | 10 +- build/jemalloc.m4 | 22 +- ci/docker/deb/Dockerfile | 67 + ci/jenkins/ats_conf.pl | 77 +- configs/records.config.default.in | 3 +- configure.ac | 40 +- contrib/python/compare_RecordsConfigcc.py | 36 +- contrib/python/compare_records_config.py | 4 +- doc/Makefile.am | 2 +- doc/admin-guide/files/logging.yaml.en.rst | 4 +- doc/admin-guide/files/records.config.en.rst | 86 +- doc/admin-guide/logging/examples.en.rst | 6 +- doc/admin-guide/logging/formatting.en.rst | 6 + doc/admin-guide/logging/understanding.en.rst | 2 +- .../monitoring/statistics/core-statistics.en.rst | 1 + .../monitoring/statistics/core/bandwidth.en.rst | 1 - .../monitoring/statistics/core/eventloop.en.rst | 146 + .../monitoring/statistics/core/misc.en.rst | 30 - .../monitoring/statistics/core/ssl.en.rst | 22 +- doc/admin-guide/monitoring/statistics/index.en.rst | 1 - doc/admin-guide/performance/index.en.rst | 2 +- doc/admin-guide/plugins/cachekey.en.rst | 59 +- doc/admin-guide/plugins/header_rewrite.en.rst | 8 +- doc/admin-guide/plugins/lua.en.rst | 85 +- doc/admin-guide/plugins/slice.en.rst | 61 +- doc/admin-guide/plugins/tcpinfo.en.rst | 1 - doc/admin-guide/plugins/traffic_dump.en.rst | 17 +- doc/conf.py | 5 +- doc/developer-guide/api/functions/TSAPI.en.rst | 6 +- .../api/functions/TSAcceptor.en.rst | 4 +- .../api/functions/TSActionCancel.en.rst | 10 +- .../api/functions/TSActionDone.en.rst | 7 +- .../api/functions/TSCacheRead.en.rst | 4 +- .../api/functions/TSCacheRemove.en.rst | 4 +- .../api/functions/TSCacheWrite.en.rst | 4 +- .../api/functions/TSClientProtocolStack.en.rst | 4 +- doc/developer-guide/api/functions/TSConfig.en.rst | 4 +- .../api/functions/TSContCall.en.rst | 4 +- .../api/functions/TSContCreate.en.rst | 4 +- .../api/functions/TSContDataGet.en.rst | 4 +- .../api/functions/TSContDataSet.en.rst | 4 +- .../api/functions/TSContDestroy.en.rst | 4 +- .../api/functions/TSContMutexGet.en.rst | 4 +- .../api/functions/TSContSchedule.en.rst | 4 +- .../api/functions/TSContScheduleOnPool.en.rst | 4 +- .../api/functions/TSContScheduleOnThread.en.rst | 4 +- .../api/functions/TSContThreadAffinityClear.en.rst | 4 +- .../api/functions/TSContThreadAffinityGet.en.rst | 4 +- .../api/functions/TSContThreadAffinitySet.en.rst | 4 +- doc/developer-guide/api/functions/TSDebug.en.rst | 4 +- .../api/functions/TSEventThreadSelf.en.rst | 4 +- .../api/functions/TSHostLookup.en.rst | 4 +- .../api/functions/TSHostLookupResultAddrGet.en.rst | 4 +- .../api/functions/TSHttpArgs.en.rst | 4 +- .../api/functions/TSHttpConnect.en.rst | 4 +- .../api/functions/TSHttpConnectWithPluginId.en.rst | 4 +- .../api/functions/TSHttpHdrClone.en.rst | 4 +- .../api/functions/TSHttpHdrCopy.en.rst | 4 +- .../api/functions/TSHttpHdrCreate.en.rst | 4 +- .../api/functions/TSHttpHdrDestroy.en.rst | 4 +- .../api/functions/TSHttpHdrHostGet.en.rst | 4 +- .../api/functions/TSHttpHdrLengthGet.en.rst | 4 +- .../api/functions/TSHttpHdrMethodGet.en.rst | 4 +- .../api/functions/TSHttpHdrMethodSet.en.rst | 4 +- .../api/functions/TSHttpHdrPrint.en.rst | 4 +- .../api/functions/TSHttpHdrReasonGet.en.rst | 4 +- .../api/functions/TSHttpHdrReasonLookup.en.rst | 4 +- .../api/functions/TSHttpHdrReasonSet.en.rst | 4 +- .../api/functions/TSHttpHdrStatusGet.en.rst | 4 +- .../api/functions/TSHttpHdrStatusSet.en.rst | 4 +- .../api/functions/TSHttpHdrTypeGet.en.rst | 4 +- .../api/functions/TSHttpHdrTypeSet.en.rst | 4 +- .../api/functions/TSHttpHdrUrlGet.en.rst | 4 +- .../api/functions/TSHttpHdrUrlSet.en.rst | 4 +- .../api/functions/TSHttpHdrVersionGet.en.rst | 4 +- .../api/functions/TSHttpHdrVersionSet.en.rst | 4 +- .../api/functions/TSHttpHookAdd.en.rst | 4 +- .../api/functions/TSHttpOverridableConfig.en.rst | 4 +- .../api/functions/TSHttpParserCreate.en.rst | 4 +- .../api/functions/TSHttpSsnClientFdGet.en.rst | 4 +- .../api/functions/TSHttpSsnIdGet.en.rst | 4 +- .../api/functions/TSHttpSsnReenable.en.rst | 4 +- .../api/functions/TSHttpTxnAborted.en.rst | 6 +- .../functions/TSHttpTxnCacheLookupStatusGet.en.rst | 4 +- .../functions/TSHttpTxnCacheLookupUrlGet.en.rst | 8 +- .../api/functions/TSHttpTxnCachedReqGet.en.rst | 4 +- .../api/functions/TSHttpTxnCachedRespGet.en.rst | 4 +- .../api/functions/TSHttpTxnClientFdGet.en.rst | 4 +- .../functions/TSHttpTxnClientPacketDscpSet.en.rst | 4 +- .../functions/TSHttpTxnClientPacketMarkSet.en.rst | 4 +- .../functions/TSHttpTxnClientPacketTosSet.en.rst | 4 +- .../api/functions/TSHttpTxnClientReqGet.en.rst | 4 +- .../api/functions/TSHttpTxnClientRespGet.en.rst | 4 +- .../api/functions/TSHttpTxnErrorBodySet.en.rst | 4 +- .../api/functions/TSHttpTxnIncomingAddrGet.en.rst | 4 +- .../api/functions/TSHttpTxnInfoIntGet.en.rst | 4 +- .../api/functions/TSHttpTxnIntercept.en.rst | 4 +- .../api/functions/TSHttpTxnIsCacheable.en.rst | 4 +- .../api/functions/TSHttpTxnIsInternal.en.rst | 4 +- .../api/functions/TSHttpTxnIsWebsocket.en.rst | 4 +- .../api/functions/TSHttpTxnMilestoneGet.en.rst | 4 +- .../api/functions/TSHttpTxnNextHopAddrGet.en.rst | 4 +- .../api/functions/TSHttpTxnNextHopNameGet.en.rst | 4 +- .../api/functions/TSHttpTxnOutgoingAddrGet.en.rst | 4 +- .../api/functions/TSHttpTxnParentProxySet.en.rst | 4 +- .../TSHttpTxnParentSelectionUrlGet.en.rst | 4 +- .../api/functions/TSHttpTxnPluginTagGet.en.rst | 4 +- .../api/functions/TSHttpTxnRedoCacheLookup.en.rst | 4 +- .../api/functions/TSHttpTxnReenable.en.rst | 4 +- .../api/functions/TSHttpTxnServerAddrGet.en.rst | 4 +- .../api/functions/TSHttpTxnServerAddrSet.en.rst | 4 +- .../api/functions/TSHttpTxnServerFdGet.en.rst | 4 +- .../api/functions/TSHttpTxnServerIntercept.en.rst | 4 +- .../functions/TSHttpTxnServerPacketDscpSet.en.rst | 4 +- .../functions/TSHttpTxnServerPacketMarkSet.en.rst | 4 +- .../functions/TSHttpTxnServerPacketTosSet.en.rst | 4 +- .../api/functions/TSHttpTxnServerPush.en.rst | 13 +- .../api/functions/TSHttpTxnServerReqGet.en.rst | 4 +- .../api/functions/TSHttpTxnServerRespGet.en.rst | 4 +- .../api/functions/TSHttpTxnSsnGet.en.rst | 4 +- .../api/functions/TSHttpTxnTransformRespGet.en.rst | 4 +- .../functions/TSHttpTxnTransformedRespCache.en.rst | 4 +- .../TSHttpTxnUntransformedRespCache.en.rst | 4 +- .../api/functions/TSIOBufferBlockReadStart.en.rst | 4 +- .../api/functions/TSIOBufferCopy.en.rst | 4 +- .../api/functions/TSIOBufferCreate.en.rst | 4 +- .../api/functions/TSIOBufferReader.en.rst | 5 +- .../api/functions/TSInstallDirGet.en.rst | 4 +- .../api/functions/TSIpStringToAddr.en.rst | 4 +- .../api/functions/TSLifecycleHookAdd.en.rst | 4 +- .../api/functions/TSMBufferCreate.en.rst | 4 +- .../api/functions/TSMgmtCounterGet.en.rst | 4 +- .../api/functions/TSMgmtFloatGet.en.rst | 4 +- .../api/functions/TSMgmtIntGet.en.rst | 4 +- .../api/functions/TSMgmtSourceGet.en.rst | 4 +- .../api/functions/TSMgmtStringGet.en.rst | 4 +- .../api/functions/TSMgmtUpdateRegister.en.rst | 4 +- .../api/functions/TSMimeHdrClone.en.rst | 4 +- .../api/functions/TSMimeHdrCopy.en.rst | 4 +- .../api/functions/TSMimeHdrCreate.en.rst | 4 +- .../api/functions/TSMimeHdrDestroy.en.rst | 4 +- .../api/functions/TSMimeHdrFieldAppend.en.rst | 4 +- .../api/functions/TSMimeHdrFieldClone.en.rst | 4 +- .../api/functions/TSMimeHdrFieldCopy.en.rst | 4 +- .../api/functions/TSMimeHdrFieldCopyValues.en.rst | 4 +- .../api/functions/TSMimeHdrFieldCreate.en.rst | 4 +- .../api/functions/TSMimeHdrFieldDestroy.en.rst | 4 +- .../api/functions/TSMimeHdrFieldFind.en.rst | 4 +- .../api/functions/TSMimeHdrFieldGet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldLengthGet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldNameGet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldNameSet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldNext.en.rst | 4 +- .../api/functions/TSMimeHdrFieldNextDup.en.rst | 4 +- .../api/functions/TSMimeHdrFieldRemove.en.rst | 4 +- .../api/functions/TSMimeHdrFieldValueAppend.en.rst | 4 +- .../functions/TSMimeHdrFieldValueDateInsert.en.rst | 4 +- .../functions/TSMimeHdrFieldValueDateSet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldValueIntSet.en.rst | 4 +- .../functions/TSMimeHdrFieldValueStringGet.en.rst | 4 +- .../TSMimeHdrFieldValueStringInsert.en.rst | 4 +- .../functions/TSMimeHdrFieldValueStringSet.en.rst | 4 +- .../functions/TSMimeHdrFieldValueUintInsert.en.rst | 4 +- .../functions/TSMimeHdrFieldValueUintSet.en.rst | 4 +- .../api/functions/TSMimeHdrFieldValuesClear.en.rst | 4 +- .../api/functions/TSMimeHdrFieldValuesCount.en.rst | 4 +- .../api/functions/TSMimeHdrFieldsClear.en.rst | 4 +- .../api/functions/TSMimeHdrFieldsCount.en.rst | 4 +- .../api/functions/TSMimeHdrLengthGet.en.rst | 4 +- .../api/functions/TSMimeHdrParse.en.rst | 4 +- .../api/functions/TSMimeHdrPrint.en.rst | 4 +- .../api/functions/TSMimeParserClear.en.rst | 4 +- .../api/functions/TSMimeParserCreate.en.rst | 4 +- .../api/functions/TSMimeParserDestroy.en.rst | 4 +- .../api/functions/TSMutexCreate.en.rst | 4 +- .../api/functions/TSMutexDestroy.en.rst | 4 +- .../api/functions/TSMutexLock.en.rst | 4 +- .../api/functions/TSMutexLockTry.en.rst | 4 +- .../api/functions/TSMutexUnlock.en.rst | 4 +- .../api/functions/TSNetAccept.en.rst | 4 +- .../api/functions/TSNetAcceptNamedProtocol.en.rst | 4 +- .../api/functions/TSNetConnect.en.rst | 4 +- .../api/functions/TSNetInvokingGet.en.rst | 4 +- .../api/functions/TSPluginInit.en.rst | 4 +- doc/developer-guide/api/functions/TSRecords.en.rst | 4 +- doc/developer-guide/api/functions/TSRemap.en.rst | 26 +- .../api/functions/TSRemapFromToUrlGet.en.rst | 4 +- .../api/functions/TSSslClientCertUpdate.en.rst | 4 +- .../api/functions/TSSslClientContext.en.rst | 4 +- .../api/functions/TSSslContext.en.rst | 4 +- .../api/functions/TSSslServerCertUpdate.en.rst | 4 +- .../api/functions/TSSslServerContextCreate.en.rst | 4 +- .../api/functions/TSSslSession.en.rst | 4 +- doc/developer-guide/api/functions/TSStat.en.rst | 4 +- .../api/functions/TSTextLogObjectCreate.en.rst | 4 +- .../api/functions/TSThreadCreate.en.rst | 4 +- .../api/functions/TSThreadDestroy.en.rst | 4 +- .../api/functions/TSThreadInit.en.rst | 4 +- .../api/functions/TSThreadSelf.en.rst | 4 +- .../api/functions/TSTrafficServerVersionGet.en.rst | 4 +- .../api/functions/TSTransformCreate.en.rst | 4 +- .../api/functions/TSTransformOutputVConnGet.en.rst | 4 +- doc/developer-guide/api/functions/TSTypes.en.rst | 6 +- .../api/functions/TSUrlCreate.en.rst | 4 +- .../api/functions/TSUrlFtpTypeGet.en.rst | 4 +- .../api/functions/TSUrlFtpTypeSet.en.rst | 4 +- .../api/functions/TSUrlHostGet.en.rst | 4 +- .../api/functions/TSUrlHostSet.en.rst | 4 +- .../api/functions/TSUrlPercentEncode.en.rst | 4 +- .../api/functions/TSUrlStringGet.en.rst | 4 +- .../api/functions/TSUuidCreate.en.rst | 4 +- doc/developer-guide/api/functions/TSVConn.en.rst | 4 +- .../api/functions/TSVConnAbort.en.rst | 4 +- .../api/functions/TSVConnArgs.en.rst | 4 +- .../api/functions/TSVConnCacheObjectSizeGet.en.rst | 4 +- .../api/functions/TSVConnClose.en.rst | 4 +- .../api/functions/TSVConnClosedGet.en.rst | 4 +- .../api/functions/TSVConnCreate.en.rst | 4 +- .../api/functions/TSVConnFdCreate.en.rst | 4 +- .../api/functions/TSVConnIsSsl.en.rst | 4 +- .../api/functions/TSVConnProtocol.en.rst | 4 +- .../api/functions/TSVConnRead.en.rst | 4 +- .../api/functions/TSVConnReadVIOGet.en.rst | 4 +- .../api/functions/TSVConnReenable.en.rst | 4 +- .../api/functions/TSVConnShutdown.en.rst | 4 +- .../api/functions/TSVConnSslConnectionGet.en.rst | 4 +- .../api/functions/TSVConnSslVerifyCTXGet.en.rst | 4 +- .../api/functions/TSVConnTunnel.en.rst | 4 +- .../api/functions/TSVConnWrite.en.rst | 4 +- .../api/functions/TSVConnWriteVIOGet.en.rst | 4 +- .../api/functions/TSVIOBufferGet.en.rst | 4 +- .../api/functions/TSVIOContGet.en.rst | 4 +- .../api/functions/TSVIOMutexGet.en.rst | 4 +- .../api/functions/TSVIONBytesGet.en.rst | 4 +- .../api/functions/TSVIONBytesSet.en.rst | 4 +- .../api/functions/TSVIONDoneGet.en.rst | 4 +- .../api/functions/TSVIONDoneSet.en.rst | 4 +- .../api/functions/TSVIONTodoGet.en.rst | 4 +- .../api/functions/TSVIOReaderGet.en.rst | 4 +- .../api/functions/TSVIOReenable.en.rst | 4 +- .../api/functions/TSVIOVConnGet.en.rst | 4 +- doc/developer-guide/api/functions/TSfclose.en.rst | 4 +- doc/developer-guide/api/functions/TSfflush.en.rst | 4 +- doc/developer-guide/api/functions/TSfgets.en.rst | 4 +- doc/developer-guide/api/functions/TSfopen.en.rst | 4 +- doc/developer-guide/api/functions/TSfread.en.rst | 4 +- doc/developer-guide/api/functions/TSfwrite.en.rst | 4 +- doc/developer-guide/api/functions/TSmalloc.en.rst | 4 +- .../api/types/TSCacheDataType.en.rst | 4 +- doc/developer-guide/api/types/TSCacheError.en.rst | 4 +- .../api/types/TSCacheLookupResult.en.rst | 4 +- .../api/types/TSCacheScanResult.en.rst | 4 +- doc/developer-guide/api/types/TSEvent.en.rst | 4 +- .../api/types/TSFetchWakeUpOptions.en.rst | 4 +- doc/developer-guide/api/types/TSHttpHookID.en.rst | 4 +- doc/developer-guide/api/types/TSHttpStatus.en.rst | 4 +- doc/developer-guide/api/types/TSHttpType.en.rst | 4 +- .../api/types/TSIOBuffersSizeIndex.en.rst | 4 +- .../api/types/TSLookingUpType.en.rst | 4 +- .../api/types/TSOverridableConfigKey.en.rst | 4 +- doc/developer-guide/api/types/TSParseResult.en.rst | 4 +- .../api/types/TSRecordAccessType.en.rst | 4 +- .../api/types/TSRecordCheckType.en.rst | 4 +- .../api/types/TSRecordDataType.en.rst | 4 +- .../api/types/TSRecordModeType.en.rst | 4 +- .../api/types/TSRecordPersistType.en.rst | 4 +- doc/developer-guide/api/types/TSRecordType.en.rst | 4 +- .../api/types/TSRecordUpdateType.en.rst | 4 +- doc/developer-guide/api/types/TSReturnCode.en.rst | 4 +- doc/developer-guide/api/types/TSSDKVersion.en.rst | 4 +- .../types/TSServerSessionSharingMatchType.en.rst | 4 +- .../types/TSServerSessionSharingPoolType.en.rst | 4 +- doc/developer-guide/api/types/TSServerState.en.rst | 4 +- doc/developer-guide/api/types/TSSslSession.en.rst | 4 +- .../api/types/TSStatPeristence.en.rst | 6 +- doc/developer-guide/api/types/TSStatSync.en.rst | 6 +- doc/developer-guide/api/types/TSThreadPool.en.rst | 4 +- doc/developer-guide/api/types/TSUuid.en.rst | 4 +- .../api/types/TSVConnCloseFlags.en.rst | 4 +- doc/developer-guide/debugging/debug-builds.en.rst | 19 + .../internal-libraries/MemSpan.en.rst | 4 +- .../internal-libraries/TextView.en.rst | 4 +- .../http-transactions.en.rst | 2 +- doc/developer-guide/plugins/introduction.en.rst | 4 +- doc/developer-guide/plugins/remap-plugins.en.rst | 42 +- doc/ext/traffic-server.py | 16 +- .../LC_MESSAGES/admin-guide/plugins/tcpinfo.en.po | 4 - doc/release-notes/upgrading.en.rst | 2 +- doc/release-notes/whats-new.en.rst | 5 +- doc/uml/Makefile.am | 2 +- example/plugins/c-api/cache_scan/cache_scan.cc | 2 +- .../plugins/c-api/disable_http2/disable_http2.cc | 2 +- example/plugins/c-api/intercept/intercept.cc | 2 +- example/plugins/c-api/passthru/passthru.cc | 2 +- example/plugins/c-api/server_push/server_push.c | 1 - example/plugins/c-api/ssl_sni/ssl_sni.cc | 2 +- .../c-api/ssl_sni_whitelist/ssl_sni_whitelist.cc | 2 +- example/plugins/c-api/statistic/statistic.cc | 2 +- example/plugins/c-api/verify_cert/verify_cert.cc | 2 +- .../AsyncHttpFetchStreaming.cc | 2 +- example/plugins/cpp-api/intercept/intercept.cc | 2 +- example/plugins/lua-api/reqbody.lua | 36 + include/ts/experimental.h | 2 - include/ts/remap.h | 12 +- include/ts/sdt.h | 40 + include/ts/ts.h | 13 +- include/tscore/BaseLogFile.h | 2 +- include/tscore/BufferWriter.h | 4 +- include/tscore/Errata.h | 4 +- include/tscore/Filenames.h | 50 + include/tscore/IpMap.h | 8 +- include/tscore/JeAllocator.h | 3 + include/tscore/RbTree.h | 4 +- include/tscore/ink_inet.h | 2 +- include/tscore/ink_platform.h | 2 + include/wccp/Wccp.h | 2 +- iocore/aio/AIO.cc | 9 +- iocore/cache/Cache.cc | 240 +- iocore/cache/CacheDir.cc | 3 +- iocore/cache/CacheHosting.cc | 11 +- iocore/cache/CacheRead.cc | 2 - iocore/cache/CacheTest.cc | 49 +- iocore/cache/CacheWrite.cc | 6 +- iocore/cache/I_CacheDefs.h | 10 +- iocore/cache/Makefile.am | 2 + iocore/cache/P_CacheBC.h | 137 - iocore/cache/Store.cc | 14 +- iocore/dns/DNS.cc | 2 +- iocore/dns/SplitDNS.cc | 11 +- iocore/eventsystem/IOBuffer.cc | 128 +- iocore/eventsystem/I_Action.h | 5 + iocore/eventsystem/I_EThread.h | 6 +- iocore/eventsystem/I_EventProcessor.h | 12 +- iocore/eventsystem/I_IOBuffer.h | 126 +- iocore/eventsystem/I_MIOBufferWriter.h | 6 + iocore/eventsystem/I_ProtectedQueue.h | 4 +- iocore/eventsystem/I_Thread.h | 2 - iocore/eventsystem/MIOBufferWriter.cc | 124 + iocore/eventsystem/Makefile.am | 2 +- iocore/eventsystem/P_IOBuffer.h | 178 +- iocore/eventsystem/P_UnixEThread.h | 13 +- iocore/eventsystem/P_UnixEventProcessor.h | 24 +- iocore/eventsystem/ProtectedQueue.cc | 21 +- iocore/eventsystem/UnixEThread.cc | 16 +- iocore/eventsystem/UnixEventProcessor.cc | 36 +- .../eventsystem/unit_tests/test_MIOBufferWriter.cc | 161 +- iocore/hostdb/HostDB.cc | 2 +- iocore/hostdb/I_HostDBProcessor.h | 4 - iocore/net/Connection.cc | 14 +- iocore/net/I_NetVConnection.h | 23 + iocore/net/P_NetAccept.h | 1 + iocore/net/P_QUICNetVConnection.h | 45 +- iocore/net/P_SSLNetVConnection.h | 28 +- iocore/net/P_SSLUtils.h | 9 + iocore/net/P_UDPPacket.h | 69 - iocore/net/P_UnixNet.h | 5 +- iocore/net/P_UnixNetVConnection.h | 1 + iocore/net/QUICMultiCertConfigLoader.cc | 5 +- iocore/net/QUICNetVConnection.cc | 414 +- iocore/net/QUICPacketHandler.cc | 27 +- iocore/net/SSLClientUtils.cc | 7 +- iocore/net/SSLNetVConnection.cc | 20 +- iocore/net/SSLSessionCache.cc | 27 +- iocore/net/SSLSessionCache.h | 17 +- iocore/net/SSLStats.cc | 4 + iocore/net/SSLStats.h | 2 + iocore/net/SSLUtils.cc | 33 +- iocore/net/UnixNet.cc | 2 + iocore/net/UnixNetAccept.cc | 72 +- iocore/net/UnixNetProcessor.cc | 7 +- iocore/net/UnixNetVConnection.cc | 74 +- iocore/net/quic/Makefile.am | 26 +- iocore/net/quic/Mock.h | 413 +- iocore/net/quic/QUICAckFrameCreator.cc | 5 +- iocore/net/quic/QUICAckFrameCreator.h | 4 +- iocore/net/quic/QUICAltConnectionManager.cc | 166 +- iocore/net/quic/QUICAltConnectionManager.h | 33 +- iocore/net/quic/QUICBidirectionalStream.cc | 14 +- iocore/net/quic/QUICBidirectionalStream.h | 4 +- iocore/net/quic/QUICConfig.cc | 21 +- iocore/net/quic/QUICConfig.h | 18 +- iocore/net/quic/QUICCongestionController.h | 53 + iocore/net/quic/QUICConnection.h | 1 + iocore/net/quic/QUICContext.cc | 147 + iocore/net/quic/QUICContext.h | 84 + iocore/net/quic/QUICCryptoStream.cc | 4 +- iocore/net/quic/QUICCryptoStream.h | 4 +- iocore/net/quic/QUICDebugNames.cc | 20 +- iocore/net/quic/QUICFlowController.cc | 4 +- iocore/net/quic/QUICFlowController.h | 4 +- iocore/net/quic/QUICFrame.cc | 1090 +- iocore/net/quic/QUICFrame.h | 172 +- iocore/net/quic/QUICFrameDispatcher.cc | 4 +- iocore/net/quic/QUICFrameDispatcher.h | 3 +- iocore/net/quic/QUICFrameGenerator.cc | 29 + iocore/net/quic/QUICFrameGenerator.h | 56 +- iocore/net/quic/QUICHandshake.cc | 18 +- iocore/net/quic/QUICHandshake.h | 4 +- iocore/net/quic/QUICIncomingFrameBuffer.cc | 24 +- iocore/net/quic/QUICKeyGenerator.cc | 2 +- iocore/net/quic/QUICLossDetector.cc | 242 +- iocore/net/quic/QUICLossDetector.h | 96 +- ...oller.cc => QUICNewRenoCongestionController.cc} | 105 +- iocore/net/quic/QUICPacket.cc | 168 +- iocore/net/quic/QUICPacket.h | 35 +- iocore/net/quic/QUICPacketFactory.cc | 19 +- iocore/net/quic/QUICPacketFactory.h | 2 +- iocore/net/quic/QUICPacketHeaderProtector.cc | 25 +- iocore/net/quic/QUICPacketProtectionKeyInfo.h | 68 +- iocore/net/quic/QUICPacketReceiveQueue.cc | 35 +- iocore/net/quic/QUICPacketReceiveQueue.h | 1 + iocore/net/quic/QUICPadder.cc | 109 + iocore/net/quic/{QUICPinger.h => QUICPadder.h} | 26 +- iocore/net/quic/QUICPathManager.cc | 84 + .../net/quic/{QUICPinger.h => QUICPathManager.h} | 34 +- iocore/net/quic/QUICPathValidator.cc | 159 +- iocore/net/quic/QUICPathValidator.h | 54 +- iocore/net/quic/QUICPinger.cc | 66 +- iocore/net/quic/QUICPinger.h | 25 +- iocore/net/quic/QUICStreamManager.cc | 22 +- iocore/net/quic/QUICStreamManager.h | 5 +- iocore/net/quic/QUICTLS_openssl.cc | 3 +- iocore/net/quic/QUICTokenCreator.cc | 71 + .../net/quic/{QUICPinger.h => QUICTokenCreator.h} | 23 +- iocore/net/quic/QUICTransportParameters.cc | 7 +- iocore/net/quic/QUICTransportParameters.h | 3 +- iocore/net/quic/QUICTypes.cc | 50 +- iocore/net/quic/QUICTypes.h | 101 +- iocore/net/quic/QUICUnidirectionalStream.cc | 15 +- iocore/net/quic/QUICUnidirectionalStream.h | 8 +- iocore/net/quic/test/test_QUICAckFrameCreator.cc | 103 +- .../net/quic/test/test_QUICAltConnectionManager.cc | 3 + iocore/net/quic/test/test_QUICFlowController.cc | 56 +- iocore/net/quic/test/test_QUICFrame.cc | 374 +- iocore/net/quic/test/test_QUICFrameDispatcher.cc | 21 +- .../net/quic/test/test_QUICIncomingFrameBuffer.cc | 23 +- iocore/net/quic/test/test_QUICInvariants.cc | 23 +- iocore/net/quic/test/test_QUICKeyGenerator.cc | 27 +- iocore/net/quic/test/test_QUICLossDetector.cc | 35 +- iocore/net/quic/test/test_QUICPacket.cc | 89 +- iocore/net/quic/test/test_QUICPacketFactory.cc | 5 +- .../quic/test/test_QUICPacketHeaderProtector.cc | 45 +- iocore/net/quic/test/test_QUICPathValidator.cc | 112 + iocore/net/quic/test/test_QUICPinger.cc | 101 + iocore/net/quic/test/test_QUICStream.cc | 148 +- iocore/net/quic/test/test_QUICStreamManager.cc | 4 +- .../net/quic/test/test_QUICTransportParameters.cc | 6 +- iocore/net/quic/test/test_QUICType.cc | 68 + lib/perl/lib/Apache/TS/AdminClient.pm | 1 - lib/records/P_RecDefs.h | 4 - lib/records/RecCore.cc | 28 +- lib/yamlcpp/.gitignore | 1 + lib/yamlcpp/CMakeLists.txt | 134 +- lib/yamlcpp/README.md | 4 +- lib/yamlcpp/include/yaml-cpp/binary.h | 12 +- lib/yamlcpp/include/yaml-cpp/contrib/anchordict.h | 3 +- lib/yamlcpp/include/yaml-cpp/emitter.h | 33 +- lib/yamlcpp/include/yaml-cpp/eventhandler.h | 7 +- lib/yamlcpp/include/yaml-cpp/exceptions.h | 44 +- lib/yamlcpp/include/yaml-cpp/node/convert.h | 11 +- lib/yamlcpp/include/yaml-cpp/node/detail/impl.h | 81 +- .../include/yaml-cpp/node/detail/iterator.h | 16 +- lib/yamlcpp/include/yaml-cpp/node/detail/memory.h | 5 +- lib/yamlcpp/include/yaml-cpp/node/detail/node.h | 12 +- .../include/yaml-cpp/node/detail/node_data.h | 2 +- .../include/yaml-cpp/node/detail/node_iterator.h | 4 +- lib/yamlcpp/include/yaml-cpp/node/impl.h | 115 +- lib/yamlcpp/include/yaml-cpp/node/node.h | 4 + lib/yamlcpp/include/yaml-cpp/noncopyable.h | 25 - lib/yamlcpp/include/yaml-cpp/ostream_wrapper.h | 10 +- lib/yamlcpp/include/yaml-cpp/parser.h | 10 +- lib/yamlcpp/include/yaml-cpp/traits.h | 32 + lib/yamlcpp/src/binary.cpp | 11 +- lib/yamlcpp/src/collectionstack.h | 6 +- lib/yamlcpp/src/contrib/graphbuilder.cpp | 2 +- lib/yamlcpp/src/contrib/graphbuilderadapter.cpp | 6 +- lib/yamlcpp/src/contrib/graphbuilderadapter.h | 16 +- lib/yamlcpp/src/contrib/yaml-cpp.natvis | 32 + lib/yamlcpp/src/contrib/yaml-cpp.natvis.md | 9 + lib/yamlcpp/src/directives.cpp | 9 +- lib/yamlcpp/src/emitfromevents.cpp | 7 +- lib/yamlcpp/src/emitter.cpp | 10 +- lib/yamlcpp/src/emitterstate.cpp | 44 +- lib/yamlcpp/src/emitterstate.h | 9 +- lib/yamlcpp/src/emitterutils.cpp | 28 +- lib/yamlcpp/src/exceptions.cpp | 2 +- lib/yamlcpp/src/exp.h | 60 +- lib/yamlcpp/src/node_data.cpp | 32 +- lib/yamlcpp/src/nodebuilder.cpp | 11 +- lib/yamlcpp/src/nodebuilder.h | 6 +- lib/yamlcpp/src/nodeevents.cpp | 4 +- lib/yamlcpp/src/nodeevents.h | 8 +- lib/yamlcpp/src/ostream_wrapper.cpp | 11 +- lib/yamlcpp/src/parser.cpp | 6 +- lib/yamlcpp/src/ptr_vector.h | 12 +- lib/yamlcpp/src/regex_yaml.cpp | 20 +- lib/yamlcpp/src/regex_yaml.h | 13 +- lib/yamlcpp/src/scanner.cpp | 13 +- lib/yamlcpp/src/scanner.h | 2 +- lib/yamlcpp/src/scanscalar.cpp | 2 +- lib/yamlcpp/src/scantoken.cpp | 4 +- lib/yamlcpp/src/setting.h | 24 +- lib/yamlcpp/src/simplekey.cpp | 2 +- lib/yamlcpp/src/singledocparser.cpp | 26 +- lib/yamlcpp/src/singledocparser.h | 14 +- lib/yamlcpp/src/stream.cpp | 32 +- lib/yamlcpp/src/stream.h | 9 +- lib/yamlcpp/src/streamcharsource.h | 8 +- lib/yamlcpp/src/tag.cpp | 5 +- lib/yamlcpp/src/token.h | 13 +- lib/yamlcpp/test/CMakeLists.txt | 73 +- lib/yamlcpp/test/create-emitter-tests.py | 28 +- lib/yamlcpp/test/integration/emitter_test.cpp | 67 +- .../test/integration/error_messages_test.cpp | 61 + lib/yamlcpp/test/integration/gen_emitter_test.cpp | 1177 ++- lib/yamlcpp/test/integration/handler_spec_test.cpp | 14 +- lib/yamlcpp/test/integration/load_node_test.cpp | 22 +- lib/yamlcpp/test/mock_event_handler.h | 3 +- lib/yamlcpp/test/node/node_test.cpp | 130 +- lib/yamlcpp/test/regex_test.cpp | 18 +- lib/yamlcpp/util/CMakeLists.txt | 18 +- mgmt/ConfigManager.cc | 13 +- mgmt/ConfigManager.h | 7 +- mgmt/FileManager.cc | 4 +- mgmt/LocalManager.cc | 5 +- mgmt/ProcessManager.cc | 4 + mgmt/RecordsConfig.cc | 61 +- mgmt/WebMgmtUtils.cc | 5 +- mgmt/api/INKMgmtAPI.cc | 2 +- plugins/Makefile.am | 7 +- plugins/authproxy/authproxy.cc | 2 +- plugins/cachekey/configs.cc | 29 +- plugins/cachekey/configs.h | 6 +- plugins/cachekey/plugin.cc | 48 +- plugins/certifier/certifier.cc | 4 +- plugins/experimental/cookie_remap/cookie_remap.cc | 9 +- plugins/experimental/cookie_remap/cookiejar.cc | 5 +- .../ja3_fingerprint/ja3_fingerprint.cc | 2 +- plugins/experimental/metalink/metalink.cc | 2 +- plugins/experimental/remap_stats/Makefile.inc | 2 +- .../remap_stats/{remap_stats.c => remap_stats.cc} | 136 +- plugins/experimental/server_push_preload/README.md | 3 - plugins/experimental/slice/Config.cc | 44 +- plugins/experimental/slice/Config.h | 3 +- plugins/experimental/slice/Data.h | 12 +- plugins/experimental/slice/HttpHeader.h | 2 +- plugins/experimental/slice/README.md | 84 +- plugins/experimental/slice/Range.cc | 2 +- plugins/experimental/slice/client.cc | 2 +- plugins/experimental/slice/slice.cc | 81 +- plugins/experimental/slice/transfer.cc | 3 +- .../experimental/ssl_session_reuse/src/config.cc | 4 +- .../experimental/ssl_session_reuse/src/publish.cc | 30 +- .../ssl_session_reuse/src/session_process.cc | 2 +- plugins/experimental/sslheaders/sslheaders.cc | 2 +- plugins/experimental/traffic_dump/traffic_dump.cc | 2 +- .../uri_signing/python_signer/README.md | 36 + .../uri_signing/python_signer/example_config.json | 33 + .../uri_signing/python_signer/uri_signer.py | 74 + plugins/experimental/url_sig/url_sig.c | 26 +- plugins/generator/generator.cc | 5 +- plugins/header_rewrite/header_rewrite.cc | 2 +- plugins/lua/ts_lua_server_request.c | 111 +- .../server_push_preload/Makefile.inc | 10 +- plugins/server_push_preload/README.md | 17 + .../server_push_preload/server_push_preload.cc | 53 +- plugins/tcpinfo/tcpinfo.cc | 17 +- proxy/CacheControl.cc | 15 +- proxy/ControlBase.h | 4 +- proxy/IPAllow.cc | 5 +- proxy/InkAPIInternal.h | 5 +- proxy/ParentSelection.cc | 13 +- proxy/Plugin.cc | 13 +- proxy/ProxyTransaction.cc | 12 + proxy/ProxyTransaction.h | 8 +- proxy/ReverseProxy.cc | 21 +- proxy/hdrs/HdrHeap.cc | 18 + proxy/hdrs/HdrHeap.h | 2 + proxy/hdrs/HdrTest.cc | 27 + proxy/hdrs/MIME.cc | 67 +- proxy/hdrs/MIME.h | 28 +- proxy/hdrs/test_mime.cc | 65 + proxy/http/Http1Transaction.cc | 3 +- proxy/http/HttpBodyFactory.cc | 3 +- proxy/http/HttpCacheSM.cc | 55 +- proxy/http/HttpConfig.cc | 50 +- proxy/http/HttpConfig.h | 26 +- proxy/http/HttpConnectionCount.cc | 65 +- proxy/http/HttpProxyServerMain.cc | 4 +- proxy/http/HttpProxyServerMain.h | 2 +- proxy/http/HttpSM.cc | 41 +- proxy/http/HttpSM.h | 13 + proxy/http/HttpSessionManager.cc | 27 +- proxy/http/HttpTransact.cc | 131 +- proxy/http/HttpTransact.h | 5 +- proxy/http/HttpTransactCache.cc | 4 +- proxy/http/HttpTransactHeaders.cc | 43 - proxy/http/HttpTransactHeaders.h | 2 - proxy/http/HttpTunnel.cc | 8 +- proxy/http/remap/Makefile.am | 39 +- proxy/http/remap/PluginDso.cc | 96 +- proxy/http/remap/PluginDso.h | 38 +- proxy/http/remap/PluginFactory.cc | 53 +- proxy/http/remap/PluginFactory.h | 5 +- proxy/http/remap/RemapConfig.cc | 3 +- proxy/http/remap/RemapPluginInfo.cc | 22 +- proxy/http/remap/RemapPluginInfo.h | 4 +- proxy/http/remap/UrlRewrite.cc | 5 +- proxy/http/remap/unit-tests/plugin_init_fail.cc | 58 + ...in_testing_calls.cc => plugin_instinit_fail.cc} | 86 +- .../http/remap/unit-tests/plugin_testing_calls.cc | 4 +- .../http/remap/unit-tests/plugin_testing_common.h | 57 +- proxy/http/remap/unit-tests/test_PluginDso.cc | 2 +- proxy/http/remap/unit-tests/test_PluginFactory.cc | 161 +- proxy/http/remap/unit-tests/test_RemapPlugin.cc | 37 +- proxy/http2/HPACK.cc | 76 +- proxy/http2/HPACK.h | 20 +- proxy/http2/HTTP2.cc | 11 +- proxy/http2/HTTP2.h | 1 + proxy/http2/Http2ConnectionState.cc | 11 +- proxy/http2/Http2ConnectionState.h | 2 +- proxy/http2/Http2Stream.cc | 139 +- proxy/http2/Http2Stream.h | 22 +- proxy/http3/QPACK.h | 4 +- proxy/logging/Log.cc | 10 + proxy/logging/Log.h | 23 +- proxy/logging/LogAccess.cc | 37 +- proxy/logging/LogAccess.h | 20 +- proxy/logging/LogConfig.cc | 21 +- proxy/logging/LogFile.cc | 28 +- proxy/logging/LogObject.cc | 19 +- proxy/logging/YamlLogConfig.cc | 4 +- proxy/shared/DiagsConfig.cc | 3 +- src/traffic_layout/info.cc | 17 +- src/traffic_manager/AddConfigFilesHere.cc | 29 +- src/traffic_manager/traffic_manager.cc | 8 +- src/traffic_quic/quic_client.cc | 4 +- src/traffic_server/InkAPI.cc | 79 +- src/traffic_server/InkAPITest.cc | 9 +- src/traffic_server/traffic_server.cc | 37 +- src/traffic_top/stats.h | 13 +- src/traffic_top/traffic_top.cc | 2 +- src/tscore/BaseLogFile.cc | 20 +- src/tscore/BufferWriterFormat.cc | 45 +- src/tscore/EventNotify.cc | 3 +- src/tscore/HostLookup.cc | 10 +- src/tscore/IpMap.cc | 2 +- src/tscore/Makefile.am | 6 +- src/tscore/RbTree.cc | 2 +- src/tscore/Regex.cc | 8 +- src/tscore/ink_hrtime.cc | 2 + src/tscore/ink_inet.cc | 4 +- src/tscore/ink_res_mkquery.cc | 17 +- src/tscore/test_atomic.cc | 2 +- src/tscore/test_freelist.cc | 2 +- src/tscore/unit_tests/test_layout.cc | 5 +- src/tscpp/api/InterceptPlugin.cc | 2 +- src/tscpp/util/unit_tests/test_TextView.cc | 57 +- src/wccp/WccpLocal.h | 34 +- tests/Pipfile | 4 +- tests/gold_tests/autest-site/curl_header.test.ext | 1 - tests/gold_tests/autest-site/init.cli.ext | 5 +- tests/gold_tests/autest-site/microDNS.test.ext | 4 +- tests/gold_tests/autest-site/microserver.test.ext | 11 +- .../gold_tests/autest-site/traffic_replay.test.ext | 4 +- .../gold_tests/autest-site/trafficserver.test.ext | 5 +- tests/gold_tests/basic/config.test.py | 1 - tests/gold_tests/basic/copy_config.test.py | 2 +- tests/gold_tests/basic/deny0.test.py | 1 - tests/gold_tests/cache/cache-control.test.py | 3 +- .../chunked_encoding/chunked_encoding.test.py | 1 - tests/gold_tests/continuations/double.test.py | 4 +- tests/gold_tests/continuations/double_h2.test.py | 4 +- tests/gold_tests/continuations/openclose.test.py | 4 +- tests/gold_tests/h2/h2active_timeout.py | 1 - tests/gold_tests/h2/h2bigclient.py | 2 - tests/gold_tests/h2/h2chunked.py | 2 - tests/gold_tests/h2/h2client.py | 2 - tests/gold_tests/h2/h2disable.test.py | 1 - .../h2/h2disable_no_accept_threads.test.py | 1 - tests/gold_tests/h2/h2enable.test.py | 1 - .../h2/h2enable_no_accept_threads.test.py | 1 - tests/gold_tests/h2/h2spec.test.py | 5 - tests/gold_tests/h2/http2_priority.test.py | 6 +- .../gold_tests/headers/cache_and_req_body.test.py | 1 - tests/gold_tests/headers/cachedIMSRange.test.py | 2 - tests/gold_tests/headers/forwarded-observer.py | 1 - tests/gold_tests/headers/forwarded.test.py | 1 - tests/gold_tests/headers/hsts.test.py | 1 - tests/gold_tests/headers/http408.test.py | 1 - tests/gold_tests/headers/normalize_ae.test.py | 1 - tests/gold_tests/headers/syntax.test.py | 11 +- tests/gold_tests/headers/via.test.py | 1 - tests/gold_tests/logging/all_headers.test.py | 1 - tests/gold_tests/logging/ccid_ctid.test.py | 1 - tests/gold_tests/logging/log-filter.test.py | 9 +- tests/gold_tests/logging/log_retention.test.py | 105 + .../pluginTest/cert_update/cert_update.test.py | 4 - .../client_context_dump.test.py | 2 - .../pluginTest/compress/compress.test.py | 2 - .../header_rewrite/header_rewrite.test.py | 1 - .../lua_watermark.test.py} | 49 +- tests/gold_tests/pluginTest/lua/watermark.lua | 36 + .../pluginTest/multiplexer/multiplexer.test.py | 1 - .../regex_remap/replay/yts-2819.replay.json | 8 + tests/gold_tests/pluginTest/slice/slice.test.py | 4 +- .../pluginTest/slice/slice_error.test.py | 4 +- .../gold_tests/pluginTest/test_hooks/hook_add.gold | 7 + .../hook_add.test.py} | 49 +- .../pluginTest/traffic_dump/gold/200.gold | 12 + .../pluginTest/traffic_dump/traffic_dump.test.py | 112 + .../pluginTest/traffic_dump/verify_replay.py | 96 + .../gold_tests/pluginTest/url_sig/url_sig.test.py | 3 +- .../pluginTest/xdebug/x_remap/x_remap.test.py | 5 +- tests/gold_tests/redirect/redirect_post.test.py | 1 - .../remap/gold/remap-ws-upgrade-400.gold | 7 + tests/gold_tests/remap/gold/remap-ws-upgrade.gold | 11 + tests/gold_tests/remap/remap_http.test.py | 13 +- tests/gold_tests/remap/remap_https.test.py | 7 +- tests/gold_tests/remap/remap_ws.test.py | 77 + tests/gold_tests/runroot/runroot_error.test.py | 2 - tests/gold_tests/runroot/runroot_init.test.py | 2 - tests/gold_tests/runroot/runroot_manager.test.py | 2 - tests/gold_tests/runroot/runroot_remove.test.py | 2 - tests/gold_tests/runroot/runroot_use.test.py | 2 - tests/gold_tests/runroot/runroot_verify.test.py | 2 - tests/gold_tests/session_sharing/gold/200.gold | 19 + .../session_sharing/session_match.test.py | 113 + tests/gold_tests/slow_post/slow_post.test.py | 3 - .../gold_tests/thread_config/thread_100_0.test.py | 2 - .../gold_tests/thread_config/thread_100_1.test.py | 2 - .../gold_tests/thread_config/thread_100_10.test.py | 2 - tests/gold_tests/thread_config/thread_1_0.test.py | 2 - tests/gold_tests/thread_config/thread_1_1.test.py | 2 - tests/gold_tests/thread_config/thread_1_10.test.py | 2 - tests/gold_tests/thread_config/thread_2_0.test.py | 2 - tests/gold_tests/thread_config/thread_2_1.test.py | 2 - tests/gold_tests/thread_config/thread_2_10.test.py | 2 - tests/gold_tests/thread_config/thread_32_0.test.py | 2 - tests/gold_tests/thread_config/thread_32_1.test.py | 2 - .../gold_tests/thread_config/thread_32_10.test.py | 2 - tests/gold_tests/tls/ssl-post.c | 6 +- tests/gold_tests/tls/tls.test.py | 1 - .../tls/tls_check_cert_selection.test.py | 1 - tests/gold_tests/tls/tls_client_cert.test.py | 2 - tests/gold_tests/tls/tls_client_cert2.test.py | 3 - .../tls/tls_client_cert_override.test.py | 3 - tests/gold_tests/tls/tls_client_verify.test.py | 3 - tests/gold_tests/tls/tls_client_verify2.test.py | 3 - tests/gold_tests/tls/tls_client_versions.test.py | 1 - .../gold_tests/tls/tls_hooks_client_verify.test.py | 1 - tests/gold_tests/tls/tls_hooks_verify.test.py | 1 - tests/gold_tests/tls/tls_keepalive.test.py | 1 - tests/gold_tests/tls/tls_session_cache.test.py | 1 - tests/gold_tests/tls/tls_ticket.test.py | 2 - tests/gold_tests/tls/tls_tunnel.test.py | 1 - tests/gold_tests/tls/tls_tunnel_forward.test.py | 1 - tests/gold_tests/tls/tls_verify.test.py | 1 - tests/gold_tests/tls/tls_verify2.test.py | 1 - tests/gold_tests/tls/tls_verify3.test.py | 1 - tests/gold_tests/tls/tls_verify_base.test.py | 1 - .../gold_tests/tls/tls_verify_ca_override.test.py | 1 - .../gold_tests/tls/tls_verify_not_pristine.test.py | 1 - tests/gold_tests/tls/tls_verify_override.test.py | 1 - .../tls/tls_verify_override_base.test.py | 1 - ...fy3.test.py => tls_verify_override_sni.test.py} | 114 +- tests/gold_tests/tls_hooks/tls_hooks10.test.py | 1 - tests/gold_tests/tls_hooks/tls_hooks12.test.py | 1 - tests/gold_tests/tls_hooks/tls_hooks13.test.py | 1 - tests/gold_tests/tls_hooks/tls_hooks14.test.py | 1 - tests/gold_tests/tls_hooks/tls_hooks15.test.py | 1 - tests/include/catch.hpp | 10295 +++++++++++++------ tests/tools/plugins/hook_add_plugin.cc | 140 + tests/tools/plugins/ssl_verify_test.cc | 2 +- tools/changelog.pl | 169 - tools/check-unused-dependencies | 2 +- tools/clang-format.sh | 6 +- tools/{ => git}/apply-pr.sh | 0 tools/git/changelog.pl | 174 + tools/git/git_merge_log.pl | 144 + tools/http_load/http_load.c | 4 +- 788 files changed, 18720 insertions(+), 9195 deletions(-) create mode 100644 ci/docker/deb/Dockerfile mode change 100644 => 100755 contrib/python/compare_RecordsConfigcc.py mode change 100644 => 100755 contrib/python/compare_records_config.py create mode 100644 doc/admin-guide/monitoring/statistics/core/eventloop.en.rst create mode 100644 example/plugins/lua-api/reqbody.lua create mode 100644 include/ts/sdt.h create mode 100644 include/tscore/Filenames.h delete mode 100644 iocore/cache/P_CacheBC.h create mode 100644 iocore/eventsystem/MIOBufferWriter.cc create mode 100644 iocore/net/quic/QUICCongestionController.h create mode 100644 iocore/net/quic/QUICContext.cc create mode 100644 iocore/net/quic/QUICContext.h rename iocore/net/quic/{QUICCongestionController.cc => QUICNewRenoCongestionController.cc} (62%) create mode 100644 iocore/net/quic/QUICPadder.cc copy iocore/net/quic/{QUICPinger.h => QUICPadder.h} (59%) create mode 100644 iocore/net/quic/QUICPathManager.cc copy iocore/net/quic/{QUICPinger.h => QUICPathManager.h} (58%) create mode 100644 iocore/net/quic/QUICTokenCreator.cc copy iocore/net/quic/{QUICPinger.h => QUICTokenCreator.h} (68%) create mode 100644 iocore/net/quic/test/test_QUICPathValidator.cc create mode 100644 iocore/net/quic/test/test_QUICPinger.cc delete mode 100644 lib/yamlcpp/include/yaml-cpp/noncopyable.h create mode 100644 lib/yamlcpp/src/contrib/yaml-cpp.natvis create mode 100644 lib/yamlcpp/src/contrib/yaml-cpp.natvis.md create mode 100644 lib/yamlcpp/test/integration/error_messages_test.cpp rename plugins/experimental/remap_stats/{remap_stats.c => remap_stats.cc} (65%) delete mode 100644 plugins/experimental/server_push_preload/README.md create mode 100644 plugins/experimental/uri_signing/python_signer/README.md create mode 100644 plugins/experimental/uri_signing/python_signer/example_config.json create mode 100755 plugins/experimental/uri_signing/python_signer/uri_signer.py rename plugins/{experimental => }/server_push_preload/Makefile.inc (71%) create mode 100644 plugins/server_push_preload/README.md rename plugins/{experimental => }/server_push_preload/server_push_preload.cc (74%) create mode 100644 proxy/http/remap/unit-tests/plugin_init_fail.cc copy proxy/http/remap/unit-tests/{plugin_testing_calls.cc => plugin_instinit_fail.cc} (53%) create mode 100644 tests/gold_tests/logging/log_retention.test.py copy tests/gold_tests/pluginTest/{header_rewrite/header_rewrite.test.py => lua/lua_watermark.test.py} (57%) create mode 100644 tests/gold_tests/pluginTest/lua/watermark.lua create mode 100644 tests/gold_tests/pluginTest/test_hooks/hook_add.gold copy tests/gold_tests/pluginTest/{multiplexer/multiplexer.test.py => test_hooks/hook_add.test.py} (51%) create mode 100644 tests/gold_tests/pluginTest/traffic_dump/gold/200.gold create mode 100644 tests/gold_tests/pluginTest/traffic_dump/traffic_dump.test.py create mode 100644 tests/gold_tests/pluginTest/traffic_dump/verify_replay.py create mode 100644 tests/gold_tests/remap/gold/remap-ws-upgrade-400.gold create mode 100644 tests/gold_tests/remap/gold/remap-ws-upgrade.gold create mode 100644 tests/gold_tests/remap/remap_ws.test.py create mode 100644 tests/gold_tests/session_sharing/gold/200.gold create mode 100644 tests/gold_tests/session_sharing/session_match.test.py copy tests/gold_tests/tls/{tls_verify3.test.py => tls_verify_override_sni.test.py} (53%) create mode 100644 tests/tools/plugins/hook_add_plugin.cc delete mode 100755 tools/changelog.pl rename tools/{ => git}/apply-pr.sh (100%) create mode 100755 tools/git/changelog.pl create mode 100755 tools/git/git_merge_log.pl