projects
/
haproxy-3.0.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
54cafa9
)
BUG/MINOR: quic: mux started when releasing quic_conn
author
Frédéric Lécaille
<flecaille@haproxy.com>
Thu, 10 Aug 2023 15:15:21 +0000
(17:15 +0200)
committer
Frédéric Lécaille
<flecaille@haproxy.com>
Thu, 10 Aug 2023 15:15:21 +0000
(17:15 +0200)
There are cases where the mux is started before the handshake is completed:
during 0-RTT sessions.
So, it was a bad idea to try to release the quic_conn object from quic_conn_io_cb()
without checking if the mux is started.
No need to backport.
src/quic_conn.c
patch
|
blob
|
history
diff --git
a/src/quic_conn.c
b/src/quic_conn.c
index
c0c128a
..
ba4ab5c
100644
(file)
--- a/
src/quic_conn.c
+++ b/
src/quic_conn.c
@@
-970,7
+970,7
@@
struct task *quic_conn_io_cb(struct task *t, void *context, unsigned int state)
quic_nictx_free(qc);
}
- if (qc->flags & QUIC_FL_CONN_CLOSING) {
+ if ((qc->flags & QUIC_FL_CONN_CLOSING) && qc->mux_state != QC_MUX_READY) {
quic_conn_release(qc);
qc = NULL;
}