HAProxy known bugs for version v2.2.21 (maintenance branch 2.2) :  226 

This version (2.2.21) is a release belonging to maintenance branch 2.2 whose latest version is 2.2.32. If your version is not the last one in the maintenance branch, you are missing fixes for known bugs, and by not updating you are needlessly taking the responsibility for the risk of unexpected service outages and exposing your web site to possible security issues.

The HAProxy development team takes a great care of maintaining stable versions so that all users can apply bug fixes without having to take the risk of upgrading to a new branch. In turn users are expected to apply the fixes when the development team estimates that they were worth being backported to stable branches.

Quick links

Other versions in the same branch

This branch contains the following releases :

DateVersionComment
2023-12-192.2.32 ⇐ last
2023-08-192.2.31 
2023-06-122.2.30 
2023-02-142.2.29 
2023-01-312.2.28 
2023-01-272.2.27 
2022-12-092.2.26 
2022-07-282.2.25 
2022-05-132.2.24 
2022-05-062.2.23 
2022-03-142.2.22 
2022-03-022.2.21 ⇐ yours
2022-01-122.2.20 
2021-11-292.2.19 
2021-11-052.2.18 
2021-09-072.2.17 
2021-08-172.2.16 
2021-07-162.2.15 
2021-04-292.2.14 
2021-04-022.2.13 
2021-03-312.2.12 
2021-03-182.2.11 
2021-03-032.2.10 
2021-02-062.2.9 
2021-01-132.2.8 
2021-01-082.2.7 
2020-11-302.2.6 
2020-11-052.2.5 
2020-09-302.2.4 
2020-09-082.2.3 
2020-07-312.2.2 
2020-07-232.2.1 
2020-07-072.2.0 

Known bugs affecting this version, and already fixed in the maintenance branch

These fixes have already been queued for a more recent 2.2 version. Some of them might have already been released in a more recent version than yours, and other ones might still be pending in the maintenance branch for a future release. The list may be empty if you're already on the latest version and no new fix was backported.

Bugs are almost always tagged with a severity (some people forget the severity tag when the bug is minor). The following severities are used :

Total known bugs in this version by category :

TotalCRITICALMAJORMEDIUMMINOR
226 1 10 84 131

Click on the subjects below to get the full description of the bug :

