[trafficserver-site] branch asf-site updated: Added 7.1.11 and 8.0.8 releases
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/trafficserver-site.git The following commit(s) were added to refs/heads/asf-site by this push: new bb9d846 Added 7.1.11 and 8.0.8 releases bb9d846 is described below commit bb9d8460b642e3b6780758f7ae8c6c3331ab10af Author: Bryan Call AuthorDate: Tue Jun 23 10:52:11 2020 -0700 Added 7.1.11 and 8.0.8 releases --- source/markdown/downloads.mdtext | 51 ++-- source/markdown/index.html | 20 +++- 2 files changed, 20 insertions(+), 51 deletions(-) diff --git a/source/markdown/downloads.mdtext b/source/markdown/downloads.mdtext index 97f8d54..f8aeab9 100644 --- a/source/markdown/downloads.mdtext +++ b/source/markdown/downloads.mdtext @@ -19,9 +19,9 @@ RSS: /rss/releases.rss -The latest stable release of Apache Traffic Server is 8.0.7, released on 2020-04-16. -In addition, we continue to support the v7.1.x LTS release train, currently v7.1.10 -which was released on 2020-04-16. We follow the [Semantic Versioning](http://semver.org) +The latest stable release of Apache Traffic Server is 8.0.8, released on 2020-06-23. +In addition, we continue to support the v7.1.x LTS release train, currently v7.1.11 +which was released on 2020-06-23. We follow the [Semantic Versioning](http://semver.org) scheme. The goal is to release patch releases frequently, and minor releases as needed. Within the major versions, all such patch and minor releases are all compatible. @@ -32,55 +32,38 @@ will be needed. You can also [browse through all releases](https://archive.apache.org/dist/trafficserver/) and hash signatures. -# Current v8.x Release -- 8.0.7 # {#8.0.7} +# Current v8.x Release -- 8.0.8 # {#8.0.8} - Apache Traffic Server v8.0.7 was released on April 16th, 2020. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.7.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.7.tar.bz2.sha512)] + Apache Traffic Server v8.0.8 was released on June 23rd, 2020. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.8.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.8.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.7.tar.bz2; class="download_ts">Traffic Server 8.0.7 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.8.tar.bz2; class="download_ts">Traffic Server 8.0.8 -v8.0.7 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.7) +v8.0.8 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.8) and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/37?closed=1). For details on the v8.0.x release, please see [8.0.x News](https://cwiki.apache.org/confluence/display/TS/What's+New+in+v8.0.x). There are also details about [upgrading to 8.x](https://cwiki.apache.org/confluence/display/TS/Upgrading+to+v8.0). -# Current v7.x Release -- 7.1.10 # {#7.1.10} +# Current v7.x Release -- 7.1.11 # {#7.1.11} - Apache Traffic Server v7.1.10 was released on April 16th, 2020. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.10.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.10.tar.bz2.sha512)] + Apache Traffic Server v7.1.11 was released on June 23rd, 2020. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.11.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.11.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.10.tar.bz2; class="download_ts">Traffic Server 7.1.10 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.11.tar.bz2; class="download_ts">Traffic Server 7.1.11 -v7.1.10 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.10) +v7.1.11 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.11) and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/39?closed=1). For details on the v7.1.x release train, please see [7.1.x News](https://cwiki.apache.org/confluence/display/TS/What's+New+in+v7.1.x). There are also details about [upgrading to 7.x](https://cwiki.apache.org/confluence/display/TS/Upgrading+to+v7.0). -# Current v6.x Release -- 6.2.3 # {
svn commit: r40158 - in /release/trafficserver: trafficserver-7.1.11.tar.bz2 trafficserver-7.1.11.tar.bz2.asc trafficserver-7.1.11.tar.bz2.sha512
Author: bcall Date: Tue Jun 23 17:33:45 2020 New Revision: 40158 Log: Release 7.1.11 Added: release/trafficserver/trafficserver-7.1.11.tar.bz2 (with props) release/trafficserver/trafficserver-7.1.11.tar.bz2.asc (with props) release/trafficserver/trafficserver-7.1.11.tar.bz2.sha512 Added: release/trafficserver/trafficserver-7.1.11.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.11.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-7.1.11.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.11.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-7.1.11.tar.bz2.sha512 == --- release/trafficserver/trafficserver-7.1.11.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-7.1.11.tar.bz2.sha512 Tue Jun 23 17:33:45 2020 @@ -0,0 +1 @@ +c1c39d14bad1109ac30872607cfbb957bcdbb993eb96bc6e04ce53a208322b931698276684e122b43a6da5e62494b7193204eb288fdb9e16a6fb0106c98f8a6f *trafficserver-7.1.11.tar.bz2
svn commit: r40157 - in /release/trafficserver: trafficserver-8.0.8.tar.bz2 trafficserver-8.0.8.tar.bz2.asc trafficserver-8.0.8.tar.bz2.sha512
Author: bcall Date: Tue Jun 23 17:32:56 2020 New Revision: 40157 Log: Release 8.0.8 Added: release/trafficserver/trafficserver-8.0.8.tar.bz2 (with props) release/trafficserver/trafficserver-8.0.8.tar.bz2.asc (with props) release/trafficserver/trafficserver-8.0.8.tar.bz2.sha512 Added: release/trafficserver/trafficserver-8.0.8.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.8.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-8.0.8.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.8.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-8.0.8.tar.bz2.sha512 == --- release/trafficserver/trafficserver-8.0.8.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-8.0.8.tar.bz2.sha512 Tue Jun 23 17:32:56 2020 @@ -0,0 +1 @@ +e412c14f424456f0b813d1e7a05e6e1d4d428ef85c9186dc657c61abc287a9887fd7cd120e43d8b7f406c8aee8279e5311c2f417a0ff3ba347cc391e6a28afea *trafficserver-8.0.8.tar.bz2
[trafficserver] annotated tag 7.1.11 updated (50d569d -> 98c77e2)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 7.1.11 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 7.1.11 was modified! *** from 50d569d (commit) to 98c77e2 (tag) tagging 50d569d13cfa3bf7328e2483380794507ad8e24b (commit) replaces 7.1.10 by Bryan Call on Tue Jun 23 10:21:21 2020 -0700 - Log - Release Candidate 7.1.11 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJe8joRAAoJEE0VQRC4RQjsk4oP/0tkc0a/qqDD/yV4adpn9csy xUxBfG16TPjoPwSqlWF7bE91M2iBmPi7wOpW3/XPuLbbsLyJVBMEgD7v4g7M6NzE WzaqR9p3YI3Yxvn/W5MGxU03QNwOqa0eVN2Q8XAEBAVjJ3bwdjYTFvmi2w+h9Esh KA2HK1zSvzlgrpyCXrad7MQmy7lx1h4TDZCDpna+GvY010kRiF59+9QwOe4SgIu+ 5XjZ2j50//2DflQiSSgQEik2G6GhIuNdCVRLpJvUJksy8enZ1QDl7mVM9l/mYcSu TjpRngD5MLHjA8UKJLcIa7hEQKDD0CvYmXJOVUPndgEUtk+syPJ+PNBiFzN8TZ9U LpbzlyKtIVSH0ODvzKx1qej5b0RE2w3+YpW1YYNG/7v5ZOVuxpoUj5JtVYVQHFCd HwEKSjMnVH6ORqI893ih3iGNORps8J6ylVfrpI+ydpo5l9CT17vWfR3xMDN9URXi FRTNP2R36rExBozzy5mmLRaDWqsu2l0acOe/OxSFy4bd5gswAKv3/LnME/5o1nN8 r8cSBY69l4uJgW6LsGCO40EzRBfeOskO+Wr4RhMXUK+7cRZewbGn8dLSN7lexXa2 0W6w+3YfEs7jlGEXg22fQMvw8k9Bd64EY9N5K+SnK58+pKQSu017JrBHiz1HZO7y uHGrG4MjZFHm2XLlwKHA =Ikj/ -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] annotated tag 8.0.8 updated (a29528d -> f6dfe29)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 8.0.8 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 8.0.8 was modified! *** from a29528d (commit) to f6dfe29 (tag) tagging a29528dffb8ea1c6fa57fe0c76ca1ec9d0f08694 (commit) replaces 8.0.7 by Bryan Call on Tue Jun 23 10:01:00 2020 -0700 - Log - Release Candidate 8.0.8 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJe8jVMAAoJEE0VQRC4RQjsTOkQAI/J/uMWqTba3lHKlca1WCGv ojeDqv2Y8N4jgah3No/IHT3G8TZA3UmZR2bRtM/31LRfv1Q/tvz+4m9Ty7m/CRV8 3XcZxiJeBumM881lkF4K9LpFW6d54QFlJ19YGK9D08jHJ+Z0TbZSksbQbX5dHddN jWiMyDEzXM+3NC6pTwS0uZ0lFUbbyOo8UApS8g/CvVj5RLl0AwkM2ynL25lEF7dT 6yrPNhf2ulJb05klZQ79qxp4NCXg/Ue90lqnAXHyha4H1pP2q32dVtmkubSXCVJn hX39x11hpFy+CBJndp00FIpoJgrJnNjSoDiKTlngXSdMh13W+UScL3Z+YvSEfWDK XMAQF3RBrpBxZ9KJkc4OhaKsqKo9uLr8eHARrZaXkEhPRCATQVFmeab6y7rE3CHL aNoECiwAxE/eZwOZTYAPArIpK2qkTH+H5rBM0X/o7agZoGmHUvR496NAQbubJYcS yP2q/A5LE+hjVtQ2HYa6fZaGYsm2ybY0+a5SpB/dXud8x+iOl73L4nUwIVnDEMAV GtcCI4MaQRHiseZqWHlsNmGPJy9Fdd1dOuZ+VqZeT3luxcQHlgp91LG53XA0CqHO wTwT1ugjvPz/gp1lRK3jQCOkhpuL+g2iz4+eoi6xWoz3gYzc+iUsGeM6Afu/051o vk5Rkvk4/oLavv4tFOkb =Vmtr -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] branch master updated: Fixed bug in the calculation of the header block fragment length (#6923)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4817786 Fixed bug in the calculation of the header block fragment length (#6923) 4817786 is described below commit 481778679af293ff5558ed965481af683f703531 Author: Bryan Call AuthorDate: Mon Jun 22 16:25:51 2020 -0700 Fixed bug in the calculation of the header block fragment length (#6923) Co-authored-by: Masaori Koshiba --- proxy/http2/HPACK.cc| 6 - proxy/http2/Http2ConnectionState.cc | 49 + proxy/http2/Http2Stream.h | 6 ++--- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 774ed2e..2680600 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -847,7 +847,11 @@ hpack_decode_header_block(HpackIndexingTable _table, HTTPHdr *hdr, cons field->name_get(_len); field->value_get(_len); -total_header_size += name_len + value_len; + +// [RFC 7540] 6.5.2. SETTINGS_MAX_HEADER_LIST_SIZE: +// The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an +// overhead of 32 octets for each header field. +total_header_size += name_len + value_len + ADDITIONAL_OCTETS; if (total_header_size > max_header_size) { return HPACK_ERROR_SIZE_EXCEEDED_ERROR; diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index d2a1cc2..5b2e6d5 100644 --- a/proxy/http2/Http2ConnectionState.cc +++ b/proxy/http2/Http2ConnectionState.cc @@ -260,13 +260,6 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_NONE); } - // keep track of how many bytes we get in the frame - stream->request_header_length += payload_length; - if (stream->request_header_length > Http2::max_header_list_size) { -return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_STREAM, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, - "recv headers payload for headers greater than header length"); - } - Http2HeadersParameter params; uint32_t header_block_fragment_offset = 0; uint32_t header_block_fragment_length = payload_length; @@ -285,7 +278,8 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers failed to parse"); } -if (params.pad_length > payload_length) { +// Payload length can't be smaller than the pad length +if ((params.pad_length + HTTP2_HEADERS_PADLEN_LEN) > header_block_fragment_length) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, "recv headers pad > payload length"); } @@ -301,7 +295,7 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) frame.reader()->memcpy(buf, HTTP2_PRIORITY_LEN, header_block_fragment_offset); if (!http2_parse_priority_parameter(make_iovec(buf, HTTP2_PRIORITY_LEN), params.priority)) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, -"recv headers prioirity parameters failed parse"); +"recv headers priority parameters failed parse"); } // Protocol error if the stream depends on itself if (stream_id == params.priority.stream_dependency) { @@ -309,6 +303,12 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers self dependency"); } +// Payload length can't be smaller than the priority length +if (HTTP2_PRIORITY_LEN > header_block_fragment_length) { + return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, +"recv priority length > payload length"); +} + header_block_fragment_offset += HTTP2_PRIORITY_LEN; header_block_fragment_length -= HTTP2_PRIORITY_LEN; } @@ -328,11 +328,19 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) } } + stream->header_blocks_length = header_block_fragment_length; + + // ATS advertises SETTINGS_MAX_HEADER_LIST_SIZE as a limit of total header blocks length. (Details in [RFC 7560] 10.5.1.) + // Make it double to relax the limit in cases of 1) HPACK is used naively, or 2) Huffman Encoding generates large header blocks. + // The total "decoded" header length is strictly checked by hpack_decode_header_block(). + if (stream->header_blocks_length > std::max(Http2::max_header_list_size, Http2::max_header_list_size
[trafficserver] branch master updated (9ae1a76 -> bfffcf0)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 9ae1a76 example: Move to blocklists and allowlists add bfffcf0 Enable only squash and merge for GitHub No new revisions were added by this update. Summary of changes: .asf.yaml | 5 + 1 file changed, 5 insertions(+)
[trafficserver] branch 8.0.x updated: Updated STATUS file
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new 52d49ff Updated STATUS file 52d49ff is described below commit 52d49ff6c458a4a67d350117ef312fe03e985716 Author: Bryan Call AuthorDate: Thu Jun 18 15:32:51 2020 -0700 Updated STATUS file --- STATUS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/STATUS b/STATUS index e2c5a44..2099cc1 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,7 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -8.0.8 : Release on May xxth, 2020 +8.0.8 : Release on Jun xxth, 2020 8.0.7 : Release on Apr 16th, 2020 8.0.6 : Release on Feb 29th, 2020 8.0.5 : Release on Aug 20th, 2019
[trafficserver] branch 7.1.x updated: Bumped version to 7.1.11
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 50d569d Bumped version to 7.1.11 50d569d is described below commit 50d569d13cfa3bf7328e2483380794507ad8e24b Author: Bryan Call AuthorDate: Thu Jun 18 15:31:25 2020 -0700 Bumped version to 7.1.11 --- STATUS | 2 +- configure.ac | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/STATUS b/STATUS index eb2a830..86cd9bb 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,7 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -7.1.11 : Released on May xxth, 2020 +7.1.11 : Released on Jun xxth, 2020 7.1.10 : Released on Apr 16th, 2020 7.1.9 : Released on Feb 29th, 2020 7.1.8 : Released on Aug 20th, 2019 diff --git a/configure.ac b/configure.ac index f13ffa4..6324378 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,8 @@ # Version number is calculated as MAJOR * 100 + MINOR * 1000 + MICRO # Version string is in the form of MAJOR.MINOR.MICRO[sufix] # -m4_define([TS_VERSION_S],[7.1.10]) -m4_define([TS_VERSION_N],[7001010]) +m4_define([TS_VERSION_S],[7.1.11]) +m4_define([TS_VERSION_N],[7001011]) AC_INIT([Apache Traffic Server], TS_VERSION_S(), [d...@trafficserver.apache.org], [trafficserver],[http://trafficserver.apache.org]) AC_PREREQ([2.59])
[trafficserver] branch 7.1.x updated: Updated Changelog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new c8c5112 Updated Changelog c8c5112 is described below commit c8c511257f9d3574de3697b39962f2b0d39761cf Author: Bryan Call AuthorDate: Thu Jun 18 15:16:36 2020 -0700 Updated Changelog --- CHANGELOG-7.1.11 | 4 1 file changed, 4 insertions(+) diff --git a/CHANGELOG-7.1.11 b/CHANGELOG-7.1.11 new file mode 100644 index 000..81eeac6 --- /dev/null +++ b/CHANGELOG-7.1.11 @@ -0,0 +1,4 @@ +Changes with Apache Traffic Server 7.1.11 + #6741 - Remove using namespace std + #6788 - HPACK: send back an error to the client when the index is invalid + #6921 - Fixed bug in the calculation of the header block fragment length
[trafficserver] branch 8.0.x updated: Fixed bug in the calculation of the header block fragment length
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new 4cf5b88 Fixed bug in the calculation of the header block fragment length 4cf5b88 is described below commit 4cf5b887b3f7dc081988f1b7d71d37bee2f35c96 Author: Bryan Call AuthorDate: Wed Apr 22 13:35:00 2020 -0700 Fixed bug in the calculation of the header block fragment length Co-authored-by: Masaori Koshiba --- proxy/http2/HPACK.cc| 6 - proxy/http2/Http2ConnectionState.cc | 49 + proxy/http2/Http2Stream.h | 6 ++--- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 70a6805..93090d6 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -946,7 +946,11 @@ hpack_decode_header_block(HpackIndexingTable _table, HTTPHdr *hdr, cons field->name_get(_len); field->value_get(_len); -total_header_size += name_len + value_len; + +// [RFC 7540] 6.5.2. SETTINGS_MAX_HEADER_LIST_SIZE: +// The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an +// overhead of 32 octets for each header field. +total_header_size += name_len + value_len + ADDITIONAL_OCTETS; if (total_header_size > max_header_size) { return HPACK_ERROR_SIZE_EXCEEDED_ERROR; diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index 3eaa558..5bc1408 100644 --- a/proxy/http2/Http2ConnectionState.cc +++ b/proxy/http2/Http2ConnectionState.cc @@ -227,13 +227,6 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_NONE); } - // keep track of how many bytes we get in the frame - stream->request_header_length += payload_length; - if (stream->request_header_length > Http2::max_header_list_size) { -return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_STREAM, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, - "recv headers payload for headers greater than header length"); - } - Http2HeadersParameter params; uint32_t header_block_fragment_offset = 0; uint32_t header_block_fragment_length = payload_length; @@ -252,7 +245,8 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers failed to parse"); } -if (params.pad_length > payload_length) { +// Payload length can't be smaller than the pad length +if ((params.pad_length + HTTP2_HEADERS_PADLEN_LEN) > header_block_fragment_length) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, "recv headers pad > payload length"); } @@ -268,7 +262,7 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) frame.reader()->memcpy(buf, HTTP2_PRIORITY_LEN, header_block_fragment_offset); if (!http2_parse_priority_parameter(make_iovec(buf, HTTP2_PRIORITY_LEN), params.priority)) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, -"recv headers prioirity parameters failed parse"); +"recv headers priority parameters failed parse"); } // Protocol error if the stream depends on itself if (stream_id == params.priority.stream_dependency) { @@ -276,6 +270,12 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers self dependency"); } +// Payload length can't be smaller than the priority length +if (HTTP2_PRIORITY_LEN > header_block_fragment_length) { + return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, +"recv priority length > payload length"); +} + header_block_fragment_offset += HTTP2_PRIORITY_LEN; header_block_fragment_length -= HTTP2_PRIORITY_LEN; } @@ -295,11 +295,19 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) } } + stream->header_blocks_length = header_block_fragment_length; + + // ATS advertises SETTINGS_MAX_HEADER_LIST_SIZE as a limit of total header blocks length. (Details in [RFC 7560] 10.5.1.) + // Make it double to relax the limit in cases of 1) HPACK is used naively, or 2) Huffman Encoding generates large header blocks. + // The total "decoded" header length is strictly checked by hpack_decode_header_block(). + if (stream->header_blocks_length > std::max(Http2::max_header_list_size, Http2::max_header_list_size * 2)) { +return Http2Error(
[trafficserver] branch 7.1.x updated: Fixed bug in the calculation of the header block fragment length
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new d80440c Fixed bug in the calculation of the header block fragment length d80440c is described below commit d80440c92afd53b68196a83a82e66975748f9402 Author: Bryan Call AuthorDate: Wed Apr 29 13:39:17 2020 -0700 Fixed bug in the calculation of the header block fragment length Co-authored-by: Masaori Koshiba --- proxy/http2/HPACK.cc| 6 - proxy/http2/Http2ConnectionState.cc | 49 + proxy/http2/Http2Stream.h | 6 + 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index e06b7b7..cd6aee6 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -941,7 +941,11 @@ hpack_decode_header_block(HpackIndexingTable _table, HTTPHdr *hdr, cons field->name_get(_len); field->value_get(_len); -total_header_size += name_len + value_len; + +// [RFC 7540] 6.5.2. SETTINGS_MAX_HEADER_LIST_SIZE: +// The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an +// overhead of 32 octets for each header field. +total_header_size += name_len + value_len + ADDITIONAL_OCTETS; if (total_header_size > max_header_size) { return HPACK_ERROR_SIZE_EXCEEDED_ERROR; diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index e33a08e..75ef601 100644 --- a/proxy/http2/Http2ConnectionState.cc +++ b/proxy/http2/Http2ConnectionState.cc @@ -218,13 +218,6 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) } } - // keep track of how many bytes we get in the frame - stream->request_header_length += payload_length; - if (stream->request_header_length > Http2::max_header_list_size) { -return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_STREAM, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, - "recv headers payload for headers greater than header length"); - } - Http2HeadersParameter params; uint32_t header_block_fragment_offset = 0; uint32_t header_block_fragment_length = payload_length; @@ -243,7 +236,8 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers failed to parse"); } -if (params.pad_length > payload_length) { +// Payload length can't be smaller than the pad length +if ((params.pad_length + HTTP2_HEADERS_PADLEN_LEN) > header_block_fragment_length) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, "recv headers pad > payload length"); } @@ -259,7 +253,7 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) frame.reader()->memcpy(buf, HTTP2_PRIORITY_LEN, header_block_fragment_offset); if (!http2_parse_priority_parameter(make_iovec(buf, HTTP2_PRIORITY_LEN), params.priority)) { return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, -"recv headers prioirity parameters failed parse"); +"recv headers priority parameters failed parse"); } // Protocol error if the stream depends on itself if (stream_id == params.priority.stream_dependency) { @@ -267,6 +261,12 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) "recv headers self dependency"); } +// Payload length can't be smaller than the priority length +if (HTTP2_PRIORITY_LEN > header_block_fragment_length) { + return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR, +"recv priority length > payload length"); +} + header_block_fragment_offset += HTTP2_PRIORITY_LEN; header_block_fragment_length -= HTTP2_PRIORITY_LEN; } @@ -286,11 +286,19 @@ rcv_headers_frame(Http2ConnectionState , const Http2Frame ) } } + stream->header_blocks_length = header_block_fragment_length; + + // ATS advertises SETTINGS_MAX_HEADER_LIST_SIZE as a limit of total header blocks length. (Details in [RFC 7560] 10.5.1.) + // Make it double to relax the limit in cases of 1) HPACK is used naively, or 2) Huffman Encoding generates large header blocks. + // The total "decoded" header length is strictly checked by hpack_decode_header_block(). + if (stream->header_blocks_length > std::max(Http2::max_header_list_size, Http2::max_header_list_size * 2)) { +return Http2Error(Http2ErrorClass::HTTP2_ERROR_CLASS_CONNECTION, Http
[trafficserver] branch 9.0.x updated: Require 1.1.1 as minimum openssl lib version for tls_check_dual_cert_selection Au test.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new 84c8b81 Require 1.1.1 as minimum openssl lib version for tls_check_dual_cert_selection Au test. 84c8b81 is described below commit 84c8b815876b41f94a6a0d6fea48b2d833a71ce4 Author: Walter Karas AuthorDate: Tue Mar 17 12:33:07 2020 -0500 Require 1.1.1 as minimum openssl lib version for tls_check_dual_cert_selection Au test. (cherry picked from commit e872a701e1f1e7ad5672fa883fffe56cccbef446) --- tests/gold_tests/tls/tls_check_dual_cert_selection.test.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/gold_tests/tls/tls_check_dual_cert_selection.test.py b/tests/gold_tests/tls/tls_check_dual_cert_selection.test.py index 8c1a25d..bc2682a 100644 --- a/tests/gold_tests/tls/tls_check_dual_cert_selection.test.py +++ b/tests/gold_tests/tls/tls_check_dual_cert_selection.test.py @@ -20,6 +20,8 @@ Test.Summary = ''' Test ATS offering both RSA and EC certificates ''' +Test.SkipUnless(Condition.HasOpenSSLVersion('1.1.1')) + # Define default ATS ts = Test.MakeATSProcess("ts", select_ports=True, enable_tls=True) server = Test.MakeOriginServer("server", ssl=True)
[trafficserver] branch 9.0.x updated: Add extension ip.test.ext to Au Test, with Test method to allocate extra TCP ports.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new f3f7ce7 Add extension ip.test.ext to Au Test, with Test method to allocate extra TCP ports. f3f7ce7 is described below commit f3f7ce72c9b16e57608aeefe6ce8e3901e02d0db Author: Walter Karas AuthorDate: Mon Dec 23 18:58:57 2019 -0600 Add extension ip.test.ext to Au Test, with Test method to allocate extra TCP ports. And change the chunked_encoding_h2 Au test to use this capability. (cherry picked from commit f8a8b2f770bdc92f095f1a8a74cd591e9d37a4d0) --- .../case1.sh => autest-site/ip.test.ext} | 24 +++--- tests/gold_tests/chunked_encoding/case1.sh | 2 +- tests/gold_tests/chunked_encoding/case2.sh | 2 +- tests/gold_tests/chunked_encoding/case3.sh | 2 +- .../chunked_encoding/chunked_encoding_h2.test.py | 12 ++- 5 files changed, 31 insertions(+), 11 deletions(-) diff --git a/tests/gold_tests/chunked_encoding/case1.sh b/tests/gold_tests/autest-site/ip.test.ext old mode 100644 new mode 100755 similarity index 51% copy from tests/gold_tests/chunked_encoding/case1.sh copy to tests/gold_tests/autest-site/ip.test.ext index fff931f..cc951cf --- a/tests/gold_tests/chunked_encoding/case1.sh +++ b/tests/gold_tests/autest-site/ip.test.ext @@ -1,3 +1,6 @@ +''' +Extend Autest with IP-related utilities. +''' # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -14,6 +17,21 @@ # See the License for the specific language governing permissions and # limitations under the License. -nc -l -o outserver1 -c "sh ./delay-server.sh" & -sleep 1 -nghttp -vv https://127.0.0.1:${1}/delay-chunked-response + +from ports import get_port + +# this forms is for the global process define + +# New member function for Test object, that reserves TCP port(s) from the list of available TCP ports, for +# use in the test. Each argument is a string, containing the name of a variable to add to Test.Variables . +# For each argument, a port will be reserved, and its number will be assigned to the new variable for the +# argument. +# +def get_tcp_port(obj, *newVariables): +for v in newVariables: +if not isinstance(v, str): +raise TypeError("all function arguments must be strings") +get_port(obj, v) + +#AddTestEntityMember(get_tcp_port, name="GetTcpPort") +ExtendTest(get_tcp_port, name="GetTcpPort") diff --git a/tests/gold_tests/chunked_encoding/case1.sh b/tests/gold_tests/chunked_encoding/case1.sh index fff931f..4262283 100644 --- a/tests/gold_tests/chunked_encoding/case1.sh +++ b/tests/gold_tests/chunked_encoding/case1.sh @@ -14,6 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -nc -l -o outserver1 -c "sh ./delay-server.sh" & +nc -l ${2} -o outserver1 -c "sh ./delay-server.sh" & sleep 1 nghttp -vv https://127.0.0.1:${1}/delay-chunked-response diff --git a/tests/gold_tests/chunked_encoding/case2.sh b/tests/gold_tests/chunked_encoding/case2.sh index 55a9c11..be4d76f 100644 --- a/tests/gold_tests/chunked_encoding/case2.sh +++ b/tests/gold_tests/chunked_encoding/case2.sh @@ -14,6 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -nc -l -o outserver2 -c "sh ./server2.sh" & +nc -l ${2} -o outserver2 -c "sh ./server2.sh" & sleep 1 curl --http2 -k https://127.0.0.1:${1}/post --verbose -H "Transfer-encoding: chunked" -d "Knock knock" diff --git a/tests/gold_tests/chunked_encoding/case3.sh b/tests/gold_tests/chunked_encoding/case3.sh index 6ed3b3c..4af2d92 100644 --- a/tests/gold_tests/chunked_encoding/case3.sh +++ b/tests/gold_tests/chunked_encoding/case3.sh @@ -14,6 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -nc -l -o outserver3 -c "sh ./server3.sh" & +nc -l ${2} -o outserver3 -c "sh ./server3.sh" & sleep 1 curl --http2 -k https://127.0.0.1:${1}/post-chunked --verbose -H "Transfer-encoding: chunked" -d "Knock knock" diff --git a/tests/gold_tests/chunked_encoding/chunked_encoding_h2.test.py b/tests/gold_tests/chunked_encoding/chunked_encoding_h2.test.py index 75d8a79..d5022c0 100644 --- a/tests/gold_tests/chunked_encoding/chunked_encoding_h2.test.py +++ b/tests/gold_tests/chunked_encoding/chunked_encoding_h2.test.py @@ -27,6 +27,8 @@ Test.SkipUnless( ) Test.ContinueOnFail = True +Test.GetTcpPort("upstream_port")
[trafficserver] branch 9.0.x updated (1e45e9c -> f80a885)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 1e45e9c Fix the relative path for template_sets_dir to be install directory (#6203) new 5670e4a Revert "Fix for Ubuntu 16 and Clang 5" new f80a885 Updated ChangeLog The 2 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: CHANGELOG-9.0.0| 2 ++ src/tscore/ink_res_init.cc | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-)
[trafficserver] 02/02: Updated ChangeLog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit f80a8854629964ebe8f6b5816f7e0078d228539f Author: Bryan Call AuthorDate: Sun Jun 14 07:54:00 2020 -0700 Updated ChangeLog --- CHANGELOG-9.0.0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0 index 0acbbb4..0f392dd 100644 --- a/CHANGELOG-9.0.0 +++ b/CHANGELOG-9.0.0 @@ -748,6 +748,7 @@ Changes with Apache Traffic Server 9.0.0 #6197 - Fix problems with "Probe" option for X-Debug MIME header field. #6198 - Move logging before session could be freed #6201 - ssl_session_reuse optimization to check if diags is on + #6203 - Fix the relative path for template_sets_dir to be install directory #6204 - Lua plugin fix: Account for null in output from TSUrlPercentDecode. #6206 - Fix the strategies.yaml documentation. #6207 - Add autopep8 & pyflakes in dev-packages for AuTest @@ -921,6 +922,7 @@ Changes with Apache Traffic Server 9.0.0 #6754 - Enforce Active Connection limits #6755 - Add metrics to track default inactivity timed out connections #6757 - ASAN: Fixed one definition rule violation + #6758 - Fix set manipulation in dual cert resolution #6760 - Do not fail multicert load if line does not create entry #6768 - clang-analyzer: Fix dead nested assignment issues #6770 - Weird characters in debug message
[trafficserver] 01/02: Revert "Fix for Ubuntu 16 and Clang 5"
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 5670e4a2ee6d66b8e59f49fa98519051762b7aaf Author: Bryan Call AuthorDate: Sun Jun 14 07:32:27 2020 -0700 Revert "Fix for Ubuntu 16 and Clang 5" This reverts commit 16fc6edeb552fb33913dd40825bc02b067fff0e2. --- src/tscore/ink_res_init.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tscore/ink_res_init.cc b/src/tscore/ink_res_init.cc index 18bea6e..be4dccc 100644 --- a/src/tscore/ink_res_init.cc +++ b/src/tscore/ink_res_init.cc @@ -93,8 +93,7 @@ #define isascii(c) (!(c & 0200)) #endif -HostResPreferenceOrder const HOST_RES_DEFAULT_PREFERENCE_ORDER = { - {HOST_RES_PREFER_IPV4, HOST_RES_PREFER_IPV6, HOST_RES_PREFER_NONE}}; +HostResPreferenceOrder const HOST_RES_DEFAULT_PREFERENCE_ORDER = {HOST_RES_PREFER_IPV4, HOST_RES_PREFER_IPV6, HOST_RES_PREFER_NONE}; HostResPreferenceOrder host_res_default_preference_order;
[trafficserver] branch 9.0.x updated: Fix set manipulation in dual cert resolution (#6758)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new e67245a Fix set manipulation in dual cert resolution (#6758) e67245a is described below commit e67245a34cc87c92315e493c4c4283c3d81fe065 Author: Susan Hinrichs AuthorDate: Tue May 12 10:35:09 2020 -0500 Fix set manipulation in dual cert resolution (#6758) Co-authored-by: Susan Hinrichs (cherry picked from commit cc1376fff1bcbda7329d21c22e8cb8ecdaad3950) --- iocore/net/SSLUtils.cc | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc index 8c283e7..5dfcd69 100644 --- a/iocore/net/SSLUtils.cc +++ b/iocore/net/SSLUtils.cc @@ -1997,23 +1997,26 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector new_set; -new_set.insert(name); +new_set.insert(*common_iter); unique_names.insert({cert_index - 1, new_set}); } else { -iter->second.insert(name); +iter->second.insert(*common_iter); } - auto erase_iter = common_names.find(name); + auto erase_iter = common_iter; + ++common_iter; common_names.erase(erase_iter); } else { // New name already in common set, go ahead and remove it from further consideration name_set.erase(iter); + ++common_iter; } } // Anything still in name_set was not in common_names
[trafficserver] branch master updated: Fix for Ubuntu 16 and Clang 5
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 0fd49c4 Fix for Ubuntu 16 and Clang 5 0fd49c4 is described below commit 0fd49c414bd1ff6b7819d31fcd3dcb7cddf20a81 Author: Bryan Call AuthorDate: Tue Jun 9 16:04:58 2020 -0700 Fix for Ubuntu 16 and Clang 5 --- src/tscore/ink_res_init.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tscore/ink_res_init.cc b/src/tscore/ink_res_init.cc index 26b8533..42638a8 100644 --- a/src/tscore/ink_res_init.cc +++ b/src/tscore/ink_res_init.cc @@ -93,7 +93,8 @@ #define isascii(c) (!(c & 0200)) #endif -HostResPreferenceOrder const HOST_RES_DEFAULT_PREFERENCE_ORDER = {HOST_RES_PREFER_IPV4, HOST_RES_PREFER_IPV6, HOST_RES_PREFER_NONE}; +HostResPreferenceOrder const HOST_RES_DEFAULT_PREFERENCE_ORDER = { + {HOST_RES_PREFER_IPV4, HOST_RES_PREFER_IPV6, HOST_RES_PREFER_NONE}}; HostResPreferenceOrder host_res_default_preference_order;
[trafficserver] branch master updated (5a4dc36 -> 7003f36)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 5a4dc36 Make post_slow_server Au test work in Docker container. add 7003f36 Fixes remaining memory leaks with nexthop strategy unit tests found by ASAN. This should close issue 6765 No new revisions were added by this update. Summary of changes: proxy/http/remap/NextHopStrategyFactory.cc | 1 + proxy/http/remap/unit-tests/nexthop_test_stubs.cc | 42 proxy/http/remap/unit-tests/nexthop_test_stubs.h | 4 ++ .../remap/unit-tests/test_NextHopConsistentHash.cc | 56 -- 4 files changed, 57 insertions(+), 46 deletions(-)
[trafficserver] branch master updated (3376d43 -> 9ea3105)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 3376d43 Fix HPACK Dynamic Table Cleanup add 9ea3105 fixes issue 6765, memleak in unit test mocked Machine class in nexthop_test_stubs.cc No new revisions were added by this update. Summary of changes: proxy/http/remap/unit-tests/nexthop_test_stubs.cc | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-)
[trafficserver] branch 8.0.x updated: HPACK: send back an error to the client when the index is invalid
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new b0e4c5a HPACK: send back an error to the client when the index is invalid b0e4c5a is described below commit b0e4c5ae2a85e7542a063923b1ad5be8769f3843 Author: Bryan Call AuthorDate: Thu May 14 16:49:10 2020 -0700 HPACK: send back an error to the client when the index is invalid --- proxy/http2/HPACK.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 1c45d1e..70a6805 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -796,7 +796,9 @@ decode_literal_header_field(MIMEFieldWrapper , const uint8_t *buf_start, // Decode header field name if (index) { -indexing_table.get_header_field(index, header); +if (indexing_table.get_header_field(index, header) == HPACK_ERROR_COMPRESSION_ERROR) { + return HPACK_ERROR_COMPRESSION_ERROR; +} } else { char *name_str= nullptr; uint32_t name_str_len = 0;
[trafficserver] branch 7.1.x updated: HPACK: send back an error to the client when the index is invalid
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 62172e5 HPACK: send back an error to the client when the index is invalid 62172e5 is described below commit 62172e54da4be2c5f255826e5c7b3bda88786268 Author: Bryan Call AuthorDate: Thu May 14 16:49:49 2020 -0700 HPACK: send back an error to the client when the index is invalid --- proxy/http2/HPACK.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 9ce3e5f..e06b7b7 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -791,7 +791,9 @@ decode_literal_header_field(MIMEFieldWrapper , const uint8_t *buf_start, // Decode header field name if (index) { -indexing_table.get_header_field(index, header); +if (indexing_table.get_header_field(index, header) == HPACK_ERROR_COMPRESSION_ERROR) { + return HPACK_ERROR_COMPRESSION_ERROR; +} } else { char *name_str= nullptr; uint32_t name_str_len = 0;
[trafficserver] branch master updated: HPACK: send back an error to the client when the index is invalid
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 6691152 HPACK: send back an error to the client when the index is invalid 6691152 is described below commit 6691152bade08365011e79c515038615dc388d4a Author: Bryan Call AuthorDate: Thu May 14 16:46:13 2020 -0700 HPACK: send back an error to the client when the index is invalid --- proxy/http2/HPACK.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 2ebaaee..eefdef2 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -691,7 +691,9 @@ decode_literal_header_field(MIMEFieldWrapper , const uint8_t *buf_start, // Decode header field name if (index) { -indexing_table.get_header_field(index, header); +if (indexing_table.get_header_field(index, header) == HPACK_ERROR_COMPRESSION_ERROR) { + return HPACK_ERROR_COMPRESSION_ERROR; +} } else { char *name_str= nullptr; uint64_t name_str_len = 0;
[trafficserver] branch master updated (1f5d674 -> 9f71a80)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 1f5d674 Add back reading config for handshake timeout (#6773) add 9f71a80 Weird characters in debug message No new revisions were added by this update. Summary of changes: proxy/http/remap/PluginDso.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[trafficserver] branch master updated (9f71a80 -> 02e8d5e)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 9f71a80 Weird characters in debug message add 02e8d5e Fixed `AddressSanitizer: odr-violation` No new revisions were added by this update. Summary of changes: proxy/http/remap/Makefile.am | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
[trafficserver] branch master updated (0265ac7 -> 9c88bb7)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 0265ac7 Do not fail multicert load if line does not create entry (#6760) add 9c88bb7 clang-analyzer: Fix dead nested assignment issues No new revisions were added by this update. Summary of changes: iocore/dns/DNSConnection.cc| 2 +- iocore/net/Connection.cc | 25 +++--- iocore/net/UnixUDPNet.cc | 31 + mgmt/api/EventControlMain.cc | 2 +- plugins/esi/esi.cc | 8 ++--- .../experimental/access_control/access_control.cc | 2 +- plugins/experimental/mp4/mp4_meta.cc | 4 +-- proxy/http/remap/RemapConfig.cc| 4 +-- tools/jtest/jtest.cc | 39 +++--- 9 files changed, 57 insertions(+), 60 deletions(-)
[trafficserver] branch master updated: Script to find mutexes/futexes that are contending
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 42323fa Script to find mutexes/futexes that are contending 42323fa is described below commit 42323fa40c4f35ebac79ed306eb7c7e4702ec27c Author: Bryan Call AuthorDate: Fri May 8 11:50:40 2020 -0700 Script to find mutexes/futexes that are contending --- tools/gdb_mutex_contention.pl | 101 ++ 1 file changed, 101 insertions(+) diff --git a/tools/gdb_mutex_contention.pl b/tools/gdb_mutex_contention.pl new file mode 100755 index 000..bb6c164 --- /dev/null +++ b/tools/gdb_mutex_contention.pl @@ -0,0 +1,101 @@ +#!/usr/bin/perl +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script requires that you run futexes.stp system tap script first +# https://sourceware.org/systemtap/examples/#process/futexes.stp + +use strict; +use warnings; +use Getopt::Std; + +sub usage() { + print "gdb_mutex_contention.pl -f futexes_output [-s symbols] [-m mutexes]\n"; + print "Example:\n"; + print "\tsudo timeout 30 ./futexes.stp > futexes.out\n"; + print "\tsudo ./gdb_mutex_contention.pl -f futexes.out\n"; + + exit 1; +} + +{ + my %opts; + getopts('m:f:s:', \%opts); + usage() if (! defined$opts{f}); + + my $pid = 0; + my $file = $opts{f}; + my $symbols = $opts{s} || 20; + my $mutexes = $opts{m} || 10; + my %locks; + + # Read output from futexes.stp + open(INPUT, $file) || die $!; + while() { +chomp; +if (m/(ET_NET|traffic_server).+\[(\d+)\] lock (\S+) contended (\d+) times, (\d+) avg us/) { + $pid = $2; + my $lock = $3; + my $frequency = $4; + my $wait = $5; + $locks{$lock}->{frequency} = $frequency; + $locks{$lock}->{line} = $_; + $locks{$lock}->{wait} = $wait * $frequency; +} + } + + # Grab the binary from the running pid + my $binary = `ps --pid $pid -o command -h`; + chomp $binary; + + # Print out what we are going to run gdb on + print "Running gdb over binary: $binary and pid: $pid\n"; + + # Loop over the futexes that had the highest total wait time + my $count = 0; + foreach my $lock (sort { $locks{$b}->{wait} <=> $locks{$a}->{wait} } keys %locks) { +print "lock: $locks{$lock}->{line} - total wait: $locks{$lock}->{wait}\n"; + +open(MACRO, "> gdb.auto.mutex.macro") || die $!; +print MACRO "handle SIGPIPE nostop\n"; +print MACRO "handle SIGPIPE noprint\n\n"; +print MACRO "rwatch *$lock\n\n"; +print MACRO "cont\n"; +print MACRO "bt 40\n"; +close(MACRO); + +system("gdb -x gdb.auto.mutex.macro --batch $binary $pid >& gdb.out"); + +open(GDB_OUT, "gdb.out") || die $!; +my $gdb_out_lines = 1; +while () { + chomp; + if (m|\#\d+ (.+)|) { +print "\t$_\n"; +last if ++$gdb_out_lines > $symbols; + } + +} +close(GDB_OUT); +last if ++$count > $mutexes; +print "\n"; + } + + unlink("gdb.auto.mutex.macro"); + unlink("gdb.out"); + close(INPUT); +}
[trafficserver] branch master updated (4638ddc -> effb984)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 4638ddc gcc10: fixed clearing an object of non-trivial type for wccp add effb984 ASAN: Fixed one definition rule violation No new revisions were added by this update. Summary of changes: lib/records/unit_tests/unit_test_main.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
[trafficserver] branch master updated: gcc10: fixed clearing an object of non-trivial type for wccp
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4638ddc gcc10: fixed clearing an object of non-trivial type for wccp 4638ddc is described below commit 4638ddcc2848da53b94f8678d22057d8efda8df3 Author: Bryan Call AuthorDate: Wed May 6 10:54:25 2020 -0700 gcc10: fixed clearing an object of non-trivial type for wccp --- src/wccp/WccpLocal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wccp/WccpLocal.h b/src/wccp/WccpLocal.h index c3329d2..2b704f8 100644 --- a/src/wccp/WccpLocal.h +++ b/src/wccp/WccpLocal.h @@ -3486,7 +3486,7 @@ AssignInfoComp::bucket(int idx) const } inline RouterViewComp::RouterViewComp() : m_cache_count(0) { - memset(m_cache_ids, 0, sizeof(m_cache_ids)); + ink_zero(m_cache_ids); } inline CapComp::CapComp() {}
[trafficserver] branch 7.1.x updated: Remove using namespace std
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new e1abccf Remove using namespace std e1abccf is described below commit e1abccfb28dffbaaaf7f57c7acf06583d0934d00 Author: Masaori Koshiba AuthorDate: Wed Nov 6 08:47:29 2019 +0900 Remove using namespace std To fix build issue on FreeBSD 12.1 & LLVM-9 on macOS (cherry picked from commit e50520f4a4954ed8375e00594d86a11556e3d95c) Conflicts: iocore/cache/CacheTest.cc src/traffic_top/stats.h --- cmd/traffic_top/stats.h | 13 ++--- iocore/cache/CacheTest.cc | 4 +--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/traffic_top/stats.h b/cmd/traffic_top/stats.h index f35c163..8fdcc00 100644 --- a/cmd/traffic_top/stats.h +++ b/cmd/traffic_top/stats.h @@ -32,8 +32,6 @@ #include #include "mgmtapi.h" -using namespace std; - struct LookupItem { LookupItem(const char *s, const char *n, const int t) : pretty(s), name(n), numerator(""), denominator(""), type(t) {} LookupItem(const char *s, const char *n, const char *d, const int t) : pretty(s), name(n), numerator(n), denominator(d), type(t) @@ -49,7 +47,7 @@ extern size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream); #if HAS_CURL extern char curl_error[CURL_ERROR_SIZE]; #endif -extern string response; +extern std::string response; namespace constant { @@ -62,6 +60,9 @@ const char end[] = "\",\n"; // class Stats { + using string= std::string; + template using map = std::map; + public: Stats(const string ) : _url(url) { @@ -494,6 +495,12 @@ public: } private: + std::pair + make_pair(std::string s, LookupItem i) + { + return std::make_pair(s, i); + } + map *_stats; map *_old_stats; map lookup_table; diff --git a/iocore/cache/CacheTest.cc b/iocore/cache/CacheTest.cc index 3aca888..173f3c4 100644 --- a/iocore/cache/CacheTest.cc +++ b/iocore/cache/CacheTest.cc @@ -28,8 +28,6 @@ #include #include -using namespace std; - CacheTestSM::CacheTestSM(RegressionTest *t, const char *name) : RegressionSM(t), start_memcpy_on_clone(0), @@ -546,7 +544,7 @@ test_RamCache(RegressionTest *t, RamCache *cache, const char *name, int64_t cach bool pass = true; CacheKey key; Vol *vol = theCache->key_to_vol(, "example.com", sizeof("example.com") - 1); - vector> data; + std::vector> data; cache->init(cache_size, vol);
[trafficserver] branch master updated (287ee46 -> a1fb39e)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 287ee46 Update expired test certificates for cert_update new be58405 GCC 10 fixes - simple fixes. new a1fb39e GCC 10: Update traffic_via to use string_view to avoid compile errors. The 2 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: iocore/cache/P_CacheTest.h | 2 +- proxy/http/HttpTunnel.cc | 4 +-- src/traffic_via/traffic_via.cc | 81 +- src/tscore/Arena.cc| 4 +-- 4 files changed, 38 insertions(+), 53 deletions(-)
[trafficserver] 02/02: GCC 10: Update traffic_via to use string_view to avoid compile errors.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit a1fb39e32515b779473fae9fa325b3f7f510c22b Author: Alan M. Carroll AuthorDate: Fri May 1 14:28:54 2020 -0500 GCC 10: Update traffic_via to use string_view to avoid compile errors. --- src/traffic_via/traffic_via.cc | 81 +- 1 file changed, 33 insertions(+), 48 deletions(-) diff --git a/src/traffic_via/traffic_via.cc b/src/traffic_via/traffic_via.cc index 197032b..65fb617 100644 --- a/src/traffic_via/traffic_via.cc +++ b/src/traffic_via/traffic_via.cc @@ -24,11 +24,11 @@ #include "tscore/ink_platform.h" #include "tscore/ink_args.h" #include "tscore/I_Version.h" -#include "tscore/Tokenizer.h" -#include "tscore/TextBuffer.h" #include "mgmtapi.h" #include #include +#include +#include #include "tscore/Regex.h" /// XXX Use DFA or Regex wrappers? @@ -43,11 +43,11 @@ static AppVersionInfo appVersionInfo; struct VIA { - VIA(const char *t) : title(t), next(nullptr) { memset(viaData, 0, sizeof(viaData)); } + VIA(const char *t) : title(t) {} ~VIA() { delete next; } const char *title; - const char *viaData[128]; - VIA *next; + const char *viaData[128] = {}; // zero initialize + VIA *next= nullptr; }; // Function to get via header table for every field/category in the via header @@ -186,7 +186,7 @@ standardViaLookup(char flag) // Function to print via header static void -printViaHeader(const char *header) +printViaHeader(std::string_view header) { VIA *viaTable = nullptr; VIA *viaEntry = nullptr; @@ -195,22 +195,22 @@ printViaHeader(const char *header) printf("Via Header Details:\n"); // Loop through input via header flags - for (const char *c = header; *c; ++c) { -if ((*c == ':') || (*c == ';')) { + for (char c : header) { +if ((c == ':') || (c == ';')) { isDetail = true; continue; } -if (islower(*c)) { +if (islower(c)) { // Get the via header table delete viaTable; - viaEntry = viaTable = isDetail ? detailViaLookup(*c) : standardViaLookup(*c); + viaEntry = viaTable = isDetail ? detailViaLookup(c) : standardViaLookup(c); } else { // This is a one of the sequence of (uppercase) VIA codes. if (viaEntry) { +unsigned char idx = c; printf("%-55s:", viaEntry->title); -printf("%s\n", viaEntry->viaData[static_cast(*c)] ? viaEntry->viaData[static_cast(*c)] : - "Invalid sequence"); +printf("%s\n", viaEntry->viaData[idx] ? viaEntry->viaData[idx] : "Invalid sequence"); viaEntry = viaEntry->next; } } @@ -220,32 +220,29 @@ printViaHeader(const char *header) // Check validity of via header and then decode it static TSMgmtError -decodeViaHeader(const char *str) +decodeViaHeader(std::string_view text) { - size_t viaHdrLength = strlen(str); - char tmp[viaHdrLength + 2]; - char *Via = tmp; - - memcpy(Via, str, viaHdrLength); - Via[viaHdrLength] = '\0'; // null terminate - // Via header inside square brackets - if (Via[0] == '[' && Via[viaHdrLength - 1] == ']') { -viaHdrLength = viaHdrLength - 2; -Via++; -Via[viaHdrLength] = '\0'; // null terminate the string after trimming + if (!text.empty() && text.front() == '[' && text.back() == ']') { +text.remove_prefix(1); +text.remove_suffix(1); + } + if (text.empty()) { +return TS_ERR_FAIL; } - printf("Via header is [%s], Length is %zu\n", Via, viaHdrLength); + printf("Via header is [%.*s], Length is %zu\n", int(text.size()), text.data(), text.size()); - if (viaHdrLength == 5) { -Via = strcat(Via, " "); // Add one space character before decoding via header -++viaHdrLength; + char extender[6]; + if (text.size() == 5) { // add a trailing space in this case. +memcpy(extender, text.data(), text.size()); +extender[5] = ' '; +text= std::string_view{extender, 6}; } - if (viaHdrLength == 22 || viaHdrLength == 6) { + if (text.size() == 22 || text.size() == 6) { // Decode via header -printViaHeader(Via); +printViaHeader(text); return TS_ERR_OKAY; } // Invalid header size, come out. @@ -269,8 +266,7 @@ filterViaHeader() int i; const char *viaPattern = R"(\[([ucsfpe]+[^\]]+)\])"; // Regex to match via header with in [] which can start with character class ucsfpe - char *viaHeaderString; - char viaHeader[1024]; + std::string line; // Compile PCRE via header pattern compiledReg = pcre_compile(viaPattern, 0, , , nullptr); @@ -281,15 +277,9 @@
[trafficserver] 01/02: GCC 10 fixes - simple fixes.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit be584052e2ac2b0867e64d3d743f92880ddb696d Author: Alan M. Carroll AuthorDate: Fri May 1 11:53:23 2020 -0500 GCC 10 fixes - simple fixes. --- iocore/cache/P_CacheTest.h | 2 +- proxy/http/HttpTunnel.cc | 4 ++-- src/tscore/Arena.cc| 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/iocore/cache/P_CacheTest.h b/iocore/cache/P_CacheTest.h index ba9814e..47f0cfd 100644 --- a/iocore/cache/P_CacheTest.h +++ b/iocore/cache/P_CacheTest.h @@ -44,7 +44,7 @@ struct PinnedDocTable : public Continuation { int remove(CacheKey *key); int cleanup(int event, Event *e); - PinnedDocTable() : Continuation(new_ProxyMutex()) { memset(bucket, 0, sizeof(Queue) * PINNED_DOC_TABLE_SIZE); } + PinnedDocTable() : Continuation(new_ProxyMutex()) { ink_zero(bucket); } }; struct CacheTestHost { diff --git a/proxy/http/HttpTunnel.cc b/proxy/http/HttpTunnel.cc index 2b7f820..4fbac85 100644 --- a/proxy/http/HttpTunnel.cc +++ b/proxy/http/HttpTunnel.cc @@ -479,8 +479,8 @@ HttpTunnel::reset() num_producers = 0; num_consumers = 0; - memset(consumers, 0, sizeof(consumers)); - memset(producers, 0, sizeof(producers)); + ink_zero(consumers); + ink_zero(producers); } void diff --git a/src/tscore/Arena.cc b/src/tscore/Arena.cc index 81af84c..e26a20a 100644 --- a/src/tscore/Arena.cc +++ b/src/tscore/Arena.cc @@ -48,8 +48,8 @@ blk_alloc(int size) } blk->next = nullptr; - blk->m_heap_end= >data[size]; - blk->m_water_level = >data[0]; + blk->m_heap_end= blk->data + size; + blk->m_water_level = blk->data; return blk; }
[trafficserver] branch master updated: Update expired test certificates for cert_update
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 287ee46 Update expired test certificates for cert_update 287ee46 is described below commit 287ee468583bbd00fb2b46ae822ba205261bae2f Author: Susan Hinrichs AuthorDate: Mon May 4 20:41:54 2020 + Update expired test certificates for cert_update --- .../pluginTest/cert_update/ssl/client1.pem | 159 ++-- .../pluginTest/cert_update/ssl/client2.pem | 160 ++-- .../pluginTest/cert_update/ssl/server1.pem | 161 +++-- .../pluginTest/cert_update/ssl/server2.pem | 161 +++-- 4 files changed, 322 insertions(+), 319 deletions(-) diff --git a/tests/gold_tests/pluginTest/cert_update/ssl/client1.pem b/tests/gold_tests/pluginTest/cert_update/ssl/client1.pem index 5fda0b3..74dc11e 100644 --- a/tests/gold_tests/pluginTest/cert_update/ssl/client1.pem +++ b/tests/gold_tests/pluginTest/cert_update/ssl/client1.pem @@ -1,83 +1,84 @@ -BEGIN CERTIFICATE- -MIIFXzCCA0egAwIBAgIUQW43tEf3dK2EAUi219sjNioWa8QwDQYJKoZIhvcNAQEL -BQAwPzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAklMMQ8wDQYDVQQKDAZBcGFjaGUx -EjAQBgNVBAMMCWFsaWNlLmNvbTAeFw0xOTA1MDMyMTEzNDdaFw0yMDA1MDIyMTEz -NDdaMD8xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJJTDEPMA0GA1UECgwGQXBhY2hl -MRIwEAYDVQQDDAlhbGljZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQDEevfeMGJBziVeir3teXonOevM6E/4sZUxX2jDDgYvsYDkx8ConcufuO1B -svu9Pg+Odi0/zVjoJbIdF4+KqucUs+unDC2a1IHwHbUEQadlkPBmQq1Uxxc3Rb0c -RCjHzasn0p6vicq4bRmTtXSekezqTvwahDq0++Ci0fQwlbGewRBiJrrM+hbTOZdP -MR+SgIWsGRcRRTm8qtwMX/02UzE3cfY0liU6x/jMs76shhjt54hNDQJCRsNenh6m -rf5qD0i+GbQAjj6WN2LO+xuC0IoY8kbNjQTyKsOCkfhDADibyN70d/NUA3PhgqXD -4r119vhkLFR3FuVCW4mDgJ3Xo5XdiQVJ7cbrPS3Ds1lPESiJUssNPBSO3h2WM5HI -J9E9xDvQo4mrVc6phoDVFs3rtjjU9E5IMpCp8KxTQ5VpEk0/sHjijX5Q3OWWlBxX -bXrQSExj7aDvjL5SliwgobQsAX1zadtm/KBtDJTFB8emYIZfdNxSzM2a37ndZ/yZ -82NfUGY8FeY9kEMGGgLGU5KsIGgeVyFsbUHp/lGE+biup7NvlxJwV1BrujKjhpSn -RtLNeJTPwhrDgOKtdxV8zXZ3OW/nRibPciD7qno9HPmJgiknVroGtZ7ZvsNd91MD -BwyeIWC4+/39OQHHWM9tVyaKndNfKX40ewgL/FiOYkQ6m3i24wIDAQABo1MwUTAd -BgNVHQ4EFgQUJ44G/cXLEv+XvhBqRAzt4GsQMdkwHwYDVR0jBBgwFoAUJ44G/cXL -Ev+XvhBqRAzt4GsQMdkwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -AgEAiTnXOLgdVYKlrcmNQ6H7F6hDiZ6UiXEHyxBP+TVPF6zTIM9Zdcfpo8mfN+uC -lT9vBxzzKCiVwL6bO71jAHxukS3IIyM7FCYQYE+a3lnQBV+/LLrFhfdEgK87V5j6 -T74y++0+ssHGa96jlw4y45Rx9lvYLxpTjSEe2kYiQMhZXLKiGOw2JgRcPOtImUeQ -NHgss5d+CxGiq7qnl0OJLmInQqh3zHE3/sRu/+jJigZcn+UJHeszoJfZiKQEbgyv -w8VtwkAEBCoiTEiRDhhoovfFUWAcoaD7HkkPt8+yW9hvIgbtmMEC0tvAqr8ddPBc -UJ291FD4+03gEgk2nq3mmo0OWqzOsi8rGoJ6YvVgKLvUpirJhUhFWP/VJTVt6dA6 -C+bBd5/+J712gS0p0fkmUUPXXp5X7gTbVZxnO8WvgAPSx3lDjqF3fjzWot9ZqfOA -jskwyvTC4AoXhn9ea7ipJKDUy0LN64OHt68fYI2wq6H8Qy8dL3FhRKeCV0jCKlKW -EaYfNfK0H9EXCCNzBqUz7Y2i9dBlR6RcUR7A5L0DeOF/SVUjK6V0XOiQ32BIpOcD -82YsuACZyGvZ1xxhy25YxDoymNBXxrO+1yYxW+Ni7mmpdoUg41rzD0uIOOQcIgh1 -Cs7tSiybuRdUCA7qVThgJW+4333WHbaUo51WJD60tM1Tlms= +MIIFeTCCA2GgAwIBAgIJAISTHDcePqN7MA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNV +BAYTAlVTMQswCQYDVQQIDAJJTDESMBAGA1UEBwwJQ2hhbXBhaWduMQ8wDQYDVQQK +DAZBcGFjaGUxEjAQBgNVBAMMCWFsaWNlLmNvbTAeFw0yMDA1MDQyMDMxMjRaFw0z +MDA1MDIyMDMxMjRaMFMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJJTDESMBAGA1UE +BwwJQ2hhbXBhaWduMQ8wDQYDVQQKDAZBcGFjaGUxEjAQBgNVBAMMCWFsaWNlLmNv +bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANPu3ONTBTbRwc4+FfpO +Z2HufjZ21ZQiVcmndiRvoW5QzjC/eMivBzAPx9WS+8lgaUAp3G3llphv8EOuKxb0 +ka8a17dARRDmIk8oqVL3EOiCrwK+1vlaJmB5UbnadLgvBwqLHLBbZdxsD6rJK4tT +RY3w2NmJ9Rh0FGBMX+USBUmxIjEh5fowjYURqn9ND9BH9y68FfCpFGBjvlVzgKeR +78pXFwqJeM+d0tGG9k6DRdJ7qUnOWk4dWh+aaE2rHxss5LU/FZA4TicXsvrhsKs0 +ZaFk2RUCV7BOg43IHSH9nh47OtK5MtBbaW7SLkK1uMm2br5L3nI+2PTZuhkZMlfP +/XoEeoaOIBabv50iOekfHOjQ5TJ5jgUwUjRf1dhfCtfX8+2V6oMhm2lhaD5v6lxe +zwGDr9ycR9+fqmjZinLlZ0qXJ+PtAeQh7Xzoa9iEUmVJrY5llThK69zZUc27OHjy +oAiR7SeZJBQrtDXRy94IjRbhKwJJ3qCM28+yNaLjp+SF4INYJ+g7noKTI4jyAgGI +/8EicmzSbfoeR9IYEfoNTsKVfm/E7tWl9ORHufIxZyHZRg/Ri3r6tpaKSt9GZ/xv +31d7juvauGyls2LjdFKvhsKSGtJ7YxdZluNqCs5cloQmUl9TNq8eyUwueIDsjv9F +l2wkYwnTDmMEeRYy4x/f1rSDAgMBAAGjUDBOMB0GA1UdDgQWBBROGcex3gOvRDdN +zppQ2pmwL/cZJTAfBgNVHSMEGDAWgBROGcex3gOvRDdNzppQ2pmwL/cZJTAMBgNV +HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQA9RXNMy/iBTYE0mXdC1dhJtGhC +dWGIcx+zIR7lyKb5uzHLwqs9KPpLxzDvjTPn5+6iONjTd99m8CsB6KtdEYaEMvvL +Fk9XQLn7yUnUeHsTb0F+twBova15hlw277SrgPXlJVz9/Syrbmvb8upR1InaGO6q +2nyBMa+vEljmyfgpgGFOvfyTGczJoYWCOoxuRdkNC/jpAB8r+XcByX8Uad1BBPyk +xdVJnIh3VSX60Iu95WlO/YRhpx7R2N1HZUl32I58wYz9Fx5/0jZoD2mmI/n5NMyA +350Cumf58ESA0WDNp7tDfd4oZZwhn5/Il+iaz9TNVyujMJxMyfLwk/qIAIpFwkXZ +n0ika5T05SdPiAfSoQrx8aI48SjswDmmDrPz0BLbSdP+INDKkG/9Cpc4PG8t7T0m +KxTP1pN7Q3sj7KPu2/XbvVk1GxrDJyONSOEFOaL8x9qqMjM3gDp0wuXOw1p3vS2e +fmSkFYCzF0kiaXiXHkqYihHjqhg0nO2pjUPb/hOKmTlGwA2Aq1AxcYfGCiJf+bpV +jza4rH8vzvRYquxWnftZscpItE8eSnjhsEr56RcydItjo20Y9o4lcZFdqa3MrYe9
[trafficserver] branch master updated (4a3c1b0 -> a98e2e4)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 4a3c1b0 Au test: HTTP/2 client sends POST, server delays 2 minutes, sends 200 KB. add a98e2e4 gcc10: fixed warning about returning local variable in int64_to_str() No new revisions were added by this update. Summary of changes: src/tscore/ink_hrtime.cc | 38 -- 1 file changed, 20 insertions(+), 18 deletions(-)
[trafficserver] branch master updated: Updated docs for guaranteed_{min, max}_lifetime
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1d529e7 Updated docs for guaranteed_{min,max}_lifetime 1d529e7 is described below commit 1d529e7e144ad41c9adcbd0df6371055923aab7b Author: Emanuele Rocca AuthorDate: Thu Apr 16 17:06:22 2020 +0200 Updated docs for guaranteed_{min,max}_lifetime The settings are taken into account whether or not heuristics are used. Update the documentation to reflect that. See https://phabricator.wikimedia.org/T249627#6062187 --- doc/admin-guide/files/records.config.en.rst | 32 + 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index 5da2297..4467665 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -2052,6 +2052,20 @@ Cache Control The maximum age allowed for a stale response before it cannot be cached. +.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_min_lifetime INT 0 + :reloadable: + :overridable: + + Establishes a guaranteed minimum lifetime boundary for object freshness. + Setting this to ``0`` (default) disables the feature. + +.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_max_lifetime INT 31536000 + :reloadable: + :overridable: + + Establishes a guaranteed maximum lifetime boundary for object freshness. + Setting this to ``0`` disables the feature. + .. ts:cv:: CONFIG proxy.config.http.cache.range.lookup INT 1 :overridable: @@ -2273,24 +2287,6 @@ Heuristic Expiration The aging factor for freshness computations. |TS| stores an object for this percentage of the time that elapsed since it last changed. -.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_min_lifetime INT 0 - :reloadable: - :overridable: - - Establishes a guaranteed minimum lifetime boundary for freshness heuristics. - When heuristics are used, and the :ts:cv:`proxy.config.http.cache.heuristic_lm_factor` - aging factor is applied, the final minimum age calculated will never be - lower than the value in this variable. - -.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_max_lifetime INT 31536000 - :reloadable: - :overridable: - - Establishes a guaranteed maximum lifetime boundary for freshness heuristics. - When heuristics are used, and the :ts:cv:`proxy.config.http.cache.heuristic_lm_factor` - aging factor is applied, the final maximum age calculated will never be - higher than the value in this variable. - Dynamic Content & Content Negotiation =
[trafficserver] branch master updated: Updated docs for guaranteed_{min, max}_lifetime
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1d529e7 Updated docs for guaranteed_{min,max}_lifetime 1d529e7 is described below commit 1d529e7e144ad41c9adcbd0df6371055923aab7b Author: Emanuele Rocca AuthorDate: Thu Apr 16 17:06:22 2020 +0200 Updated docs for guaranteed_{min,max}_lifetime The settings are taken into account whether or not heuristics are used. Update the documentation to reflect that. See https://phabricator.wikimedia.org/T249627#6062187 --- doc/admin-guide/files/records.config.en.rst | 32 + 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index 5da2297..4467665 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -2052,6 +2052,20 @@ Cache Control The maximum age allowed for a stale response before it cannot be cached. +.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_min_lifetime INT 0 + :reloadable: + :overridable: + + Establishes a guaranteed minimum lifetime boundary for object freshness. + Setting this to ``0`` (default) disables the feature. + +.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_max_lifetime INT 31536000 + :reloadable: + :overridable: + + Establishes a guaranteed maximum lifetime boundary for object freshness. + Setting this to ``0`` disables the feature. + .. ts:cv:: CONFIG proxy.config.http.cache.range.lookup INT 1 :overridable: @@ -2273,24 +2287,6 @@ Heuristic Expiration The aging factor for freshness computations. |TS| stores an object for this percentage of the time that elapsed since it last changed. -.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_min_lifetime INT 0 - :reloadable: - :overridable: - - Establishes a guaranteed minimum lifetime boundary for freshness heuristics. - When heuristics are used, and the :ts:cv:`proxy.config.http.cache.heuristic_lm_factor` - aging factor is applied, the final minimum age calculated will never be - lower than the value in this variable. - -.. ts:cv:: CONFIG proxy.config.http.cache.guaranteed_max_lifetime INT 31536000 - :reloadable: - :overridable: - - Establishes a guaranteed maximum lifetime boundary for freshness heuristics. - When heuristics are used, and the :ts:cv:`proxy.config.http.cache.heuristic_lm_factor` - aging factor is applied, the final maximum age calculated will never be - higher than the value in this variable. - Dynamic Content & Content Negotiation =
[trafficserver] branch master updated: Remove tls_versions from host sni policy check
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 7567ff7 Remove tls_versions from host sni policy check 7567ff7 is described below commit 7567ff7d5930a33342302572aa190b9f196e9a44 Author: Susan Hinrichs AuthorDate: Mon Apr 20 18:06:41 2020 + Remove tls_versions from host sni policy check --- doc/admin-guide/files/records.config.en.rst | 2 ++ iocore/net/P_SNIActionPerformer.h | 5 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index 21b9bb1..5da2297 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -1851,6 +1851,8 @@ Security You can override this global setting on a per domain basis in the :file:`sni.yaml` file using the :ref:`host_sni_policy attribute` action. + Currently, only the verify_client policy is checked for host name and SNI matching. + Cache Control = diff --git a/iocore/net/P_SNIActionPerformer.h b/iocore/net/P_SNIActionPerformer.h index 8dc95fe..2f9bd01 100644 --- a/iocore/net/P_SNIActionPerformer.h +++ b/iocore/net/P_SNIActionPerformer.h @@ -262,11 +262,6 @@ public: } return SSL_TLSEXT_ERR_OK; } - bool - TestClientSNIAction(const char *servername, const IpEndpoint , int ) const override - { -return !unset; - } }; class SNI_IpAllow : public ActionItem
[trafficserver] branch master updated: remove TSContSchedule, then rename TSContScheduleOnPool to TSContSchedule
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new cefe482 remove TSContSchedule, then rename TSContScheduleOnPool to TSContSchedule cefe482 is described below commit cefe4826c919847385aa9d8459b9d5cfc20377f9 Author: Fei Deng AuthorDate: Tue Mar 31 14:12:38 2020 -0500 remove TSContSchedule, then rename TSContScheduleOnPool to TSContSchedule --- doc/.tx/config | 6 +- .../api/functions/TSContScheduleEvery.en.rst | 58 --- ...ule.en.rst => TSContScheduleEveryOnPool.en.rst} | 28 +++ .../api/functions/TSContScheduleOnPool.en.rst | 25 +-- .../api/functions/TSContScheduleOnThread.en.rst| 17 - .../api/functions/TSContThreadAffinitySet.en.rst | 4 +- .../continuations/activating-continuations.en.rst | 2 +- .../plugins/continuations/index.en.rst | 2 +- .../continuations/writing-handler-functions.en.rst | 5 +- ...ntSchedule.en.po => TSContScheduleOnPool.en.po} | 10 +-- .../continuations/activating-continuations.en.po | 4 +- .../plugins/continuations/index.en.po | 4 +- .../continuations/writing-handler-functions.en.po | 8 +- include/ts/ts.h| 2 - src/traffic_server/InkAPI.cc | 63 tests/gold_tests/cont_schedule/gold/schedule.gold | 4 - tests/gold_tests/cont_schedule/schedule.test.py| 49 tests/tools/plugins/cont_schedule.cc | 87 ++ 18 files changed, 75 insertions(+), 303 deletions(-) diff --git a/doc/.tx/config b/doc/.tx/config index 250615d..5ddb722 100644 --- a/doc/.tx/config +++ b/doc/.tx/config @@ -697,9 +697,9 @@ file_filter = locale//LC_MESSAGES/developer-guide/api/functions/TSContMute source_file = _build/locale/pot/developer-guide/api/functions/TSContMutexGet.en.pot source_lang = en -[apache-traffic-server-6x.developer-guide--api--functions--TSContSchedule_en] -file_filter = locale//LC_MESSAGES/developer-guide/api/functions/TSContSchedule.en.po -source_file = _build/locale/pot/developer-guide/api/functions/TSContSchedule.en.pot +[apache-traffic-server-6x.developer-guide--api--functions--TSContScheduleOnPool_en] +file_filter = locale//LC_MESSAGES/developer-guide/api/functions/TSContScheduleOnPool.en.po +source_file = _build/locale/pot/developer-guide/api/functions/TSContScheduleOnPool.en.pot source_lang = en [apache-traffic-server-6x.developer-guide--api--functions--TSDebug_en] diff --git a/doc/developer-guide/api/functions/TSContScheduleEvery.en.rst b/doc/developer-guide/api/functions/TSContScheduleEvery.en.rst deleted file mode 100644 index bc61392..000 --- a/doc/developer-guide/api/functions/TSContScheduleEvery.en.rst +++ /dev/null @@ -1,58 +0,0 @@ -.. Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed - with this work for additional information regarding copyright - ownership. The ASF licenses this file to you under the Apache - License, Version 2.0 (the "License"); you may not use this file - except in compliance with the License. You may obtain a copy of - the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied. See the License for the specific language governing - permissions and limitations under the License. - -.. include:: ../../../common.defs - -.. default-domain:: c - -TSContScheduleEvery -*** - -Synopsis - - -.. code-block:: cpp - -#include - -.. function:: TSAction TSContScheduleEvery(TSCont contp, TSHRTime every) - -Description -=== - -Schedules :arg:`contp` to periodically run every :arg:`delay` milliseconds in the future. -This is approximate. The delay will be at least :arg:`delay` but possibly more. -Resolutions finer than roughly 5 milliseconds will not be effective. :arg:`contp` is -required to have a mutex, which is provided to :func:`TSContCreate`. - -The return value can be used to cancel the scheduled event via :func:`TSActionCancel`. This is -effective until the continuation :arg:`contp` is being dispatched. However, if it is scheduled on -another thread this can be problematic to be correctly timed. The return value can be checked with -:func:`TSActionDone` to see if the continuation ran before the return, which is possible if -:arg:`timeout` is `0`. Returns ``nullptr`` if thread affinity was cleared. - -TSContSchedule() or TSContScheduleEvery() will default to set the thread affinity to the callin
[trafficserver] branch 7.1.x updated: Updated STATUS file
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new b6c0127 Updated STATUS file b6c0127 is described below commit b6c0127ed2ce97154a5c0ef6b88f4e2156eafb6d Author: Bryan Call AuthorDate: Mon Apr 27 12:09:46 2020 -0700 Updated STATUS file --- STATUS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/STATUS b/STATUS index 474a7cc..eb2a830 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,8 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -7.1.10 : Released on Apr xxth, 2020 +7.1.11 : Released on May xxth, 2020 +7.1.10 : Released on Apr 16th, 2020 7.1.9 : Released on Feb 29th, 2020 7.1.8 : Released on Aug 20th, 2019 7.1.7 : Released on Aug 13th, 2019
[trafficserver] annotated tag 7.1.10 updated (439a7cf -> 43b33b9)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 7.1.10 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 7.1.10 was modified! *** from 439a7cf (commit) to 43b33b9 (tag) tagging 439a7cfcb70dcb92485dd6989af80d9f900d1f99 (commit) replaces 7.1.9 by Bryan Call on Mon Apr 27 12:03:59 2020 -0700 - Log - Release Candidate 7.1.10 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJepyyfAAoJEE0VQRC4RQjsTEQQAJcp8CvdCvr9Y9hdHKMS2xbZ gmpq5zz4bkaJXZLDKtj0wthc3uv4SZrNhOtp19jMc3Y9tDEXlyd591RAQ9qr8bPt +gk5vVphjxmOUk1hctNqotN66tspXexPrI4Hw4JoRpY68TV+GCa1BU1m5u2l6EyC 2/Cqpbi8zj3fhwdwKwboR8NU37t5Jb90fhbc+ScZCpjJZvvg1b2+yQL/stxdScqI k/mQiMZ6xBR3w2NibFKqY6BekDbDR5mMUgF/cVm5YOUSuagWiE/3de10+NvC8kp9 V0fJe2pOnvtiNYbKNGWwTXQ4+g+NJ0SW5EIZtsLDq1cQT1T7fgWwNc+eJcNcObvp JsrV25M/IctLyU97j34MJeIiYtqOklRJ9KxEgwx1hKNLHOzS792vMKOMmzaWFX11 bYQ7XnspbHxQ958F5hunWmmPoal0wrxcytTYIazVX6gPxtM59SYSuCEuPm1hVsQD 8Jxsccgxmyoc1y5crVu3u+0jmcSNMQmznQrRy1FuDfchhmrNJkmHfErjfmVa9nwy cRGU1MpvkFjsHT9hb+pRNI0h5FBtjdaPZbWEiVQZ18xI+RH3OAH5z3+K5eDNAsyf hh9U+pEIBySiOZT6uUncPrxSz8PZdOGGt9PqpuyfSEGANWObcw6BLk8aFJ5gBIBT iaISLe3QPa8swTVlYggz =+kFu -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] annotated tag 8.0.7 updated (ac05db1 -> 8478f34)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 8.0.7 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 8.0.7 was modified! *** from ac05db1 (commit) to 8478f34 (tag) tagging ac05db1ca58e990e0d2c49b57e5b6364df71dabc (commit) replaces 8.0.6 by Bryan Call on Mon Apr 27 11:59:12 2020 -0700 - Log - Release Candidate 8.0.7 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJepyuAAAoJEE0VQRC4RQjsWSIQAJ7XfX5RnWPqawbVN55eZFHz bliMG10FJWYUcT6sV1PCv1J8L6o3v+FK3ddCxzLjR7sf+ZzX9AApllzs3+TEtlfb Q7ELzDFrLC9oQIsZBCtXYysiQjMzMcdreFA6Yb6UH5qfAFeYw7GFPiqldGDgQClg fDuHq0Ewhh3AJN7mNb3v/Ds7Fi3NXpglYWHMR/mwowDyx/h70gqa1TNHBMyFTjWa WaYW45LP8pGjZj9PXZJ7paoV4ok7MDEQeEk3baVeM4r1DIlP6lZTsriMvBLoQpX1 m/DGu7BUQicps+bTdyaYtWYVJWn/NHWh2mNhzspNBMmJ0K3RsNlxoNLOPP65/TtF g9beGqnwh7wwCjLwDvk97Mqb818XjYmcchPnvv9I0QNv/3mloYQ9bmPt53fJX4R8 HKsG3Pk+3XBhIDdnD88HCYOGtzgzYKjXz0w4JyITU9AYNKknqOHW45M/QnzpWC4+ xQzJ5w4LiEjSvhWvgFueGtFk8zXmvrPB6BhWyzi3YjDT0Ysw0yrwoxBIB0uePxfC n3JzqjD28tbEh8FEe/S6iqKJZcUkoWnK/fWLdUUV1yVeIkbdsXZN44UsA+32fecr TmkIyIfKvE9Vq613wSzVrXfcAfUPTuFB0gBbwzPqu61QieWHKKcPr6r5t28eIxDN wzm11LgRqdXGbMLIk85D =NQEQ -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] branch 8.0.x updated: Updated STATUS file
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new cbd743f Updated STATUS file cbd743f is described below commit cbd743f77e95414b2ca8ba5f9f49bdd621db44f2 Author: Bryan Call AuthorDate: Mon Apr 27 12:00:07 2020 -0700 Updated STATUS file --- STATUS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/STATUS b/STATUS index 60672a3..e2c5a44 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,8 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -8.0.7 : Release on Apr xxth, 2020 +8.0.8 : Release on May xxth, 2020 +8.0.7 : Release on Apr 16th, 2020 8.0.6 : Release on Feb 29th, 2020 8.0.5 : Release on Aug 20th, 2019 8.0.4 : Release on Aug 13th, 2019
[trafficserver] branch master updated: Fixed memory leak in header unit test
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 24e78f2 Fixed memory leak in header unit test 24e78f2 is described below commit 24e78f275acce36189633aa1c92eb9c60b8fae02 Author: Bryan Call AuthorDate: Tue Apr 21 15:35:46 2020 -0700 Fixed memory leak in header unit test --- proxy/hdrs/unit_tests/test_HdrUtils.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proxy/hdrs/unit_tests/test_HdrUtils.cc b/proxy/hdrs/unit_tests/test_HdrUtils.cc index 50cca3a..9c41ae2 100644 --- a/proxy/hdrs/unit_tests/test_HdrUtils.cc +++ b/proxy/hdrs/unit_tests/test_HdrUtils.cc @@ -119,6 +119,7 @@ TEST_CASE("HdrUtils", "[proxy][hdrutils]") REQUIRE(value == "charlie"); value = iter.get_next(); REQUIRE(value.empty()); + heap->destroy(); } TEST_CASE("HdrUtils 2", "[proxy][hdrutils]") @@ -161,6 +162,7 @@ TEST_CASE("HdrUtils 2", "[proxy][hdrutils]") REQUIRE(parse != 0); REQUIRE(idx == text.size()); REQUIRE(0 == memcmp(ts::TextView(buff, idx), text)); + heap->destroy(); }; TEST_CASE("HdrUtils 3", "[proxy][hdrutils]") @@ -203,4 +205,5 @@ TEST_CASE("HdrUtils 3", "[proxy][hdrutils]") REQUIRE(parse != 0); REQUIRE(idx == text.size()); REQUIRE(0 == memcmp(ts::TextView(buff, idx), text)); + heap->destroy(); };
[trafficserver] branch master updated: Added Apache notifications file
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1c7ef0d Added Apache notifications file 1c7ef0d is described below commit 1c7ef0dafb0569fadab986a0c4f4a106616ac764 Author: Bryan Call AuthorDate: Tue Apr 21 17:23:55 2020 -0700 Added Apache notifications file --- .asf.yaml | 4 1 file changed, 4 insertions(+) diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 000..cc85e9e --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,4 @@ +notifications: + commits: commits@trafficserver.apache.org + issues: iss...@trafficserver.apache.org + pullrequests: git...@trafficserver.apache.org
[trafficserver] branch 9.0.x updated: Bug fixes to h2 buffering
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new 99de822 Bug fixes to h2 buffering 99de822 is described below commit 99de8227aee7c5d93adb5d5bbb59ecea6e0e7c5a Author: Masaori Koshiba AuthorDate: Fri Apr 10 10:38:20 2020 -0700 Bug fixes to h2 buffering (cherry picked from commit 50441b39e6631389ef95c4133f06bbf94544879c) --- doc/admin-guide/files/records.config.en.rst | 3 +- mgmt/RecordsConfig.cc | 2 +- proxy/http2/HTTP2.cc| 2 +- proxy/http2/Http2ClientSession.cc | 12 -- proxy/http2/Http2ClientSession.h| 2 + proxy/http2/Http2ConnectionState.cc | 57 + proxy/http2/Http2ConnectionState.h | 7 +++- proxy/http2/Http2Stream.cc | 31 proxy/http2/Http2Stream.h | 5 ++- 9 files changed, 93 insertions(+), 28 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index 3b1270e..66c1de8 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -3682,7 +3682,7 @@ HTTP/2 Configuration :ts:cv:`proxy.config.http2.min_concurrent_streams_in`. To disable, set to zero (``0``). -.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 1048576 +.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 65535 :reloadable: The initial window size for inbound connections. @@ -3812,7 +3812,6 @@ HTTP/2 Configuration Clients that send smaller window increments lower than this limit will be immediately disconnected with an error code of ENHANCE_YOUR_CALM. - HTTP/3 Configuration diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc index 311c3de..82cdd70 100644 --- a/mgmt/RecordsConfig.cc +++ b/mgmt/RecordsConfig.cc @@ -1286,7 +1286,7 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.http2.max_active_streams_in", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , - {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "1048576", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} + {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "65535", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , {RECT_CONFIG, "proxy.config.http2.max_frame_size", RECD_INT, "16384", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , diff --git a/proxy/http2/HTTP2.cc b/proxy/http2/HTTP2.cc index e23c44d..6616f03 100644 --- a/proxy/http2/HTTP2.cc +++ b/proxy/http2/HTTP2.cc @@ -718,7 +718,7 @@ uint32_t Http2::min_concurrent_streams_in = 10; uint32_t Http2::max_active_streams_in = 0; bool Http2::throttling = false; uint32_t Http2::stream_priority_enabled= 0; -uint32_t Http2::initial_window_size= 1048576; +uint32_t Http2::initial_window_size= 65535; uint32_t Http2::max_frame_size = 16384; uint32_t Http2::header_table_size = 4096; uint32_t Http2::max_header_list_size = 4294967295; diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc index 18133bb..2ecfa2e 100644 --- a/proxy/http2/Http2ClientSession.cc +++ b/proxy/http2/Http2ClientSession.cc @@ -385,11 +385,9 @@ Http2ClientSession::main_event_handler(int event, void *edata) break; case VC_EVENT_WRITE_READY: -retval = 0; -break; - case VC_EVENT_WRITE_COMPLETE: -// Seems as this is being closed already +this->connection_state.restart_streams(); + retval = 0; break; @@ -678,6 +676,12 @@ Http2ClientSession::_should_do_something_else() return (this->_n_frame_read & 0x7F) == 0; } +int64_t +Http2ClientSession::write_avail() +{ + return this->write_buffer->write_avail(); +} + NetVConnection * Http2ClientSession::get_netvc() const { diff --git a/proxy/http2/Http2ClientSession.h b/proxy/http2/Http2ClientSession.h index 12be63d..dfdb34c 100644 --- a/proxy/http2/Http2ClientSession.h +++ b/proxy/http2/Http2ClientSession.h @@ -134,6 +134,8 @@ public: // Record history from Http2ConnectionState void remember(const SourceLocation , int event, int reentrant = NO_REENTRANT); + int64_t write_avail(); + // noncopyable Http2ClientSession(Http2ClientSession &) = delete; Http2ClientSession =(const Http2ClientSession &) = delete; diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index f8f57bf..5386e5a 100644 --- a/proxy/http
[trafficserver] branch master updated (0debba2 -> 50441b3)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 0debba2 Added bonded interface support to system stats plugin (#6668) add 50441b3 Bug fixes to h2 buffering No new revisions were added by this update. Summary of changes: doc/admin-guide/files/records.config.en.rst | 3 +- mgmt/RecordsConfig.cc | 2 +- proxy/http2/HTTP2.cc| 2 +- proxy/http2/Http2ClientSession.cc | 12 -- proxy/http2/Http2ClientSession.h| 2 + proxy/http2/Http2ConnectionState.cc | 57 + proxy/http2/Http2ConnectionState.h | 7 +++- proxy/http2/Http2Stream.cc | 31 proxy/http2/Http2Stream.h | 5 ++- 9 files changed, 93 insertions(+), 28 deletions(-)
[trafficserver-site] branch asf-site updated: Updated the KEYS URL
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/trafficserver-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 669dc9a Updated the KEYS URL 669dc9a is described below commit 669dc9ac1577581952d6125c3170d033e9e9908b Author: Bryan Call AuthorDate: Thu Apr 16 10:40:01 2020 -0700 Updated the KEYS URL --- source/markdown/downloads.mdtext | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/markdown/downloads.mdtext b/source/markdown/downloads.mdtext index 7344a5b..97f8d54 100644 --- a/source/markdown/downloads.mdtext +++ b/source/markdown/downloads.mdtext @@ -27,7 +27,7 @@ Within the major versions, all such patch and minor releases are all compatible. When downloading from a mirror, please be sure to [verify the hash and OpenPGP compatible signature](https://www.apache.org/info/verification.html). To validate -the PGP signatures the [public keys from the release manager](https://archive.apache.org/dist/trafficserver/KEYS) +the PGP signatures the [public keys from the release manager](https://www.apache.org/dist/trafficserver/KEYS) will be needed. You can also [browse through all releases](https://archive.apache.org/dist/trafficserver/) and hash signatures.
[trafficserver-site] branch asf-site updated: Fixed the date for the 8.0.7 release
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/trafficserver-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c60dedb Fixed the date for the 8.0.7 release c60dedb is described below commit c60dedbe9a85b5361a5aea7ec85b18bece583c2e Author: Bryan Call AuthorDate: Thu Apr 16 08:56:42 2020 -0700 Fixed the date for the 8.0.7 release --- source/markdown/downloads.mdtext | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/markdown/downloads.mdtext b/source/markdown/downloads.mdtext index 2175235..7344a5b 100644 --- a/source/markdown/downloads.mdtext +++ b/source/markdown/downloads.mdtext @@ -19,7 +19,7 @@ RSS: /rss/releases.rss -The latest stable release of Apache Traffic Server is 8.0.7, released on 2020-04-20. +The latest stable release of Apache Traffic Server is 8.0.7, released on 2020-04-16. In addition, we continue to support the v7.1.x LTS release train, currently v7.1.10 which was released on 2020-04-16. We follow the [Semantic Versioning](http://semver.org) scheme. The goal is to release patch releases frequently, and minor releases as needed.
[trafficserver-site] branch asf-site updated: Added 7.1.10 and 8.0.7 releases
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/trafficserver-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 628e095 Added 7.1.10 and 8.0.7 releases 628e095 is described below commit 628e095f671a679f118acbc624f0ee1c784fe481 Author: Bryan Call AuthorDate: Thu Apr 16 08:50:06 2020 -0700 Added 7.1.10 and 8.0.7 releases --- source/markdown/downloads.mdtext | 38 +++--- source/markdown/index.html | 3 +++ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/source/markdown/downloads.mdtext b/source/markdown/downloads.mdtext index 18cf68c..2175235 100644 --- a/source/markdown/downloads.mdtext +++ b/source/markdown/downloads.mdtext @@ -19,9 +19,9 @@ RSS: /rss/releases.rss -The latest stable release of Apache Traffic Server is 8.0.6, released on 2020-02-29. -In addition, we continue to support the v7.1.x LTS release train, currently v7.1.9 -which was released on 2020-02-29. We follow the [Semantic Versioning](http://semver.org) +The latest stable release of Apache Traffic Server is 8.0.7, released on 2020-04-20. +In addition, we continue to support the v7.1.x LTS release train, currently v7.1.10 +which was released on 2020-04-16. We follow the [Semantic Versioning](http://semver.org) scheme. The goal is to release patch releases frequently, and minor releases as needed. Within the major versions, all such patch and minor releases are all compatible. @@ -32,33 +32,33 @@ will be needed. You can also [browse through all releases](https://archive.apache.org/dist/trafficserver/) and hash signatures. -# Current v8.x Release -- 8.0.6 # {#8.0.6} +# Current v8.x Release -- 8.0.7 # {#8.0.7} - Apache Traffic Server v8.0.6 was released on August 20th, 2019. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.6.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.6.tar.bz2.sha512)] + Apache Traffic Server v8.0.7 was released on April 16th, 2020. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.7.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.7.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.6.tar.bz2; class="download_ts">Traffic Server 8.0.6 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.7.tar.bz2; class="download_ts">Traffic Server 8.0.7 -v8.0.6 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.6) -and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/35?closed=1). +v8.0.7 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.7) +and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/37?closed=1). For details on the v8.0.x release, please see [8.0.x News](https://cwiki.apache.org/confluence/display/TS/What's+New+in+v8.0.x). There are also details about [upgrading to 8.x](https://cwiki.apache.org/confluence/display/TS/Upgrading+to+v8.0). -# Current v7.x Release -- 7.1.9 # {#7.1.9} +# Current v7.x Release -- 7.1.10 # {#7.1.10} - Apache Traffic Server v7.1.9 was released on August 20th, 2019. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.9.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.9.tar.bz2.sha512)] + Apache Traffic Server v7.1.10 was released on April 16th, 2020. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.10.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.10.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.9.tar.bz2; class="download_ts">Traffic Server 7.1.9 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.10.tar.bz2; class="download_ts">Traffic Server 7.1.10 -v7.1.9 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.9) -and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/36?closed=1). +v7.1.10 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.10) +and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/39?closed=1). For details on the v7.1.x release train, please see [7.1.x News](https://cwiki.a
svn commit: r38993 - in /release/trafficserver: trafficserver-8.0.7.tar.bz2 trafficserver-8.0.7.tar.bz2.asc trafficserver-8.0.7.tar.bz2.sha512
Author: bcall Date: Thu Apr 16 15:20:53 2020 New Revision: 38993 Log: Release 8.0.7 Added: release/trafficserver/trafficserver-8.0.7.tar.bz2 (with props) release/trafficserver/trafficserver-8.0.7.tar.bz2.asc (with props) release/trafficserver/trafficserver-8.0.7.tar.bz2.sha512 Added: release/trafficserver/trafficserver-8.0.7.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.7.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-8.0.7.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.7.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-8.0.7.tar.bz2.sha512 == --- release/trafficserver/trafficserver-8.0.7.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-8.0.7.tar.bz2.sha512 Thu Apr 16 15:20:53 2020 @@ -0,0 +1 @@ +f74ef3bba1d0a2a115e5e04158a3f12d6a1defdea8d970f673cdbe445604382b71915e97013b75b276032a227696bd8e044917cb3db0e3e576684f3d2836fe64 *trafficserver-8.0.7.tar.bz2
svn commit: r38992 - in /release/trafficserver: trafficserver-7.1.10.tar.bz2 trafficserver-7.1.10.tar.bz2.asc trafficserver-7.1.10.tar.bz2.sha512
Author: bcall Date: Thu Apr 16 15:19:28 2020 New Revision: 38992 Log: Release 7.1.10 Added: release/trafficserver/trafficserver-7.1.10.tar.bz2 (with props) release/trafficserver/trafficserver-7.1.10.tar.bz2.asc (with props) release/trafficserver/trafficserver-7.1.10.tar.bz2.sha512 Added: release/trafficserver/trafficserver-7.1.10.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.10.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-7.1.10.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.10.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-7.1.10.tar.bz2.sha512 == --- release/trafficserver/trafficserver-7.1.10.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-7.1.10.tar.bz2.sha512 Thu Apr 16 15:19:28 2020 @@ -0,0 +1 @@ +30b415bf05accc6764ec9d35991e2124981bf5e8d830ea570d08c80c5116a0a8f6f2004d169cf6acb2a712c31715f1e9228b1fd03b0fd148eee76dbc3908 *trafficserver-7.1.10.tar.bz2
[trafficserver] branch master updated (d3312c6 -> e865937)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from d3312c6 Run httpbin as an origin server of AuTest add e865937 traffic_top bug fixes for client connections No new revisions were added by this update. Summary of changes: src/traffic_top/stats.h | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-)
[trafficserver] annotated tag 7.1.10-rc0 updated (439a7cf -> bca063d)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 7.1.10-rc0 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 7.1.10-rc0 was modified! *** from 439a7cf (commit) to bca063d (tag) tagging 439a7cfcb70dcb92485dd6989af80d9f900d1f99 (commit) replaces 7.1.9 by Bryan Call on Fri Apr 10 13:30:41 2020 -0700 - Log - Release Candidate 7.1.10-rc0 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJekNdxAAoJEE0VQRC4RQjssR0P/1GJKzaNLukUJ7fMsOxdfZFX vrguokqegxk5pmyc/p5CYSWPZZjKLcpHNRh7fsxvAkrDmalyHUPwHyGyIZcDibMe p/q1EFODu/C4JsjTuQDZXuF4qQewAtQcMWzkwZRDHMA/7R2vXZbCJT9ke/8xuaJZ wRx3i9LresBZvn3qJF4tOgfI9AAbb1gON11FFvTfUeTBte3qDEFpbSYdu387Yvu+ dW6AGxnBvfzghf06soCOnfccQNCxqgGxcnx3j1yHGZwBNYRyT1QFkzUXPkLZAy+b XFqSSYX2TXJdJSEogb9G0xsh03RFXDX9hzS1J87adCLLzW8zRY8moa1S1MKwHM2q TyTIMMuZTk0zSECMNccSKMpgSWKrZn229H+eeavHXVJYQY5C88jGv/TZ1QI7aiZ0 xWhG4NU8W6AfNDIZir+uFKvhi5ypJgcHyUuaTyeanu71oCBp3JlMTPu3iHU/M8kB sQ9Ae3Oygl/YJjULfux84uJrEbDHleg2xeJFF6QsDdv9zATLbSHtK+2+WKVYJDdY RVzpxltD5ZYmvVVLOwiWxw/1FPSA2ilYuPWtZxEZNsExz6p/qYzKbC9PbbCm5wyo QPEQ+NEEBM0k0Ui1Ogj46TlXIos2OD3Nt30WNGtAwPZc5LhuzbTv8AVuM1HQLgvl BFaz6M9o2vMWpfzMjh7R =95be -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] annotated tag 8.0.7-rc0 updated (ac05db1 -> b21c087)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 8.0.7-rc0 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 8.0.7-rc0 was modified! *** from ac05db1 (commit) to b21c087 (tag) tagging ac05db1ca58e990e0d2c49b57e5b6364df71dabc (commit) replaces 8.0.6 by Bryan Call on Fri Apr 10 11:10:54 2020 -0700 - Log - Release Candidate 8.0.7-rc0 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJekLauAAoJEE0VQRC4RQjsZy4P/iAzOyjfHz5o0PnySkcdUpQR 12WgsQPjOoleC/hzNmo4rkOoigj++CdqdghnzW6ODzyi7hjJQ/dwuY5f/DJG8qKD TafAC03Y1qqt/BxrGDGIt4316d6YI1JHcWd6A5QUvIoiHAZXdZO3+5wTJtpJpaJN /szwRGYHAxSvg2NgfxhL4dQMArglME9gjMkKd3aO0a9IQWvzUtHO9y4ruEr2rd/s /o64Y2DXTYtXKkkMix2rfNnUGAVXcOJd7X1vY5UuUiaDZWc9cTLEZb4qckKmGQb4 KgCkum+2rwjIfUJFypkwFF9+ouIOSZmhRqa1fNwx35MwBcFZy4B/KiC6yRyFJi7Q 0OcSUiJQAMROccjgxMt6d2jQok7j3Wg4qk807dsYiApVF0vG4vtBPGt94w95fKO1 b3W0IXLxb2hQWWwzmo/kyx8eIDdxY4FyHCHMbqMALjHUIFMlX5T+J+r4fJIcdigK lBie1adCNfDA9s5DBnJUL5GLgVsPkkFRKadoSfTm3VpYs9B2ydecA0F/PePXYqLZ rk5ef9fANyjEfPHghLkxOsWFBL1gmHoyoinM1uGWWxKfzw7KeC+pxkbg7uRNMBQs 4Yk4HFRn6c8FSrAMbL9RragGLyjby1Q4VJrbW9svCoemvFx0/bNUzfIUyFsLMDuu ShnhCxDFWx2umdMX5RLP =dNLW -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[trafficserver] branch 8.0.x updated: Updated Changelog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new ac05db1 Updated Changelog ac05db1 is described below commit ac05db1ca58e990e0d2c49b57e5b6364df71dabc Author: Bryan Call AuthorDate: Fri Apr 10 10:49:54 2020 -0700 Updated Changelog --- CHANGELOG-8.0.7 | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG-8.0.7 b/CHANGELOG-8.0.7 index 1f2a90b..de1abcf 100644 --- a/CHANGELOG-8.0.7 +++ b/CHANGELOG-8.0.7 @@ -1,3 +1,4 @@ Changes with Apache Traffic Server 8.0.7 #6526 - Fixes crash in SNIConfigParams::cleanup() #6579 - Fix tunnel crash + #6639 - Bug fixes to h2 buffering
[trafficserver] branch 7.1.x updated: Updated Changelog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 439a7cf Updated Changelog 439a7cf is described below commit 439a7cfcb70dcb92485dd6989af80d9f900d1f99 Author: Bryan Call AuthorDate: Fri Apr 10 10:42:09 2020 -0700 Updated Changelog --- CHANGELOG-7.1.10 | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG-7.1.10 b/CHANGELOG-7.1.10 index 8ef962c..0259c29 100644 --- a/CHANGELOG-7.1.10 +++ b/CHANGELOG-7.1.10 @@ -1,2 +1,3 @@ Changes with Apache Traffic Server 7.1.10 #6592 - Fix tunnel crash + #6638 - Bug fixes to h2 buffering
[trafficserver] branch 7.1.x updated: Bug fixes to h2 buffering
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 7aa5cd8 Bug fixes to h2 buffering 7aa5cd8 is described below commit 7aa5cd8bc886945c24c1eb42f065412f541fb176 Author: Masaori Koshiba AuthorDate: Thu Apr 9 11:59:26 2020 -0700 Bug fixes to h2 buffering --- doc/admin-guide/files/records.config.en.rst | 2 +- mgmt/RecordsConfig.cc | 2 +- proxy/http2/HTTP2.cc| 2 +- proxy/http2/Http2ClientSession.cc | 12 -- proxy/http2/Http2ClientSession.h| 2 + proxy/http2/Http2ConnectionState.cc | 59 - proxy/http2/Http2ConnectionState.h | 6 ++- proxy/http2/Http2Stream.cc | 30 +++ proxy/http2/Http2Stream.h | 6 ++- 9 files changed, 94 insertions(+), 27 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index d070dd2..7694915 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -3347,7 +3347,7 @@ HTTP/2 Configuration :ts:cv:`proxy.config.http2.min_concurrent_streams_in`. To disable, set to zero (``0``). -.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 1048576 +.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 65535 :reloadable: The initial window size for inbound connections. diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc index c3393f0..f47bc7f 100644 --- a/mgmt/RecordsConfig.cc +++ b/mgmt/RecordsConfig.cc @@ -1422,7 +1422,7 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.http2.max_active_streams_in", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , - {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "1048576", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} + {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "65535", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , {RECT_CONFIG, "proxy.config.http2.max_frame_size", RECD_INT, "16384", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , diff --git a/proxy/http2/HTTP2.cc b/proxy/http2/HTTP2.cc index d76256f..c4e1029 100644 --- a/proxy/http2/HTTP2.cc +++ b/proxy/http2/HTTP2.cc @@ -722,7 +722,7 @@ uint32_t Http2::min_concurrent_streams_in = 10; uint32_t Http2::max_active_streams_in = 0; bool Http2::throttling = false; uint32_t Http2::stream_priority_enabled= 0; -uint32_t Http2::initial_window_size= 1048576; +uint32_t Http2::initial_window_size= 65535; uint32_t Http2::max_frame_size = 16384; uint32_t Http2::header_table_size = 4096; uint32_t Http2::max_header_list_size = 4294967295; diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc index a92aa82..67ae4bc 100644 --- a/proxy/http2/Http2ClientSession.cc +++ b/proxy/http2/Http2ClientSession.cc @@ -359,11 +359,9 @@ Http2ClientSession::main_event_handler(int event, void *edata) break; case VC_EVENT_WRITE_READY: -retval = 0; -break; - case VC_EVENT_WRITE_COMPLETE: -// Seems as this is being closed already +this->connection_state.restart_streams(); + retval = 0; break; @@ -588,3 +586,9 @@ Http2ClientSession::_should_do_something_else() // Do something else every 128 incoming frames return (this->_n_frame_read & 0x7F) == 0; } + +int64_t +Http2ClientSession::write_avail() +{ + return this->write_buffer->write_avail(); +} diff --git a/proxy/http2/Http2ClientSession.h b/proxy/http2/Http2ClientSession.h index 8674123..84badf1 100644 --- a/proxy/http2/Http2ClientSession.h +++ b/proxy/http2/Http2ClientSession.h @@ -305,6 +305,8 @@ public: return write_buffer->max_read_avail(); } + int64_t write_avail(); + private: Http2ClientSession(Http2ClientSession &); // noncopyable Http2ClientSession =(const Http2ClientSession &); // noncopyable diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index 3a1de93..e33a08e 100644 --- a/proxy/http2/Http2ConnectionState.cc +++ b/proxy/http2/Http2ConnectionState.cc @@ -147,6 +147,12 @@ rcv_data_frame(Http2ConnectionState , const Http2Frame ) cstate.decrement_server_rwnd(payload_length); stream->decrement_server_rwnd(payload_length); + if (is_debug_tag_set("http2_con")) { +uint32_t rwnd = cstate.server_settings.get(HTTP2_SETTINGS_INITIAL_WINDOW_SIZE); +Http2StreamDebug(cst
[trafficserver] branch 8.0.x updated: Bug fixes to h2 buffering
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new 3387fa2 Bug fixes to h2 buffering 3387fa2 is described below commit 3387fa27e47f5e862e40c714edfacb64d1a0e34f Author: Masaori Koshiba AuthorDate: Thu Apr 9 13:33:03 2020 -0700 Bug fixes to h2 buffering --- doc/admin-guide/files/records.config.en.rst | 2 +- mgmt/RecordsConfig.cc | 2 +- proxy/http2/HTTP2.cc| 2 +- proxy/http2/Http2ClientSession.cc | 12 -- proxy/http2/Http2ClientSession.h| 2 + proxy/http2/Http2ConnectionState.cc | 59 - proxy/http2/Http2ConnectionState.h | 6 ++- proxy/http2/Http2Stream.cc | 30 +++ proxy/http2/Http2Stream.h | 11 +++--- 9 files changed, 95 insertions(+), 31 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index 3dc98a7..e51ec77 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -3450,7 +3450,7 @@ HTTP/2 Configuration :ts:cv:`proxy.config.http2.min_concurrent_streams_in`. To disable, set to zero (``0``). -.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 1048576 +.. ts:cv:: CONFIG proxy.config.http2.initial_window_size_in INT 65535 :reloadable: The initial window size for inbound connections. diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc index df38162..7bf85b9 100644 --- a/mgmt/RecordsConfig.cc +++ b/mgmt/RecordsConfig.cc @@ -1306,7 +1306,7 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.http2.max_active_streams_in", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , - {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "1048576", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} + {RECT_CONFIG, "proxy.config.http2.initial_window_size_in", RECD_INT, "65535", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , {RECT_CONFIG, "proxy.config.http2.max_frame_size", RECD_INT, "16384", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} , diff --git a/proxy/http2/HTTP2.cc b/proxy/http2/HTTP2.cc index a74415b..b81e1bd 100644 --- a/proxy/http2/HTTP2.cc +++ b/proxy/http2/HTTP2.cc @@ -725,7 +725,7 @@ uint32_t Http2::min_concurrent_streams_in = 10; uint32_t Http2::max_active_streams_in = 0; bool Http2::throttling = false; uint32_t Http2::stream_priority_enabled= 0; -uint32_t Http2::initial_window_size= 1048576; +uint32_t Http2::initial_window_size= 65535; uint32_t Http2::max_frame_size = 16384; uint32_t Http2::header_table_size = 4096; uint32_t Http2::max_header_list_size = 4294967295; diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc index 8b68db3..1d72da7 100644 --- a/proxy/http2/Http2ClientSession.cc +++ b/proxy/http2/Http2ClientSession.cc @@ -360,11 +360,9 @@ Http2ClientSession::main_event_handler(int event, void *edata) break; case VC_EVENT_WRITE_READY: -retval = 0; -break; - case VC_EVENT_WRITE_COMPLETE: -// Seems as this is being closed already +this->connection_state.restart_streams(); + retval = 0; break; @@ -627,3 +625,9 @@ Http2ClientSession::_should_do_something_else() // Do something else every 128 incoming frames return (this->_n_frame_read & 0x7F) == 0; } + +int64_t +Http2ClientSession::write_avail() +{ + return this->write_buffer->write_avail(); +} diff --git a/proxy/http2/Http2ClientSession.h b/proxy/http2/Http2ClientSession.h index e8b43a5..21ce079 100644 --- a/proxy/http2/Http2ClientSession.h +++ b/proxy/http2/Http2ClientSession.h @@ -316,6 +316,8 @@ public: return write_buffer->max_read_avail(); } + int64_t write_avail(); + // noncopyable Http2ClientSession(Http2ClientSession &) = delete; Http2ClientSession =(const Http2ClientSession &) = delete; diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc index 5fc3a9e..3eaa558 100644 --- a/proxy/http2/Http2ConnectionState.cc +++ b/proxy/http2/Http2ConnectionState.cc @@ -151,6 +151,12 @@ rcv_data_frame(Http2ConnectionState , const Http2Frame ) cstate.decrement_server_rwnd(payload_length); stream->decrement_server_rwnd(payload_length); + if (is_debug_tag_set("http2_con")) { +uint32_t rwnd = cstate.server_settings.get(HTTP2_SETTINGS_INITIAL_WINDOW_SIZE); +Http2StreamDebug(cstate.ua_session, strea
[trafficserver] branch 8.0.x updated: Updated STATUS file
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.0.x by this push: new 7643bd1 Updated STATUS file 7643bd1 is described below commit 7643bd1dda35e4de4a6a394f1fdf439b8218d993 Author: Bryan Call AuthorDate: Thu Apr 9 12:07:07 2020 -0700 Updated STATUS file --- STATUS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/STATUS b/STATUS index 09c2b1e..60672a3 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,8 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -8.0.6 : Release on XXX YYY, 2019 +8.0.7 : Release on Apr xxth, 2020 +8.0.6 : Release on Feb 29th, 2020 8.0.5 : Release on Aug 20th, 2019 8.0.4 : Release on Aug 13th, 2019 8.0.3 : Release on Mar 21st, 2019
[trafficserver] branch 7.1.x updated: Updated Changelog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new ec913ae Updated Changelog ec913ae is described below commit ec913aecace8e2b2edd000c261cbf27fe3c2b9db Author: Bryan Call AuthorDate: Thu Apr 9 12:04:36 2020 -0700 Updated Changelog --- CHANGELOG-7.1.10 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG-7.1.10 b/CHANGELOG-7.1.10 new file mode 100644 index 000..8ef962c --- /dev/null +++ b/CHANGELOG-7.1.10 @@ -0,0 +1,2 @@ +Changes with Apache Traffic Server 7.1.10 + #6592 - Fix tunnel crash
[trafficserver] branch 7.1.x updated: Bumped version to 7.1.10
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 219e22f Bumped version to 7.1.10 219e22f is described below commit 219e22f283539ec12f7b96540f90ce478b703570 Author: Bryan Call AuthorDate: Thu Apr 9 12:02:40 2020 -0700 Bumped version to 7.1.10 --- STATUS | 3 ++- configure.ac | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/STATUS b/STATUS index 314ba4d..474a7cc 100644 --- a/STATUS +++ b/STATUS @@ -6,7 +6,8 @@ The current version of this file can be found at: * https://github.com/apache/trafficserver/blob/master/STATUS Release history: -7.1.9 : Released on Feb xxth, 2020 +7.1.10 : Released on Apr xxth, 2020 +7.1.9 : Released on Feb 29th, 2020 7.1.8 : Released on Aug 20th, 2019 7.1.7 : Released on Aug 13th, 2019 7.1.6 : Released on Jan 29th, 2019 diff --git a/configure.ac b/configure.ac index 9e98f04..f13ffa4 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,8 @@ # Version number is calculated as MAJOR * 100 + MINOR * 1000 + MICRO # Version string is in the form of MAJOR.MINOR.MICRO[sufix] # -m4_define([TS_VERSION_S],[7.1.9]) -m4_define([TS_VERSION_N],[7001009]) +m4_define([TS_VERSION_S],[7.1.10]) +m4_define([TS_VERSION_N],[7001010]) AC_INIT([Apache Traffic Server], TS_VERSION_S(), [d...@trafficserver.apache.org], [trafficserver],[http://trafficserver.apache.org]) AC_PREREQ([2.59])
[trafficserver] branch 7.1.x updated: Fix tunnel crash
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 5b4600c Fix tunnel crash 5b4600c is described below commit 5b4600c17a4c7f8b688a196d3a9137f313b7f651 Author: Susan Hinrichs AuthorDate: Thu Mar 26 21:56:00 2020 + Fix tunnel crash (cherry picked from commit ba868d88a3f2ce4c58e48e2b7b5878a45c2922c4) --- proxy/http/HttpTunnel.cc | 5 + 1 file changed, 5 insertions(+) diff --git a/proxy/http/HttpTunnel.cc b/proxy/http/HttpTunnel.cc index 561c55e..66ebe26 100644 --- a/proxy/http/HttpTunnel.cc +++ b/proxy/http/HttpTunnel.cc @@ -991,6 +991,11 @@ HttpTunnel::producer_run(HttpTunnelProducer *p) for (c = p->consumer_list.head; c; c = c->link.next) { int64_t c_write = consumer_n; +// Don't bother to set up the consumer if it is dead +if (!c->alive) { + continue; +} + if (!p->alive) { // Adjust the amount of chunked data to write if the only data was in the initial read // The amount to write in some cases is dependent on the type of the consumer, so this
[trafficserver] branch 7.1.x updated (41424fa -> a21d769)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 41424fa Fix tunnel crash add a21d769 Revert "Fix tunnel crash" No new revisions were added by this update. Summary of changes: proxy/http/HttpTunnel.cc | 5 - 1 file changed, 5 deletions(-)
[trafficserver] branch master updated (a885dc6 -> 3aeb0db)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from a885dc6 Patch to catch and invalidate an HTTP asset with negative bytes after cache_seek. add 3aeb0db Updated ink_rwlock to be a real reader writer lock No new revisions were added by this update. Summary of changes: include/tscore/ink_rwlock.h | 54 --- src/tscore/ink_rwlock.cc| 123 2 files changed, 45 insertions(+), 132 deletions(-)
[trafficserver] branch 7.1.x updated: Fix tunnel crash
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/7.1.x by this push: new 41424fa Fix tunnel crash 41424fa is described below commit 41424fa82007edea5a61c96029cc1d9af5daf693 Author: Susan Hinrichs AuthorDate: Thu Mar 26 21:56:00 2020 + Fix tunnel crash (cherry picked from commit ba868d88a3f2ce4c58e48e2b7b5878a45c2922c4) --- proxy/http/HttpTunnel.cc | 5 + 1 file changed, 5 insertions(+) diff --git a/proxy/http/HttpTunnel.cc b/proxy/http/HttpTunnel.cc index 561c55e..66ebe26 100644 --- a/proxy/http/HttpTunnel.cc +++ b/proxy/http/HttpTunnel.cc @@ -991,6 +991,11 @@ HttpTunnel::producer_run(HttpTunnelProducer *p) for (c = p->consumer_list.head; c; c = c->link.next) { int64_t c_write = consumer_n; +// Don't bother to set up the consumer if it is dead +if (!c->alive) { + continue; +} + if (!p->alive) { // Adjust the amount of chunked data to write if the only data was in the initial read // The amount to write in some cases is dependent on the type of the consumer, so this
[trafficserver] branch master updated (0d22ab0 -> e7cd51e)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 0d22ab0 Add support for a simple_server_retry_responses list (#6605) add e7cd51e Making client session id unique across HTTP/1 and 2 sessions No new revisions were added by this update. Summary of changes: proxy/ProxySession.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[trafficserver] branch 9.0.x updated: Include start line of HTTP messages in xdebug probe output.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new ded8113 Include start line of HTTP messages in xdebug probe output. ded8113 is described below commit ded8113ef350b74648984f3bbdde2469c0c8f1d1 Author: Walter Karas AuthorDate: Thu Mar 12 13:42:48 2020 -0500 Include start line of HTTP messages in xdebug probe output. (cherry picked from commit 3cbd6e14d2dd4fa8f13b866b935f3e4f93e607cc) --- plugins/xdebug/xdebug_headers.cc | 144 + .../gold_tests/pluginTest/xdebug/x_remap/out.gold | 72 --- 2 files changed, 146 insertions(+), 70 deletions(-) diff --git a/plugins/xdebug/xdebug_headers.cc b/plugins/xdebug/xdebug_headers.cc index aef6871..003658f 100644 --- a/plugins/xdebug/xdebug_headers.cc +++ b/plugins/xdebug/xdebug_headers.cc @@ -28,44 +28,88 @@ #define DEBUG_TAG_LOG_HEADERS "xdebug.headers" -std::string_view -escape_char_for_json(char const , bool _key) +class EscapeCharForJson { - switch (c) { - case '\'': -return {"\\\'"}; - case '"': -return {"\\\""}; - case '\\': -return {""}; - case '\b': -return {"\\b"}; - case '\f': -return {"\\f"}; - case '\t': -return {"\\t"}; - - // Special header reformatting - case '\r': -return {""}; - case '\n': -parsing_key = true; -return {"',\r\n\t'"}; // replace new line with pair delimiter - case ':': -if (parsing_key) { - return {"' : "}; // replace colon after key with quote + colon +public: + std::string_view + operator()(char const ) + { +if ((_state != IN_VALUE) && ((' ' == c) || ('\t' == c))) { + return {""}; } -return {":"}; - case ' ': -if (parsing_key) { - parsing_key = false; - return {"'"}; // replace first space after the key to be a quote +if ((IN_NAME == _state) && (':' == c)) { + _state = BEFORE_VALUE; + return {"' : '"}; +} +if ('\r' == c) { + return {""}; +} +if ('\n' == c) { + std::string_view result{_after_value()}; + + if (BEFORE_NAME == _state) { +return {""}; + } else if (BEFORE_VALUE == _state) { +// Failsafe -- missing value -- this should never happen. +result = _missing_value(); + } + _state = BEFORE_NAME; + return result; +} +if (BEFORE_NAME == _state) { + _state = IN_NAME; +} else if (BEFORE_VALUE == _state) { + _state = IN_VALUE; +} +switch (c) { +case '\'': + return {"\\\'"}; +case '"': + return {"\\\""}; +case '\\': + return {""}; +case '\b': + return {"\\b"}; +case '\f': + return {"\\f"}; +case '\t': + return {"\\t"}; +default: + return {, 1}; } -return {" "}; - default: -return {, 1}; } -} + + // After last header line, back up and throw away everything but the closing quote. + // + static std::size_t + backup() + { +return _after_value().size() - 1; + } + +private: + static std::string_view + _missing_value() + { +return {"' : '',\n\t'"}; + } + + static std::string_view + _after_name() + { +return {_missing_value().data(), 5}; + } + + static std::string_view + _after_value() + { +return {_missing_value().data() + 5, 5}; + } + + enum _State { BEFORE_NAME, IN_NAME, BEFORE_VALUE, IN_VALUE }; + + _State _state{BEFORE_VALUE}; +}; /// // Dump a header on stderr, useful together with TSDebug(). @@ -77,37 +121,33 @@ print_headers(TSHttpTxn txn, TSMBuffer bufp, TSMLoc hdr_loc, std::stringstream & TSIOBufferBlock block; const char *block_start; int64_t block_avail; - bool parsing_key= true; - size_t print_rewind = ss.str().length(); - output_buffer = TSIOBufferCreate(); - reader = TSIOBufferReaderAlloc(output_buffer); + EscapeCharForJson escape_char_for_json; + output_buffer = TSIOBufferCreate(); + reader= TSIOBufferReaderAlloc(output_buffer); - ss << "\t'"; - /* This will print just MIMEFields and not the http request line */ - TSMimeHdrPrint(bufp, hdr_loc, output_buffer); + ss << "\t'Start-Line' : '"; + + // Print all message header lines. + TSHttpHdrPrint(bufp, hdr_loc, output_buffer); /* We need to loop over all the buffer blocks, there can be more than 1 */ block = TSIOBufferReaderStart(reader); do { block_start = TSIOBufferBlockReadStart(block, reader, _avail)
[trafficserver] branch master updated: Moved printing the incoming headers for debug before remapping
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new adc0248 Moved printing the incoming headers for debug before remapping adc0248 is described below commit adc02486fef9a720c7dc1c0b217a67848fce9745 Author: Bryan Call AuthorDate: Wed Mar 25 16:35:29 2020 -0700 Moved printing the incoming headers for debug before remapping --- proxy/http/HttpTransact.cc | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 18bf817..e6b11ea 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -851,6 +851,7 @@ HttpTransact::StartRemapRequest(State *s) TxnDebug("http_trans", "Before Remapping:"); obj_describe(s->hdr_info.client_request.m_http, true); } + DUMP_HEADER("http_hdrs", >hdr_info.client_request, s->state_machine_id, "Incoming Request"); if (s->http_config_param->referer_filter_enabled) { s->filter_mask = URL_REMAP_FILTER_REFERER; @@ -1426,11 +1427,6 @@ HttpTransact::HandleRequest(State *s) TRANSACT_RETURN(SM_ACTION_INTERNAL_REQUEST, nullptr); } - // this needs to be called after initializing state variables from request - // it adds the client-ip to the incoming client request. - - DUMP_HEADER("http_hdrs", >hdr_info.client_request, s->state_machine_id, "Incoming Request"); - if (s->state_machine->plugin_tunnel_type == HTTP_PLUGIN_AS_INTERCEPT) { setup_plugin_request_intercept(s); return;
[trafficserver] branch 9.0.x updated: Fixed build issue with Ubuntu 16 debug
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new 9597e54 Fixed build issue with Ubuntu 16 debug 9597e54 is described below commit 9597e546bf4ea3b81fdfb7978deae73b239434b2 Author: Bryan Call AuthorDate: Wed Mar 25 11:16:57 2020 -0700 Fixed build issue with Ubuntu 16 debug (cherry picked from commit 40e70ce3ef100a09a95dd01f89cdef2d61c2231b) --- include/tscore/PluginUserArgs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/tscore/PluginUserArgs.h b/include/tscore/PluginUserArgs.h index a8921fa..7f91945 100644 --- a/include/tscore/PluginUserArgs.h +++ b/include/tscore/PluginUserArgs.h @@ -28,12 +28,12 @@ #include "tscore/ink_assert.h" #include "tscore/PluginUserArgs.h" -static constexpr std::array MAX_USER_ARGS = { +static constexpr std::array MAX_USER_ARGS = {{ 16, /* max number of user arguments for TXN */ 8, /* max number of user arguments for SSN */ 4, /* max number of user arguments for VCONN */ 128 /* max number of user arguments for GLB */ -}; +}}; /** This is a mixin class (sort of), implementing the appropriate APIs and data storage for
[trafficserver] branch master updated: Fixed build issue with Ubuntu 16 debug
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 40e70ce Fixed build issue with Ubuntu 16 debug 40e70ce is described below commit 40e70ce3ef100a09a95dd01f89cdef2d61c2231b Author: Bryan Call AuthorDate: Wed Mar 25 11:16:57 2020 -0700 Fixed build issue with Ubuntu 16 debug --- include/tscore/PluginUserArgs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/tscore/PluginUserArgs.h b/include/tscore/PluginUserArgs.h index a8921fa..7f91945 100644 --- a/include/tscore/PluginUserArgs.h +++ b/include/tscore/PluginUserArgs.h @@ -28,12 +28,12 @@ #include "tscore/ink_assert.h" #include "tscore/PluginUserArgs.h" -static constexpr std::array MAX_USER_ARGS = { +static constexpr std::array MAX_USER_ARGS = {{ 16, /* max number of user arguments for TXN */ 8, /* max number of user arguments for SSN */ 4, /* max number of user arguments for VCONN */ 128 /* max number of user arguments for GLB */ -}; +}}; /** This is a mixin class (sort of), implementing the appropriate APIs and data storage for
[trafficserver] branch master updated: Removed some unused declarations in HttpTransact
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 17b32d8 Removed some unused declarations in HttpTransact 17b32d8 is described below commit 17b32d8d5ec2ade8ed4455f9294f8f9f0e4854d5 Author: Bryan Call AuthorDate: Wed Mar 25 08:13:08 2020 -0700 Removed some unused declarations in HttpTransact --- proxy/http/HttpTransact.h | 11 --- 1 file changed, 11 deletions(-) diff --git a/proxy/http/HttpTransact.h b/proxy/http/HttpTransact.h index ca40097..e8d1415 100644 --- a/proxy/http/HttpTransact.h +++ b/proxy/http/HttpTransact.h @@ -748,8 +748,6 @@ public: int64_t state_machine_id = 0; -// HttpAuthParams auth_params; - // new ACL filtering result (calculated immediately after remap) bool client_connection_enabled = true; bool acl_filtering_performed = false; @@ -926,7 +924,6 @@ public: static void HandleBlindTunnel(State *s); static void StartRemapRequest(State *s); - static void RemapRequest(State *s); static void EndRemapRequest(State *s); static void PerformRemap(State *s); static void ModifyRequest(State *s); @@ -935,7 +932,6 @@ public: static bool handleIfRedirect(State *s); static void StartAccessControl(State *s); - static void StartAuth(State *s); static void HandleRequestAuthorized(State *s); static void BadRequest(State *s); static void Forbidden(State *s); @@ -949,8 +945,6 @@ public: static void OSDNSLookup(State *s); static void ReDNSRoundRobin(State *s); static void PPDNSLookup(State *s); - static void HandleAuth(State *s); - static void HandleAuthFailed(State *s); static void OriginServerRawOpen(State *s); static void HandleCacheOpenRead(State *s); static void HandleCacheOpenReadHitFreshness(State *s); @@ -1025,11 +1019,7 @@ public: static bool is_response_valid(State *s, HTTPHdr *incoming_response); static void process_quick_http_filter(State *s, int method); - static bool perform_accept_encoding_filtering(State *s); - static HostNameExpansionError_t try_to_expand_host_name(State *s); - - static bool setup_auth_lookup(State *s); static bool will_this_request_self_loop(State *s); static bool is_request_likely_cacheable(State *s, HTTPHdr *request); static bool is_cache_hit(CacheLookupResult_t r); @@ -1048,7 +1038,6 @@ public: static void handle_request_keep_alive_headers(State *s, HTTPVersion ver, HTTPHdr *heads); static void handle_response_keep_alive_headers(State *s, HTTPVersion ver, HTTPHdr *heads); static int calculate_document_freshness_limit(State *s, HTTPHdr *response, time_t response_date, bool *heuristic); - static int calculate_freshness_fuzz(State *s, int fresh_limit); static Freshness_t what_is_document_freshness(State *s, HTTPHdr *client_request, HTTPHdr *cached_obj_response); static Authentication_t AuthenticationNeeded(const OverridableHttpConfigParams *p, HTTPHdr *client_request, HTTPHdr *obj_response);
[trafficserver] branch master updated (134fb60 -> bc2f9a6)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 134fb60 free(map) -> delete map add bc2f9a6 Convert unit tests for sslheaders plugin to Catch. No new revisions were added by this update. Summary of changes: plugins/experimental/sslheaders/Makefile.inc | 4 +- plugins/experimental/sslheaders/test_sslheaders.cc | 254 .../sslheaders/unit_tests/test_sslheaders.cc | 256 + .../sslheaders}/unit_tests/unit_test_main.cc | 0 4 files changed, 259 insertions(+), 255 deletions(-) delete mode 100644 plugins/experimental/sslheaders/test_sslheaders.cc create mode 100644 plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc copy {src/tscpp/util => plugins/experimental/sslheaders}/unit_tests/unit_test_main.cc (100%)
[trafficserver] branch master updated: Fixes some tls autests on macOS
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 290fe4b Fixes some tls autests on macOS 290fe4b is described below commit 290fe4bff10b04eb9d3cdeabd13ee9789e84a6d6 Author: Randall Meyer AuthorDate: Mon Mar 23 12:51:05 2020 -0700 Fixes some tls autests on macOS on macOS, wc precedes output with spaces --- tests/gold_tests/tls/tls_client_cert.test.py | 2 +- tests/gold_tests/tls/tls_tunnel.test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/gold_tests/tls/tls_client_cert.test.py b/tests/gold_tests/tls/tls_client_cert.test.py index 6732c45..89a1f9b 100644 --- a/tests/gold_tests/tls/tls_client_cert.test.py +++ b/tests/gold_tests/tls/tls_client_cert.test.py @@ -175,7 +175,7 @@ tr2.Processes.Default.ReturnCode = 0 # At that point the new sni settings are ready to go def sni_reload_done(tsenv): def done_reload(process, hasRunFor, **kw): -cmd = "grep 'sni.yaml finished loading' {0} | wc -l > {1}/test.out".format(ts.Disk.diags_log.Name, Test.RunDirectory) +cmd = "grep 'sni.yaml finished loading' {0} | wc -l | sed -e 's/ //g'> {1}/test.out".format(ts.Disk.diags_log.Name, Test.RunDirectory) retval = subprocess.run(cmd, shell=True, env=tsenv) if retval.returncode == 0: cmd ="if [ -f {0}/test.out -a \"`cat {0}/test.out`\" = \"2\" ] ; then true; else false; fi".format(Test.RunDirectory) diff --git a/tests/gold_tests/tls/tls_tunnel.test.py b/tests/gold_tests/tls/tls_tunnel.test.py index 0a7196f..3811a9b 100644 --- a/tests/gold_tests/tls/tls_tunnel.test.py +++ b/tests/gold_tests/tls/tls_tunnel.test.py @@ -152,7 +152,7 @@ trreload.Processes.Default.ReturnCode = 0 # At that point the new sni settings are ready to go def sni_reload_done(tsenv): def done_reload(process, hasRunFor, **kw): -cmd = "grep 'sni.yaml finished loading' {0} | wc -l > {1}/test.out".format(ts.Disk.diags_log.Name, Test.RunDirectory) +cmd = "grep 'sni.yaml finished loading' {0} | wc -l | sed -e 's/ //g' > {1}/test.out".format(ts.Disk.diags_log.Name, Test.RunDirectory) retval = subprocess.run(cmd, shell=True, env=tsenv) if retval.returncode == 0: cmd ="if [ -f {0}/test.out -a \"`cat {0}/test.out`\" = \"2\" ] ; then true; else false; fi".format(Test.RunDirectory)
[trafficserver] branch master updated: Doc: Add mention for sleep time variance
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new c378085 Doc: Add mention for sleep time variance c378085 is described below commit c3780851ad09f83ca79e494dee7e76c9aef2083f Author: Damian Meden AuthorDate: Fri Mar 13 14:34:27 2020 + Doc: Add mention for sleep time variance --- doc/appendices/command-line/traffic_manager.en.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/appendices/command-line/traffic_manager.en.rst b/doc/appendices/command-line/traffic_manager.en.rst index 8b81d74..671db8d 100644 --- a/doc/appendices/command-line/traffic_manager.en.rst +++ b/doc/appendices/command-line/traffic_manager.en.rst @@ -59,7 +59,8 @@ Exponential Back-off Delay :program:`traffic_manager` will retry to start :program:`traffic_server` using an exponential back-off delay, which will make :program:`traffic_manager` to retry starting :program:`traffic_server` from ``1s`` until it reaches the max ceiling time. The ceiling time is configurable as well as the number of times that - :program:`traffic_manager` will keep trying to start :program:`traffic_server`. + :program:`traffic_manager` will keep trying to start :program:`traffic_server`. *A random variance will be + added to the sleep time on every retry* .. note:: For more information about this configuration please check :file:`records.config`
[trafficserver] branch master updated: Remove unused unit test source files in src/tscore.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 321eaa2 Remove unused unit test source files in src/tscore. 321eaa2 is described below commit 321eaa2c03f5c2a6993243bcceeaca2c23f31bf7 Author: Walter Karas AuthorDate: Mon Mar 23 13:39:56 2020 -0500 Remove unused unit test source files in src/tscore. --- src/tscore/IntrusivePtrTest.cc | 80 src/tscore/Makefile.am | 6 - src/tscore/TestHttpHeader.cc | 222 -- src/tscore/load_http_hdr.cc| 407 - 4 files changed, 715 deletions(-) diff --git a/src/tscore/IntrusivePtrTest.cc b/src/tscore/IntrusivePtrTest.cc deleted file mode 100644 index 85bd7e3..000 --- a/src/tscore/IntrusivePtrTest.cc +++ /dev/null @@ -1,80 +0,0 @@ -/** @file - -Intrusive pointer test. - -@section license License - -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -#include "tscore/IntrusivePtr.h" -#include "tscpp/util/IntrusiveDList.h" -#include "tscore/TestBox.h" - -namespace -{ // Hide our local definitions - -// Test class for pointers and lists. -class A : public IntrusivePtrCounter -{ -public: - A() : _data(0) {} - static A *& - nextPtr(A *a) - { -return a->_next; - } - static A *& - prevPtr(A *a) - { -return a->_prev; - } - int _data; - A *_next; - A *_prev; -}; - -// Definitions to test compilation. -typedef IntrusivePtrQueue> AList; -} // namespace - -REGRESSION_TEST(IntrusivePtr_Test_Basic)(RegressionTest *t, int atype, int *pstatus) -{ - IntrusivePtr ptr1; - IntrusivePtr ptr2(new A); - - TestBox tb(t, pstatus); - - tb = REGRESSION_TEST_PASSED; - - tb.check(!ptr1, "Default construct pointer is not empty."); - tb.check(ptr2, "Construction from pointer was empty."); - - AList alist1; - - tb.check(ptr2->useCount() == 1, "Bad use count: expected 1 got %d", ptr2->useCount()); - alist1.append(ptr2); - tb.check(ptr2->useCount() == 2, "Bad use count: expected 2 got %d", ptr2->useCount()); - alist1.remove(ptr2); - tb.check(ptr2->useCount() == 1, "Bad use count: expected 1 got %d", ptr2->useCount()); - alist1.prepend(ptr2); - tb.check(ptr2->useCount() == 2, "Bad use count: expected 2 got %d", ptr2->useCount()); - for (AList::iterator spot = alist1.begin(), limit = alist1.end(); spot != limit; ++spot) { -if (spot->_data) - break; - } -} diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am index 36b5fa1..76cd274 100644 --- a/src/tscore/Makefile.am +++ b/src/tscore/Makefile.am @@ -134,12 +134,6 @@ endif BufferWriterFormat.o : AM_CPPFLAGS += -Wno-char-subscripts -#test_UNUSED_SOURCES = \ -# load_http_hdr.cc \ -# IntrusivePtrTest.cc \ -# IpMapTest.cc \ -# TestHttpHeader.cc - # Special hacks to generate the parser rules $(srcdir)/ParseRules.cc: ParseRulesCType diff --git a/src/tscore/TestHttpHeader.cc b/src/tscore/TestHttpHeader.cc deleted file mode 100644 index 6e63be4..000 --- a/src/tscore/TestHttpHeader.cc +++ /dev/null @@ -1,222 +0,0 @@ -/** @file - - A brief file description - - @section license License - - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under th
[trafficserver] branch master updated: Convert tscore regression tests to Catch unit tests.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 239336a Convert tscore regression tests to Catch unit tests. 239336a is described below commit 239336a7054e579d1a497c21f26a347c717ae295 Author: Walter Karas AuthorDate: Thu Mar 19 16:39:45 2020 -0500 Convert tscore regression tests to Catch unit tests. --- src/tscore/Makefile.am | 4 +- src/tscore/Tokenizer.cc | 25 src/tscore/Version.cc| 40 src/tscore/unit_tests/test_Extendible.cc | 2 + src/tscore/unit_tests/test_Tokenizer.cc | 56 +++ src/tscore/unit_tests/test_Version.cc| 65 6 files changed, 126 insertions(+), 66 deletions(-) diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am index c342179..36b5fa1 100644 --- a/src/tscore/Makefile.am +++ b/src/tscore/Makefile.am @@ -189,7 +189,9 @@ test_tscore_SOURCES = \ unit_tests/test_Regex.cc \ unit_tests/test_Scalar.cc \ unit_tests/test_scoped_resource.cc \ - unit_tests/test_ts_file.cc + unit_tests/test_Tokenizer.cc \ + unit_tests/test_ts_file.cc \ + unit_tests/test_Version.cc if HAS_HKDF test_tscore_SOURCES += \ diff --git a/src/tscore/Tokenizer.cc b/src/tscore/Tokenizer.cc index 068b4e0..dda9435 100644 --- a/src/tscore/Tokenizer.cc +++ b/src/tscore/Tokenizer.cc @@ -374,28 +374,3 @@ Tokenizer::ReUse() add_node = _node; add_index = 0; } - -#if TS_HAS_TESTS -#include "tscore/TestBox.h" - -REGRESSION_TEST(libts_Tokenizer)(RegressionTest *test, int /* atype ATS_UNUSED */, int *pstatus) -{ - TestBox box(test, pstatus); - box = REGRESSION_TEST_PASSED; - - Tokenizer remap(" \t"); - - const char *line = "map https://abc.com https://abc.com @plugin=conf_remap.so @pparam=proxy.config.abc='ABC DEF'"; - - const char *toks[] = {"map", "https://abc.com;, "https://abc.com;, "@plugin=conf_remap.so", "@pparam=proxy.config.abc='ABC DEF'"}; - - unsigned count = remap.Initialize(const_cast(line), (COPY_TOKS | ALLOW_SPACES)); - - box.check(count == 5, "check that we parsed 5 tokens"); - box.check(count == remap.count(), "parsed %u tokens, but now we have %u tokens", count, remap.count()); - - for (unsigned i = 0; i < count; ++i) { -box.check(strcmp(remap[i], toks[i]) == 0, "expected token %u to be '%s' but found '%s'", count, toks[i], remap[i]); - } -} -#endif diff --git a/src/tscore/Version.cc b/src/tscore/Version.cc index 07c72fe..e2fd0e3 100644 --- a/src/tscore/Version.cc +++ b/src/tscore/Version.cc @@ -124,43 +124,3 @@ AppVersionInfo::setup(const char *pkg_name, const char *app_name, const char *ap defined = 1; } - -#if TS_HAS_TESTS -#include "tscore/TestBox.h" - -/** - * AppVersionInfo class test. - */ -REGRESSION_TEST(AppVersionInfo)(RegressionTest *t, int /* atype ATS_UNUSED */, int *pstatus) -{ - *pstatus = REGRESSION_TEST_PASSED; - - AppVersionInfo info; - - TestBox tb(t, pstatus); - - const char *errMsgFormat = "wrong build number, expected '%s', got '%s'"; - const char *bench[][3] = {// date, time, resulting build number -{"Oct 4 1957", "19:28:34", BUILD_NUMBER}, -{"Oct 4 1957", "19:28:34", "100419"}, -{"Apr 4 1957", "09:08:04", "040409"}, -{" 4 Apr 1957", "09:08:04", "??"}, -{"Apr 4 1957", "09-08-04", "??"}}; - - int benchSize = sizeof(bench) / sizeof(bench[0]); - - if (0 != strlen(BUILD_NUMBER)) { -// Since BUILD_NUMBER is defined by a #define directive, it is not -// possible to change the version value from inside the regression test. -// If not empty BUILD_NUMBER overrides any result, in this case run only -// this test (the rest will always fail). -info.setup("Apache Traffic Server", "traffic_server", "5.2.1", bench[0][0], bench[0][1], "build_slave", "builder", ""); -tb.check(0 == strcmp(info.BldNumStr, bench[0][2]), errMsgFormat, bench[0][2], info.BldNumStr); - } else { -for (int i = 1; i < benchSize; i++) { - info.setup("Apache Traffic Server", "traffic_server", "5.2.1", bench[i][0], bench[i][1], "build_slave", "builder", ""); - tb.check(0 == strcmp(info.BldNumStr, bench[i][2]), errMsgFormat, bench[i][2], info.BldNumStr); -} - } -} -#endif diff --git a/src/ts
[trafficserver] 02/02: fix crash in CacheVC::openReadFromWriter
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit f18e6f446c116d8ad8eaa74b09b97b3e90d9f3a6 Author: rienzi2012 <51553...@qq.com> AuthorDate: Wed Mar 6 11:54:33 2019 +0800 fix crash in CacheVC::openReadFromWriter (cherry picked from commit d91ca9ee43973fcce9cfccbb146788eb95ae6ffc) --- proxy/hdrs/HTTP.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/proxy/hdrs/HTTP.cc b/proxy/hdrs/HTTP.cc index 441526e..d9b8eaa 100644 --- a/proxy/hdrs/HTTP.cc +++ b/proxy/hdrs/HTTP.cc @@ -2039,8 +2039,7 @@ HTTPInfo::marshal(char *buf, int len) buf += m_alt->m_frag_offset_count * sizeof(FragOffset); used += m_alt->m_frag_offset_count * sizeof(FragOffset); } else { -// the data stored in intergral buffer -m_alt->m_frag_offsets = nullptr; +marshal_alt->m_frag_offsets = nullptr; } // The m_{request,response}_hdr->m_heap pointers are converted
[trafficserver] branch 8.1.x updated (0abd277 -> f18e6f4)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 0abd277 Do not run clang-format for @default_stack_size@ new b181be2 Avoid ats_malloc in unmarshal new f18e6f4 fix crash in CacheVC::openReadFromWriter The 2 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: proxy/hdrs/HTTP.cc | 41 +++-- 1 file changed, 7 insertions(+), 34 deletions(-)
[trafficserver] 01/02: Avoid ats_malloc in unmarshal
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit b181be23d6db1c9edcba50601a3565fef7afce04 Author: scw00 AuthorDate: Mon Jan 28 15:35:08 2019 +0800 Avoid ats_malloc in unmarshal (cherry picked from commit 42ca94353919aa1f45b0577a97dc3997e39c4818) --- proxy/hdrs/HTTP.cc | 44 +--- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/proxy/hdrs/HTTP.cc b/proxy/hdrs/HTTP.cc index 595ed62..441526e 100644 --- a/proxy/hdrs/HTTP.cc +++ b/proxy/hdrs/HTTP.cc @@ -2002,7 +2002,6 @@ HTTPInfo::marshal_length() } if (m_alt->m_frag_offset_count > HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS) { -len -= sizeof(m_alt->m_integral_frag_offsets); len += sizeof(FragOffset) * m_alt->m_frag_offset_count; } @@ -2017,23 +2016,11 @@ HTTPInfo::marshal(char *buf, int len) HTTPCacheAlt *marshal_alt = (HTTPCacheAlt *)buf; // non-zero only if the offsets are external. Otherwise they get // marshalled along with the alt struct. - int frag_len = (0 == m_alt->m_frag_offset_count || m_alt->m_frag_offsets == m_alt->m_integral_frag_offsets) ? - 0 : - sizeof(HTTPCacheAlt::FragOffset) * m_alt->m_frag_offset_count; - ink_assert(m_alt->m_magic == CACHE_ALT_MAGIC_ALIVE); // Make sure the buffer is aligned //ink_assert(((intptr_t)buf) & 0x3 == 0); - // If we have external fragment offsets, copy the initial ones - // into the integral data. - if (frag_len) { -memcpy(m_alt->m_integral_frag_offsets, m_alt->m_frag_offsets, sizeof(m_alt->m_integral_frag_offsets)); -frag_len -= sizeof(m_alt->m_integral_frag_offsets); -// frag_len should never be non-zero at this point, as the offsets -// should be external only if too big for the internal table. - } // Memcpy the whole object so that we can use it // live later. This involves copying a few // extra bytes now but will save copying any @@ -2046,13 +2033,14 @@ HTTPInfo::marshal(char *buf, int len) buf += HTTP_ALT_MARSHAL_SIZE; used += HTTP_ALT_MARSHAL_SIZE; - if (frag_len > 0) { + if (m_alt->m_frag_offset_count > HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS) { marshal_alt->m_frag_offsets = static_cast(reinterpret_cast(used)); -memcpy(buf, m_alt->m_frag_offsets + HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS, frag_len); -buf += frag_len; -used += frag_len; +memcpy(buf, m_alt->m_frag_offsets, m_alt->m_frag_offset_count * sizeof(FragOffset)); +buf += m_alt->m_frag_offset_count * sizeof(FragOffset); +used += m_alt->m_frag_offset_count * sizeof(FragOffset); } else { -marshal_alt->m_frag_offsets = nullptr; +// the data stored in intergral buffer +m_alt->m_frag_offsets = nullptr; } // The m_{request,response}_hdr->m_heap pointers are converted @@ -2109,23 +2097,9 @@ HTTPInfo::unmarshal(char *buf, int len, RefCountObj *block_ref) len -= HTTP_ALT_MARSHAL_SIZE; if (alt->m_frag_offset_count > HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS) { -// stuff that didn't fit in the integral slots. -int extra = sizeof(FragOffset) * alt->m_frag_offset_count - sizeof(alt->m_integral_frag_offsets); -char *extra_src = buf + reinterpret_cast(alt->m_frag_offsets); -// Actual buffer size, which must be a power of two. -// Well, technically not, because we never modify an unmarshalled fragment -// offset table, but it would be a nasty bug should that be done in the -// future. -int bcount = HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS * 2; - -while (bcount < alt->m_frag_offset_count) { - bcount *= 2; -} -alt->m_frag_offsets = - static_cast(ats_malloc(bcount * sizeof(FragOffset))); // WRONG - must round up to next power of 2. -memcpy(alt->m_frag_offsets, alt->m_integral_frag_offsets, sizeof(alt->m_integral_frag_offsets)); -memcpy(alt->m_frag_offsets + HTTPCacheAlt::N_INTEGRAL_FRAG_OFFSETS, extra_src, extra); -len -= extra; +alt->m_frag_offsets = reinterpret_cast(buf + reinterpret_cast(alt->m_frag_offsets)); +len -= sizeof(FragOffset) * alt->m_frag_offset_count; +ink_assert(len >= 0); } else if (alt->m_frag_offset_count > 0) { alt->m_frag_offsets = alt->m_integral_frag_offsets; } else {
[trafficserver] branch 8.1.x updated: Password can not be nullptr here, so don't check
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.1.x by this push: new d71a59c Password can not be nullptr here, so don't check d71a59c is described below commit d71a59c7f50a1679c81766b8c24045287268b9f5 Author: Leif Hedstrom AuthorDate: Wed Apr 24 17:05:36 2019 +0800 Password can not be nullptr here, so don't check (cherry picked from commit 969a41ce590fa725d7560cd07b9ec53af30a26ef) --- src/traffic_server/InkAPITest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/traffic_server/InkAPITest.cc b/src/traffic_server/InkAPITest.cc index 2769d49..5b5f6cd 100644 --- a/src/traffic_server/InkAPITest.cc +++ b/src/traffic_server/InkAPITest.cc @@ -3836,7 +3836,7 @@ REGRESSION_TEST(SDK_API_TSUrl)(RegressionTest *test, int /* atype ATS_UNUSED */, SDK_RPRINT(test, "TSUrlPasswordSet", "TestCase1", TC_FAIL, "Returned TS_ERROR"); } else { password_get = TSUrlPasswordGet(bufp1, url_loc1, ); -if (((password_get == nullptr) && (password == nullptr)) || (strncmp(password_get, password, length) == 0)) { +if ((password_get == nullptr) || (strncmp(password_get, password, length) == 0)) { SDK_RPRINT(test, "TSUrlPasswordSet", "TestCase1", TC_PASS, "ok"); test_passed_password = true; } else {
[trafficserver] branch 8.1.x updated: Free TSMgmtString after using it.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.1.x by this push: new 3a350a4 Free TSMgmtString after using it. 3a350a4 is described below commit 3a350a4969f2f42c12360d3b05b970894fd0ce84 Author: David Calavera AuthorDate: Tue Feb 4 13:23:50 2020 -0800 Free TSMgmtString after using it. Fixes memory leak. Signed-off-by: David Calavera (cherry picked from commit 544d29bde833a5cad673bb3ccf344f3da8bec387) --- plugins/compress/misc.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/compress/misc.cc b/plugins/compress/misc.cc index 8c4b3bb..6335c80 100644 --- a/plugins/compress/misc.cc +++ b/plugins/compress/misc.cc @@ -142,6 +142,7 @@ init_hidden_header_name() hidden_header_name = (char *)TSmalloc(hidden_header_name_len + 1); hidden_header_name[hidden_header_name_len] = 0; sprintf(hidden_header_name, "x-accept-encoding-%s", result); +TSfree(result); } return hidden_header_name; }
[trafficserver] branch 8.1.x updated: Add MIMEHdr Garbage Collection to HPACK Dynamic Table
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.1.x by this push: new 50a5366 Add MIMEHdr Garbage Collection to HPACK Dynamic Table 50a5366 is described below commit 50a5366574c2569e24fc80cf4f6e102b8330cc79 Author: Masaori Koshiba AuthorDate: Tue Jul 2 13:04:20 2019 +0900 Add MIMEHdr Garbage Collection to HPACK Dynamic Table This is a combination of 2 commits. 1. Reverse internal order of HPACK Dynamic Table Entries Prioir this change, HpackDynamicTable::add_header_field() always inserts the entry in front of the vector. (cherry picked from commit 206384e84b6ae876c41028b44bf4c5cf8585f748) Conflicts: proxy/http2/HPACK.cc 2. Add MIMEHdr Garbage Collection to HPACK Dynamic Table Prior this change, the size of HdrHeap which is owned by MIMEHdr of HpackDynamicTable had no limit. Because when MIMEFiled is deleted the allocated memory of the HdrHeap was not freed. To mitigate this issue, when HdrHeap size exceeds the threshold, HpackDynamicTable start using new MIMEHdr and HdrHeap. The old MIMEHdr and HdrHeap will be freed, when all MIMEFiled is deleted by HPACK Dynamic Table Entry Eviction. (cherry picked from commit 2bbcc48195e98b65b681a7e28c9ae1c2ab5d6994) Conflicts: proxy/http2/HPACK.cc --- proxy/hdrs/HdrHeap.cc | 18 +++ proxy/hdrs/HdrHeap.h | 2 + proxy/http2/HPACK.cc | 131 +- proxy/http2/HPACK.h | 18 +++ 4 files changed, 125 insertions(+), 44 deletions(-) diff --git a/proxy/hdrs/HdrHeap.cc b/proxy/hdrs/HdrHeap.cc index 0de45b2..0a8831f 100644 --- a/proxy/hdrs/HdrHeap.cc +++ b/proxy/hdrs/HdrHeap.cc @@ -1117,6 +1117,24 @@ HdrHeap::dump_heap(int len) fprintf(stderr, "\n-- End header heap dump ---\n"); } +uint64_t +HdrHeap::total_used_size() const +{ + uint64_t size= 0; + const HdrHeap *h = this; + + while (h) { +size += (h->m_free_start - h->m_data_start); +h = h->m_next; + } + + return size; +} + +// +// HdrStrHeap +// + void HdrStrHeap::free() { diff --git a/proxy/hdrs/HdrHeap.h b/proxy/hdrs/HdrHeap.h index faa8c48..4268768 100644 --- a/proxy/hdrs/HdrHeap.h +++ b/proxy/hdrs/HdrHeap.h @@ -266,6 +266,8 @@ public: size_t required_space_for_evacuation(); bool attach_str_heap(char *h_start, int h_len, RefCountObj *h_ref_obj, int *index); + uint64_t total_used_size() const; + /** Struct to prevent garbage collection on heaps. This bumps the reference count to the heap containing the pointer while the instance of this class exists. When it goes out of scope diff --git a/proxy/http2/HPACK.cc b/proxy/http2/HPACK.cc index 1c45d1e..80b4c06 100644 --- a/proxy/http2/HPACK.cc +++ b/proxy/http2/HPACK.cc @@ -166,6 +166,21 @@ static const StaticTable STATIC_TABLE[] = {{"", ""}, {"via", ""}, {"www-authenticate", ""}}; +/** + Threshold for total HdrHeap size which used by HPAK Dynamic Table. + The HdrHeap is filled by MIMEHdrImpl and MIMEFieldBlockImpl like below. + This threshold allow to allocate 3 HdrHeap at maximum. + + +--+-+ + HdrHeap 1 (2048): | MIMEHdrImpl(592) | MIMEFieldBlockImpl(528) x 2 | + +--+-+--...--+ + HdrHeap 2 (4096): | MIMEFieldBlockImpl(528) x 7| + ++--...--+--...--+ + HdrHeap 3 (8192): | MIMEFieldBlockImpl(528) x 15 | + ++--...--+--...--+ +*/ +static constexpr uint32_t HPACK_HDR_HEAP_THRESHOLD = sizeof(MIMEHdrImpl) + sizeof(MIMEFieldBlockImpl) * (2 + 7 + 15); + /** * Local functions **/ @@ -318,10 +333,28 @@ HpackIndexingTable::update_maximum_size(uint32_t new_size) return _dynamic_table->update_maximum_size(new_size); } +// +// HpackDynamicTable +// +HpackDynamicTable::~HpackDynamicTable() +{ + this->_headers.clear(); + + this->_mhdr->fields_clear(); + this->_mhdr->destroy(); + delete this->_mhdr; + + if (this->_mhdr_old != nullptr) { +this->_mhdr_old->fields_clear(); +this->_mhdr_old->destroy(); +delete this->_mhdr_old; + } +} + const MIMEField * HpackDynamicTable::get_header_field(uint32_t index) const { - return _headers.at(index); + return this->_headers.at(this->_headers.size() - index - 1); } void @@ -337,28 +370,18 @@ HpackDynam
[trafficserver] branch 8.1.x updated: Ignore MgmtMessageHdr if ProcessManager is not running
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/8.1.x by this push: new 005a802 Ignore MgmtMessageHdr if ProcessManager is not running 005a802 is described below commit 005a80292a487d516cd5fc8f63564e821358f585 Author: Masaori Koshiba AuthorDate: Wed Oct 23 13:48:17 2019 +0900 Ignore MgmtMessageHdr if ProcessManager is not running (cherry picked from commit 5936dcdda6d8f6695ce613e6022bf735732ca566) Conflicts: mgmt/ProcessManager.cc --- mgmt/ProcessManager.cc | 5 + 1 file changed, 5 insertions(+) diff --git a/mgmt/ProcessManager.cc b/mgmt/ProcessManager.cc index 86fe41c..889a38f 100644 --- a/mgmt/ProcessManager.cc +++ b/mgmt/ProcessManager.cc @@ -240,6 +240,11 @@ ProcessManager::signalManager(int msg_id, const char *data_str) void ProcessManager::signalManager(int msg_id, const char *data_raw, int data_len) { + if (!this->running) { +Warning("MgmtMessageHdr is ignored. Because ProcessManager is not running"); +return; + } + MgmtMessageHdr *mh; mh = (MgmtMessageHdr *)ats_malloc(sizeof(MgmtMessageHdr) + data_len);
[trafficserver] branch 8.1.x created (now 7abeb75)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 8.1.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. at 7abeb75 Fixes crash in SNIConfigParams::cleanup() (#6526) No new revisions were added by this update.
[trafficserver] branch master updated (3808b31 -> c64530f)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 3808b31 Fix SDK_API_TSSslServerContextCreate add c64530f Check the exit value of the regression test No new revisions were added by this update. Summary of changes: ci/jenkins/bin/github.sh | 5 ++--- ci/jenkins/bin/regression.sh | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-)
[trafficserver] branch master updated (c990f54 -> 3808b31)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from c990f54 Exponential backoff - Make values used configurable - Add config support for ceiling time and retry cap. - Add small variance when sleeping. add 3808b31 Fix SDK_API_TSSslServerContextCreate No new revisions were added by this update. Summary of changes: iocore/net/SSLUtils.cc | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-)
[trafficserver] branch master updated (c05e751 -> c990f54)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from c05e751 Cleanup: check activity of Http2Stream by ActivityCop add c990f54 Exponential backoff - Make values used configurable - Add config support for ceiling time and retry cap. - Add small variance when sleeping. No new revisions were added by this update. Summary of changes: mgmt/RecordsConfig.cc | 5 + src/traffic_manager/traffic_manager.cc | 34 ++ 2 files changed, 31 insertions(+), 8 deletions(-)
[trafficserver] branch master updated (c4ee14b -> d4804f7)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from c4ee14b Doc: connection.match default value update add d4804f7 XDebug: Always append to the X- header, rather than prepend No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/xdebug.en.rst | 6 +++--- plugins/xdebug/xdebug.cc | 14 +++--- 2 files changed, 10 insertions(+), 10 deletions(-)
[trafficserver] branch master updated (4228868 -> c4ee14b)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 4228868 Charge Proxy Header Regression tests into Catch unit tests. add c4ee14b Doc: connection.match default value update No new revisions were added by this update. Summary of changes: doc/admin-guide/files/records.config.en.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[trafficserver] branch 9.0.x updated: Updated Changelog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new 2d789c5 Updated Changelog 2d789c5 is described below commit 2d789c5b82bab946123d98f9d8de15b711682e1a Author: Bryan Call AuthorDate: Tue Mar 10 14:28:55 2020 -0700 Updated Changelog --- CHANGELOG-9.0.0 | 6 ++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0 index 6f11d8c..b05a399 100644 --- a/CHANGELOG-9.0.0 +++ b/CHANGELOG-9.0.0 @@ -940,7 +940,11 @@ Changes with Apache Traffic Server 9.0.0 #6441 - Cleaned up ssl-post #6446 - Avoid a weird name collision between HRW and tscore #6450 - Adjust consume logic in data frame read + #6454 - traffic_dump post_process.py #6457 - Fix port selection for ssl ipv6 + #6459 - Add more flexible error handling when open a config file. + #6460 - Make traffic_manager be flexible when opening config files. + #6461 - Reduce minimum config files needed for golden_tests. #6462 - x-remap ignoring age in gold file #6463 - [CPPAPI] Provide access to TSRemapRequestInfo in RemapPlugins. #6464 - cache_range_requests plugin: detect and handle TSCacheUrlSet failures… @@ -950,5 +954,7 @@ Changes with Apache Traffic Server 9.0.0 #6471 - Removes some things deprecated from older versions #6474 - Remove --read_core option #6475 - Remove noisy mutex warning + #6477 - traffic_dump: Fixing content:size collection. #6480 - Remove some outdated files. #6488 - Bikeshedding some code structures for reloadable plugins config + #6492 - Add null check to fix error tunnel crash
[trafficserver] 02/02: traffic_dump: Fixing content:size collection.
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 16efdabf738a80af7edbb7566a354e5076b089e1 Author: bneradt AuthorDate: Thu Feb 27 23:41:28 2020 + traffic_dump: Fixing content:size collection. traffic_dump was collecting the client-request body information too early, resulting in an incorrect content:size value (it was always zero). This holds off on collecting the body size until later so the value is accurate. A traffic_dump AuTest is being added to verify correct behavior with requests containing bodies. Also, this updates the Traffic Dump post_process.py script to add proxy-request and server-response nodes to transactions without them because the proxy replied locally to the request. This is useful in replay scenarios in which the test version of Traffic Server likely won't have the cached responses. (cherry picked from commit ddaf9e5f42930d01570904214cd6086c0f1de24b) --- plugins/experimental/traffic_dump/post_process.py | 59 +- plugins/experimental/traffic_dump/traffic_dump.cc | 51 +-- .../traffic_dump/gold/post_with_body.gold | 8 +++ .../pluginTest/traffic_dump/traffic_dump.test.py | 45 + .../pluginTest/traffic_dump/verify_replay.py | 28 +- 5 files changed, 162 insertions(+), 29 deletions(-) diff --git a/plugins/experimental/traffic_dump/post_process.py b/plugins/experimental/traffic_dump/post_process.py index dd4a7ea..d2dbe96 100755 --- a/plugins/experimental/traffic_dump/post_process.py +++ b/plugins/experimental/traffic_dump/post_process.py @@ -109,11 +109,14 @@ def verify_response(response): raise VerifyResponseError("Response did not have a status.") -def verify_transaction(transaction): +def verify_transaction(transaction, fabricate_proxy_requests=False): """ Function to verify that a transaction looks complete. Args: transaction (json object) +fabricate_proxy_requests (bool) Whether the post-processor should + fabricate proxy requests if they don't exist because the proxy served + the response locally. Raises: VerifySessionError if there is no transaction. @@ -128,12 +131,19 @@ def verify_transaction(transaction): else: verify_request(transaction["client-request"]) +if "proxy-request" not in transaction and fabricate_proxy_requests: +if "proxy-response" not in transaction: +raise VerifyRequestError('proxy-response not found in transaction with a client-request') +transaction["proxy-request"] = transaction["client-request"] +if "server-response" not in transaction: +transaction["server-response"] = transaction["proxy-response"] + # proxy-response nodes can be empty. if "proxy-response" not in transaction: raise VerifyResponseError('proxy-response not found in transaction') if "proxy-request" in transaction or "server-response" in transaction: -# proxy-request nodes can be empty. +# proxy-request nodes can be empty, so no need to verify_response. if "proxy-request" not in transaction: raise VerifyRequestError('proxy-request not found in transaction') @@ -143,13 +153,16 @@ def verify_transaction(transaction): verify_response(transaction["server-response"]) -def verify_session(session): +def verify_session(session, fabricate_proxy_requests=False): """ Function to verify that a session looks complete. A valid session contains a valid list of transactions. Args: transaction (json object) +fabricate_proxy_requests (bool) Whether the post-processor should + fabricate proxy requests if they don't exist because the proxy served + the response locally. Raises: VerifyError if there is a problem with the session. @@ -159,7 +172,7 @@ def verify_session(session): if "transactions" not in session or not session["transactions"]: raise VerifySessionError('No transactions found in session.') for transaction in session["transactions"]: -verify_transaction(transaction) +verify_transaction(transaction, fabricate_proxy_requests) def write_sessions(sessions, filename, indent): @@ -203,14 +216,14 @@ def parse_json(replay_file): try: parsed_json = json.load(fd) except Exception as e: -message = e.split(':')[0] -logging.exception("Failed to load %s as a JSON object.", replay_file) +message = e.msg.split(':')[0] +logging.error("Fai
[trafficserver] 01/02: traffic_dump post_process.py
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 801243747c28224a22737a714e1125e8754a207e Author: bneradt AuthorDate: Tue Feb 25 16:48:07 2020 + traffic_dump post_process.py (cherry picked from commit 17c48bfc16980496129cff2925ce46b6b0b3b05c) --- plugins/experimental/traffic_dump/post_process.py | 392 ++ 1 file changed, 392 insertions(+) diff --git a/plugins/experimental/traffic_dump/post_process.py b/plugins/experimental/traffic_dump/post_process.py new file mode 100755 index 000..dd4a7ea --- /dev/null +++ b/plugins/experimental/traffic_dump/post_process.py @@ -0,0 +1,392 @@ +#!/usr/bin/env python3 +''' +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +''' + +from collections import defaultdict +from copy import deepcopy +from queue import Queue +from threading import Thread +import argparse +import json +import logging +import os +import sys + +description = ''' +Post process replay files produced by traffic_dump and clean it of any +incomplete transactions or sessions which got partially written because Traffic +Server was interrupted mid-connection. This also merges sessions to the same +client and, by default, formats the output files with human readable spacing. +''' + + +# Base replay file template with basic elements +TEMPLATE = json.loads('{"meta": {"version":"1.0"},"sessions":[]}') + + +class PostProcessError(Exception): +''' Base class for post processing errors. +''' +def __init__(self, message=None): +self.message = message + +def __str__(self, *args): +if self.message: +return self.message +else: +return 'PostProcessError raised' + + +class VerifyError(PostProcessError): +''' Base class for node node verification errors. +''' +pass + + +class VerifyRequestError(VerifyError): +''' There was a problem verifying a request node. +''' +pass + + +class VerifyResponseError(VerifyError): +''' There was a problem verifying a response node. +''' +pass + + +class VerifySessionError(VerifyError): +''' There was a problem verifying a session node. +''' +pass + + +def verify_request(request): +""" Function to verify request with method, url, and headers +Args: +request (json object) + +Raises: +VerifyRequestError if there is a problem with the request. +""" +if not request: +raise VerifyRequestError('No request found.') +if "method" not in request or not request["method"]: +raise VerifyRequestError("Request did not have a method.") +if "url" not in request or not request["url"]: +raise VerifyRequestError("Request did not have a url.") +if "headers" not in request or not request["headers"]: +raise VerifyRequestError("Request did not have headers.") + + +def verify_response(response): +""" Function to verify response with status +Args: +response (json object) + +Raises: +VerifyResponseError if there is a problem with the response. +""" +if not response: +raise VerifyResponseError("No response found.") +if "status" not in response or not response["status"]: +raise VerifyResponseError("Response did not have a status.") + + +def verify_transaction(transaction): +""" Function to verify that a transaction looks complete. + +Args: +transaction (json object) + +Raises: +VerifySessionError if there is no transaction. +VerifyRequestError if there is a problem with a request. +VerifyResponseError if there is a problem with a response. +""" +if not transaction: +raise VerifySessionError('No transaction found in the session.') + +if "client-request" not in transaction: +raise VerifyRequestError('client-request not found in transact
[trafficserver] branch 9.0.x updated (28ae091 -> 16efdab)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 28ae091 Reduce minimum config files neeed for golden_tests. new 8012437 traffic_dump post_process.py new 16efdab traffic_dump: Fixing content:size collection. The 2 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: plugins/experimental/traffic_dump/post_process.py | 425 + plugins/experimental/traffic_dump/traffic_dump.cc | 51 ++- .../{explicit_target.gold => post_with_body.gold} | 2 +- .../pluginTest/traffic_dump/traffic_dump.test.py | 45 +++ .../pluginTest/traffic_dump/verify_replay.py | 28 +- 5 files changed, 534 insertions(+), 17 deletions(-) create mode 100755 plugins/experimental/traffic_dump/post_process.py copy tests/gold_tests/pluginTest/traffic_dump/gold/{explicit_target.gold => post_with_body.gold} (63%)
svn commit: r1057173 - in /websites/production/trafficserver: cgi-bin/ content/
Author: bcall Date: Sun Mar 1 00:01:10 2020 New Revision: 1057173 Log: do I need to do this? Added: websites/production/trafficserver/cgi-bin/ - copied from r1057172, websites/staging/trafficserver/trunk/cgi-bin/ websites/production/trafficserver/content/ - copied from r1057172, websites/staging/trafficserver/trunk/content/
[trafficserver-site] branch asf-site updated: Added v7.1.9 and v8.0.6 releases
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/trafficserver-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 58b09de Added v7.1.9 and v8.0.6 releases 58b09de is described below commit 58b09deb989b416cde58054f34c216b87910de72 Author: Bryan Call AuthorDate: Sat Feb 29 15:58:48 2020 -0800 Added v7.1.9 and v8.0.6 releases --- source/markdown/downloads.mdtext | 38 +++--- source/markdown/index.html | 3 +++ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/source/markdown/downloads.mdtext b/source/markdown/downloads.mdtext index f314d20..18cf68c 100644 --- a/source/markdown/downloads.mdtext +++ b/source/markdown/downloads.mdtext @@ -19,9 +19,9 @@ RSS: /rss/releases.rss -The latest stable release of Apache Traffic Server is 8.0.5, released on 2019-08-20. -In addition, we continue to support the v7.1.x LTS release train, currently v7.1.8 -which was released on 2019-08-13. We follow the [Semantic Versioning](http://semver.org) +The latest stable release of Apache Traffic Server is 8.0.6, released on 2020-02-29. +In addition, we continue to support the v7.1.x LTS release train, currently v7.1.9 +which was released on 2020-02-29. We follow the [Semantic Versioning](http://semver.org) scheme. The goal is to release patch releases frequently, and minor releases as needed. Within the major versions, all such patch and minor releases are all compatible. @@ -32,33 +32,33 @@ will be needed. You can also [browse through all releases](https://archive.apache.org/dist/trafficserver/) and hash signatures. -# Current v8.x Release -- 8.0.5 # {#8.0.5} +# Current v8.x Release -- 8.0.6 # {#8.0.6} - Apache Traffic Server v8.0.5 was released on August 20th, 2019. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.5.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.5.tar.bz2.sha512)] + Apache Traffic Server v8.0.6 was released on August 20th, 2019. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.6.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-8.0.6.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.5.tar.bz2; class="download_ts">Traffic Server 8.0.5 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-8.0.6.tar.bz2; class="download_ts">Traffic Server 8.0.6 -v8.0.5 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.5) -and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/34?closed=1). +v8.0.6 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/8.0.x/CHANGELOG-8.0.6) +and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/35?closed=1). For details on the v8.0.x release, please see [8.0.x News](https://cwiki.apache.org/confluence/display/TS/What's+New+in+v8.0.x). There are also details about [upgrading to 8.x](https://cwiki.apache.org/confluence/display/TS/Upgrading+to+v8.0). -# Current v7.x Release -- 7.1.8 # {#7.1.8} +# Current v7.x Release -- 7.1.9 # {#7.1.9} - Apache Traffic Server v7.1.8 was released on August 20th, 2019. - [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.8.tar.bz2.asc)] - [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.8.tar.bz2.sha512)] + Apache Traffic Server v7.1.9 was released on August 20th, 2019. + [[`PGP`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.9.tar.bz2.asc)] + [[`SHA512`](https://www.apache.org/dist/trafficserver/trafficserver-7.1.9.tar.bz2.sha512)] - https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.8.tar.bz2; class="download_ts">Traffic Server 7.1.8 + https://www.apache.org/dyn/closer.cgi/trafficserver/trafficserver-7.1.9.tar.bz2; class="download_ts">Traffic Server 7.1.9 -v7.1.8 is our latest stable release. Additional details for this release are in the -[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.8) -and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/33?closed=1). +v7.1.9 is our latest stable release. Additional details for this release are in the +[CHANGELOG](https://raw.githubusercontent.com/apache/trafficserver/7.1.x/CHANGELOG-7.1.9) +and the the related [Github Issues and PRs](https://github.com/apache/trafficserver/milestone/36?closed=1). For details on the v7.1.x release train, please see [7.1.x News](https://cwiki.apache.org/confluen
svn commit: r38338 - in /release/trafficserver: trafficserver-7.1.9.tar.bz2 trafficserver-7.1.9.tar.bz2.asc trafficserver-7.1.9.tar.bz2.sha512
Author: bcall Date: Sat Feb 29 23:35:20 2020 New Revision: 38338 Log: Release 7.1.9 Added: release/trafficserver/trafficserver-7.1.9.tar.bz2 (with props) release/trafficserver/trafficserver-7.1.9.tar.bz2.asc (with props) release/trafficserver/trafficserver-7.1.9.tar.bz2.sha512 Added: release/trafficserver/trafficserver-7.1.9.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.9.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-7.1.9.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-7.1.9.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-7.1.9.tar.bz2.sha512 == --- release/trafficserver/trafficserver-7.1.9.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-7.1.9.tar.bz2.sha512 Sat Feb 29 23:35:20 2020 @@ -0,0 +1 @@ +0f367e23a1c5de52cd934bfbfcc768efda7c81b4d2b2866f6e5bc56985c44b60fd598722b3b8e7c69a42247679f2acad2f66c18d2abf97058a9672e8b5d439d4 *trafficserver-7.1.9.tar.bz2
[trafficserver] annotated tag 7.1.9 updated (61e631a -> 8df3f2d)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to annotated tag 7.1.9 in repository https://gitbox.apache.org/repos/asf/trafficserver.git. *** WARNING: tag 7.1.9 was modified! *** from 61e631a (commit) to 8df3f2d (tag) tagging 61e631ac4e12ad283fc796b01ec56fb5442d3e62 (commit) replaces 7.1.9-rc1 by Bryan Call on Sat Feb 29 15:27:30 2020 -0800 - Log - Release Candidate 7.1.9 -BEGIN PGP SIGNATURE- iQIcBAABAgAGBQJeWvNiAAoJEE0VQRC4RQjs+RcP/1+kwLI1dfUk8gk3druFWDJw sicprBEPVqW/gVxIUPm7mima5wqbKI8IWXpy2Vy5Zk+5bD9g1o9aMOdekGPrblHT jkLvH/SH7U4UbwHsXgWNrrinuTOU91KFROGZmAyEYmJEAU1pt5LrbHL8K10BDrqk KlzuVlLLGq3dSrVBNcY4Cf0gNlj7pCVbFmutzhiaLscBQkgFWaBzoA+orm7BmPVR 24DZJQW4ma44JV2aVja9jWX4myXrBry4L9sQE9gQfCDJQtK8JeLvFJKi3sJ3ATHv vE2oRY1oNAEAlrgVnxnxCDTLMnq654qVIt5pq3H7fZqzyQV0Hpa8sd8HFCY2ECgq eJld4/iZzjP6f0LMOd1TWF2ipvnEjNbP5Vrb7PUKuTLBq57C+r0c/imVlVsLDssL OqoIQ/b/v2Va2qOyHGq1xzorDLosmQcQhwnAJiSPX9fCY84vh3FUuhZBExjWu9sb TGJQ1tY8tRKfnbMDWrEQJMyKCIbPCZqkcVt5aul0Xy3xCwfPhNcAQHXeTbcnuXok Lwg4E97suQrS3sh0+Sh9zNmV/nLA+KVgWo0bCBNegR//cEJ+ZPoKx96JcCZXKKD9 meMKt80E2L6rzeX2AZwkZnH+nGfDo+dP+x80GlfgCNC7uxksOAFw5T3wTCOzRS5/ oH3fca0s2IGInvxxc526 =OwSH -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
svn commit: r38337 - in /release/trafficserver: trafficserver-8.0.6.tar.bz2 trafficserver-8.0.6.tar.bz2.asc trafficserver-8.0.6.tar.bz2.sha512
Author: bcall Date: Sat Feb 29 23:21:58 2020 New Revision: 38337 Log: Release 8.0.6 Added: release/trafficserver/trafficserver-8.0.6.tar.bz2 (with props) release/trafficserver/trafficserver-8.0.6.tar.bz2.asc (with props) release/trafficserver/trafficserver-8.0.6.tar.bz2.sha512 Added: release/trafficserver/trafficserver-8.0.6.tar.bz2 == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.6.tar.bz2 -- svn:mime-type = application/x-bzip2 Added: release/trafficserver/trafficserver-8.0.6.tar.bz2.asc == Binary file - no diff available. Propchange: release/trafficserver/trafficserver-8.0.6.tar.bz2.asc -- svn:mime-type = application/pgp-signature Added: release/trafficserver/trafficserver-8.0.6.tar.bz2.sha512 == --- release/trafficserver/trafficserver-8.0.6.tar.bz2.sha512 (added) +++ release/trafficserver/trafficserver-8.0.6.tar.bz2.sha512 Sat Feb 29 23:21:58 2020 @@ -0,0 +1 @@ +ce24f898000611253a702b9001eddb65b983258c6d08479d08ba0b833d6a518faca66330d9c9149a9b71dc4828c0027add88c7cf6974facd73fe712e97faaaea *trafficserver-8.0.6.tar.bz2