From: Matt Caswell Date: Mon, 12 Sep 2016 10:04:51 +0000 (+0100) Subject: Abort on unrecognised warning alerts X-Git-Tag: OpenSSL_1_0_2i~29 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=15d81749322c3498027105f8ee44e8c25479d475;p=oweals%2Fopenssl.git Abort on unrecognised warning alerts A peer continually sending unrecognised warning alerts could mean that we make no progress on a connection. We should abort rather than continuing if we receive an unrecognised warning alert. Thanks to Shi Lei for reporting this issue. Reviewed-by: Rich Salz --- diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index df124cf52c..91f0c58fb2 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -1462,8 +1462,13 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) } #ifdef SSL_AD_MISSING_SRP_USERNAME else if (alert_descr == SSL_AD_MISSING_SRP_USERNAME) - return (0); + return 0; #endif + else { + al = SSL_AD_HANDSHAKE_FAILURE; + SSLerr(SSL_F_SSL3_READ_BYTES, SSL_R_UNKNOWN_ALERT_TYPE); + goto f_err; + } } else if (alert_level == SSL3_AL_FATAL) { char tmp[16];