dd6fed9704
RFC 5077 explicitly allows the server to change its mind and send no ticket by sending an empty NewSessionTicket. See also upstream's 21b538d616b388fa0ce64ef54da3504253895cf8. CBS_stow handles this case somewhat, so we won't get confused about malloc(0) as upstream did. But we'll still fill in a bogus SHA-256 session ID, cache the session, and send a ClientHello with bogus session ID but empty ticket extension. (The session ID field changes meaning significantly when the ticket is or isn't empty. Non-empty means "ignore the session ID, but echo if it resuming" while empty means "I support tickets, but am offering this session ID". The other behavior change is that a server which changes its mind on a resumption handshake will no longer override the client's session cache with a ticket-less session. (This is kind of silly. Given that we don't get completely confused due to CBS_stow, it might not be worth bothering with the rest. Mostly it bugged me that we send an indicator session ID with no ticket.) Change-Id: Id6b5bde1fe51aa3e1f453a948e59bfd1e2502db6 Reviewed-on: https://boringssl-review.googlesource.com/6340 Reviewed-by: Adam Langley <alangley@gmail.com> |
||
---|---|---|
.. | ||
pqueue | ||
test | ||
CMakeLists.txt | ||
custom_extensions.c | ||
d1_both.c | ||
d1_clnt.c | ||
d1_lib.c | ||
d1_meth.c | ||
d1_pkt.c | ||
d1_srtp.c | ||
d1_srvr.c | ||
dtls_record.c | ||
internal.h | ||
s3_both.c | ||
s3_clnt.c | ||
s3_enc.c | ||
s3_lib.c | ||
s3_meth.c | ||
s3_pkt.c | ||
s3_srvr.c | ||
ssl_aead_ctx.c | ||
ssl_asn1.c | ||
ssl_buffer.c | ||
ssl_cert.c | ||
ssl_cipher.c | ||
ssl_file.c | ||
ssl_lib.c | ||
ssl_rsa.c | ||
ssl_session.c | ||
ssl_stat.c | ||
ssl_test.cc | ||
t1_enc.c | ||
t1_lib.c | ||
tls_record.c |