From nobody Thu May 29 17:57:09 2025 X-Original-To: dev-commits-src-main@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 4b7Ywj1nzHz5xHlT; Thu, 29 May 2025 17:57:09 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7Ywj18cnz3mNP; Thu, 29 May 2025 17:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748541429; 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=S7/nTYdtYxcRZYAULw7AX7VJnZLT4nwNVMQsX739ESA=; b=UfOp1yd7GoflEjbVK5NjGtci33x1hhyrdQycPOpr9U2oB3FCdRZHEr8hEbGOCzpdW40FNn aBWVpz+zEAsF2FL3rdVdRZp0l/fBEKdWB3fNBCrMombG0HEKwVkkJM2P0NMPcI7su1drN1 IFCFZ0rx+Q7APVNz9q/U2tdHCragJIssNEUTZ+FpTGLq2XOLt4IPOMaicVEp2SAHAp9R3Z C6wJI6oRtskBXdh57PRRQfrbx75Jwv0IOMJQHyJFiuqXjDwvZMVfivWQ2X+/koRj/QZzf8 yNPpzKeG35q4v/m/qe57ugXG2MO1O7kUXBTAYSCOk7VZqQsPHzLPU1oDPBsesQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748541429; a=rsa-sha256; cv=none; b=bjxzN1TMqy8UiDcZmJFqFXwJ1XlKFCiVRyBlI6o+KrnARyMn+M6v6Lq/9/PWGUSwqcHMqP pTMqlHG8CKMbTy+H5tiFS+er0C+cYsiBUzm3PcKimR4AaGjUIpJibYAj615HQeo89p51bN kOxy4y5sJ5f1r24Ck8xtoNiZIYjtyI4RxwHFrJXPnBPAQb6e5iyb4NRQbBfQ0gCS0sypOV 9dnLg6SCc5UKTqgIlfhbmtOlX4g5EbW5CKWG7AgtWyzRog8AEUp+33xRECYytszYo41CVd ECADDrRHiN9HvAgBlfvoYTEZVEQsRUYgJHoKuG1LTv7HV57ay9KOAWrox/WNsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748541429; 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=S7/nTYdtYxcRZYAULw7AX7VJnZLT4nwNVMQsX739ESA=; b=m8bXzj7Tme1mPZorm2mnOAt4rDU6ha7JKzWzPoirStiyjcYFZ7AeRd/fdg2W956R1Ylgw8 GeOwPRJq6zYICs4Jarms7JpvCvIMifAz9yN8LvZTVygTU7EaOR5AgoRVsvoOsoVCYj/5RX wCJOtvQaZ7PnJloCs0CxplGVFe1AnOlHDGcTQ7S+uDza4ppm9TIr77Yfm7xOchTM55ghte zlN2RgZR1kOAEOIpXrZO0cGypyddIf47OVf3z3+GenacIPTFvjBidbFQSPd262sgGZTuIO kxAiNSpDWvbHPpfQTLXnQ0s7b3MBUVSFFKn/VOQZmFNIOCwRU+JUIVWcu6AkdQ== 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 4b7Ywj0WKVz2q6; Thu, 29 May 2025 17:57:09 +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 54THv9i4005849; Thu, 29 May 2025 17:57:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54THv9Rg005846; Thu, 29 May 2025 17:57:09 GMT (envelope-from git) Date: Thu, 29 May 2025 17:57:09 GMT Message-Id: <202505291757.54THv9Rg005846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 18378ef11a0a - main - OSSL_HTTP_get(): Reset redirection_url in each iteration List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 18378ef11a0a5a8fb6c62761b1a20c23c12a4aa6 Auto-Submitted: auto-generated The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=18378ef11a0a5a8fb6c62761b1a20c23c12a4aa6 commit 18378ef11a0a5a8fb6c62761b1a20c23c12a4aa6 Author: Enji Cooper AuthorDate: 2025-05-28 02:34:44 +0000 Commit: Enji Cooper CommitDate: 2025-05-29 17:56:46 +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. --- 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;