]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic: properly report end-of-stream on recv
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 15 May 2023 09:31:20 +0000 (11:31 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 16 May 2023 15:53:45 +0000 (17:53 +0200)
commit3cb78140cf35faa19fd6fecaac27efc0f86b7e35
tree0b8c1175c700b0c64a366e77eb773905dec866c5
parent1649469be1116e0acb869cd289244129321b50d0
MINOR: mux-quic: properly report end-of-stream on recv

MUX is responsible to put EOS on stream when read channel is closed.
This happens if underlying connection is closed or a RESET_STREAM is
received. FIN STREAM is ignored in this case.

For connection closure, simply check for CO_FL_SOCK_RD_SH.

For RESET_STREAM reception, a new flag QC_CF_RECV_RESET has been
introduced. It is set when RESET_STREAM is received, unless we already
received all data. This is conform to QUIC RFC which allows to ignore a
RESET_STREAM in this case. During RESET_STREAM processing, input buffer
is emptied so EOS can be reported right away on recv_buf operation.

This should be backported up to 2.7.
include/haproxy/mux_quic-t.h
src/mux_quic.c