summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-12-02 17:29:21 +0000
committerMatt Caswell <matt@openssl.org>2020-01-30 16:01:26 +0000
commitcd624ccd41ac3ac779c1c7a7a1e63427ce9588dd (patch)
tree0a51f5a4982d0837cae5c79633df7d7335ec5e89 /ssl
parent0dc7c8e8314f27ac093b2d7bc8f13d0dfd302bdb (diff)
Don't acknowledge a servername following warning alert in servername cb
If the servername cb decides to send back a warning alert then the handshake continues, but we should not signal to the client that the servername has been accepted. Reviewed-by: Ben Kaduk <kaduk@mit.edu> (Merged from https://github.com/openssl/openssl/pull/10018)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/statem/extensions.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c
index d37accac18..d4c6c924eb 100644
--- a/ssl/statem/extensions.c
+++ b/ssl/statem/extensions.c
@@ -1009,6 +1009,7 @@ static int final_server_name(SSL *s, unsigned int context, int sent)
/* TLSv1.3 doesn't have warning alerts so we suppress this */
if (!SSL_IS_TLS13(s))
ssl3_send_alert(s, SSL3_AL_WARNING, altmp);
+ s->servername_done = 0;
return 1;
case SSL_TLSEXT_ERR_NOACK: