aboutsummaryrefslogtreecommitdiffstats
path: root/main/squid/CVE-2021-41611.patch
blob: f96d4f74ef30a77480dd7c7a419ba63114964b4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
commit 533b4359f16cf9ed15a6d709a57a4b06e4222cfe
Author: Alex Rousskov <rousskov@measurement-factory.com>
Date:   2021-09-24 20:10:37 +0000

    TLS: Fix X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY handling (#898)

diff --git a/src/security/PeerConnector.cc b/src/security/PeerConnector.cc
index 58db7b057..c601fffb2 100644
--- a/src/security/PeerConnector.cc
+++ b/src/security/PeerConnector.cc
@@ -653,11 +653,11 @@ Security::PeerConnector::handleMissingCertificates(const Security::IoResult &ioR
     Must(callerHandlesMissingCertificates);
     callerHandlesMissingCertificates = false;
 
-    if (!computeMissingCertificateUrls(sconn))
-        return handleNegotiationResult(ioResult);
-
     suspendNegotiation(ioResult);
 
+    if (!computeMissingCertificateUrls(sconn))
+        return resumeNegotiation();
+
     assert(!urlsOfMissingCerts.empty());
     startCertDownloading(urlsOfMissingCerts.front());
     urlsOfMissingCerts.pop();