Merge dateSubject - Severity (minor, medium, major, critical)
2024-01-19BUG/MEDIUM: spoe: Never create new spoe applet if there is no server up
2024-01-19BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable
2024-01-19BUG/MEDIUM: mux-h2: Report too large HEADERS frame only when rxbuf is empty
2023-12-15BUG/MEDIUM: ssl: fix the gcc-12 broken fix :-(
2023-12-15BUG/MINOR: startup: set GTUNE_SOCKET_TRANSFER correctly
2023-12-15BUG/MINOR: sample: Make the `word` converter compatible with `-m found`
2023-12-15BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover()
2023-12-15BUG/MEDIUM: mux-h1: fail earlier on malloc in takeover()
2023-12-15BUG/MEDIUM: mux-h2: fail earlier on malloc in takeover()
2023-12-15BUG/MINOR: stconn: Use HTX-aware channel's functions to get info on buffer
2023-12-15BUG/MINOR: stconn: Fix streamer detection for HTX streams
2023-12-15BUG/MEDIUM: stream: Don't call mux .ctl() callback if not implemented
2023-12-15BUG/MEDIUM: stream: Properly handle abortonclose when set on backend only
2023-12-15BUG/MINOR: stconn: Handle abortonclose if backend connection was already set up
2023-12-15BUG/MINOR: stick-table/cli: Check for invalid ipv4 key
2023-12-15BUG/MINOR: cfgparse/stktable: fix error message on stktable_init() failure
2023-12-15BUG/MINOR: stktable: missing free in parse_stick_table()
2023-12-15BUG/MINOR: tcpcheck: Report hexstring instead of binary one on check failure
2023-12-15BUG/MEDIUM: ssl: segfault when cipher is NULL
2023-12-15BUG/MINOR: ssl: suboptimal certificate selection with TLSv1.3 and dual ECDSA/RSA
2023-12-15BUG/MINOR: mux-h2: commit the current stream ID even on reject
2023-12-15BUG/MEDIUM: peers: Be sure to always refresh recconnect timer in sync task
2023-12-15BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending
2023-12-15BUG/MEDIUM: actions: always apply a longest match on prefix lookup
2023-12-15BUG/MINOR: hlua_fcn: potentially unsafe stktable_data_ptr usage
2023-12-15BUG/MINOR: hlua: fix invalid use of lua_pop on error paths
2023-10-04BUG/MAJOR: mux-h2: Report a protocol error for any DATA frame before headers
2023-10-04BUG/MINOR: freq_ctr: fix possible negative rate with the scaled API
2023-10-04BUG/MEDIUM: mux-fcgi: Don't swap trash and dbuf when handling STDERR records
2023-10-04BUG/MEDIUM: hlua: don't pass stale nargs argument to lua_resume()
2023-10-04BUG/MINOR: hlua/action: incorrect message on E_YIELD error
2023-10-04BUG/MEDIUM: stconn/stream: Forward shutdown on write timeout
2023-10-04BUG/MEDIUM: stconn: Wake applets on sending path if there is a pending shutdown
2023-10-04BUG/MINOR: stktable: allow sc-set-gpt(0) from tcp-request connection
2023-08-16BUG/MINOR: http: skip leading zeroes in content-length values
2023-08-16BUG/MINOR: h2: reject more chars from the :path pseudo header
2023-08-16BUG/MINOR: h1: do not accept '#' as part of the URI component
2023-08-16BUG/MAJOR: http: reject any empty content-length header value
2023-08-16BUG/MAJOR: http-ana: Get a fresh trash buffer for each header value replacement
2023-08-16BUG/MINOR: chunk: fix chunk_appendf() to not write a zero if buffer is full
2023-08-16BUG/MINOR: h1-htx: Return the right reason for 302 FCGI responses
2023-08-16BUG/MINOR: http: Return the right reason for 302
2023-08-16BUG/MINOR: sample: Fix wrong overflow detection in add/sub conveters
2023-08-16BUG/MINOR: ring: maxlen warning reported as alert
2023-08-16BUG/MEDIUM: mworker: increase maxsock with each new worker
2023-08-16BUG/MINOR: namespace: missing free in netns_sig_stop()
2023-08-16BUG/MINOR: server: inherit from netns in srv_settings_cpy()
2023-06-12BUG/MINOR: proxy: add missing interface bind free in free_proxy
2023-06-12BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
2023-06-06BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
2023-05-26BUG/MINOR: server: don't use date when restoring last_change from state file
2023-05-26BUG/MINOR: server: don't miss server stats update on server state transitions
2023-05-26BUG/MINOR: server: don't miss proxy stats update on server state transitions
2023-05-26BUG/MINOR: server: incorrect report for tracking servers leaving drain
2023-05-26BUG/MEDIUM: spoe: Don't start new applet if there are enough idle ones
2023-05-26BUG/MINOR: debug: do not emit empty lines in thread dumps
2023-05-26BUG/MEDIUM: filters: Don't deinit filters for disabled proxies during startup
2023-05-26BUG/MINOR: proxy: missing free in free_proxy for redirect rules
2023-05-26BUG/MINOR: log: fix memory error handling in parse_logsrv()
2023-05-26BUG/MINOR: hlua: unsafe hlua_lua2smp() usage
2023-05-26BUG/MINOR: tcp-rules: Don't shortened the inspect-delay when EOI is set
2023-05-26BUG/MEDIUM: mux-h1: do not refrain from signaling errors after end of input
2023-05-17BUG/MINOR: checks: postpone the startup of health checks by the boot time
2023-04-24BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
2023-04-24BUG/MEDIUM: Update read expiration date on synchronous send
2023-04-24BUG/MEDIUM: proxy/sktable: prevent watchdog trigger on soft-stop
2023-04-24BUG/MINOR: cfgparse: make sure to include openssl-compat
2023-04-24BUG/MINOR: stick_table: alert when type len has incorrect characters
2023-04-24BUG/MEDIUM: mux-h1: Wakeup H1C on shutw if there is no I/O subscription
2023-04-24BUG/MEDIUM: mux-h2: erase h2c->wait_event.tasklet on error path
2023-04-24BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
2023-04-24BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
2023-04-24BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
2023-04-24BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
2023-04-24BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
2023-04-24BUG/MINOR: ring: do not realign ring contents on resize
2023-04-24BUG/MINOR: mworker: prevent incorrect values in uptime
2023-04-24BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
2023-04-24BUG/MINOR: mworker: stop doing strtok directly from the env
2023-02-14BUG/CRITICAL: http: properly reject empty http header field names
2023-02-13BUG/MEDIUM: stconn: Schedule a shutw on shutr if data must be sent first
2023-02-13BUG/MEDIUM: cache: use the correct time reference when comparing dates
2023-02-13BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
2023-02-13BUG/MINOR: ssl/crt-list: warn when a line is malformated
2023-02-13BUG/MEDIUM: ssl: wrong eviction from the session cache tree
2023-01-31BUG/MEDIUM: sink: Fix release of sinks during the deinit
2023-01-27BUG/MINOR: sink: free the forwarding task on exit
2023-01-20BUG/MINOR: ssl: Fix memory leak of find_chain in ssl_sock_load_cert_chain
2023-01-20BUG/MINOR: mux-h2: add missing traces on failed headers decoding
2023-01-20BUG/MINOR: mux-fcgi: Correctly set pathinfo
2023-01-20BUG/MINOR: http-ana: make set-status also update txn->status
2023-01-20BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
2023-01-20BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body
2023-01-20BUG/MINOR: promex: Don't forget to consume the request on error
2023-01-20BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
2023-01-20BUG/MINOR: http: Memory leak of http redirect rules' format string
2023-01-20BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
2023-01-20BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set
2023-01-20BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
2023-01-20BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
2023-01-20BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout
2023-01-20BUG/MAJOR: fcgi: Fix uninitialized reserved bytes
2023-01-20BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers
2023-01-20BUG/MINOR: ssl: Fix potential overflow
2023-01-20BUG/MEDIUM: ssl: Verify error codes can exceed 63
2023-01-05BUG/MINOR: cfgparse: Use the right proxy list during validity check of sinks
2022-12-09BUG/MEDIIM: stconn: Flush output data before forwarding close to write side
2022-11-25BUG/MINOR: server/idle: at least use atomic stores when updating max_used_conns
2022-11-25BUG/MEDIUM: peers: messages about unkown tables not correctly ignored
2022-11-25BUG/MINOR: ssl: don't initialize the keylog callback when not required
2022-11-25BUG/MINOR: http_ana/txn: don't re-initialize txn and req var lists
2022-11-25BUG/MEDIUM: listener: Fix race condition when updating the global mngmt task
2022-11-25BUG/MINOR: pool/cli: use ullong to report total pool usage in bytes
2022-11-25BUG/MEDIUM: ring: fix creation of server in uninitialized ring
2022-11-25BUG/MINOR: resolvers: Set port before IP address when processing SRV records
2022-11-25BUG/MINOR: http-htx: Fix error handling during parsing http replies
2022-11-25BUG/MINOR: ssl: ocsp structure not freed properly in case of error
2022-11-25BUG/MINOR: ssl: Memory leak of AUTHORITY_KEYID struct when loading issuer
2022-11-25BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task
2022-10-25BUG/MAJOR: stick-table: don't process store-response rules for applets
2022-10-25BUG/MEDIUM: compression: handle rewrite errors when updating response headers
2022-10-25BUG/MINOR: server: make sure "show servers state" hides private bits
2022-10-25BUG/MAJOR: stick-tables: do not try to index a server name for applets
2022-10-25BUG/MINOR: smtpchk: SMTP Service check should gracefully close SMTP transaction
2022-10-25BUG/MINOR: mux-h1: Account consumed output data on synchronous connection error
2022-10-25BUG/MINOR: http-fetch: Update method after a prefetch in smp_fetch_meth()
2022-10-25BUG/MEDIUM: lua: handle stick table implicit arguments right.
2022-10-25BUG/MEDIUM: lua: Don't crash in hlua_lua2arg_check on failure
2022-10-25BUG/MINOR: checks: update pgsql regex on auth packet
2022-09-28BUG/MEDIUM: resolvers: Remove aborted resolutions from query_ids tree
2022-09-20BUG/MEDIUM: sink: bad init sequence on tcp sink from a ring.
2022-09-20BUG/MINOR: log: improper behavior when escaping log data
2022-09-20BUG/MEDIUM: captures: free() an error capture out of the proxy lock
2022-09-20BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK
2022-09-20BUG/MINOR: signals/poller: ensure wakeup from signals
2022-09-20BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals
2022-09-20BUG/MINOR: h1: Support headers case adjustment for TCP proxies
2022-08-30BUG/MINOR: tcpcheck: Disable QUICKACK for default tcp-check (with no rule)
2022-08-30BUG/MEDIUM: peers: Don't start resync on reload if local peer is not up-to-date
2022-08-30BUG/MEDIUM: peers: Don't use resync timer when local resync is in progress
2022-08-30BUG/MEDIUM: peers: Add connect and server timeut to peers proxy
2022-08-30BUG/MEDIUM: spoe: Properly update streams waiting for a ACK in async mode
2022-08-30BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect
2022-08-30BUG/MINOR: resolvers: return the correct value in resolvers_finalize_config()
2022-08-30BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle
2022-08-30BUG/MEDIUM: http-ana: fix crash or wrong header deletion by http-restrict-req-hdr-names
2022-08-30BUG/MINOR: sink: fix a race condition between the writer and the reader
2022-08-30BUG/MINOR: ring/cli: fix a race condition between the writer and the reader
2022-08-30BUG/MEDIUM: proxy: Perform a custom copy for default server settings
2022-08-30BUG/MINOR: peers: Use right channel flag to consider the peer as connected
2022-08-30BUG/MEDIUM: peers: limit reconnect attempts of the old process on reload
2022-07-27BUG/MINOR: sockpair: wrong return value for fd_send_uxst()
2022-07-27BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible
2022-07-27BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send
2022-07-27BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state
2022-07-27BUG/MINOR: peers: fix possible NULL dereferences at config parsing
2022-07-27BUG/MINOR: http-act: Properly generate 103 responses when several rules are used
2022-07-27BUG/MINOR: http-check: Preserve headers if not redefined by an implicit rule
2022-07-27BUG/MINOR: peers/config: always fill the bind_conf's argument
2022-07-27BUG/MINOR: http-fetch: Use integer value when possible in "method" sample fetch
2022-07-27BUG/MINOR: http-ana: Set method to HTTP_METH_OTHER when an HTTP txn is created
2022-07-27BUG/MINOR: ssl: Do not look for key in extra files if already in pem
2022-07-27BUG/MEDIUM: ssl/cli: crash when crt inserted into a crt-list
2022-07-27BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration
2022-07-27BUG/MINOR: cli/stats: add missing trailing LF after "show info json"
2022-07-27BUG/MINOR: server: do not enable DNS resolution on disabled proxies
2022-07-27BUG/MINOR: cli/stats: add missing trailing LF after JSON outputs
2022-07-27BUG/MEDIUM: mailers: Set the object type for check attached to an email alert
2022-07-27BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_cert I/O handler
2022-07-27BUG/MINOR: ssl_ckch: Dump cert transaction only once if show command yield
2022-07-27BUG/MEDIUM: ssl/crt-list: Rework 'add ssl crt-list' to handle full buffer cases
2022-07-27BUG/MEDIUM: ssl_ckch: Rework 'commit ssl cert' to handle full buffer cases
2022-07-27BUG/MINOR: ssl_ckch: Don't duplicate path when replacing a cert entry
2022-07-27BUG/MEDIUM: ssl_ckch: Don't delete a cert entry if it is being modified
2022-07-27BUG/MINOR: ssl_ckch: Free error msg if commit changes on a cert entry fails
2022-06-23BUG/MEDIUM: dns: Keep the right count of active nameservers for a resolver
2022-06-13BUG/MINOR: conn_stream: do not confirm a connection from the frontend path
2022-06-07BUG/MINOR: ssl: Fix crash when no private key is found in pem
2022-06-07BUG/MEDIUM: sample: Fix adjusting size in word converter
2022-06-07BUG/MEDIUM: peers: prevent unitialized multiple listeners on peers section
2022-06-07BUG/MEDIUM: peers: fix segfault using multiple bind on peers sections
2022-06-07BUG/MEDIUM: resolvers: Don't defer resolutions release in deinit function
2022-06-07BUG/MEDIUM: http: Properly reject non-HTTP/1.x protocols
2022-06-07BUG/MINOR: peers: fix error reporting of "bind" lines
2022-06-07BUG/MINOR: cfgparse: abort earlier in case of allocation error
2022-06-07BUG/MINOR: check: Reinit the buffer wait list at the end of a check
2022-06-07BUG/MEDIUM: config: Reset outline buffer size on realloc error in readcfgfile()
2022-05-13BUG/MEDIUM: wdt: don't trigger the watchdog when p is unitialized
2022-05-13BUG/MINOR: server: Make SRV_STATE_LINE_MAXLEN value from 512 to 2kB (2000 bytes).
2022-05-13BUG/MINOR: map/cli: make sure patterns don't vanish under "show map"'s init
2022-05-13BUG/MINOR: map/cli: protect the backref list during "show map" errors
2022-05-13BUG/MEDIUM: cli: make "show cli sockets" really yield
2022-05-13BUG/MINOR: tcp/http: release the expr of set-{src,dst}[-port]
2022-05-13BUG/MINOR: mux-h2: mark the stream as open before processing it not after
2022-05-11BUG/MAJOR: dns: multi-thread concurrency issue on UDP socket
2022-04-29BUG/MINOR: pools: make sure to also destroy shared pools in pool_destroy_all()
2022-04-29BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments
2022-04-29BUG/MINOR: cache: Disable cache if applet creation fails
2022-04-29BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags
2022-04-29BUG/MEDIUM: fcgi-app: Use http_msg flags to know if C-L header can be added
2022-04-29BUG/MEDIUM: mux-h1: Don't request more room on partial trailers
2022-04-29BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive
2022-04-29BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side
2022-04-29BUG/MINOR: cache: do not display expired entries in "show cache"
2022-04-29BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
2022-04-29BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid
2022-04-29BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples
2022-04-29BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests
2022-04-29BUG/MAJOR: mux_pt: always report the connection error to the conn_stream
2022-04-29BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts
2022-04-29BUG/MEDIUM: stream-int: do not rely on the connection error once established
2022-03-28BUG/MEDIUM: mux-h1: Properly detect full buffer cases when adding EOM block
2022-03-28BUG/MEDIUM: mux-h1: Properly detect full buffer cases during message parsing
2022-03-28BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing
2022-03-28BUG/MINOR: tools: url2sa reads too far when no port nor path
2022-03-28BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner
2022-03-28BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf
2022-03-25BUG/MINOR: tools: fix url2sa return value with IPv4
2022-03-14BUG/MINOR: stream: make the call_rate only count the no-progress calls
2022-03-14BUG/MAJOR: mux-pt: Always destroy the backend connection on detach
2022-03-14DEBUG: stream: Fix stream trace message to print response buffer state
2022-03-14DEBUG: stream: Add the missing descriptions for stream trace events
2022-03-14BUG/MEDIUM: mcli: Properly handle errors and timeouts during reponse processing
2022-03-14DEBUG: cache: Update underlying buffer when loading HTX message in cache applet
2022-03-14BUG/MINOR: promex: Set conn-stream/channel EOI flags at the end of request
2022-03-14BUG/MINOR: cache: Set conn-stream/channel EOI flags at the end of request
2022-03-14BUG/MINOR: stats: Set conn-stream/channel EOI flags at the end of request
2022-03-14BUG/MINOR: hlua: Set conn-stream/channel EOI flags at the end of request
2022-03-14BUG/MINOR: cli: shows correct mode in "show sess"

Back to the list of branches and versions
Back to the HAProxy page