MINOR: muxes: Rely on conn_is_back() during init to handle front/back conn
Instead of using the connection context to make the difference between a
frontend connection and a backend connection, we now rely on the function
conn_is_back().
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 4dcbcaf..a40ef3f 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -287,33 +287,34 @@
if (!conn_is_back(h1c->conn)) {
if (h1c->px->options2 & PR_O2_REQBUG_OK)
h1s->req.err_pos = -1;
+
+ /* For frontend connections we should always have a session */
+ if (!sess)
+ sess = h1c->conn->owner;
+
+ h1s->csinfo.create_date = sess->accept_date;
+ h1s->csinfo.tv_create = sess->tv_accept;
+ h1s->csinfo.t_handshake = sess->t_handshake;
+ h1s->csinfo.t_idle = -1;
}
else {
if (h1c->px->options2 & PR_O2_RSPBUG_OK)
h1s->res.err_pos = -1;
- }
- /* If a conn_stream already exists, attach it to this H1S. Otherwise we
- * create a new one.
- */
- if (cs) {
h1s->csinfo.create_date = date;
h1s->csinfo.tv_create = now;
h1s->csinfo.t_handshake = 0;
h1s->csinfo.t_idle = -1;
+ }
+ /* If a conn_stream already exists, attach it to this H1S. Otherwise we
+ * create a new one.
+ */
+ if (cs) {
cs->ctx = h1s;
h1s->cs = cs;
}
else {
- /* For frontend connections we should always have a session */
- sess = h1c->conn->owner;
-
- h1s->csinfo.create_date = sess->accept_date;
- h1s->csinfo.tv_create = sess->tv_accept;
- h1s->csinfo.t_handshake = sess->t_handshake;
- h1s->csinfo.t_idle = -1;
-
cs = h1s_new_cs(h1s);
if (!cs)
goto fail;
@@ -384,7 +385,7 @@
h1c->wait_event.task->context = h1c;
h1c->wait_event.events = 0;
- if (conn->ctx) {
+ if (conn_is_back(conn)) {
h1c->shut_timeout = h1c->timeout = proxy->timeout.server;
if (tick_isset(proxy->timeout.serverfin))
h1c->shut_timeout = proxy->timeout.serverfin;