From f25aa27093448be406f71341d309feef11947ca1 Mon Sep 17 00:00:00 2001 From: Brian Neradt Date: Thu, 2 Feb 2023 15:27:08 -0600 Subject: [PATCH] Proxy Verfier Upgrade to v2.10.1 This is a set of Proxy Verifier cherry-picks from master into 9.2.x to get 9.2.x up to date with the latest v2.10.1 Proxy Verifier release. --- Fix the autest Proxy Verifier version check (#9365) The Proxy Verifier autest version check logic assumed that verifier-client was in the PATH. This is most often not the case, and even if it is it can be the wrong one since the test will by default use the unpacked Proxy Verifier from bintray. This fixes the check so that it explicitly refers to the verifier-client that the test will use. (cherry picked from commit edbd10a8ad0be7df2cf6fa9474833b9006bcc994) Upgrade to Proxy Verifier v2.7.0 (#9611) Proxy Verifier v2.7.0 adds: * Proxy Protocol support. * HTTP response reason string verification Some of the h2origin AuTest tests were over-specified with respect to reason strings. HTTP/2 explicitly removes reason strings, so they will not be in the responses nor will the verifier client find them. This removes those incorrect specifications. (cherry picked from commit b449992b1d14cb1897202e845ec04c9eaebaf8c5) Fix a crash caused by a HTTP/2 GET request with a body (#9738) * fix a crash caused by a HTTP/2 GET request with a body * Update to Proxy Verifier v2.8.0 This updates our test suite to use Proxy Verifier v2.8.0. This release comes with HTTP/2 frame replay updates. In the cherry-pick from master to 9.2.x, I removed the following test updates because they were HTTP/2 to origin specific: * h2get_with_body * background_fill (cherry picked from commit 0f70092d22f439681858cbe7aa31fe6dfb383819) --------- Co-authored-by: bneradt (cherry picked from commit 50b6aa9217d48b0922cc06bd0f11b765dfbca207) Update to Proxy Verifier v2.8.1 (#9834) Proxy Verifier v2.8.1 has fixes for the way Proxy Verifier relates to HTTP/2 CONNECT method request pseudo header fields. This will be helpful for testing HTTP/2 CONNECT requests. (cherry picked from commit d5c47a7b743bd798b9827c175b35747f59f40eca) Proxy Verifier: update to v2.9.0 (#10083) Proxy Verifier v2.9.0 adds HTTP/2 trailer support as well as containing updates for Expect: 100-continue and quic timeout. (cherry picked from commit 183aa3efe325dc439797d7884a15d4517574b8ea) Update Proxy Verifier to v2.10.1 (#10322) This includes the ability to specify separate DATA frames for a stream as well as a way to keep a session open after the final transaction. (cherry picked from commit c5d7b19d60646de902fc847f80f57030779a4bfc) fix ProxyVerifier version check (#9267) (cherry picked from commit a2ab0b7d7544b2486ab133f9400907ce9218ec33) --- .../gold_tests/autest-site/conditions.test.ext | 4 +++- tests/prepare_proxy_verifier.sh | 17 ++++++++++++++--- tests/proxy-verifier-version.txt | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/tests/gold_tests/autest-site/conditions.test.ext b/tests/gold_tests/autest-site/conditions.test.ext index 35aaa6abc3d..35d7d1bc907 100644 --- a/tests/gold_tests/autest-site/conditions.test.ext +++ b/tests/gold_tests/autest-site/conditions.test.ext @@ -67,7 +67,8 @@ def HasCurlVersion(self, version): def HasProxyVerifierVersion(self, version): - return self.EnsureVersion(["verifier-client", "--version"], min_version=version) + verifier_path = os.path.join(self.Variables.VerifierBinPath, 'verifier-client') + return self.EnsureVersion([verifier_path, "--version"], min_version=version) def HasCurlFeature(self, feature): @@ -130,6 +131,7 @@ def PluginExists(self, pluginname): ExtendCondition(HasOpenSSLVersion) +ExtendCondition(HasProxyVerifierVersion) ExtendCondition(IsBoringSSL) ExtendCondition(IsOpenSSL) ExtendCondition(HasATSFeature) diff --git a/tests/prepare_proxy_verifier.sh b/tests/prepare_proxy_verifier.sh index 2c34df74006..7182d8b97a6 100755 --- a/tests/prepare_proxy_verifier.sh +++ b/tests/prepare_proxy_verifier.sh @@ -40,7 +40,7 @@ pv_dir="${pv_name}-${pv_version}" pv_tar_filename="${pv_dir}.tar.gz" pv_tar="${pv_top_dir}/${pv_tar_filename}" pv_tar_url="https://ci.trafficserver.apache.org/bintray/${pv_tar_filename}" -expected_sha1="011bd50b74a07484683ed56a671f37afbdd0c786" +expected_sha1="0f189a37596d7488b5b81b5547df6fc1eadf56a1" pv_client="${bin_dir}/verifier-client" pv_server="${bin_dir}/verifier-server" TAR=${TAR:-tar} @@ -78,10 +78,10 @@ EOF Darwin) case $(uname -m) in x86_64) - pv_os_dir="${pv_unpack_dir}/${pv_dir}/mac-x86_64" + pv_os_dir="${pv_unpack_dir}/${pv_dir}/darwin-amd64" ;; arm64) - pv_os_dir="${pv_unpack_dir}/${pv_dir}/mac-m1" + pv_os_dir="${pv_unpack_dir}/${pv_dir}/darwin-arm64" ;; *) fail "Unrecognized Mac architecture: $(uname -m)" @@ -90,6 +90,17 @@ EOF ;; Linux) pv_os_dir="${pv_unpack_dir}/${pv_dir}/linux" + case $(uname -m) in + x86_64) + pv_os_dir="${pv_unpack_dir}/${pv_dir}/linux-amd64" + ;; + aarch64) + pv_os_dir="${pv_unpack_dir}/${pv_dir}/linux-arm64" + ;; + *) + fail "Unrecognized Linux architecture: $(uname -m)" + ;; + esac ;; *) fail "We need to build proxy-verifier for $(uname -s)" diff --git a/tests/proxy-verifier-version.txt b/tests/proxy-verifier-version.txt index 8a965c11682..c0151c8a568 100644 --- a/tests/proxy-verifier-version.txt +++ b/tests/proxy-verifier-version.txt @@ -1 +1 @@ -v2.6.0 +v2.10.1