HAProxy known bugs for maintenance branch 2.3 :  0 

This is maintenance branch 2.3 whose latest version is 2.3.21. 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. In short, if you are running any 2.3 version other than 2.3.21, you're running with known bugs.

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2022-07-272.3.21 ⇐ last
2022-04-292.3.20 
2022-03-142.3.19 
2022-03-022.3.18 
2022-01-112.3.17 
2021-11-242.3.16 
2021-11-042.3.15 
2021-09-072.3.14 
2021-08-172.3.13 
2021-07-082.3.12 
2021-07-072.3.11 
2021-04-232.3.10 
2021-03-302.3.9 
2021-03-252.3.8 
2021-03-162.3.7 
2021-03-032.3.6 
2021-02-062.3.5 
2021-01-132.3.4 
2021-01-082.3.3 
2020-11-282.3.2 
2020-11-132.3.1 
2020-11-052.3.0 

Fixes for known bugs pending in this branch since the last release (2.3.21)

These fixes have already been queued for the next 2.3 release but no version was released with them yet. Note that fixes are backported several at a time from the development branch to maintenance branches, and the absence of a fix here doesn't mean none will be issued soon.

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 the latest version of this branch by category :

TotalCRITICALMAJORMEDIUMMINOR
0 0 0 0 0

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

Merge dateSubject - Severity (minor, medium, major, critical)

Known bugs fixed in the development branch after the last commit in this branch

It is important to understand that not all of these commits are necessarily relevant to this version, but clicking on them will show the bug description. All fixes are made first in the development branch and then backported to the maintenance branches. This ensures no fix is lost when upgrading. If a fix was marked for backporting to this branch and is not there yet, it's likely that it is still missing. Do not hesitate to ask on the haproxy mailing list if you feel like a fix has been skipped.

