summaryrefslogtreecommitdiff
path: root/src/mongo/executor/async_secure_stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/executor/async_secure_stream.cpp')
-rw-r--r--src/mongo/executor/async_secure_stream.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mongo/executor/async_secure_stream.cpp b/src/mongo/executor/async_secure_stream.cpp
index 8696af24b81..02305b4a16d 100644
--- a/src/mongo/executor/async_secure_stream.cpp
+++ b/src/mongo/executor/async_secure_stream.cpp
@@ -100,13 +100,16 @@ void AsyncSecureStream::_handleConnect(asio::ip::tcp::resolver::iterator iter) {
if (ec) {
return _userHandler(ec);
}
- return _handleHandshake(ec, iter->host_name());
+ return _handleHandshake(ec, *iter);
}));
}
-void AsyncSecureStream::_handleHandshake(std::error_code ec, const std::string& hostName) {
- auto certStatus =
- getSSLManager()->parseAndValidatePeerCertificate(_stream.native_handle(), hostName);
+void AsyncSecureStream::_handleHandshake(
+ std::error_code ec, const asio::ip::basic_resolver_entry<asio::ip::tcp>& entry) {
+ auto certStatus = getSSLManager()->parseAndValidatePeerCertificate(
+ _stream.native_handle(),
+ entry.host_name(),
+ HostAndPort(entry.host_name(), entry.endpoint().port()));
if (!certStatus.isOK()) {
warning() << "Failed to validate peer certificate during SSL handshake: "
<< certStatus.getStatus();