openssl/ssl
Matt Caswell 657da85eea Move TLS CCS processing into the state machine
The handling of incoming CCS records is a little strange. Since CCS is not
a handshake message it is handled differently to normal handshake messages.
Unfortunately whilst technically it is not a handhshake message the reality
is that it must be processed in accordance with the state of the handshake.
Currently CCS records are processed entirely within the record layer. In
order to ensure that it is handled in accordance with the handshake state
a flag is used to indicate that it is an acceptable time to receive a CCS.

Previously this flag did not exist (see CVE-2014-0224), but the flag should
only really be considered a workaround for the problem that CCS is not
visible to the state machine.

Outgoing CCS messages are already handled within the state machine.

This patch makes CCS visible to the TLS state machine. A separate commit
will handle DTLS.

Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-08-03 11:18:05 +01:00
..
record Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
bio_ssl.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
d1_both.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
d1_clnt.c Remove support for SSL3_FLAGS_DELAY_CLIENT_FINISHED 2015-07-27 15:00:05 +01:00
d1_lib.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
d1_meth.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
d1_msg.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
d1_srtp.c PACKETise ClientHello processing 2015-08-03 11:01:42 +01:00
d1_srvr.c Tidy up ssl3_digest_cached_records logic. 2015-06-23 22:24:09 +01:00
install-ssl.com Updates following review comments 2015-05-16 09:20:52 +01:00
Makefile Add initial packet parsing code 2015-08-03 11:01:42 +01:00
packet_locl.h Add initial packet parsing code 2015-08-03 11:01:42 +01:00
s3_both.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
s3_cbc.c Identify and move OpenSSL internal header files 2015-05-14 15:13:49 +02:00
s3_clnt.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
s3_enc.c Avoid duplication. 2015-06-23 22:24:09 +01:00
s3_lib.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
s3_msg.c Introduce the functions RECORD_LAYER_release, RECORD_LAYER_read_pending, and 2015-03-26 15:01:59 +00:00
s3_srvr.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
ssl-lib.com Move SSLv3_*method() functions 2015-05-16 09:20:58 +01:00
ssl_algs.c Fix missing return value checks 2015-03-23 15:23:11 +00:00
ssl_asn1.c Remove support for OPENSSL_NO_TLSEXT 2015-05-22 23:10:51 +01:00
ssl_cert.c Remove SESS_CERT entirely. 2015-06-22 13:52:24 +01:00
ssl_ciph.c Disable unsupported PSK algorithms 2015-07-30 14:43:35 +01:00
ssl_conf.c free names before context 2015-07-21 14:27:25 +01:00
ssl_err.c Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
ssl_err2.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
ssl_lib.c Enable PSK if corresponding mask set. 2015-07-30 14:43:35 +01:00
ssl_locl.h Move TLS CCS processing into the state machine 2015-08-03 11:18:05 +01:00
ssl_rsa.c Remove support for OPENSSL_NO_TLSEXT 2015-05-22 23:10:51 +01:00
ssl_sess.c PACKETise ClientHello processing 2015-08-03 11:01:42 +01:00
ssl_stat.c Version negotiation rewrite cleanup 2015-05-16 09:20:38 +01:00
ssl_txt.c Remove support for OPENSSL_NO_TLSEXT 2015-05-22 23:10:51 +01:00
ssl_utst.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
t1_clnt.c Move SSLv3_*method() functions 2015-05-16 09:20:58 +01:00
t1_enc.c Tidy up ssl3_digest_cached_records logic. 2015-06-23 22:24:09 +01:00
t1_ext.c Remove support for OPENSSL_NO_TLSEXT 2015-05-22 23:10:51 +01:00
t1_lib.c PACKETise ClientHello processing 2015-08-03 11:01:42 +01:00
t1_meth.c Move SSLv3_*method() functions 2015-05-16 09:20:58 +01:00
t1_reneg.c PACKETise ClientHello processing 2015-08-03 11:01:42 +01:00
t1_srvr.c Move SSLv3_*method() functions 2015-05-16 09:20:58 +01:00
t1_trce.c Add full PSK trace support 2015-07-30 14:43:35 +01:00
tls_srp.c Use single master secret generation function. 2015-06-29 11:47:59 +01:00