mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-11 03:31:36 +00:00
BUG/MEDIUM: mux-h1: Perform a connection shutdown when the h1c is released
When the H1 connection is released, a connection shutdown is now performed. If it was already performed when the stream was detached, this action has no effect. But it is mandatory, when an idle H1C is released. Otherwise the xprt and the socket shutdown is never perfmed. It is especially important for SSL client connections, because it is the only way to perform a clean SSL shutdown. Without this patch, SSL_shutdown is never called, preventing, among other things, the SSL session caching. This patch depends on the commit "BUG/MINOR: mux-h1: Save shutdown mode if the shutdown is delayed". It should be backported as far as 2.0.
This commit is contained in:
parent
a85c522d42
commit
e76b4f055d
@ -921,9 +921,12 @@ static void h1_release(struct h1c *h1c)
|
||||
tasklet_free(h1c->wait_event.tasklet);
|
||||
|
||||
h1s_destroy(h1c->h1s);
|
||||
if (conn && h1c->wait_event.events != 0)
|
||||
conn->xprt->unsubscribe(conn, conn->xprt_ctx, h1c->wait_event.events,
|
||||
&h1c->wait_event);
|
||||
if (conn) {
|
||||
if (h1c->wait_event.events != 0)
|
||||
conn->xprt->unsubscribe(conn, conn->xprt_ctx, h1c->wait_event.events,
|
||||
&h1c->wait_event);
|
||||
h1_shutw_conn(conn);
|
||||
}
|
||||
pool_free(pool_head_h1c, h1c);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user