From 8694e5bc99e8c8de8056f026b1f509be348b0bc0 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Sat, 15 Jun 2019 00:14:05 +0200 Subject: [PATCH] BUG/MEDIUM: connections: Don't try to send early data if we have no mux. In connect_server(), if we don't yet have a mux, because we're choosing one depending on the ALPN, don't attempt to send early data. We can't do it because those data would depend on the mux, that will only be determined by the handshake. This should be backported to 1.9. --- src/backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend.c b/src/backend.c index 809a323e7..bff71aba4 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1605,7 +1605,7 @@ int connect_server(struct stream *s) #if USE_OPENSSL && (defined(OPENSSL_IS_BORINGSSL) || (HA_OPENSSL_VERSION_NUMBER >= 0x10101000L)) - if (!reuse && cli_conn && srv && + if (!reuse && cli_conn && srv && srv_conn->mux && (srv->ssl_ctx.options & SRV_SSL_O_EARLY_DATA) && /* Only attempt to use early data if either the client sent * early data, so that we know it can handle a 425, or if