533ef7304d
If the state is SSL_ST_BEFORE, the SSL* was just initialized. Otherwise, we don't want to call SSL_clear. The one case I found where we do is if a handshake message is received and someone sets SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS. This is apparently intended for external consumers to set, but I see no code in Google that does. Which is fortunate because it'll trigger SSL_clear. This retains the BIOs but drops all connection state, including the record. If the client just initiated renego, that's the ClientHello that's lost. The connection then hangs: the now reset SSL* wants a ClientHello (under the null cipher because that too's been dropped) while the peer wants an encrypted ServerHello. Change-Id: Iddb3e0bb86d39d98155b060f9273a0856f2d1409 Reviewed-on: https://boringssl-review.googlesource.com/2436 Reviewed-by: Adam Langley <agl@google.com> |
||
---|---|---|
crypto | ||
doc | ||
include/openssl | ||
ssl | ||
tool | ||
util | ||
.clang-format | ||
.gitignore | ||
BUILDING | ||
CMakeLists.txt | ||
codereview.settings |