Go to file
David Benjamin 533ef7304d Remove SSL_clear calls in handshake functions.
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>
2014-12-02 19:32:39 +00:00
crypto Fix bio_test.c build on Windows. 2014-12-01 19:06:59 +00:00
doc Inital import. 2014-06-20 13:17:32 -07:00
include/openssl Don't assign handshake_func in the handshake functions. 2014-12-02 19:30:49 +00:00
ssl Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
tool Get bssl tool building on Windows. 2014-10-31 22:02:01 +00:00
util Update constant-time operations. 2014-11-10 13:48:30 -08:00
.clang-format Inital import. 2014-06-20 13:17:32 -07:00
.gitignore Inital import. 2014-06-20 13:17:32 -07:00
BUILDING Build with yasm on Win64 as well. 2014-10-31 22:02:45 +00:00
CMakeLists.txt Make build work on OS X with older cmake versions. 2014-11-18 23:08:20 +00:00
codereview.settings Add a codereview.settings file. 2014-11-18 22:21:33 +00:00