[RELEASE] Released version 2.0.15
Released version 2.0.15 with the following main changes :
- BUG/MINOR: protocol_buffer: Wrong maximum shifting.
- BUG/MINOR: peers: Incomplete peers sections should be validated.
- DOC: hashing: update link to hashing functions
- DOC: Improve documentation on http-request set-src
- BUG/MINOR: ssl: default settings for ssl server options are not used
- BUG/MEDIUM: http-ana: Handle NTLM messages correctly.
- BUG/MINOR: tools: fix the i386 version of the div64_32 function
- BUG/MINOR: http: make url_decode() optionally convert '+' to SP
- DOC: option logasap does not depend on mode
- BUG/MINOR: check: Update server address and port to execute an external check
- MINOR: checks: Add a way to send custom headers and payload during http chekcs
- BUG/MINOR: checks: Respect the no-check-ssl option
- BUG/MINOR: checks: chained expect will not properly wait for enough data
- BUG/MINOR: obj_type: Handle stream object in obj_base_ptr() function
- BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream
- BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
- BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
- BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
- BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream
- BUG/MEDIUM: listener: mark the thread as not stuck inside the loop
- MINOR: threads: export the POSIX thread ID in panic dumps
- BUG/MINOR: debug: properly use long long instead of long for the thread ID
- BUG/MEDIUM: shctx: really check the lock's value while waiting
- BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
- MINOR: stream: report the list of active filters on stream crashes
- REGTEST: ssl: test the client certificate authentication
- BUG/MEDIUM: backend: don't access a non-existing mux from a previous connection
- Revert "BUG/MINOR: connection: make sure to correctly tag local PROXY connections"
- BUG/MEDIUM: server/checks: Init server check during config validity check
- BUG/MINOR: checks/server: use_ssl member must be signed
- BUG/MEDIUM: checks: Always initialize checks before starting them
- BUG/MINOR: checks: Compute the right HTTP request length for HTTP health checks
- BUG/MINOR: checks: Remove a warning about http health checks
- BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry.
- BUG/MEDIUM: stream: Only allow L7 retries when using HTTP.
- BUG/MAJOR: stream-int: always detach a faulty endpoint on connect failure
- BUG/MEDIUM: connections: force connections cleanup on server changes
- BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id()
- CLEANUP: connections: align function declaration
- BUG/MINOR: sample: Set the correct type when a binary is converted to a string
- BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS()
- BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}()
- BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT
- BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur
- BUG/MINOR: http-ana: fix NTLM response parsing again
- BUG/MEDIUM: http_ana: make the detection of NTLM variants safer
- BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered
- BUG/MINOR: pools: use %u not %d to report pool stats in "show pools"
- BUG/MINOR: pollers: remove uneeded free in global init
- BUG/MINOR: soft-stop: always wake up waiting threads on stopping
- BUILD: select: only declare existing local labels to appease clang
- BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
- BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified
- BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable
- BUG/MINOR: lua: Add missing string length for lua sticktable lookup
- BUG/MINOR: nameservers: fix error handling in parsing of resolv.conf
- Revert "BUG/MEDIUM: connections: force connections cleanup on server changes"
- SCRIPTS: publish-release: pass -n to gzip to remove timestamp
- BUG/MINOR: peers: fix internal/network key type mapping.
- BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action
- BUG/MEDIUM: hlua: Lock pattern references to perform set/add/del operations
- BUG/MEDIUM: contrib/prometheus-exporter: Properly set flags to dump metrics
- BUG/MINOR: logs: prevent double line returns in some events.
- BUG/MEDIUM: logs: fix trailing zeros on log message.
- BUG/MINOR: proto-http: Fix detection of NTLM for the legacy HTTP version
- BUILD: makefile: adjust the sed expression of "make help" for solaris
- BUG/MEDIUM: mworker: fix the copy of options in copy_argv()
- BUG/MINOR: init: -x can have a parameter starting with a dash
- BUG/MINOR: init: -S can have a parameter starting with a dash
- BUG/MEDIUM: mworker: fix the reload with an -- option
- BUG/MINOR: mworker: fix a memleak when execvp() failed
- BUG/MEDIUM: log: don't hold the log lock during writev() on a file descriptor
- BUG/MEDIUM: pattern: fix thread safety of pattern matching
- REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for lua/txn_get_priv
- REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for compression/lua_validation
- BUG/MINOR: ssl: fix ssl-{min,max}-ver with openssl < 1.1.0
- REGTESTS: checks: Fix tls_health_checks when IPv6 addresses are used
diff --git a/CHANGELOG b/CHANGELOG
index 059ced5..90767e3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,85 @@
ChangeLog :
===========
+2020/06/12 : 2.0.15
+ - BUG/MINOR: protocol_buffer: Wrong maximum shifting.
+ - BUG/MINOR: peers: Incomplete peers sections should be validated.
+ - DOC: hashing: update link to hashing functions
+ - DOC: Improve documentation on http-request set-src
+ - BUG/MINOR: ssl: default settings for ssl server options are not used
+ - BUG/MEDIUM: http-ana: Handle NTLM messages correctly.
+ - BUG/MINOR: tools: fix the i386 version of the div64_32 function
+ - BUG/MINOR: http: make url_decode() optionally convert '+' to SP
+ - DOC: option logasap does not depend on mode
+ - BUG/MINOR: check: Update server address and port to execute an external check
+ - MINOR: checks: Add a way to send custom headers and payload during http chekcs
+ - BUG/MINOR: checks: Respect the no-check-ssl option
+ - BUG/MINOR: checks: chained expect will not properly wait for enough data
+ - BUG/MINOR: obj_type: Handle stream object in obj_base_ptr() function
+ - BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream
+ - BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
+ - BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
+ - BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
+ - BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream
+ - BUG/MEDIUM: listener: mark the thread as not stuck inside the loop
+ - MINOR: threads: export the POSIX thread ID in panic dumps
+ - BUG/MINOR: debug: properly use long long instead of long for the thread ID
+ - BUG/MEDIUM: shctx: really check the lock's value while waiting
+ - BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
+ - MINOR: stream: report the list of active filters on stream crashes
+ - REGTEST: ssl: test the client certificate authentication
+ - BUG/MEDIUM: backend: don't access a non-existing mux from a previous connection
+ - Revert "BUG/MINOR: connection: make sure to correctly tag local PROXY connections"
+ - BUG/MEDIUM: server/checks: Init server check during config validity check
+ - BUG/MINOR: checks/server: use_ssl member must be signed
+ - BUG/MEDIUM: checks: Always initialize checks before starting them
+ - BUG/MINOR: checks: Compute the right HTTP request length for HTTP health checks
+ - BUG/MINOR: checks: Remove a warning about http health checks
+ - BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry.
+ - BUG/MEDIUM: stream: Only allow L7 retries when using HTTP.
+ - BUG/MAJOR: stream-int: always detach a faulty endpoint on connect failure
+ - BUG/MEDIUM: connections: force connections cleanup on server changes
+ - BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id()
+ - CLEANUP: connections: align function declaration
+ - BUG/MINOR: sample: Set the correct type when a binary is converted to a string
+ - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS()
+ - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}()
+ - BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT
+ - BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur
+ - BUG/MINOR: http-ana: fix NTLM response parsing again
+ - BUG/MEDIUM: http_ana: make the detection of NTLM variants safer
+ - BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered
+ - BUG/MINOR: pools: use %u not %d to report pool stats in "show pools"
+ - BUG/MINOR: pollers: remove uneeded free in global init
+ - BUG/MINOR: soft-stop: always wake up waiting threads on stopping
+ - BUILD: select: only declare existing local labels to appease clang
+ - BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
+ - BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified
+ - BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable
+ - BUG/MINOR: lua: Add missing string length for lua sticktable lookup
+ - BUG/MINOR: nameservers: fix error handling in parsing of resolv.conf
+ - Revert "BUG/MEDIUM: connections: force connections cleanup on server changes"
+ - SCRIPTS: publish-release: pass -n to gzip to remove timestamp
+ - BUG/MINOR: peers: fix internal/network key type mapping.
+ - BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action
+ - BUG/MEDIUM: hlua: Lock pattern references to perform set/add/del operations
+ - BUG/MEDIUM: contrib/prometheus-exporter: Properly set flags to dump metrics
+ - BUG/MINOR: logs: prevent double line returns in some events.
+ - BUG/MEDIUM: logs: fix trailing zeros on log message.
+ - BUG/MINOR: proto-http: Fix detection of NTLM for the legacy HTTP version
+ - BUILD: makefile: adjust the sed expression of "make help" for solaris
+ - BUG/MEDIUM: mworker: fix the copy of options in copy_argv()
+ - BUG/MINOR: init: -x can have a parameter starting with a dash
+ - BUG/MINOR: init: -S can have a parameter starting with a dash
+ - BUG/MEDIUM: mworker: fix the reload with an -- option
+ - BUG/MINOR: mworker: fix a memleak when execvp() failed
+ - BUG/MEDIUM: log: don't hold the log lock during writev() on a file descriptor
+ - BUG/MEDIUM: pattern: fix thread safety of pattern matching
+ - REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for lua/txn_get_priv
+ - REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for compression/lua_validation
+ - BUG/MINOR: ssl: fix ssl-{min,max}-ver with openssl < 1.1.0
+ - REGTESTS: checks: Fix tls_health_checks when IPv6 addresses are used
+
2020/04/02 : 2.0.14
- BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat
- BUG/MEDIUM: muxes: Use the right argument when calling the destroy method.
diff --git a/VERDATE b/VERDATE
index b71e54b..9b2a336 100644
--- a/VERDATE
+++ b/VERDATE
@@ -1,2 +1,2 @@
$Format:%ci$
-2020/04/02
+2020/06/12
diff --git a/VERSION b/VERSION
index 3d45b5c..b8061b5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.14
+2.0.15
diff --git a/doc/configuration.txt b/doc/configuration.txt
index ebbc6fd..37bdb99 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -4,7 +4,7 @@
----------------------
version 2.0
willy tarreau
- 2020/04/02
+ 2020/06/12
This document covers the configuration language as implemented in the version
diff --git a/doc/internals/hashing.txt b/doc/internals/hashing.txt
index 1bf6b26..af66de2 100644
--- a/doc/internals/hashing.txt
+++ b/doc/internals/hashing.txt
@@ -2,7 +2,7 @@
This document describes how Haproxy implements hashing both map-based and
consistent hashing, both prior to versions 1.5 and the motivation and tests
-that were done when providing additional options starting in version 1.5.
+that were done when providing additional options starting in version 2.0
A note on hashing in general, hash functions strive to have little
correlation between input and output. The heart of a hash function is its