Hi,
HAProxy 2.2.9 was released on 2021/02/06. It added 51 new commits
after version 2.2.8.
It's basically the same as what was integrated into 2.3.5, plus a few
older fixes that were left under observation in 2.3 for 3 versions. This
explains why this change log will look familiar to those having read the
2.3 one. There's no critical bug in this one but fixes for a few problematic
ases that either have been there for a while or resulted from recent
ncomplete 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 ;
- 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.
- two older fixes for rare crashes that had been left baking in 2.3 for
3 months now were finally backported
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.
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.2/src/
Git repository : http://git.haproxy.org/git/haproxy-2.2.git/
Git Web browsing : http://git.haproxy.org/?p=haproxy-2.2.git
Changelog : http://www.haproxy.org/download/2.2/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 (1):
BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name
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: 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
BUG/MEDIUM: tcpcheck: Don't destroy connection in the wake callback
context
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.
Jan Wagner (1):
DOC: fix "smp_size" vs "sample_size" in "log" directive arguments
Olivier Houchard (1):
BUG/MEDIUM: lists: Lock the element while we check if it is in a list.
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 (26):
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/MEDIUM: mux-h2: handle remaining read0 cases
BUG/MEDIUM: mux-h2: do not quit the demux loop before setting END_REACHED
MINOR: cli/show_fd: report local and report ports when known
BUG/MAJOR: connection: reset conn->owner when detaching from session list
MINOR: task: remove __tasklet_remove_from_tasklet_list()
BUG/MEDIUM: task: close a possible data race condition on a tasklet's
list link
---