HAProxy known bugs for maintenance branch 2.0

This is maintenance branch 2.0 whose latest version is 2.0.14. 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.0 version other than 2.0.14, you're running with known bugs.

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2020-04-022.0.14 ⇐ last
2020-02-132.0.13 
2019-12-212.0.12 
2019-12-112.0.11 
2019-11-252.0.10 
2019-11-152.0.9 
2019-10-232.0.8 
2019-09-272.0.7 
2019-09-132.0.6 
2019-08-162.0.5 
2019-08-062.0.4 
2019-07-232.0.3 
2019-07-162.0.2 
2019-06-262.0.1 
2019-06-162.0.0 

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

These fixes have already been queued for the next 2.0 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
44 0 1 18 25

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

Merge dateSubject - Severity (minor, medium, major, critical)
2020-05-25BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable
2020-05-25BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified
2020-05-25BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
2020-05-25BUG/MINOR: soft-stop: always wake up waiting threads on stopping
2020-05-25BUG/MINOR: pollers: remove uneeded free in global init
2020-05-25BUG/MINOR: pools: use %u not %d to report pool stats in "show pools"
2020-05-25BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered
2020-05-25BUG/MEDIUM: http_ana: make the detection of NTLM variants safer
2020-05-25BUG/MINOR: http-ana: fix NTLM response parsing again
2020-05-25BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur
2020-05-25BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT
2020-05-25BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}()
2020-05-25BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS()
2020-05-25BUG/MINOR: sample: Set the correct type when a binary is converted to a string
2020-05-25BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id()
2020-05-25BUG/MEDIUM: connections: force connections cleanup on server changes
2020-05-22BUG/MAJOR: stream-int: always detach a faulty endpoint on connect failure
2020-05-22BUG/MEDIUM: stream: Only allow L7 retries when using HTTP.
2020-05-22BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry.
2020-05-20BUG/MINOR: checks: Remove a warning about http health checks
2020-05-20BUG/MINOR: checks: Compute the right HTTP request length for HTTP health checks
2020-05-12BUG/MEDIUM: checks: Always initialize checks before starting them
2020-05-08BUG/MINOR: checks/server: use_ssl member must be signed
2020-05-08BUG/MEDIUM: server/checks: Init server check during config validity check
2020-05-07Revert "BUG/MINOR: connection: make sure to correctly tag local PROXY connections"
2020-05-07BUG/MEDIUM: backend: don't access a non-existing mux from a previous connection
2020-05-07BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
2020-05-07BUG/MEDIUM: shctx: really check the lock's value while waiting
2020-05-07BUG/MINOR: debug: properly use long long instead of long for the thread ID
2020-05-07BUG/MEDIUM: listener: mark the thread as not stuck inside the loop
2020-05-07BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream
2020-05-07BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
2020-05-07BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
2020-05-07BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
2020-05-07BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream
2020-05-07BUG/MINOR: obj_type: Handle stream object in obj_base_ptr() function
2020-05-07BUG/MINOR: checks: chained expect will not properly wait for enough data
2020-05-07BUG/MINOR: checks: Respect the no-check-ssl option
2020-05-07BUG/MINOR: check: Update server address and port to execute an external check
2020-05-07BUG/MINOR: http: make url_decode() optionally convert '+' to SP
2020-05-07BUG/MINOR: tools: fix the i386 version of the div64_32 function
2020-05-07BUG/MEDIUM: http-ana: Handle NTLM messages correctly.
2020-05-07BUG/MINOR: ssl: default settings for ssl server options are not used
2020-05-07BUG/MINOR: peers: Incomplete peers sections should be validated.
2020-04-02BUG/MINOR: protocol_buffer: Wrong maximum shifting.

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
2020-05-27BUG/MEDIUM: backend: set the connection owner to the session when using alpn.
2020-05-26BUG/MINOR: connection: Always get the stream when available to send PP2 line
2020-05-26BUG/MEDIUM: connection: Ignore PP2 unique ID for stream-less connections
2020-05-26BUG/MEDIUM: contrib/spoa: do not register python3.8 if --embed fail
2020-05-26BUG/MEDIUM: checks: Refresh the conn-stream and the connection after a connect
2020-05-25BUG/MINOR: http-htx: Fix a leak on error path during http reply parsing
2020-05-25BUG/MINOR: http-htx: Don't forget to release the http reply in release function

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