Skip to content

Commit fcf8d2d

Browse files
Jorge Lopez Silvafacebook-github-bot
authored andcommitted
Avoid creating the verifier if we have a default cert verifier.
Summary: In Fwdproxy, we're creating multiple connections that we're not pooling. We're going to add connection pooling but in the meantime I still think it's worth fixing the bug in this diff. The `HTTPClient` allows you to specify a default verifier but it still creates the verifier first only to throw it away. This commit changes the verifier creation so that it will not create one if we want to use a default verifier. Reviewed By: hanidamlaj Differential Revision: D81638455 fbshipit-source-id: f1ac17fa80632b284e77ed812134926a9d1c414b
1 parent 78f32b2 commit fcf8d2d

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

proxygen/lib/http/coro/client/HTTPClient.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,19 @@ void getConnParamsImpl(HTTPCoroConnector::ConnectionParams* connParams,
6969
if (secureTransportImpl == SecureTransportImpl::TLS) {
7070
connParams->sslContext = HTTPCoroConnector::makeSSLContext(tlsParams);
7171
} else {
72+
HTTPCoroConnector::FizzContextAndVerifier fizzContextAndVerifier;
73+
7274
// This can throw
73-
baseParams->fizzContextAndVerifier =
74-
HTTPCoroConnector::makeFizzClientContextAndVerifier(tlsParams);
75-
if (HTTPClient::getDefaultCertVerifier()) {
76-
baseParams->fizzContextAndVerifier.fizzCertVerifier =
77-
HTTPClient::getDefaultCertVerifier();
75+
if (auto verifier = HTTPClient::getDefaultCertVerifier()) {
76+
fizzContextAndVerifier.fizzContext =
77+
HTTPCoroConnector::makeFizzClientContext(tlsParams);
78+
fizzContextAndVerifier.fizzCertVerifier = verifier;
79+
} else {
80+
fizzContextAndVerifier =
81+
HTTPCoroConnector::makeFizzClientContextAndVerifier(tlsParams);
7882
}
83+
84+
baseParams->fizzContextAndVerifier = std::move(fizzContextAndVerifier);
7985
}
8086
baseParams->serverName = sni.str();
8187
}

0 commit comments

Comments
 (0)