From nobody Wed Sep 24 04:40:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cWkfb4HHMz68T0G; Wed, 24 Sep 2025 04:40:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cWkfb3f1tz3QhG; Wed, 24 Sep 2025 04:40:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758688807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZgkWqL0dBvqDxTUXDSWhBcCCNRw9rPu+P5cjp1UQOE=; b=qTrHKtj3Evl7NnHbFN0jouJbIF1V1yo+fCnkUw6DlX1k78pL69I6ZeUfI9YfyCPx81/aih SvRgccwLuw3Qam34TRq5H3ARZpSHdfAEeO0gwHTEEO/KHXjQT83LIdExgCjeQw94+khBRX nFYFN2HYCzj+dzrWpEpsqNNX/bWBcZkRN8NevZGP60wfADE7uc2ykIIE4yFMGxOt5on1Z3 ZocHQFQ8mZzkHQti0NLUzBa3jAIBnqowTdTdpW4mxrRsJUN7YQMQlCmY5MU2PtUeUJaime lCG9DeDUDc7yz3KxbsxgrzbicQgqV0e4KRvlLQhkGNyjwEo+bHHyKS6KMHW+wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758688807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cZgkWqL0dBvqDxTUXDSWhBcCCNRw9rPu+P5cjp1UQOE=; b=q5uZFPIaBQsQ2DuMtarKd8akNWcb3jGi4uX55Nc8plnaaCFR+Q9EtKfvpUgh3ZKxq3LLXF ItYVMLUx/9Jxg6XQiKLc/gmhcoNo0FvRCdByKUr1voKVd8xTFEklRGWhqDdODza1b9QcFq vA0FtHS4CRxh2SsgOmhdKN7ejZ9YzM1aM2588Lbh1g+0VFm5tyDJ0o9i7I973N70/6OVRe CrppFQ/b4SJns7cStleMI93lBJ9fOEB1NZoXuKV3YpXgmBJdpyzomoTejO2zcKrE4jN/VN CL3YtwRZ33WRHTtqO3PlOaPvALp2AyUXZXvCDxkUzXVyFa93VHo+knrBLz9/SQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758688807; a=rsa-sha256; cv=none; b=ZXG+2ezmXprH4k1wc5HCPuNlGMFmIidjULmucraPTBXZv6u2LnuGcJSD6kRGFc7LvzxoFO /GPvd6l8AkExPofEDUr4WS1aCQ8CGEHgCtt4HMTr8EkKznR6egoZbKY0ljzc/3CJBu/SI+ BHiqZGwSDqCKYyaMaxs7GCnvgg/a43lg6mTnbazTVCu9W6uV35bls86aJ9hFMXdgxBKkNU uKx68qFr1uDdfCl2g0EFx2FM70KL+A7Eons4rs4yfSwBV2mN0DijuEbkBTOi5smhE1z1AO 98msPjxxIpC41UWPgjAxiX7APqDEdc862OXdxhVR6S0KrH9wOWraTEnEQXwvEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cWkfb37BNz1q9; Wed, 24 Sep 2025 04:40:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58O4e7oY077723; Wed, 24 Sep 2025 04:40:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58O4e7I3077718; Wed, 24 Sep 2025 04:40:07 GMT (envelope-from git) Date: Wed, 24 Sep 2025 04:40:07 GMT Message-Id: <202509240440.58O4e7I3077718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 4b286fc6d5f1 - stable/14 - OSSL_HTTP_get(): Reset redirection_url in each iteration List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4b286fc6d5f1762a17180ab86b5cf7debf78d020 Auto-Submitted: auto-generated The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=4b286fc6d5f1762a17180ab86b5cf7debf78d020 commit 4b286fc6d5f1762a17180ab86b5cf7debf78d020 Author: Enji Cooper AuthorDate: 2025-05-28 02:34:44 +0000 Commit: Enji Cooper CommitDate: 2025-09-24 04:39:03 +0000 OSSL_HTTP_get(): Reset redirection_url in each iteration Also remove some dead assignments. Obtained from: openssl (e78c8b791c0e03e750ef7196bc7bfee8e5bd00a0) MFC after: 2 weeks Requested by: Phillip Sabatino Sponsored by: Dell, Inc. (cherry picked from commit 18378ef11a0a5a8fb6c62761b1a20c23c12a4aa6) --- crypto/openssl/crypto/http/http_client.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/crypto/openssl/crypto/http/http_client.c b/crypto/openssl/crypto/http/http_client.c index c86db4405b8f..4652269b9ada 100644 --- a/crypto/openssl/crypto/http/http_client.c +++ b/crypto/openssl/crypto/http/http_client.c @@ -1138,13 +1138,12 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, const char *expected_ct, int expect_asn1, size_t max_resp_len, int timeout) { - char *current_url, *redirection_url = NULL; + char *current_url; int n_redirs = 0; char *host; char *port; char *path; int use_ssl; - OSSL_HTTP_REQ_CTX *rctx = NULL; BIO *resp = NULL; time_t max_time = timeout > 0 ? time(NULL) + timeout : 0; @@ -1156,6 +1155,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, return NULL; for (;;) { + char *redirection_url; + OSSL_HTTP_REQ_CTX *rctx; + if (!OSSL_HTTP_parse_url(current_url, &use_ssl, NULL /* user */, &host, &port, NULL /* port_num */, &path, NULL, NULL)) break; @@ -1164,6 +1166,7 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, use_ssl, bio, rbio, bio_update_fn, arg, buf_size, timeout); new_rpath: + redirection_url = NULL; if (rctx != NULL) { if (!OSSL_HTTP_set1_request(rctx, path, headers, NULL /* content_type */, @@ -1173,9 +1176,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, 0 /* no keep_alive */)) { OSSL_HTTP_REQ_CTX_free(rctx); rctx = NULL; - } else { + } else { resp = OSSL_HTTP_exchange(rctx, &redirection_url); - } + } } OPENSSL_free(path); if (resp == NULL && redirection_url != NULL) { @@ -1190,7 +1193,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, OPENSSL_free(host); OPENSSL_free(port); (void)OSSL_HTTP_close(rctx, 1); - rctx = NULL; BIO_free(resp); OPENSSL_free(current_url); return NULL; @@ -1200,7 +1202,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, OPENSSL_free(host); OPENSSL_free(port); (void)OSSL_HTTP_close(rctx, 1); - rctx = NULL; continue; } /* if redirection not allowed, ignore it */ @@ -1210,7 +1211,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, OPENSSL_free(port); if (!OSSL_HTTP_close(rctx, resp != NULL)) { BIO_free(resp); - rctx = NULL; resp = NULL; } break;