boringssl/ssl
David Benjamin e0e7d0da68 Initialize the record buffers after the handshake check.
The new V2ClientHello sniff asserts, for safety, that nothing else has
initialized the record layer before it runs. However, OpenSSL allows you to
avoid explicitly calling SSL_connect/SSL_accept and instead let
SSL_read/SSL_write implicitly handshake for you. This check happens at a fairly
low-level in the ssl3_read_bytes function, at which point the record layer has
already been initialized.

Add some tests to ensure this mode works.

(Later we'll lift the handshake check to a higher-level which is probably
simpler.)

Change-Id: Ibeb7fb78e5eb75af5411ba15799248d94f12820b
Reviewed-on: https://boringssl-review.googlesource.com/3334
Reviewed-by: Adam Langley <agl@google.com>
2015-02-09 19:49:45 +00:00
..
pqueue Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
test Initialize the record buffers after the handshake check. 2015-02-09 19:49:45 +00:00
CMakeLists.txt Change CMakeLists.txt to two-space indent. 2015-01-28 16:37:10 -08:00
d1_both.c Simplify DTLS epoch rewind. 2015-02-03 20:34:06 +00:00
d1_clnt.c Reformatting of several DTLS source files. 2014-12-13 16:28:18 -08:00
d1_lib.c Remove dtls1_timeout_st. 2015-02-03 00:41:07 +00:00
d1_meth.c Implement SSL_clear with ssl_new and ssl_free. 2015-01-12 22:35:58 +00:00
d1_pkt.c Initialize the record buffers after the handshake check. 2015-02-09 19:49:45 +00:00
d1_srtp.c Store SRTP_PROTECTION_PROFILES as const. 2015-01-14 22:10:08 +00:00
d1_srvr.c Remove NETSCAPE_HANG_BUG. 2015-02-03 00:41:15 +00:00
s3_both.c Touch up ssl3_get_message. 2014-12-17 00:16:23 +00:00
s3_clnt.c Check for EVP_Digest failure. 2015-02-09 19:40:46 +00:00
s3_enc.c Implement SSLv3 ciphers with stateful AEADs. 2015-01-14 20:55:58 +00:00
s3_lib.c Forbid interleaving between application data and handshake protocols. 2015-02-09 19:42:44 +00:00
s3_meth.c Implement SSL_clear with ssl_new and ssl_free. 2015-01-12 22:35:58 +00:00
s3_pkt.c Initialize the record buffers after the handshake check. 2015-02-09 19:49:45 +00:00
s3_srvr.c Remove NETSCAPE_HANG_BUG. 2015-02-03 00:41:15 +00:00
ssl_algs.c Make SSL_load_error_strings a no-op. 2015-01-14 22:09:58 +00:00
ssl_asn1.c Remove SSL_SESSION::cipher_id. 2015-01-14 21:10:55 +00:00
ssl_cert.c Add (void) to some macros to satisfy compiler. 2015-01-12 23:46:03 +00:00
ssl_ciph.c Fix some unchecked mallocs. 2015-02-09 19:39:41 +00:00
ssl_error.c Remove alert_fragment and handshake_fragment. 2015-02-03 19:10:08 +00:00
ssl_lib.c Forbid initiating renegotiate in DTLS. 2015-02-03 19:06:19 +00:00
ssl_locl.h aarch64 support. 2015-01-14 23:38:11 +00:00
ssl_rsa.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00
ssl_sess.c Enable more warnings & treat warnings as errors on Windows. 2015-01-31 00:18:55 +00:00
ssl_stat.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00
ssl_test.c Merge SSLv23_method and DTLS_ANY_VERSION. 2014-12-13 15:22:21 -08:00
ssl_txt.c Remove SSL_SESSION::cipher_id. 2015-01-14 21:10:55 +00:00
t1_enc.c Simplify DTLS epoch rewind. 2015-02-03 20:34:06 +00:00
t1_lib.c Only send sigalgs extension in 1.2-capable ClientHellos. 2015-01-26 18:45:04 +00:00
t1_reneg.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00