Use SSL_do_handshake in place of SSL_connect/SSL_accept

svn:r1393
This commit is contained in:
Nick Mathewson 2009-07-30 20:40:40 +00:00
parent 8a3007efb9
commit 44715517e8

View File

@ -776,10 +776,8 @@ do_handshake(struct bufferevent_openssl *bev_ssl)
assert(0);
break;
case BUFFEREVENT_SSL_CONNECTING:
r = SSL_connect(bev_ssl->ssl);
break;
case BUFFEREVENT_SSL_ACCEPTING:
r = SSL_accept(bev_ssl->ssl);
r = SSL_do_handshake(bev_ssl->ssl);
break;
}
@ -1046,9 +1044,11 @@ bufferevent_openssl_new_impl(struct event_base *base,
switch (state) {
case BUFFEREVENT_SSL_ACCEPTING:
SSL_set_accept_state(bev_ssl->ssl);
set_handshake_callbacks(bev_ssl, fd);
break;
case BUFFEREVENT_SSL_CONNECTING:
SSL_set_connect_state(bev_ssl->ssl);
set_handshake_callbacks(bev_ssl, fd);
break;
case BUFFEREVENT_SSL_OPEN: