From: Amaury Denoyelle Date: Tue, 17 May 2022 16:03:37 +0000 (+0200) Subject: BUG/MINOR: mux-quic: update session's idle delay before stream creation X-Git-Tag: v2.6-dev11~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=03dcf560aea8ae77d1e9458cbfd9fd309426b43e;p=thirdparty%2Fhaproxy.git BUG/MINOR: mux-quic: update session's idle delay before stream creation This commit is an adaptation from the following patch : commit d0de6776826ee18da74e6949752e2f44cba8fdf2 Author: Willy Tarreau Date: Fri Feb 4 09:05:37 2022 +0100 BUG/MINOR: mux-h2: update the session's idle delay before creating the stream This should fix the incorrect timeouts present in httplog format for QUIC requests. --- diff --git a/include/haproxy/mux_quic.h b/include/haproxy/mux_quic.h index 72e52f3187..dc14277ce7 100644 --- a/include/haproxy/mux_quic.h +++ b/include/haproxy/mux_quic.h @@ -92,10 +92,22 @@ static inline int qcc_install_app_ops(struct qcc *qcc, static inline struct conn_stream *qc_attach_cs(struct qcs *qcs, struct buffer *buf) { - if (!cs_new_from_endp(qcs->endp, qcs->qcc->conn->owner, buf)) + struct session *sess = qcs->qcc->conn->owner; + + /* TODO duplicated from mux_h2 */ + sess->t_idle = tv_ms_elapsed(&sess->tv_accept, &now) - sess->t_handshake; + + if (!cs_new_from_endp(qcs->endp, sess, buf)) return NULL; ++qcs->qcc->nb_cs; + + /* TODO duplicated from mux_h2 */ + sess->accept_date = date; + sess->tv_accept = now; + sess->t_handshake = 0; + sess->t_idle = 0; + return qcs->endp->cs; }