Go to file
David Benjamin bb15e3ddb5 Remove method-switching codepath in SSL_clear.
Although the comment suggests this was added with an s->session check to
account for SSL_set_session switching methods (which we will remove in the next
commit) and to account for SSLv23_method switching methods (which we hope to
remove after a long tower of cleanup), the current codepath never runs and
can't work:

If it is called prior to handshaking or setting a session, no method switch has
happened so that codepath is dead. If it is called after setting a session, the
s->session check will keep it from running. If it is called after a handshake,
we will have established a session so that check will again keep it from
running. (Finally, if it is called during the handshake, the in_handshake check
will stop; that there is an SSL_clear call in the handshake state machine at
all is a bug that will be addressed once more things are disentangled. See
upstream's 979689aa5cfa100ccbc1f25064e9398be4b7b05c.)

Were that code to ever run, the SSL* would be in an inconsistent state. It
switches the method, but not the handshake_func. The handshake_func isn't
switched to NULL, so that will keep the SSL_connect and SSL_accept code from fixing it.

It seems the intent was that the caller would always call
SSL_set_{connect,accept}_state to fix this. But as of upstream's
b31b04d951e9b65bde29657e1ae057b76f0f0a73, this is not necessary and indeed
isn't called by a lot of consumer code.

Change-Id: I710652b1d565b77bc26f913c2066ce749a9025c9
Reviewed-on: https://boringssl-review.googlesource.com/2430
Reviewed-by: Adam Langley <agl@google.com>
2014-12-01 21:43:13 +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 Make OCSP response and SCT list getter const-correct. 2014-12-01 21:20:56 +00:00
ssl Remove method-switching codepath in SSL_clear. 2014-12-01 21:43:13 +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