Hi, HAProxy 2.3.5 was released on 2021/02/06. It added 54 new commits after version 2.3.4.
There's no critical bug in this one but fixes for a few problematic cases that either have been there for a while or resulted from recent incomplete fixes: - an issue in filters (compression, spoe, etc) could block response headers in empty responses with no content-length ; - there was a risk of temporary CLOSE_WAIT on aborted H2 connections since the recent fixes for truncated responses. Note that these ones would vanish on timeout anyway, hence it was more annoying than dramatic ; - a rare risk of segfault in idle connections code related to accidental reuse of a TCP connection involving a pending handshake was fixed ; - the CLI's "abort ssl cert" would purge the old instead of new SSL info; - errors on connections would not prevent SSL handshake from being performed, leading to wasted CPU cycles that could sometimes maintain the load artificially high during contention ; - Lua's core.get_info() got broken in previous version due to the missing definition of INF_BUILD_INFO in stats ; - there was a small risk of crash in tcpchecks when using multiple connections ; - the previous fix for DNS SRV records was incorrect and had to be reverted in 2.3.4 as it was sometimes causing a bad pointer dereference and crashing. The code was rechecked and the correct fix merged again ; - an alignment issue in the XXHash code affecting ARMv6/v7 running in 32-bit mode on 64-bit kernels was addressed ; it could cause bus errors and crashes in 32-bit chroots or containers when using the pattern LRU cache ; - a few other really minor issues were addressed - "server" definitions in "frontend" sections were mistakenly not rejected during parsing, but would generally result in random crashes later due to uninitialised fields. They are now properly rejected. In addition, the maximum HTTP/1 chunk size was extended from 2 GB to 4 PB since there was no more compelling reason to limit ourselves to 32 bits storage anymore. Last, some of the "show fd" output improvements were backported as they significantly help when reporting bugs. 2.2.9 is imminent as well with essentially the same fixes, I just don't know yet if my backport of the tcpcheck fix is correct and don't want to take any risks :-) Please find the usual URLs below : Site index : http://www.haproxy.org/ Discourse : http://discourse.haproxy.org/ Slack channel : https://slack.haproxy.org/ Issue tracker : https://github.com/haproxy/haproxy/issues Wiki : https://github.com/haproxy/wiki/wiki Sources : http://www.haproxy.org/download/2.3/src/ Git repository : http://git.haproxy.org/git/haproxy-2.3.git/ Git Web browsing : http://git.haproxy.org/?p=haproxy-2.3.git Changelog : http://www.haproxy.org/download/2.3/src/CHANGELOG Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ Willy --- Complete changelog : Adis Nezirovic (1): BUG/MEDIUM: stats: add missing INF_BUILD_INFO definition Amaury Denoyelle (6): BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name BUG/MEDIUM: session: only retrieve ready idle conn from session REORG: backend: simplify conn_backend_get BUG/MEDIUM: backend: never reuse a connection for tcp mode BUG/MINOR: backend: check available list allocation for reuse BUG/MINOR: mux_h2: fix incorrect stat titles Baptiste Assmann (1): BUG/MINOR: dns: SRV records ignores duplicated AR records (v2) Bertrand Jacquin (3): MINOR: build: discard echoing in help target BUG/MINOR: mworker: define _GNU_SOURCE for strsignal() BUILD/MINOR: lua: define _GNU_SOURCE for LLONG_MAX Christopher Faulet (8): BUG/MINOR: init: Use a dynamic buffer to set HAPROXY_CFGFILES env variable MINOR: config: Add failifnotcap() to emit an alert on proxy capabilities MINOR: server: Forbid server definitions in frontend sections BUG/MEDIUM: tcpcheck: Don't destroy connection in the wake callback context BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown MINOR: h1: Raise the chunk size limit up to (2^52 - 1) BUG/MINOR: stick-table: Always call smp_fetch_src() with a valid arg list MINOR: config: Deprecate and ignore tune.chksize global option David CARLIER (1): BUG/MINOR: threads: Fixes the number of possible cpus report for Mac. Frédéric Lécaille (4): MINOR: peers: Add traces for peer control messages. BUG/MINOR: peers: Possible appctx pointer dereference. BUG/MINOR: peers: Wrong "new_conn" value for "show peers" CLI command. MINOR: contrib: Make the wireshark peers dissector compile for more distribs. Remi Tricot-Le Breton (1): BUG/MINOR: sock: Unclosed fd in case of connection allocation failure Tim Duesterhus (1): DOC: Improve documentation of the various hdr() fetches William Lallemand (3): BUG/MINOR: ssl: init tmp chunk correctly in ssl_sock_load_sctl_from_file() BUG/MEDIUM: ssl/cli: abort ssl cert is freeing the old store BUILD: Makefile: move REGTESTST_TYPE default setting Willy Tarreau (25): BUILD: peers: fix build warning about unused variable BUG/MINOR: mux_h2: missing space between "st" and ".flg" in the "show fd" helper BUG/MEDIUM: mux-h2: fix read0 handling on partial frames CLEANUP: tools: make resolve_sym_name() take a const pointer CLEANUP: cli: make "show fd" use a const connection to access other fields MINOR: cli: make "show fd" also report the xprt and xprt_ctx MINOR: xprt: add a new show_fd() helper to complete some "show fd" dumps. MINOR: ssl: provide a "show fd" helper to report important SSL information MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them MINOR: mux-h2: make the "show fd" helper also decode the h2s subscriber when known MINOR: mux-h1: make the "show fd" helper also decode the h1s subscriber when known MINOR: mux-fcgi: make the "show fd" helper also decode the fstrm subscriber when known MINOR: cli: give the show_fd helpers the ability to report a suspicious entry MINOR: cli/show_fd: report some easily detectable suspicious states MINOR: ssl/show_fd: report some FDs as suspicious when possible MINOR: mux-h2/show_fd: report as suspicious an entry with too many calls MINOR: mux-h1/show_fd: report as suspicious an entry with too many calls DOC: management: fix "show resolvers" alphabetical ordering BUG/MEDIUM: ssl: check a connection's status before computing a handshake BUG/MINOR: xxhash: make sure armv6 uses memcpy() BUG/MINOR: ssl: do not try to use early data if not configured BUILD: ssl: fix build breakage with last commit MINOR: cli/show_fd: report local and report ports when known BUG/MEDIUM: mux-h2: handle remaining read0 cases BUG/MEDIUM: mux-h2: do not quit the demux loop before setting END_REACHED ---