BUG/MAJOR: ssl: fix a regression in ssl_sock_shutw()

Commit 405ff31 ("BUG/MINOR: ssl: assert on SSL_set_shutdown with BoringSSL")
introduced a regression causing some random crashes apparently due to
memory corruption. The issue is the use of SSL_CTX_set_quiet_shutdown()
instead of SSL_set_quiet_shutdown(), making it use a different structure
and causing the flag to be put who-knows-where.

Many thanks to Jarno Huuskonen who reported this bug early and who
bisected the issue to spot this patch. No backport is needed, this
is 1.8-specific.
This commit is contained in:
Willy Tarreau 2017-02-13 11:12:29 +01:00
parent 62c8a21c10
commit e3cc3a3026

View File

@ -4177,7 +4177,7 @@ static void ssl_sock_shutw(struct connection *conn, int clean)
return;
if (!clean)
/* don't sent notify on SSL_shutdown */
SSL_CTX_set_quiet_shutdown(conn->xprt_ctx, 1);
SSL_set_quiet_shutdown(conn->xprt_ctx, 1);
/* no handshake was in progress, try a clean ssl shutdown */
if (SSL_shutdown(conn->xprt_ctx) <= 0) {
/* Clear openssl global errors stack */