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.
diff --git a/src/mux_quic.c b/src/mux_quic.c
index fbc4a93..e64480b 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -1237,12 +1237,11 @@
}
}
else {
- /* TODO in HTTP/3 unidirectional streams cannot be closed or a
- * H3_CLOSED_CRITICAL_STREAM will be triggered before
- * entering here. If a new application protocol is supported it
- * might be necessary to implement MAX_STREAMS_UNI emission.
+ /* TODO unidirectional stream flow control with MAX_STREAMS_UNI
+ * emission not implemented. It should be unnecessary for
+ * HTTP/3 but may be required if other application protocols
+ * are supported.
*/
- ABORT_NOW();
}
TRACE_LEAVE(QMUX_EV_QCS_END, qcc->conn);