diff options
author | gluh@gluh.mysql.r18.ru <> | 2003-04-16 17:25:05 +0500 |
---|---|---|
committer | gluh@gluh.mysql.r18.ru <> | 2003-04-16 17:25:05 +0500 |
commit | d2bfaed9c2261df5a5d7de7da9dbeb49bde38b8e (patch) | |
tree | 783d0a1c01b6f3fbb614414921f56f69a1cec45f /vio | |
parent | 05817b7311aeb6935320247ea535db9c444a1b9a (diff) | |
download | mariadb-git-d2bfaed9c2261df5a5d7de7da9dbeb49bde38b8e.tar.gz |
Fix bug (273):The x509 cert issuer seems not to be checked against the CA
Diffstat (limited to 'vio')
-rw-r--r-- | vio/viossl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vio/viossl.c b/vio/viossl.c index cf1c98b5382..0f34a45f9aa 100644 --- a/vio/viossl.c +++ b/vio/viossl.c @@ -281,7 +281,8 @@ int sslaccept(struct st_VioSSLAcceptorFd* ptr, Vio* vio, long timeout) SSL_SESSION_set_timeout(SSL_get_session(vio->ssl_), timeout); SSL_set_fd(vio->ssl_,vio->sd); SSL_set_accept_state(vio->ssl_); - if (SSL_do_handshake(vio->ssl_) < 1) + if (SSL_do_handshake(vio->ssl_) < 1 || + SSL_get_verify_result(vio->ssl_) != X509_V_OK) { DBUG_PRINT("error", ("SSL_do_handshake failure")); report_errors(); @@ -354,7 +355,8 @@ int sslconnect(struct st_VioSSLConnectorFd* ptr, Vio* vio, long timeout) SSL_SESSION_set_timeout(SSL_get_session(vio->ssl_), timeout); SSL_set_fd (vio->ssl_, vio->sd); SSL_set_connect_state(vio->ssl_); - if (SSL_do_handshake(vio->ssl_) < 1) + if (SSL_do_handshake(vio->ssl_) < 1 || + SSL_get_verify_result(vio->ssl_) != X509_V_OK) { DBUG_PRINT("error", ("SSL_do_handshake failure")); report_errors(); |