Changes with Apache Traffic Server 9.1.0 #4843 - limit m_current_range to max value in RangeTransform #5758 - Fix race condition when invoking TASK_THREADS_READY lifecycle hook #5759 - Remove unnecessary parts from tests #5761 - Remove testing command #5816 - Add helper functions to apply api timeouts consistently. #5881 - CI: added support for disabling curl in the build #5882 - Adds the v9.0.x Docs link to main docs page #5884 - Updates the CI build scripts, adds QUIC support #5890 - Bumped the version of master to 10.0.0 #5904 - Add implementation for TextView::rtrim(char const*) #5928 - Cleanup RamCacheCLFUS #5938 - Fix dynamic update for conntrack (HttpConnectionCount) config vars #5960 - Add Nexthop selection strategies and @strategy tag to remap.config. #5975 - Add some documentation to the action class to avoid confusion #5984 - Adds build targets on CI for 9.0.x #5988 - Refactor Http1Session to derive from ProxySsn #5999 - A general autoconf cleanup #6004 - Add example to retrieve request body using Lua #6014 - ProxySsn con_id refactor #6015 - Do not reload configs periodically #6020 - These are the current settings we're running on docs #6036 - Cleanup: Remove use of obsolete class TSConstBuffer from MIME.cc #6059 - Remove obsolete pipeline_max variable #6060 - Remove remnants of http/1.1 pipeline logic. #6063 - Add tests for MIMEHdr::get_host_port_values #6067 - Updates references to OSX to macOS #6079 - traffic_quic: Support close exercise option on H3 session #6100 - Script used for comparing commits on internal branch and remote branches #6101 - Updating the autest version pin to 1.7.4. #6102 - Add lua watermark autest #6105 - Cleaned up the changelog command for making our release notes #6146 - Check Range header for stale content #6183 - Dockerfile for Debian package managers #6184 - Remove header conversion functions for HTTP/0.9 #6213 - Adds WS check, and some cleanup #6215 - Do not reenable txnp with TS_EVENT_HTTP_ERROR if received TS_EVENT_HTTP_TXN_CLOSE event #6220 - Correct handle the value return from mgmt socket read and write (#6220) #6221 - Docker builds do not need build numbers in workspace #6241 - Make Allocator.h less silly (no creepy "proto" object). #6254 - H1 txn new #6258 - Initial revision of .lgtm.yml config file #6271 - LGTM: fixes a shadowed variable in ParentSelection::PreprocessParents(). #6274 - Remove -j from lgtm build #6282 - LGTM: Fix unused imports #6288 - Follow the comments in I_Thread.h, add an independent ink_thread_key for EThread #6292 - Update git-versions figure #6310 - Improvements on ESI plugin #6326 - Remove dequeue_timed since it is not being used anymore #6360 - Cleanup: Remove empty function #6385 - Set default encoding UTF-8 for AuTest on Linux #6447 - Revert "Disable the chunked_encoding test" #6452 - Using dynamic ports in AUtest #6458 - Turn on debug for the bash script test_logstats_summary #6481 - traffic_manager - Exponential backoff - Make values configurable #6484 - Add ICAP plugin #6485 - Be explicit about RTLD_LOCAL, defaults varies on platforms #6491 - LGTM: Fix comparing int8_t with wider type #6494 - Cleanup: check activity of Http2Stream by ActivityCop #6505 - Created remap_stats au test #6506 - In Au tests, poll for excretion of log file rather than waiting fixed delay. #6509 - Cleanup: Break down HpackIndexingTable::lookup() into static table lookup & dynamic table lookup #6515 - Check the exit value of the regression test #6520 - Cleanup: Get rid of MIMEFieldWrapper from HPACK encoding #6521 - Perf: Replace casecmp with memcmp in HPACK static table lookup #6528 - Introduce LocalBuffer #6531 - Allow lo interface in list of system stats #6536 - Perf: Use LocalBuffer in HTTP/2 #6539 - Convert tscore regression tests to Catch unit tests. #6544 - Convert proxy/logging unit tests to use Catch. #6545 - Optimize HTTPHdr conversion of HTTP/2 to HTTP/1.1 #6548 - Remove unused unit test source files in src/tscore. #6554 - Convert mgmt/utils unit tests to use Catch. #6559 - Convert unit tests for sslheaders plugin to Catch. #6563 - Removed some unused declarations in HttpTransact #6564 - Convert single regression test in iocore/eventsystem/SocketManager.cc to Catch. #6570 - Make request/response body as an option for AuTest microserver #6611 - Make next_cs_id a private member variable. #6612 - Convert HTTP/2 regression tests to use Catch #6619 - Fix ASAN detected crash in test_LogUtils. #6630 - close the file after use #6644 - Augment autest to exercise combined cert and key file #6651 - Run httpbin as an origin server of AuTest #6668 - Added bonded interface support to system stats plugin #6669 - Added a basic CODEOWNERS #6670 - Skip running autests for ci builds that don't have relevant changed files #6675 - Test PUSHing an object into the cache and then GETting it. #6679 - Adds the 8.1 stuff that's already running and building #6680 - Skip running autests for ci builds that don't have relevant changed files #6681 - chdir into src before running git commands #6687 - Added more of the main sub-trees #6696 - Fixed memory leak in header unit test #6719 - Fix typo in DiagsConfig #6721 - HttpSM cleaning up non-sense pointer indirection #6722 - Au test: HTTP/2 client sends POST, server delays 2 minutes, sends 200 KB #6726 - Lua plugin: add ts.server_response.is_cacheable() #6728 - Fix ink_endian.h to include an appropriate header file #6751 - Script to find mutexes/futexes that are contending #6761 - Disable remap-stats test until we can reliably wait for metrics #6762 - Make chunked_encoding test more reliable by killing nc process #6763 - Accept handling VIO events #6764 - Accept Handling VIO events SSL #6767 - Lua plugin: add ts.server_response.get_maxage() #6773 - Add back reading config for handshake timeout #6775 - Updates clang-format to LLVM v10.0.0 #6782 - NextHop Strategy Refactor and Fixes #6790 - clang-analyzer: eliminate identical conditions #6791 - clang-analyzer: code clone in get_proxy_protocol_addr #6806 - Support external log rotation tools via SIGUSR2 #6814 - Make post_slow_server Au test work in Docker container. #6820 - HostDB - change HostResPreferenceOrder type to std::array. #6828 - PoolableSession class abstracted from Http1ServerSession #6844 - LGTM: fix hiding a global variable with the same name #6858 - Make HostDBInfo class safer to use. #6870 - Generalize SNI support #6875 - Fix for Ubuntu 16 and Clang 5 #6897 - Test connection timeout and retries #6905 - Remove two unused includes in HdrHeap.h. #6931 - AuTest: New log and When condition for ATS initialized #6934 - Update buffer-writer.en.rst (wrong header link) #6935 - Adds qlog_dir documentation #6943 - Cleanup: Remove unused arguments #6945 - Build AuTest C/C++ test plugins and utilities with Automake. #6947 - Add CI verbose and debug options for autest #6951 - Cleanup: Remove unnecessary member from Http2Stream #6952 - remove useless code #6958 - Fixes icap build on macOS #6962 - Cleanup: Simplify Http2Stream::update_write_request() #6963 - Fix format string for int64_t #6966 - Make the log_pipe test more efficient. #6967 - Add new test and fix for float configuration failure in conf_remap #6971 - AuTest: Properly handle experimental plugins. #6972 - Traffic Dump: dump server-side protocol stack #6974 - Remap doc correction #6976 - Use print mode with length in validate_sni debug #6978 - Add option for hybrid global and thread session pools #6979 - hostdb: don't use next_sync_time - now() as TTL (it can be negative) #6991 - Fix typo in Http2ConnectionState #6992 - Add logic to resolve content-length transfer-encoding conflicts on response #6993 - Updates path to reflect new location in tree #6996 - Make the setting of the continuation handler safer. #6997 - Cleanup: Write error message on diags output instead of stderr #7006 - ProtocolStack variable rename: n -> count #7010 - Removes use of SPLIT_DNS macro #7011 - Fix typos relating to tls_bridge #7018 - Make tls_conn_timeout test more reliable in CI - fixes autest on master #7025 - Removes dead code from iocore/dns #7026 - Spacing tweaks to acl_filter_rule::print #7027 - Removes TODO #7039 - Avoid unnecessary copying of STL map for QUICTPConfigQCP class. #7043 - Fix a typo #7047 - Fixes spelling/license formatting in traffic_dump plugin #7049 - Cleans up various versions checks #7058 - Removes FIXME that is unlikely to be fixed at this point in the project history #7063 - Add an autest testcase for HTTP3 #7066 - Use system include-style for STL and OpenSSL headers #7067 - tests: gitignore ssl-delay-server binary #7068 - constify Print() methods and other low hanging fruit #7070 - Update and run the autopep8 make target #7072 - Added support for out of tree builds with vscode #7073 - Expose remap config file callback #7077 - Ran clang-tidy over the source tree #7078 - Ran clang-tidy over the source tree #7079 - const-ify quic/http3 code #7088 - Skip docs builds if there are no changes in the doc dir and files it includes #7090 - Cleans up duplicated TSOutboundConnectionMatchType definition #7093 - Fix compilation error - missing '&' operator #7100 - Fixes uninitialized variables found by Xcode #7105 - Add modsecurity lua script to example #7106 - drop use of BIO_f_base64 and EVP_PKEY_new_mac_key #7109 - Supporting out of source builds for AuTests. #7111 - Cancel active/inactive timeout on closing Http2Stream #7132 - Add member initialization to the Errata class. #7133 - Updated gdb mutex script to get process file for Fedora 32 #7149 - Traffic Dump: Record HTTP/2 priority. #7152 - Updates the list of supported / linked Docs versions #7153 - Add metric tracking async job pauses #7175 - Fix TSHttpTxnServerPacket* API's to correctly update existing server connections #7180 - Remove duplicate code #7182 - Remove obsolete cdn_ HttpTransact vars #7184 - Add virtual destructor to QUICRTTProvider. #7185 - TextView: add constructor size values to enable strlen even for null pointers #7188 - Update sni outbound policy to allow directly setting the outbound SNI. #7189 - TextView: Add additional constructor tests. #7194 - Remove unused HttpUpdate mechanism #7197 - Fix the active_timeout test to work without quic enabled #7198 - KWF useless member function HttpSM::kill_this_async_hook(). #7206 - If the weight is 0, the SRV record should be selected from the highest priority group #7207 - Add duplicate header field processing when creating outgoing response #7208 - Add support for TS API for Note, Status, Warning, Alert #7209 - Cleanup: remove unnecessary memset() within dns_process() #7211 - Introduce proxy-verifier to AuTests #7216 - Make double Au test more reliable. #7221 - Add support for a new (TSMgmtDataTypeGet) mgmt API to retrieve the record data type. #7226 - Bugfix: set a default inactivity timeout only if a read or write I/O operation was set #7228 - Let Dedicated EThreads use `EThread::schedule` #7231 - url_sig: add 'ignore_expiry = true' option to config file just for log replay #7233 - [multiplexer] option to skip post/put requests #7236 - clean up body factory tests #7239 - Add support for server protocol stack API in lua plugin #7248 - Fix test_error_page_selection memory leaks and logic errors #7249 - Fix for plugins ASAN suppression file #7250 - Remove useless if for port set assertion. #7251 - Incorporates the latest CI build changes #7262 - Make TSUrlSchemeGet() return scheme implied by URL type when there is no explicit scheme. #7264 - HostDB: remove unused field in HostDBApplicationInfo #7265 - Document external log rotation support via SIGUSR2 #7270 - In CI, only run autopep8 on branches that enforce autopep8 #7271 - Add AuTest for HTTP/2 Graceful Shutdown #7273 - Removes commented out code from esi plugin #7276 - Remove the last remnants of the enable_url_expandomatic #7277 - Fix example in default sni.yaml configuration. #7281 - Make s3_auth plugin auto reload the config at expiration time #7286 - Remove unfinished h2c support #7289 - Enable all h2spec test #7291 - Add failed state to hostdb to better track failing origins #7292 - Allow disabling SO_MARK and IP_TOS usage #7298 - Adds OCSP support for BoringSSL #7307 - fix DNS spike issue for TCP_RETRY mode #7311 - Traffic Dump: Fix stream-id printing after first transaction. #7323 - Updates the Dockerfile with more packages #7325 - AuTest for Split DNS #7326 - AuTest for incoming PROXY Protocol v1 #7329 - Remove unnecessary cast from ReverseProxy. #7331 - Cleanup incoming PROXY Protocol v1 #7332 - Add unit tests for PROXY Protocol v1 parser #7334 - Add a post case to the conn_timeout test #7340 - Add Incoming PROXY Protocol v2 Support #7342 - Use OpeSSL EVP API instead of SHA256_Init/Update/Final #7344 - TLS Session Reuse: Downgrade noisy log to debug #7345 - TLS Session Reuse: Downgrade add_session messages to debug #7349 - Fix sni ip_allow and host_sni_policy #7354 - Use ERR_get_error_all if available #7355 - Use EVP API instead of MD5_Init/Update/Final (secure_link plugin) #7363 - Use EVP MAC API if available #7364 - traffic_ctl - plugin msg now require only the tag as mandatory field data field is now optional. #7365 - Cleanup: Remove unused functions #7366 - Cleanup: Get rid of NetVConnection::outstanding() #7367 - Fix FreeBSD 12 link issue in test_libhttp2. #7376 - Add comments to ink_queue.h. #7383 - Unused code: HostDBContinuation::removeEvent #7384 - Remove a special treatment for SSLNetVC in migrateToCurrentThread() #7387 - API - Add new api function TSHttpTxnServerSsnTransactionCount() #7389 - Apple Silicon macOS support #7391 - [Docs] Fix build warnings #7392 - Eliminate dangling pointer into stack space. #7393 - Add compression support to stats_over_http #7397 - traffic_manager should not retry on disk failure #7399 - Make places to bind/unbind SSL object with/from NetVC #7400 - Remove unused MAYBE_ABORT state #7402 - Correctly pass back errno to HttpSM #7403 - Remove unneeded variables in UnixNetVConnection #7404 - Doc: Fix INPUT tag of Doxyfile #7405 - Improving session cache performance #7407 - Add synchronization between UDPNetProcessor::UDPBind in main Thread and initialize_thread_for_udp_net in ET_UDP Thread #7408 - Reactivate accept_no_activity_timeout #7409 - Fix clang compiler complaint about an unused parameter in SNIAction. #7412 - LGTM: Remove superfluous const qualifier in return type #7413 - Improvement to lua plugin #7426 - Add command line utility to help convert remap plugin usage to ATS9. #7427 - Doc: Fix typo in negative_revalidating_lifetime #7429 - Fix parent connect fail segfault #7430 - Improve zlib detection logic #7433 - Fix a link error on traffic_quic command #7436 - Cleanup: Remove unused members of NextHopProperty #7439 - API to retrieve NoStore set by plugins #7445 - Add PROXY Protocol Builder #7446 - Add Outbound PROXY Protocol (v1/v2) Support #7450 - Move reopen_moved_log_files to log flushing thread #7451 - Unit Test - Increase openssl's key size. Place test certs into a comon test folder #7453 - Cleanup: Add SNIRoutingType #7455 - Fix Makefile target for creating changelogs #7457 - Fix comment in include/tscore/Filenames.h. #7461 - Do not write to the cache if the plugin decides not to write #7464 - Upgrade Catch.hpp to v2.13.4 #7465 - Select lua context per thread #7466 - Change atoi to atol, causing obvious issues on what needs to be int64's #7470 - Experimental Cache fill plugin #7473 - Adjust so transfer-encoding header can be treated hop-by-hop #7482 - Add basic type aliases for std::chrono types to ink_time.h for future use. #7485 - PR to prevent thundering parent retries. #7488 - Avoid -Warray-bounds on PROXY Protocol Builder #7491 - Add new log field for negotiated ALPN Protocol ID with the client #7494 - Fix certs used in tls related autests #7496 - Fix QUIC unit tests build issue on GNU ld #7497 - Fix QUIC unit test failures #7499 - Move has_request_body to ProxyTransaction #7500 - Disable ja3 plugin when building with boringssl #7502 - traffic_dump: AuTests to use Proxy Verifier. #7511 - Add ALPN support on TLS Partial Blind Tunnel #7516 - Adding TCP Info header support to header rewrite #7518 - Updates the Dockerfile for debian #7522 - Make the H3 build script work properly on Debian platforms #7523 - Makes sure the types are correct, avoiding compiler warnings #7532 - Fix asserts in multiplexer plugin. #7533 - Add server_name option to proxy.config.ssl.client.sni_policy #7535 - Convert the inactive_client_timeout test to use Proxy Verifier #7539 - Fix the schedule AuTest for 9.1.x: use PrepareTestPlugin #7540 - Remove extra verify-callback #7545 - For TSHttpHdrEffectiveUrlBufGet(), include scheme for request to server URL. #7550 - Fix ja3_fingerprint configure syntax #7567 - Remove ProxyTransaction::set_proxy_ssn #7568 - Add new TS API function TSUrlRawPortGet. #7569 - Cleanup: Rename IOBufferReader of Http2ClientSession #7571 - Tidy up session/transaction destruction process #7572 - FQ pacing plugin memory leak fix #7580 - Refine connection failure logging and messages and eliminate spurious connection errors #7584 - Call constructors and destructors for H1/2 Session/Transaction via ClassAllocator #7586 - Fix crash in open_close_h2 #7588 - Build the test library for tls_engine consistently #7589 - Add gold test for remap config .include directive. #7591 - Use return values to fix ubuntu release build error #7600 - Fix double destuct on Http2Stream termination #7601 - Update -with-profile and add some profiling documentation #7608 - Set pcre_malloc/free function pointers in core main() only. #7619 - Use standard isdigit library function #7623 - New rate_limit plugin for simple resource limitations #7625 - Add proxy.process.http.background_fill_total_count #7626 - Remove unused variables #7627 - Add pooled_server_connections metric #7628 - Expose URL element methods through HTTPHdr #7630 - Add default implementation for allow_half_open #7631 - Fix HttpSessionManager::acquireSession from previous rebase error #7633 - Updating documentation for negative_revalidating_lifetime #7662 - Refine Inline.cc carveout for arm64 darwin builds #7667 - Add class to normalize handling of pending action #7679 - Add close header normalize openclose test #7680 - Add sqpv log field for server protocol #7695 - header_rewrite: allow for use of maxminddb as source of geo truth #7707 - Fix mem leak in session cache #7709 - Increase the maximum slice block size from 32MB to 128MB #7714 - Propagate TLS errors #7724 - if transaction status non-success, bypass intercept plugin #7727 - header_rewrite: Allow for relative path to geo database files #7732 - Add overload for memcpy to take a destination buffer and source string_view / TextView #7736 - Augment test cases for tls_verify_override test #7742 - Adding DNS TTL AuTests. #7743 - Add a chunked disabled test. #7746 - header_rewrite: Various fixes for MaxMind support #7747 - Remove unused variable is_revalidation_necessary #7748 - Remove proxy.config.http.down_server.abort_threshold #7753 - Make when_to_revalidate setting available on HTTPS #7758 - Traffic Dump: Add an HTTP/3 AuTest #7766 - Clean up HTTP version processing #7783 - Adds new TS API TSHttpTxnCacheDiskPathGet #7784 - Adds new X-Cache-Info header to the xdebug plugin #7790 - Fix MLoc assert caused by s3auth #7793 - use sendmsg and recvmsg #7797 - HTTP: clean up the http_hdr_describe format error #7806 - TSHttpTxnCacheDiskPathGet - tighten up the code a bit. #7807 - Address assert on captive_action #7809 - Save and propagate epoll network error #7828 - Fix so EOS are delivered to sessions in the pool #7830 - Fix a format specifier for size_t #7834 - AuTest: use exteneded help output to determine curl feature support #7835 - Remove unused member from HttpSM #7842 - Extra braces for clang 5 / ubuntu 16.04 on array initialization #7858 - Adds a new --enable-all-asserts configure option #7866 - Autest - Proxy Verifier Extension, add context template $-base string… #7867 - Redirect - Make TS to honour the number_of_redirections configuration. #7875 - Restrict HTTP versions allowed on the HTTP request line #7885 - Close connection after every bad request for HTTP/1.1 #7886 - Enforce case for well known methods #7892 - Reset Http1Transaction before adding vc to keep_alive_queue #7894 - Set accept_options of Http1Transaction in Http1ClientSession::new_con… #7896 - Fixed spelling mistakes in the docs #7898 - docs: fix capitalization of Linux #7905 - Treat TRACE with body as bad request #7911 - Add a basic Au test using strategies.yaml, with consistent hashing. #7914 - Add Au test for strategies.yaml, with consistent hashing, with fallover. #7923 - Adjust vc read errors #7929 - Satisfy ci/jenkins/bin/clang-format.sh #7932 - Add a JSON schema for strategies.yaml #7935 - Remove scrap log object dead code #7940 - Pin Sphinx to 3.x to unblock `make html` #7958 - Fixed compile error with Linux AIO unit test #7963 - Note YAML parser library bug, and work-around, in documentation. #7970 - ESI plugin documentation updates. #7986 - Docs: Fix pre-formatting for ratelimit plugin #7989 - Cleans up the code bit, including milliseconds consistency #8004 - Fix HPACK eviction iterator manipulation #8005 - Updates to webp_transform to convert webp to jpeg #8021 - rate_limit: Add a global hook to rate limit concurrent connections based on SNI #8031 - Add the origin IP to the error message for invalid server response in OSDNSLookup #8058 - Replace assert with warning in error event processing #8070 - Finishes #/7748 with some additional cleanup #8074 - Make the InkAPI mHandleAllocator be a Proxy Allocator #8082 - Changes HttpSM to be Proxy Allocated #8099 - .gitignore rules for gcov generated files #8106 - Make the rest of InkAPI allocators Proxy Allocated #8162 - HostDBProcessor: ensure hostname_offset is initialized to '0' to indicate null hostname #8168 - Added missing milestones and updated slow log report script #8172 - Fix clearing all stats function #8173 - Update INSTALL for URLs and version number #8184 - Revert "Remove UnixNetVConnection::startEvent - not actually called. (#7596)" + clang-analyzer fix #8186 - Ran clang-tidy over the 9.1.x branch #8189 - Minor updates to HTTP version validation #8205 - Fixed spelling mistakes in code and other files #8206 - Fixed spelling mistakes in docs #8209 - Fix mutex use after free #8210 - uri_signing: embed config into the unit test #8211 - Avoid the strdup, albeit safe, annoys CA #8213 - Add dead server policy control and metric. Improve messages. #8217 - uri_signing: fix for copying too many bytes and compiler warnings #8224 - Include cstring.h to make debian builds happier