mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-20 13:21:29 +02:00
Previously, if snd_buf operation was conducted despite QCS already locally closed, the input buffer was silently dropped. This situation could happen if a RESET_STREAM was emitted butemission not reported to the stream layer. Resetting silently the buffer ensure QUIC MUX remain compliant with RFC 9000 which forbid emission after RESET_STREAM. Since previous commit, it is now ensured that RESET_STREAM sending will always be reported to stream-layer. Thus, there is no need anymore to silently reset the buffer. A BUG_ON() statement is added to ensure this assumption will remain valid. The new code is deemed cleaner as it does not hide a missing error notification on the stconn-layer. Previously, if an error was missing, sending would continue unnecessarily with a false success status reported for the stream. Note that the BUG_ON() statement was also added into nego_ff callback. This is necessary to ensure both sending path remains consistent. This patch is labelled as MEDIUM as issues were already encountered in snd_buf/nego_ff implementation and it's not easy to cover all occurences during test. If the BUG_ON() is triggered without any apparent stream-layer issue, this commit should be reverted.