mirror of
https://github.com/haproxy/haproxy.git
synced 2026-07-07 16:22:37 -04:00
Prior to this patch, shut stream callback only handles write channel closure. In case of an early closure, a RESET_STREAM would be emitted. On the frontend side in most cases this is sufficient as read channel is already closed, as HTTP/3 GET requests has been fully received. However, this may not be the case for POST requests. Also, on the backend side, haproxy acts a client. In this case, a stream early closure will typically happen before receiving the full response. Nothing will be emitted (RESET_STREAM is unnecessary as write channel is already closed), thus the server peer will continue to emit. To fix this situation, the current patch implement read channel closure on shut if SE_SHR_RESET is set. Callback lclose from app_ops is called with a new dedicated mode for read channel closure, which will result in a STOP_SENDING frame generated by H3 and hq transcoders. This will instruct the peer to stop emission. This should be backported up to 3.3. Note that this depends on the following patch : dde3ee06c30f20091443bdafdda0e0294f7ac26b MINOR: mux_quic: use separate error code for STOP_SENDING |
||
|---|---|---|
| .. | ||
| haproxy | ||
| import | ||
| make | ||