boringssl/ssl
David Benjamin f34a009834 Don't set s->state and s->server before the side is known.
If SSL_clear is called before SSL_set_{connect,accept}_state (as SSL_new does
internally), s->state will get set prematurely. Likewise, s->server is set
based on the method's ssl_accept hook, but client SSL's may be initialized from
a generic SSL_METHOD too.

Since we can't easily get rid of the generic SSL_METHODs, defer s->state and
s->server initialization until the side is known.

Change-Id: I0972e17083df22a3c09f6f087011b54c699a22e7
Reviewed-on: https://boringssl-review.googlesource.com/2439
Reviewed-by: Adam Langley <agl@google.com>
2014-12-02 19:34:49 +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 s->type from SSL. 2014-12-02 19:34:28 +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 Remove SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS. 2014-12-02 19:33:04 +00:00
d1_srtp.c Add less dangerous versions of SRTP functions. 2014-10-27 21:58:09 +00:00
d1_srvr.c Remove s->type from SSL. 2014-12-02 19:34:28 +00:00
s3_both.c Remove s->type from SSL. 2014-12-02 19:34:28 +00:00
s3_cbc.c Add malloc failure tests. 2014-11-19 01:24:46 +00:00
s3_clnt.c Remove s->type from SSL. 2014-12-02 19:34:28 +00:00
s3_enc.c Fix a couple more malloc test crashes. 2014-11-19 22:17:50 +00:00
s3_lib.c Remove SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS. 2014-12-02 19:33:04 +00:00
s3_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s3_pkt.c Remove SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS. 2014-12-02 19:33:04 +00:00
s3_srvr.c Remove s->type from SSL. 2014-12-02 19:34:28 +00:00
s23_clnt.c Remove s->type from SSL. 2014-12-02 19:34:28 +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 s->type from SSL. 2014-12-02 19:34:28 +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 Remove s->type from SSL. 2014-12-02 19:34:28 +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 Don't set s->state and s->server before the side is known. 2014-12-02 19:34:49 +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