|
|
@@ -559,6 +559,11 @@ int SSL_do_handshake(SSL *ssl) { |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
if (ssl->s3->send_shutdown != ssl_shutdown_none) { |
|
|
|
OPENSSL_PUT_ERROR(SSL, SSL_R_PROTOCOL_IS_SHUTDOWN); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
if (!SSL_in_init(ssl)) { |
|
|
|
return 1; |
|
|
|
} |
|
|
@@ -599,6 +604,11 @@ static int ssl_read_impl(SSL *ssl, void *buf, int num, int peek) { |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
if (ssl->s3->send_shutdown != ssl_shutdown_none) { |
|
|
|
OPENSSL_PUT_ERROR(SSL, SSL_R_PROTOCOL_IS_SHUTDOWN); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
/* This may require multiple iterations. False Start will cause |
|
|
|
* |ssl->handshake_func| to signal success one step early, but the handshake |
|
|
|
* must be completely finished before other modes are accepted. */ |
|
|
|