Revert "Forbid calling SSL_read, SSL_peek, and SSL_do_handshake post-shutdown."
This reverts commit c7eae5a3267dfc9557314a24cc8da77d287ae885. pyOpenSSL
expects to be able to call |SSL_read| after a shutdown and get EOF.
Change-Id: Icc5faa09d644ec29aac99b181dac0db197f283e3
Reviewed-on: https://boringssl-review.googlesource.com/8060
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
index f1eb6db..c54c10b 100644
--- a/ssl/s3_pkt.c
+++ b/ssl/s3_pkt.c
@@ -494,8 +494,7 @@
/* Begin a new handshake. */
ssl->s3->total_renegotiations++;
ssl->state = SSL_ST_CONNECT;
- /* TODO(davidben): Lift this call up to SSL_read. */
- i = SSL_do_handshake(ssl);
+ i = ssl->handshake_func(ssl);
if (i < 0) {
return i;
}
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 51a8a06..a27d430 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -565,11 +565,6 @@
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;
}
@@ -610,11 +605,6 @@
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. */