openssl/ssl
Matt Caswell bd990e2535 Don't allow fragmented alerts
An alert message is 2 bytes long. In theory it is permissible in SSLv3 -
TLSv1.2 to fragment such alerts across multiple records (some of which
could be empty). In practice it make no sense to send an empty alert
record, or to fragment one. TLSv1.3 prohibts this altogether and other
libraries (BoringSSL, NSS) do not support this at all. Supporting it adds
significant complexity to the record layer, and its removal is unlikely
to cause inter-operability issues.

The DTLS code for this never worked anyway and it is not supported at a
protocol level for DTLS. Similarly fragmented DTLS handshake records only
work at a protocol level where at least the handshake message header
exists within the record. DTLS code existed for trying to handle fragmented
handshake records smaller than this size. This code didn't work either so
has also been removed.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3476)
2017-05-17 10:40:04 +01:00
..
record Don't allow fragmented alerts 2017-05-17 10:40:04 +01:00
statem Fix gcc-7 warnings. 2017-05-11 19:39:38 +02:00
bio_ssl.c Get pointer type right in BIO_ssl_shutdown() 2017-03-07 09:56:49 -05:00
build.info Move ssl/t1_ext.c to ssl/statem/extensions_cust.c 2017-04-07 13:41:04 +01:00
d1_lib.c Code health: Stop using timeb.h / ftime() (VMS only) 2017-02-28 15:32:01 +01:00
d1_msg.c Remove special case code for SCTP reneg handling 2017-04-25 11:13:39 +01:00
d1_srtp.c
methods.c
packet_locl.h TLS1.3 Padding 2017-05-02 09:44:43 +01:00
packet.c TLS1.3 Padding 2017-05-02 09:44:43 +01:00
pqueue.c
s3_cbc.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
s3_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
s3_lib.c Remove ECDH(E) ciphers from SSLv3 2017-04-11 13:25:19 -04:00
s3_msg.c Provide functions to write early data 2017-03-02 17:44:14 +00:00
ssl_asn1.c ASN.1: adapt our use of INTxx et al by making them explicitely embedded 2017-04-13 10:23:31 +02:00
ssl_cert.c Ignore dups in X509_STORE_add_* 2017-04-20 15:33:42 -04:00
ssl_ciph.c Remove some obsolete/obscure internal define switches: 2017-03-01 10:44:49 +01:00
ssl_conf.c TLS1.3 Padding 2017-05-02 09:44:43 +01:00
ssl_err.c Send a missing_extension alert if key_share/supported groups not present 2017-05-11 13:13:04 +01:00
ssl_init.c
ssl_lib.c Copy custom extension flags in a call to SSL_set_SSL_CTX() 2017-05-10 16:49:00 +01:00
ssl_locl.h Copy custom extension flags in a call to SSL_set_SSL_CTX() 2017-05-10 16:49:00 +01:00
ssl_mcnf.c
ssl_rsa.c Updates to serverinfo fix based on review feedback 2017-05-04 16:02:08 +01:00
ssl_sess.c Add support for SSL_SESSION_is_resumable() 2017-04-26 16:42:29 +01:00
ssl_stat.c
ssl_txt.c
ssl_utst.c
t1_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
t1_lib.c Add a ciphersuite config sanity check for servers 2017-04-26 14:31:00 +01:00
t1_trce.c Add support to SSL_trace() for inner content types 2017-05-08 11:42:37 +01:00
tls13_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
tls_srp.c