]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MAJOR: ssl: ssl_sock was not fully initialized.
authorEmeric Brun <ebrun@haproxy.com>
Fri, 6 Sep 2019 13:36:02 +0000 (15:36 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 6 Sep 2019 15:33:33 +0000 (17:33 +0200)
'ssl_sock' wasn't fully initialized so a new session can inherit some
flags from an old one.

This causes some fetches, related to client's certificate presence or
its verify status and errors, returning erroneous values.

This issue could generate other unexpected behaviors because a new
session could also inherit other flags such as SSL_SOCK_ST_FL_16K_WBFSIZE,
SSL_SOCK_SEND_UNLIMITED, or SSL_SOCK_RECV_HEARTBEAT from an old session.

This must be backported to 2.0 but it's useless for previous.

src/ssl_sock.c

index 06da1d921f1bec00c382f88ab1dfb1aff775cebc..7796bf907f81ad6b4c72b4cca3fbfa4bae7f04ab 100644 (file)
@@ -5173,6 +5173,8 @@ static int ssl_sock_init(struct connection *conn, void **xprt_ctx)
        ctx->conn = conn;
        ctx->send_wait = NULL;
        ctx->recv_wait = NULL;
+       ctx->xprt_st = 0;
+       ctx->xprt_ctx = NULL;
 
        /* Only work with sockets for now, this should be adapted when we'll
         * add QUIC support.