boringssl/ssl
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
..
pqueue Test insertion of duplicates in pqueue_test. 2014-11-06 01:46:57 +00:00
test Remove a place where SSL_clear cleans up after client/server confusion. 2014-12-02 19:31:57 +00:00
CMakeLists.txt Merge the get_ssl_method hooks between TLS and SSLv3. 2014-09-30 22:58:59 +00:00
d1_both.c Remove DTLSv1_listen. 2014-11-10 22:39:24 +00:00
d1_clnt.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
d1_enc.c Remove KSSL_DEBUG. 2014-11-04 19:35:38 +00:00
d1_lib.c Remove a place where SSL_clear cleans up after client/server confusion. 2014-12-02 19:31:57 +00:00
d1_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
d1_pkt.c Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
d1_srtp.c Add less dangerous versions of SRTP functions. 2014-10-27 21:58:09 +00:00
d1_srvr.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
s3_both.c Remove remnant of MS SGC second ClientHello. 2014-11-04 00:25:13 +00:00
s3_cbc.c Add malloc failure tests. 2014-11-19 01:24:46 +00:00
s3_clnt.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
s3_enc.c Fix a couple more malloc test crashes. 2014-11-19 22:17:50 +00:00
s3_lib.c Fix FALLBACK_SCSV, Channel ID, OCSP stapling, and SCTs with the generic method. 2014-12-02 19:31:35 +00:00
s3_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s3_pkt.c Remove support for processing fragmented alerts 2014-11-13 22:58:30 +00:00
s3_srvr.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
s23_clnt.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
s23_lib.c Remove default_timeout hook. 2014-08-18 17:25:20 +00:00
s23_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s23_pkt.c Inital import. 2014-06-20 13:17:32 -07:00
s23_srvr.c Remove SSL_clear calls in handshake functions. 2014-12-02 19:32:39 +00:00
ssl_algs.c Remove indirection in loading ciphers. 2014-09-15 21:06:10 +00:00
ssl_asn1.c Remove psk_identity_hint from SSL_SESSION. 2014-11-10 23:59:47 +00:00
ssl_cert.c Account for EVP_PKEY capabilities in selecting hash functions. 2014-11-18 22:22:33 +00:00
ssl_ciph.c Remove client-side support for ServerKeyExchange in the RSA key exchange. 2014-11-10 23:00:09 +00:00
ssl_error.c Don't assign handshake_func in the handshake functions. 2014-12-02 19:30:49 +00:00
ssl_lib.c Fix FALLBACK_SCSV, Channel ID, OCSP stapling, and SCTs with the generic method. 2014-12-02 19:31:35 +00:00
ssl_locl.h Remove SSL_(CTX_)get_ssl_method. 2014-12-02 19:30:25 +00:00
ssl_rsa.c Clean up ssl_set_cert_masks. 2014-11-18 22:21:52 +00:00
ssl_sess.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
ssl_stat.c Trim impossible state combinations. 2014-12-02 19:31:00 +00:00
ssl_test.c Remove psk_identity_hint from SSL_SESSION. 2014-11-10 23:59:47 +00:00
ssl_txt.c Remove some remnants of SSLv2. 2014-11-17 20:27:13 +00:00
t1_enc.c Add malloc failure tests. 2014-11-19 01:24:46 +00:00
t1_lib.c Remove SSL_set_session_secret_cb (EAP-FAST) 2014-11-21 21:51:10 +00:00
t1_reneg.c Port ssl3_get_client_hello to CBS. 2014-07-15 18:30:09 +00:00