boringssl/ssl
David Benjamin 1a444daca6 Detach V2ClientHello hashing hack from ssl_hash_message_t.
This is kind of annoying (even new state is needed to keep the layering
right). As part of aligning the read paths of the TLS 1.2 and TLS 1.3
state machine, we'll want to move to states calling
ssl_hash_current_message when the process the message, rather than when
the message is read. Right now the TLS 1.2 optional message story
(reuse_message) depends on all messages preceded by an optional message
using ssl_hash_message. For instance, if TLS 1.2 decided to place
CertificateStatus before ServerKeyExchange, we would not be able to
handle it.

However, V2ClientHello, by being handled in the message layer, relies on
ssl_get_message-driven hashing to replace the usual ClientHello hash
with a hash of something custom. This switches things so rather than
ClientHellos being always pre-hashed by the message layer, simulated
ClientHellos no-op ssl_hash_current_message.

This just replaces one hack with another (V2ClientHello is inherently
nasty), but this hack should be more compatible with future plans.

BUG=128

Change-Id: If807ea749d91e306a37bb2362ecc69b84bf224c9
Reviewed-on: https://boringssl-review.googlesource.com/13265
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-01-27 23:22:14 +00:00
..
test Ignore 0-RTT-capable tickets unless enabled. 2017-01-26 21:29:32 +00:00
CMakeLists.txt Move a number of X.509 functions from ssl_lib.c to ssl_x509.c 2017-01-24 17:53:07 +00:00
custom_extensions.c Pass explicit hs parameters into custom_extensions.c. 2016-12-06 19:49:36 +00:00
d1_both.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
d1_lib.c Add a helper function for resetting SSL_get_error state. 2017-01-04 04:48:44 +00:00
d1_pkt.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
d1_srtp.c Fix ssl_ctx_make_profiles error handling. 2016-09-27 13:27:06 +00:00
dtls_method.c Remove the rest of write_message. 2017-01-25 23:39:23 +00:00
dtls_record.c Don't use the buffer BIO in DTLS. 2017-01-25 23:35:32 +00:00
handshake_client.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
handshake_server.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
internal.h Detach V2ClientHello hashing hack from ssl_hash_message_t. 2017-01-27 23:22:14 +00:00
s3_both.c Detach V2ClientHello hashing hack from ssl_hash_message_t. 2017-01-27 23:22:14 +00:00
s3_enc.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
s3_lib.c Don't use the buffer BIO in TLS. 2017-01-25 23:35:47 +00:00
s3_pkt.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
ssl_aead_ctx.c Allow dtls_seal_record to work in-place. 2017-01-25 16:27:32 +00:00
ssl_asn1.c Enabling 0-RTT on new Session Tickets. 2017-01-06 16:24:43 +00:00
ssl_buffer.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
ssl_cert.c Don't up_ref a NULL |CRYPTO_BUFFER|. 2017-01-27 22:09:49 +00:00
ssl_cipher.c Remove old ChaCha20-Poly1305 AEAD. 2017-01-19 23:27:54 +00:00
ssl_ecdh.c Remove New Hope key agreement. 2016-12-10 01:06:31 +00:00
ssl_file.c Check for sk_X509_NAME_push failures. 2016-09-27 13:18:37 +00:00
ssl_lib.c Don't use |X509| objects in |CERT|, by default. 2017-01-27 16:21:05 +00:00
ssl_rsa_cc.cc Convert one libssl function to C++11. 2017-01-17 21:51:06 +00:00
ssl_rsa.c Rename some single-letter argument names. 2017-01-27 16:21:23 +00:00
ssl_session.c Enabling 0-RTT on new Session Tickets. 2017-01-06 16:24:43 +00:00
ssl_stat.c Remove the rest of write_message. 2017-01-25 23:39:23 +00:00
ssl_test.cc Fix ssl_test with BORINGSSL_ANDROID_SYSTEM. 2017-01-25 16:23:10 +00:00
ssl_x509.c Don't use |X509| objects in |CERT|, by default. 2017-01-27 16:21:05 +00:00
t1_enc.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
t1_lib.c Remove mask_a and mask_k from CERT. 2017-01-27 15:44:17 +00:00
tls13_both.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
tls13_client.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
tls13_enc.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
tls13_server.c Move optional message type checks out of ssl_get_message. 2017-01-27 23:15:52 +00:00
tls_method.c Remove the rest of write_message. 2017-01-25 23:39:23 +00:00
tls_record.c Don't use the buffer BIO in DTLS. 2017-01-25 23:35:32 +00:00