Changes since version 2.7.11 : Abhijeet Rastogi (1): DOC: install: recommend pcre2 Amaury Denoyelle (31): BUG/MINOR: mux-quic: always report error to SC on RESET_STREAM emission MINOR: h3: check connection error during sending BUG/MINOR: h3: close connection on header list too big BUG/MINOR: h3: properly handle alloc failure on finalize BUG/MINOR: h3: close connection on sending alloc errors BUG/MEDIUM: h3: fix incorrect snd_buf return value BUG/MINOR: mux-quic: do not prevent non-STREAM sending on flow control BUG/MINOR: h3: fix checking on NULL Tx buffer BUG/MEDIUM: mux-quic: report early error on stream MINOR: quic: extract qc_stream_buf free in a dedicated function BUG/MEDIUM: quic: remove unsent data from qc_stream_desc buf MINOR: h3: add traces for stream sending function BUG/MEDIUM: h3: do not crash on invalid response status code BUG/MEDIUM: qpack: allow 6xx..9xx status codes BUG/MEDIUM: quic: fix crash on invalid qc_stream_buf_free() BUG_ON BUG/MAJOR: promex: fix crash on deleted server BUG/MINOR: quic: reject unknown frame type BUG/MINOR: quic: reject HANDSHAKE_DONE as server BUG/MINOR: qpack: reject invalid increment count decoding BUG/MINOR: qpack: reject invalid dynamic table capacity BUG/MEDIUM: quic: fix transient send error with listener socket DOC: quic: fix recommandation for bind on multiple address MINOR: quic: warn on bind on multiple addresses if no IP_PKTINFO support BUG/MINOR: ist: allocate nul byte on istdup BUG/MINOR: stats: drop srv refcount on early release BUG/MAJOR: server: fix stream crash due to deleted server BUG/MINOR: quic: fix output of show quic BUG/MINOR: session: ensure conn owner is set after insert into session BUG/MINOR: mux-quic: close all QCS before freeing QCC tasklet MINOR: server: allow cookie for dynamic servers BUG/MINOR: server: ignore 'enabled' for dynamic servers Aurelien DARRAGON (16): MINOR: stats: store the parent proxy in stats ctx (http) BUG/MEDIUM: stats: unhandled switching rules with TCP frontend BUG/MINOR: ext-check: cannot use without preserve-env DEV: makefile: fix POSIX compatibility for "range" target BUG/MINOR: hlua: fix unsafe lua_tostring() usage with empty stack BUG/MINOR: hlua: don't use lua_tostring() from unprotected contexts BUG/MINOR: hlua: fix possible crash in hlua_filter_new() under load BUG/MINOR: hlua: improper lock usage in hlua_filter_callback() BUG/MINOR: hlua: improper lock usage in hlua_filter_new() BUG/MEDIUM: hlua: improper lock usage with SET_SAFE_LJMP() BUG/MAJOR: hlua: improper lock usage with hlua_ctx_resume() BUG/MINOR: cfgparse: report proper location for log-format-sd errors BUG/MINOR: hlua: segfault when loading the same filter from different contexts BUG/MINOR: hlua: missing lock in hlua_filter_new() BUG/MINOR: hlua: fix missing lock in hlua_filter_delete() BUG/MINOR: server: 'source' interface ignored from 'default-server' directive Christopher Faulet (19): BUG/MEDIUM: mux-h2: Report too large HEADERS frame only when rxbuf is empty DOC: config: Update documentation about local haproxy response BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable BUG/MEDIUM: spoe: Never create new spoe applet if there is no server up BUG/MINOR: h1: Don't support LF only at the end of chunks BUG/MEDIUM: h1: Don't support LF only to mark the end of a chunk size BUG/MEDIUM: applet: Immediately free appctx on early error BUG/MEDIUM: hlua: Be able to garbage collect uninitialized lua sockets BUG/MEDIUM: hlua: Don't loop if a lua socket does not consume received data BUG/MINOR: hlua: Fix log level to the right value when set via TXN:set_loglevel MINOR: hlua: Be able to disable logging from lua BUG/MINOR: listener: Wake proxy's mngmt task up if necessary on session release BUG/MINOR: listener: Don't schedule frontend without task in listener_release() BUG/MEDIUM: spoe: Don't rely on stream's expiration to detect processing timeout BUG/MINOR: spoe: Be sure to be able to quickly close IDLE applets on soft-stop BUG/MEDIUM: spoe: Return an invalid frame on recv if size is too small BUG/MEDIUM: mux-fcgi: Properly handle EOM flag on end-of-trailers HTX block MINOR: cli: Remove useless loop on commands to find unescaped semi-colon BUG/MEDIUM: cli: Warn if pipelined commands are delimited by a \n Dragan Dosen (1): BUG/MINOR: ssl: fix possible ctx memory leak in sample_conv_aes_gcm() Emeric Brun (1): BUG/MEDIUM: cli: some err/warn msg dumps add LR into CSV output on stat's CLI Frederic Lecaille (11): CLEANUP: quic: Remove unused CUBIC_BETA_SCALE_FACTOR_SHIFT macro. MINOR: quic: Stop hardcoding a scale shifting value (CUBIC_BETA_SCALE_FACTOR_SHIFT) BUG/MINOR: quic: Wrong ack ranges handling when reaching the limit. CLEANUP: quic: Code clarifications for QUIC CUBIC (RFC 9438) BUG/MINOR: quic: fix possible integer wrap around in cubic window calculation MINOR: quic: Stop using 1024th of a second. BUG/MEDIUM: quic: Wrong K CUBIC calculation. MINOR: quic: Update K CUBIC calculation (RFC 9438) MINOR: quic: Dynamic packet reordering threshold MINOR: quic: Add a counter for reordered packets DOC: quic: Missing tuning setting in "Global parameters" Frédéric Lécaille (2): BUG/MEDIUM: quic: QUIC CID removed from tree without locking CLEANUP: quic: Remaining useless code into server part Ilia Shipitsin (1): CI: temporarily adjust kernel entropy to work with ASAN/clang Lukas Tribus (1): DOC: httpclient: add dedicated httpclient section Olivier Houchard (1): BUG/MAJOR: ssl_sock: Always clear retry flags in read/write functions Remi Tricot-Le Breton (2): BUG/MINOR: ssl: Clear the ckch instance when deleting a crt-list line REGTESTS: ssl: Fix empty line in cli command input Thayne McCombs (1): DOC: configuration: clarify http-request wait-for-body Tim Duesterhus (1): CI: Update to actions/cache@v4 William Lallemand (7): DOC: configuration: typo req.ssl_hello_type BUG/MINOR: mworker/cli: fix set severity-output support BUG/MINOR: resolvers: default resolvers fails when network not configured BUG/MINOR: ssl/cli: duplicate cleaning code in cli_parse_del_crtlist DOC: configuration: clarify ciphersuites usage BUG/MINOR: ssl/cli: typo in new ssl crl-file CLI description DOC: configuration: clarify ciphersuites usage (V2) Willy Tarreau (18): MINOR: compiler: add a new DO_NOT_FOLD() macro to prevent code folding MINOR: debug: make sure calls to ha_crash_now() are never merged MINOR: debug: make ABORT_NOW() store the caller's line number when using abort MINOR: debug: make BUG_ON() catch build errors even without DEBUG_STRICT BUG/MINOR: vars/cli: fix missing LF after "get var" output BUG/MEDIUM: cli: fix once for all the problem of missing trailing LFs BUG/MINOR: jwt: fix jwt_verify crash on 32-bit archs BUG/MEDIUM: pool: fix rare risk of deadlock in pool_flush() BUG/MINOR: h1-htx: properly initialize the err_pos field BUG/MEDIUM: h1: always reject the NUL character in header values BUG/MINOR: diag: run the final diags before quitting when using -c MINOR: ext-check: add an option to preserve environment variables BUILD: address a few remaining calloc(size, n) cases DOC: internal: update missing data types in peers-v2.0.txt DEV: makefile: add a new "range" target to iteratively build all commits BUG/MINOR: ist: only store NUL byte on succeeded alloc BUG/MINOR: tools: seed the statistical PRNG slightly better BUG/MINOR: backend: properly handle redispatch 0