DateSubject
2023-03-28BUG/MINOR: quic: Missing padding in very short probe packets
2023-03-28BUG/MEDIUM: mux-h2: Be able to detect connection error during handshake
2023-03-28BUG/MINOR: stats: Don't replace sc_shutr() by SE_FL_EOS flag yet
2023-03-28BUG/MINOR: ssl: Stop leaking `err` in ssl_sock_load_ocsp()
2023-03-27BUG/MINOR: quic: Missing STREAM frame type updated
2023-03-24BUG/MINOR: applet/new: fix sedesc freeing logic
2023-03-24BUG/MEDIUM: mux-h1: Wakeup H1C on shutw if there is no I/O subscription
2023-03-24BUG/MEDIUM: stats: Consume the request except when parsing the POST payload
2023-03-24BUG/MINOR: syslog: Request for more data if message was not fully received
2023-03-23BUG/MINOR: mux-quic: prevent CC status to be erased by shutdown
2023-03-23BUG/MINOR: h3: properly handle incomplete remote uni stream type
2023-03-22BUG/MINOR: pools: restore detection of built-in allocator
2023-03-22BUG/MEDIUM: mux-quic: release data from conn flow-control on qcs reset
2023-03-22BUG/MINOR: trace: fix hardcoded level for TRACE_PRINTF
2023-03-22BUG/MINOR: illegal use of the malloc_trim() function if jemalloc is used
2023-03-21BUG/MINOR: quic: ignore congestion window on probing for MUX wakeup
2023-03-21BUG/MINOR: quic: wake up MUX on probing only for 01RTT
2023-03-21BUG/MEDIUM: applet: only set appctx->sedesc on successful allocation
2023-03-21BUG/MEDIUM: mux-h1: properly destroy a partially allocated h1s
2023-03-20BUG/MINOR: stconn: fix sedesc memory leak on stream allocation failure
2023-03-20BUG/MEDIUM: stconn: don't set the type before allocation succeeds
2023-03-20BUG/MEDIUM: mux-h2: erase h2c->wait_event.tasklet on error path
2023-03-20BUG/MEDIUM: mux-h2: do not try to free an unallocated h2s->sd
2023-03-20BUG/MEDIUM: stream: do not try to free a failed stream-conn
2023-03-20BUG/MINOR: quic: Dysfunctional 01RTT packet number space probing
2023-03-17BUG/MAJOR: qpack: fix possible read out of bounds in static table
2023-03-17BUG/MINOR: quic: Missing STREAM frame data pointer updates
2023-03-16BUG/MINOR: mux-h2: set CO_SFL_STREAMER when sending lots of data
2023-03-16BUG/MEDIUM: mux-h2: only restart sending when mux buffer is decongested
2023-03-16BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
2023-03-16BUG/MEDIUM: connection: Preserve flags when a conn is removed from an idle list
2023-03-16BUG/MINOR: quic: Missing STREAM frame length updates
2023-03-16BUG/MINOR: tcp_sample: fix a bug in fc_dst_port and fc_dst_is_local sample fetches
2023-03-16BUG/MEDIUM: mux-h1: Don't block SE_FL_ERROR if EOS is not reported on H1C
2023-03-14DEBUG: ssl-sock/show_fd: Display SSL error code
2023-03-14DEBUG: cli/show_fd: Display connection error code
2023-03-14BUG/MEDIUM: resolvers: Properly stop server resolutions on soft-stop
2023-03-14BUG/MEDIUM: proxy: properly stop backends on soft-stop
2023-03-14BUG/MINOR: ssl: Fix double free in ocsp update deinit
2023-03-13BUG/MEDIUM: mux-pt: Set EOS on error on sending path if read0 was received
2023-03-10BUG/MINOR: quic: Missing listener accept queue tasklet wakeups
2023-03-09BUG/MINOR: mworker: use MASTER_MAXCONN as default maxconn value
2023-03-09BUG/MAJOR: fd/threads: close a race on closing connections after takeover
2023-03-09BUG/MINOR: thread: report thread and group counts in the correct order
2023-03-09BUG/MINOR: init: properly detect NUMA bindings on large systems
2023-03-08BUG/MINOR: quic: Wrong RETIRE_CONNECTION_ID sequence number check
2023-03-08BUG/MINOR: dns: fix ring offset calculation in dns_resolve_send()
2023-03-08BUG/MINOR: dns: fix ring offset calculation on first read
2023-03-08BUG/MEDIUM: sink/forwarder: ensure ring offset is properly readjusted to head
2023-03-07BUG/MINOR: mux-quic: properly init STREAM frame as not duplicated
2023-03-07BUG/MEDIUM: dns: ensure ring offset is properly reajusted to head
2023-03-07BUG/MAJOR: fd/thread: fix race between updates and closing FD
2023-03-06BUG/MEDIUM: quic: do not crash when handling STREAM on released MUX
2023-03-03BUG/MINOR: quic: Missing detections of amplification limit reached
2023-03-03BUG/MINOR: quic: Do not resend already acked frames
2023-03-03BUG/MINOR: quic: Ensure not to retransmit packets with no ack-eliciting frames
2023-03-03BUG/MINOR: quic: Remove force_ack for Initial,Handshake packets
2023-03-03BUG/MINOR: quic: v2 Initial packets decryption failed
2023-03-03BUG/MINOR: quic: Ensure to be able to build datagrams to be retransmitted
2023-03-03MINOR: quic: Add a BUG_ON_HOT() call for too small datagrams
2023-03-03BUG/MINOR: quic: Do not send too small datagrams (with Initial packets)
2023-03-03BUG/MINOR: cli: fix CLI handler "set anon global-key" call
2023-03-03BUG/MEDIUM: quic: properly handle duplicated STREAM frames
2023-03-02BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
2023-03-02BUG/MINOR: ssl: Fix ocsp-update when using "add ssl crt-list"
2023-03-01BUG/MINOR: mxu-h1: Report a parsing error on abort with pending data
2023-03-01BUG/MEDIUM: http-ana: Don't close request side when waiting for response
2023-03-01BUG/MINOR: http-ana: Do a L7 retry on read error if there is no response
2023-03-01BUG/MINOR: http-ana: Don't increment conn_retries counter before the L7 retry
2023-03-01BUG/MINOR: http-fetch: recognize IPv6 addresses in square brackets in req.hdr_ip()
2023-02-28BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
2023-02-28BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
2023-02-28BUG/MINOR: mux-h1: Don't report an error on an early response close
2023-02-28BUG/MEDIUM: connection: Clear flags when a conn is removed from an idle list
2023-02-27BUG/MEDIUM: fd: make fd_delete() support being called from a different group
2023-02-27BUG/MINOR: fd: used the update list from the fd's group instead of tgid
2023-02-27BUG/MEDIUM: stconn: Report a blocked send if some output data are not consumed
2023-02-27BUG/MINOR: stream: Remove BUG_ON about the task expiration in process_stream()
2023-02-27BUG/MEDIUM: h1-htx: Never copy more than the max data allowed during parsing
2023-02-27BUG/MEDIUM: fd: avoid infinite loops in fd_add_to_fd_list and fd_rm_from_fd_list
2023-02-24BUG/MINOR: ring: do not realign ring contents on resize
2023-02-23BUG/MINOR: sock_unix: match finalname with tempname in sock_unix_addrcmp()
2023-02-23BUG/MEDIUM: listener/proxy: fix listeners notify for proxy resume
2023-02-23BUG/MEDIUM: resume from LI_ASSIGNED in default_resume_listener()
2023-02-23BUG/MINOR: listener: fix resume_listener() resume return value handling
2023-02-23BUG/MEDIUM: listener: fix pause_listener() suspend return value handling
2023-02-23BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
2023-02-23BUG/MINOR: proto_ux: report correct error when bind_listener fails
2023-02-22DEBUG: stream/trace: Add sedesc flags in trace messages
2023-02-22BUG/MEDIUM: httpclient/lua: fix a race between lua GC and hlua_ctx_destroy
2023-02-22BUG/MINOR: lua/httpclient: missing free in hlua_httpclient_send()
2023-02-21BUG/MINOR: cache: Check cache entry is complete in case of Vary
2023-02-21BUG/MINOR: cache: Cache response even if request has "no-cache" directive
2023-02-21BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
2023-02-21BUG/MEDIUM: mworker: prevent inconsistent reload when upgrading from old versions
2023-02-21BUG/MINOR: mworker: stop doing strtok directly from the env
2023-02-21BUG/MINOR: haproxy: Fix option to disable the fast-forward
2023-02-21DEBUG: stream: Add a BUG_ON to never exit process_stream with an expired task
2023-02-21BUG/MEDIUM: quic: Missing TX buffer draining from qc_send_ppkts()
2023-02-20BUG/MINOR: h3: prevent hypothetical demux failure on int overflow
2023-02-20BUG/MINOR: quic: acknowledge STREAM frame even if MUX is released
2023-02-20BUG/MINOR: quic: also send RESET_STREAM if MUX released
2023-02-17BUG/MINOR: quic: Missing padding for short packets
2023-02-17BUG/MINOR: quic: Do not drop too small datagrams with Initial packets
2023-02-17BUG/MINOR: quic: Wrong initialization for io_cb_wakeup boolean
2023-02-17BUG/MINOR: quic: Do not probe with too little Initial packets
2023-02-17BUG/MINOR: quic: Missing call to task_queue() in qc_idle_timer_do_rearm()
2023-02-17BUG/MINOR: quic: Really cancel the connection timer from qc_set_timer()
2023-02-17BUG/MINOR: quic: Possible unexpected counter incrementation on send*() errors
2023-02-17BUG/MINOR: mworker: prevent incorrect values in uptime
2023-02-17BUG/MINOR: mux-quic: transfer FIN on empty STREAM frame
2023-02-17BUG/MEDIUM: sched: allow a bit more TASK_HEAVY to be processed when needed
2023-02-17BUG/MINOR: sched: properly report long_rq when tasks remain in the queue
2023-02-17BUG/MEDIUM: wdt: fix wrong thread being checked for sleeping
2023-02-17BUG/MEDIUM: stconn: Don't rearm the read expiration date if EOI was reached
2023-02-17BUG/MEDIUM: http-ana: Detect closed SC on opposite side during body forwarding
2023-02-16BUG/MINOR: config: crt-list keywords mistaken for bind ssl keywords
2023-02-14BUG/CRITICAL: http: properly reject empty http header field names
2023-02-13BUG/MINOR: quic: Wrong datagram dispatch because of qc_check_dcid()
2023-02-13BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
2023-02-13BUG/MINOR: mux-h1: Don't report an H1C error on client timeout
2023-02-13BUG/MINOR: http-ana: Fix condition to set LAST termination flag
2023-02-11BUG/MEDIUM: quic: Buffer overflow when looking through QUIC CLI keyword list
2023-02-10BUG/MEDIUM: stconn: stop to enable/disable reads from streams via si_update_rx
2023-02-10BUG/MINOR: clock/stats: also use start_time not start_date in HTML info
2023-02-10BUG/MINOR: mworker: fix uptime for master process
2023-02-10BUG/MINOR: quic: fix type bug on "show quic" for 32-bits arch
2023-02-10BUG/MEDIUM: stconn: Don't needlessly wake the stream on send during fast-forward
2023-02-09BUG/MINOR: quic: fix filtering of closing connections on "show quic"
2023-02-09BUG/MEDIUM: quic: fix crash when "option nolinger" is set in the frontend
2023-02-08BUG/MEDIUM: stconn: Schedule a shutw on shutr if data must be sent first
2023-02-08BUG/MINOR: server/add: ensure minconn/maxconn consistency when adding server
2023-02-08BUG/MEDIUM: cache: use the correct time reference when comparing dates
2023-02-08BUG/MINOR: clock: do not mix wall-clock and monotonic time in uptime calculation
2023-02-08BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
2023-02-07BUG/MINOR: ssl/crt-list: warn when a line is malformated
2023-02-06BUG/MEDIUM: listener/thread: bypass shards setting on failed thread resolution
2023-02-06BUG/MEDIUM: thread: fix extraneous shift in the thread_set parser
2023-02-06BUG/MINOR: stats: Prevent HTTP "other sessions" counter underflows
2023-02-06BUG/MINOR: stats: fix STAT_STARTED behavior with full htx
2023-02-06BUG/MINOR: stats: fix show stats field ctx for servers
2023-02-06BUG/MINOR: stats: fix ctx->field update in stats_dump_proxy_to_buffer()
2023-02-06BUG/MEDIUM: stats: fix resolvers dump
2023-02-06BUG/MINOR: stats: fix source buffer size for http dump
2023-02-03BUG/MEDIUM: quic: do not split STREAM frames if no space
2023-02-03BUG/MINOR: quic: Unchecked source connection ID
2023-02-03BUG/MAJOR: quic: Possible crash when processing 1-RTT during 0-RTT session
2023-02-03BUG/MINOR: quic: Do not ignore coalesced packets in qc_prep_fast_retrans()
2023-02-03BUG/MINOR: quic: Too big PTO during handshakes
2023-02-03BUG/MINOR: quic: Possible stream truncations under heavy loss
2023-02-02BUG/MINOR: stats: use proper buffer size for http dump
2023-02-02BUG/MEDIUM: thread: consider secondary threads as idle+harmless during boot
2023-01-31BUG/MINOR: h3: fix crash due to h3 traces
2023-01-31BUG/MINOR: h3: fix crash due to h3 traces
2023-01-31BUG/MEDIUM: ssl: wrong eviction from the session cache tree
2023-01-30BUG/MINOR: h3: reject RESET_STREAM received for control stream
2023-01-30BUG/MEDIUM: h3: handle STOP_SENDING on control stream
2023-01-30BUG/MEDIUM: h3: do not crash if no buf space for trailers
2023-01-30BUG/MINOR: http_ext/7239: ipv6 dumping relies on out of scope variables
2023-01-30BUG/MINOR: mux-h2: Fix possible null pointer deref on h2c in _h2_trace_header()
2023-01-27BUG/MINOR: fcgi-app: prevent 'use-fcgi-app' in default section
2023-01-26BUG/MINOR: sink: free the forwarding task on exit
2023-01-26BUG/MINOR: ring: release the backing store name on exit
2023-01-26BUG/MINOR: log: release global log servers on exit
2023-01-26BUG/MEDIUM: hpack: fix incorrect huffman decoding of some control chars
2023-01-25BUG/MEDIUM: mux-quic: fix crash on H3 SETTINGS emission
2023-01-25BUG/MINOR: h3: fix GOAWAY emission
2023-01-25MINOR: connection: add a BUG_ON() to detect destroying connection in idle list
2023-01-25BUG/MINOR: ssl: Fix leaks in 'update ssl ocsp-response' CLI command
2023-01-24BUG/MINOR: sink: make sure to always properly unmap a file-backed ring
2023-01-20BUG/MINOR: quic: Do not request h3 clients to close its unidirection streams
2023-01-20BUG/MINOR: jwt: Wrong return value checked
2023-01-20BUG/MINOR: mux-h2: add missing traces on failed headers decoding
2023-01-19BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
2023-01-19BUG/MEDIUM: debug/thread: make the debug handler not wait for !rdv_requests
2023-01-19BUG/MINOR: thread: always reload threads_enabled in loops
2023-01-19BUG/MEDIUM: fd/threads: fix again incorrect thread selection in wakeup broadcast
2023-01-19BUG/MINOR: bwlim: Fix parameters check for set-bandwidth-limit actions
2023-01-19BUG/MINOR: bwlim: Check scope for period expr for set-bandwitdh-limit actions
2023-01-19BUG/MINOR: h3: properly handle connection headers
2023-01-19BUG/MINOR: listener: close tiny race between resume_listener() and stopping
2023-01-19BUG/MINOR: ssl: Fix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0)
2023-01-18BUG/MEDIUM: jwt: Properly process ecdsa signatures (concatenated R and S params)
2023-01-18BUG/MINOR: mux-fcgi: Correctly set pathinfo
2023-01-17BUG/MEDIUM: stconn: also consider SE_FL_EOI to switch to SE_FL_ERROR
2023-01-16BUG/MINOR: listeners: fix suspend/resume of inherited FDs
2023-01-13BUG/MINOR: http-ana: make set-status also update txn->status
2023-01-13BUG/MEDIUM: mux-h2: Don't send CANCEL on shutw when response length is unkown
2023-01-13BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
2023-01-13BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body
2023-01-13BUG/MINOR: promex: Don't forget to consume the request on error
2023-01-12BUG/MEDIUM: peers: make "show peers" more careful about partial initialization
2023-01-12BUG/MINOR: ssl: OCSP minimum update threshold not properly set
2023-01-11BUG/MEDIUM: listener: duplicate inherited FDs if needed
2023-01-11BUG/MINOR: ssl: Missing ssl_conf pointer check when checking ocsp update inconsistencies
2023-01-11BUG/MINOR: ssl: Remove unneeded pointer check in ocsp cli release function
2023-01-11BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
2023-01-11BUG/MINOR: hlua: Fix Channel.line and Channel.data behavior regarding the doc
2023-01-11BUG/MINOR: h1-htx: Remove flags about protocol upgrade on non-101 responses
2023-01-10BUG/MINOR: mux-quic: fix transfer of empty HTTP response
2023-01-09BUG/MINOR: ssl: Fix OCSP_CERTID leak when same certificate is used multiple times
2023-01-09BUG/MINOR: ssl: Crash during cleanup because of ocsp structure pointer UAF
2023-01-09BUG/MINOR: ssl: Fix crash in 'update ssl ocsp-response' CLI command
2023-01-06BUG/MINOR: http: Memory leak of http redirect rules' format string
2023-01-05BUG/MINOR: fd: avoid bad tgid assertion in fd_delete() from deinit()
2023-01-05BUG/MINOR: proxy: free orgto_hdr_name in free_proxy()
2023-01-05BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
2023-01-05BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set
2023-01-02BUG/MINOR: stick-table: report the correct action name in error message
2023-01-02BUG/MINOR: ssl: Missing goto in error path in ocsp update code
2023-01-02BUG/MINOR: debug: don't mask the TH_FL_STUCK flag before dumping threads
2022-12-23BUG/MINOR: mux-quic: ignore remote unidirectional stream close
2022-12-22BUG/MINOR: httpclient/log: free of invalid ptr with httpclient_log_format
2022-12-22BUG/MINOR: ssl/ocsp: httpclient blocked when doing a GET
2022-12-22BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
2022-12-22BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
2022-12-22BUG/MINOR: ssl/ocsp: check chunk_strcpy() in ssl_ocsp_get_uri_from_cert()
2022-12-21BUG/MINOR: quic: do not allocate more rxbufs than necessary
2022-12-21BUG/MEDIUM: quic: properly take shards into account on bind lines
2022-12-21BUG/MEDIUM: mux-quic: fix double delete from qcc.opening_list
2022-12-19BUG/MEDIUM: stats: Rely on a local trash buffer to dump the stats
2022-12-19BUG/MINOR:: mux-h1: Never handle error at mux level for running connection
2022-12-19BUG/MINOR: mux-h1: Report EOS on parsing/internal error for not running stream
2022-12-18BUG/MEDIUM: tests: use tmpdir to create UNIX socket

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