boringssl/ssl
David Benjamin 4cf369b920 Reject empty records of unexpected type.
The old empty record logic discarded the records at a very low-level.
Let the error bubble up to ssl3_read_bytes so the type mismatch logic
may kick in before the empty record is skipped.

Add tests for when the record in question is application data, before
before the handshake and post ChangeCipherSpec.

BUG=521840

Change-Id: I47dff389cda65d6672b9be39d7d89490331063fa
Reviewed-on: https://boringssl-review.googlesource.com/5754
Reviewed-by: Adam Langley <agl@google.com>
2015-08-28 22:03:00 +00:00
..
pqueue Fix some malloc test crashs. 2015-05-21 18:00:10 +00:00
test Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00
CMakeLists.txt Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
custom_extensions.c Fix NULL dereference in the case of an unexpected extension from a server. 2015-08-07 18:21:20 +00:00
d1_both.c Remove the func parameter to OPENSSL_PUT_ERROR. 2015-07-16 02:02:37 +00:00
d1_clnt.c Decouple the handshake buffer and digest. 2015-08-07 01:10:33 +00:00
d1_lib.c Decouple the handshake buffer and digest. 2015-08-07 01:10:33 +00:00
d1_meth.c Remove signature algorithm configuration hooks and SSL_ctrl. 2015-08-18 22:13:20 +00:00
d1_pkt.c Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00
d1_srtp.c Convert the SRTP extension to the new system 2015-07-21 21:44:22 +00:00
d1_srvr.c Server-side OCSP stapling support. 2015-08-20 17:55:31 +00:00
dtls_record.c Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00
internal.h Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
s3_both.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
s3_clnt.c Make key exchange strength available. 2015-08-18 22:09:27 +00:00
s3_enc.c Simplify handshake hash handling. 2015-08-07 01:47:21 +00:00
s3_lib.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
s3_meth.c Remove signature algorithm configuration hooks and SSL_ctrl. 2015-08-18 22:13:20 +00:00
s3_pkt.c Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00
s3_srvr.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
ssl_aead_ctx.c Fold away SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD. 2015-08-07 00:57:37 +00:00
ssl_algs.c Rename ssl_locl.h to internal.h 2015-04-10 22:14:09 +00:00
ssl_asn1.c Make key exchange strength available. 2015-08-18 22:09:27 +00:00
ssl_buffer.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
ssl_cert.c Remove signature algorithm configuration hooks and SSL_ctrl. 2015-08-18 22:13:20 +00:00
ssl_cipher.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
ssl_lib.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
ssl_rsa.c Add server-side support for asynchronous signing. 2015-07-31 01:14:29 +00:00
ssl_sess.c Make key exchange strength available. 2015-08-18 22:09:27 +00:00
ssl_stat.c Factor out the buffering and low-level record code. 2015-08-28 22:01:02 +00:00
ssl_test.cc Make key exchange strength available. 2015-08-18 22:09:27 +00:00
ssl_txt.c Remove the func parameter to OPENSSL_PUT_ERROR. 2015-07-16 02:02:37 +00:00
t1_enc.c Simplify handshake hash handling. 2015-08-07 01:47:21 +00:00
t1_lib.c Server-side OCSP stapling support. 2015-08-20 17:55:31 +00:00
tls_record.c Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00