boringssl/ssl
David Benjamin e7c95d91f8 Run TLS 1.3 tests at all variants and fix bugs.
We were only running a random subset of TLS 1.3 tests with variants and
let a lot of bugs through as a result.

- HelloRetryRequest-EmptyCookie wasn't actually testing what we were
  trying to test.

- The second HelloRetryRequest detection needs tweaks in draft-22.

- The empty HelloRetryRequest logic can't be based on non-empty
  extensions in draft-22.

- We weren't sending ChangeCipherSpec correctly in HRR or testing it
  right.

- Rework how runner reads ChangeCipherSpec by setting a flag which
  affects the next readRecord. This cuts down a lot of cases and works
  correctly if the client didn't send early data. (In that case, we
  don't flush CCS until EndOfEarlyData and runner deadlocks waiting for
  the ChangeCipherSpec to arrive.)

Change-Id: I559c96ea3a8b350067e391941231713c6edb2f78
Reviewed-on: https://boringssl-review.googlesource.com/23125
Reviewed-by: Steven Valdez <svaldez@chromium.org>
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-11-20 18:19:18 +00:00
..
test Run TLS 1.3 tests at all variants and fix bugs. 2017-11-20 18:19:18 +00:00
bio_ssl.cc
CMakeLists.txt
custom_extensions.cc
d1_both.cc
d1_lib.cc
d1_pkt.cc
d1_srtp.cc
dtls_method.cc Remove supports_cipher hook. 2017-11-01 16:44:46 +00:00
dtls_record.cc
handshake_client.cc Implement PR 1091 (TLS 1.3 draft '22'). 2017-11-11 06:24:55 +00:00
handshake_server.cc Even more fun with Span. 2017-11-01 16:28:56 +00:00
handshake.cc Implement PR 1091 (TLS 1.3 draft '22'). 2017-11-11 06:24:55 +00:00
internal.h Implement PR 1091 (TLS 1.3 draft '22'). 2017-11-11 06:24:55 +00:00
s3_both.cc
s3_lib.cc
s3_pkt.cc Adding support for draft 21 as a TLS 1.3 variant. 2017-11-01 21:32:36 +00:00
span_test.cc
ssl_aead_ctx.cc
ssl_asn1.cc
ssl_buffer.cc
ssl_cert.cc Adding support for draft 21 as a TLS 1.3 variant. 2017-11-01 21:32:36 +00:00
ssl_cipher.cc Move the SSL_eNULL special-case into the matching function. 2017-11-01 16:45:06 +00:00
ssl_file.cc
ssl_key_share.cc Support additional curve names. 2017-11-03 01:32:49 +00:00
ssl_lib.cc Adding support for draft 21 as a TLS 1.3 variant. 2017-11-01 21:32:36 +00:00
ssl_privkey.cc Also print name for SSL_SIGN_RSA_PKCS1_MD5_SHA1. 2017-11-06 17:27:31 +00:00
ssl_session.cc
ssl_stat.cc
ssl_test.cc Add helper functions for SSL_SIGN_*. 2017-11-03 16:05:11 +00:00
ssl_transcript.cc Adding support for draft 21 as a TLS 1.3 variant. 2017-11-01 21:32:36 +00:00
ssl_versions.cc Disable 'draft 22' by default. 2017-11-12 03:26:05 +00:00
ssl_x509.cc
t1_enc.cc Even more fun with Span. 2017-11-01 16:28:56 +00:00
t1_lib.cc Add missing error path. 2017-11-20 16:59:08 +00:00
tls13_both.cc Implement PR 1091 (TLS 1.3 draft '22'). 2017-11-11 06:24:55 +00:00
tls13_client.cc Run TLS 1.3 tests at all variants and fix bugs. 2017-11-20 18:19:18 +00:00
tls13_enc.cc Adding support for draft 21 as a TLS 1.3 variant. 2017-11-01 21:32:36 +00:00
tls13_server.cc Implement PR 1091 (TLS 1.3 draft '22'). 2017-11-11 06:24:55 +00:00
tls_method.cc Remove supports_cipher hook. 2017-11-01 16:44:46 +00:00
tls_record.cc Fix TLSInnerPlaintext limit. 2017-11-14 05:38:48 +00:00