BUG/MEDIUM: qpack: allow 6xx..9xx status codes
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 29 Jan 2024 12:45:48 +0000 (13:45 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 31 Jan 2024 14:51:27 +0000 (15:51 +0100)
commitab4711b71c9bdef2a404e3a74c6f1783b4b79b14
tree740ad36b21b57796eb20b712a3496a42a7f3845a
parentde9d2c019671dd22913b77b76ff3242cf72c554e
BUG/MEDIUM: qpack: allow 6xx..9xx status codes

HTTP status codes outside of 100..599 are considered invalid in HTTP
RFC9110. However, it is explicitely stated that range 600..999 is often
used for internal communication so in practice haproxy must be lenient
with it.

Before this patch, QPACK encoder rejected these values. This resulted in
a connection error. Fix this by extending the range of allowed values
from 100 to 999.

This is linked to github issue #2422. Once again, thanks to @yokim-git
for his help here.

This must be backported up to 2.6.

(cherry picked from commit 7d22c4956c53895e5347d84d43f2a70cbdc01bef)
Signed-off-by: Willy Tarreau <w@1wt.eu>
src/qpack-enc.c