Fix bug where early_data does not work if no SNI callback is present

Fixes #4496

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/4519)
This commit is contained in:
Matt Caswell 2017-10-10 09:50:56 +01:00
parent 549be25303
commit 9fb6cb810b

View file

@ -834,6 +834,11 @@ static int final_server_name(SSL *s, unsigned int context, int sent,
ret = s->session_ctx->ext.servername_cb(s, &altmp, ret = s->session_ctx->ext.servername_cb(s, &altmp,
s->session_ctx->ext.servername_arg); s->session_ctx->ext.servername_arg);
if (!sent) {
OPENSSL_free(s->session->ext.hostname);
s->session->ext.hostname = NULL;
}
/* /*
* If we're expecting to send a ticket, and tickets were previously enabled, * If we're expecting to send a ticket, and tickets were previously enabled,
* and now tickets are disabled, then turn off expected ticket. * and now tickets are disabled, then turn off expected ticket.