diff options
Diffstat (limited to 'src/mongo/executor/async_secure_stream.cpp')
-rw-r--r-- | src/mongo/executor/async_secure_stream.cpp | 11 |
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(); |