summaryrefslogtreecommitdiff
path: root/src/mongo/util
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2018-01-29 13:12:49 -0500
committerMark Benvenuto <mark.benvenuto@mongodb.com>2018-01-29 13:12:49 -0500
commit6d41f4b4c26de7af4752d8854092bcdd2f8de097 (patch)
tree2d8be6c95d45b8b8279ce7fc8719d5acbee29052 /src/mongo/util
parenta263ed4f10132b32117c3981cdaec9522e1288a2 (diff)
downloadmongo-6d41f4b4c26de7af4752d8854092bcdd2f8de097.tar.gz
SERVER-32751 Simplify SSLManagerInterface
Diffstat (limited to 'src/mongo/util')
-rw-r--r--src/mongo/util/net/ssl_manager.h8
-rw-r--r--src/mongo/util/net/ssl_manager_openssl.cpp40
2 files changed, 7 insertions, 41 deletions
diff --git a/src/mongo/util/net/ssl_manager.h b/src/mongo/util/net/ssl_manager.h
index ebf6021fec9..ea02f94496c 100644
--- a/src/mongo/util/net/ssl_manager.h
+++ b/src/mongo/util/net/ssl_manager.h
@@ -157,16 +157,8 @@ public:
virtual int SSL_write(SSLConnectionInterface* conn, const void* buf, int num) = 0;
- virtual unsigned long ERR_get_error() = 0;
-
- virtual char* ERR_error_string(unsigned long e, char* buf) = 0;
-
- virtual int SSL_get_error(const SSLConnectionInterface* conn, int ret) = 0;
-
virtual int SSL_shutdown(SSLConnectionInterface* conn) = 0;
- virtual void SSL_free(SSLConnectionInterface* conn) = 0;
-
enum class ConnectionDirection { kIncoming, kOutgoing };
/**
diff --git a/src/mongo/util/net/ssl_manager_openssl.cpp b/src/mongo/util/net/ssl_manager_openssl.cpp
index fb141e4c9a7..a9290610d53 100644
--- a/src/mongo/util/net/ssl_manager_openssl.cpp
+++ b/src/mongo/util/net/ssl_manager_openssl.cpp
@@ -352,15 +352,7 @@ public:
int SSL_write(SSLConnectionInterface* conn, const void* buf, int num) final;
- virtual unsigned long ERR_get_error() final;
-
- virtual char* ERR_error_string(unsigned long e, char* buf) final;
-
- virtual int SSL_get_error(const SSLConnectionInterface* conn, int ret) final;
-
- virtual int SSL_shutdown(SSLConnectionInterface* conn) final;
-
- void SSL_free(SSLConnectionInterface* conn) final;
+ int SSL_shutdown(SSLConnectionInterface* conn) final;
private:
const int _rolesNid = OBJ_create(mongodbRolesOID.identifier.c_str(),
@@ -635,7 +627,7 @@ int SSLManagerOpenSSL::SSL_read(SSLConnectionInterface* connInterface, void* buf
} while (!_doneWithSSLOp(conn, status));
if (status <= 0)
- _handleSSLError(SSL_get_error(conn, status), status);
+ _handleSSLError(SSL_get_error(conn->ssl, status), status);
return status;
}
@@ -647,23 +639,10 @@ int SSLManagerOpenSSL::SSL_write(SSLConnectionInterface* connInterface, const vo
} while (!_doneWithSSLOp(conn, status));
if (status <= 0)
- _handleSSLError(SSL_get_error(conn, status), status);
+ _handleSSLError(SSL_get_error(conn->ssl, status), status);
return status;
}
-unsigned long SSLManagerOpenSSL::ERR_get_error() {
- return ::ERR_get_error();
-}
-
-char* SSLManagerOpenSSL::ERR_error_string(unsigned long e, char* buf) {
- return ::ERR_error_string(e, buf);
-}
-
-int SSLManagerOpenSSL::SSL_get_error(const SSLConnectionInterface* connInterface, int ret) {
- const SSLConnection* conn = checked_cast<const SSLConnection*>(connInterface);
- return ::SSL_get_error(conn->ssl, ret);
-}
-
int SSLManagerOpenSSL::SSL_shutdown(SSLConnectionInterface* connInterface) {
int status;
SSLConnectionOpenSSL* conn = checked_cast<SSLConnectionOpenSSL*>(connInterface);
@@ -672,15 +651,10 @@ int SSLManagerOpenSSL::SSL_shutdown(SSLConnectionInterface* connInterface) {
} while (!_doneWithSSLOp(conn, status));
if (status < 0)
- _handleSSLError(SSL_get_error(conn, status), status);
+ _handleSSLError(SSL_get_error(conn->ssl, status), status);
return status;
}
-void SSLManagerOpenSSL::SSL_free(SSLConnectionInterface* connInterface) {
- SSLConnectionOpenSSL* conn = checked_cast<SSLConnectionOpenSSL*>(connInterface);
- return ::SSL_free(conn->ssl);
-}
-
Status SSLManagerOpenSSL::initSSLContext(SSL_CTX* context,
const SSLParams& params,
ConnectionDirection direction) {
@@ -1216,14 +1190,14 @@ SSLConnectionInterface* SSLManagerOpenSSL::connect(Socket* socket) {
const auto undotted = removeFQDNRoot(socket->remoteAddr().hostOrIp());
int ret = ::SSL_set_tlsext_host_name(sslConn->ssl, undotted.c_str());
if (ret != 1)
- _handleSSLError(SSL_get_error(sslConn.get(), ret), ret);
+ _handleSSLError(SSL_get_error(sslConn.get()->ssl, ret), ret);
do {
ret = ::SSL_connect(sslConn->ssl);
} while (!_doneWithSSLOp(sslConn.get(), ret));
if (ret != 1)
- _handleSSLError(SSL_get_error(sslConn.get(), ret), ret);
+ _handleSSLError(SSL_get_error(sslConn.get()->ssl, ret), ret);
return sslConn.release();
}
@@ -1240,7 +1214,7 @@ SSLConnectionInterface* SSLManagerOpenSSL::accept(Socket* socket,
} while (!_doneWithSSLOp(sslConn.get(), ret));
if (ret != 1)
- _handleSSLError(SSL_get_error(sslConn.get(), ret), ret);
+ _handleSSLError(SSL_get_error(sslConn.get()->ssl, ret), ret);
return sslConn.release();
}