BUG/MINOR: mux-quic: ignore remote unidirectional stream close
Remove ABORT_NOW() on remote unidirectional stream closure. This is required to ensure our implementation is evolutive enough to not fail on unknown stream type. Note that for the moment MAX_STREAMS_UNI flow-control frame is never emitted. This should be unnecessary for HTTP/3 which have a limited usage of unidirectional streams but may be required if other application protocols are supported in the future. ABORT_NOW() was triggered by s2n-quic which opens an unknown unidirectional stream with greasing. This was detected by QUIC interop runner for http3 testcase. This must be backported up to 2.6. (cherry picked from commit 9107731358bec59a13cdaa723867823cd4a0c7af) Signed-off-by: Willy Tarreau <w@1wt.eu> (cherry picked from commit 1ac095486711084895763fe026bd9186f3415bd6) Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
This commit is contained in:
parent
a6ff9f5361
commit
ba2817bba8
@ -1154,12 +1154,11 @@ static int qcc_release_remote_stream(struct qcc *qcc, uint64_t id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* TODO in HTTP/3 unidirectional streams cannot be closed or a
|
/* TODO unidirectional stream flow control with MAX_STREAMS_UNI
|
||||||
* H3_CLOSED_CRITICAL_STREAM will be triggered before
|
* emission not implemented. It should be unnecessary for
|
||||||
* entering here. If a new application protocol is supported it
|
* HTTP/3 but may be required if other application protocols
|
||||||
* might be necessary to implement MAX_STREAMS_UNI emission.
|
* are supported.
|
||||||
*/
|
*/
|
||||||
ABORT_NOW();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE_LEAVE(QMUX_EV_QCS_END, qcc->conn);
|
TRACE_LEAVE(QMUX_EV_QCS_END, qcc->conn);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user