[RELEASE] Released version 2.3.11
Released version 2.3.11 with the following main changes :
- BUG/MINOR: mux-fcgi: Don't send normalized uri to FCGI application
- BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message
- BUG/MINOR: applet: Notify the other side if data were consumed by an applet
- BUG/MEDIUM: peers: initialize resync timer to get an initial full resync
- BUG/MEDIUM: peers: register last acked value as origin receiving a resync req
- BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
- BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
- BUG/MEDIUM: peers: reset commitupdate value in new conns
- BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
- BUG/MEDIUM: peers: reset tables stage flags stages on new conns
- MINOR: peers: add informative flags about resync process for debugging
- REGTESTS: add minimal CLI "add map" tests
- BUG/MINOR: hlua: Don't rely on top of the stack when using Lua buffers
- BUG/MEDIUM: cli: prevent memory leak on write errors
- BUG/MINOR: ssl/cli: fix a lock leak when no memory available
- MINOR: compat: automatically include malloc.h on glibc
- MEDIUM: pools: call malloc_trim() from pool_gc()
- MINOR: pools/debug: slightly relax DEBUG_DONT_SHARE_POOLS
- MINOR: debug: add a new "debug dev sym" command in expert mode
- BUG/MEDIUM: dns: reset file descriptor if send returns an error
- BUG/MINOR: stream: Decrement server current session counter on L7 retry
- BUG/MINOR: stream: properly clear the previous error mask on L7 retries
- BUG/MINOR: stream: Reset stream final state and si error type on L7 retry
- BUG/MINOR: checks: Handle synchronous connect when a tcpcheck is started
- BUG/MINOR: checks: Reschedule check on observe mode only if fastinter is set
- BUG/MINOR: http_fetch: fix possible uninit sockaddr in fetch_url_ip/port
- MINOR: channel: Rely on HTX version if appropriate in channel_may_recv()
- BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive
- MINOR: conn-stream: Force mux to wait for read events if abortonclose is set
- MEDIUM: mux-h1: Don't block reads when waiting for the other side
- BUG/MEDIUM: mux-h1: Properly report client close if abortonclose option is set
- REGTESTS: Add script to test abortonclose option
- BUG/MEDIUM: ebtree: Invalid read when looking for dup entry
- BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
- BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter
- BUG/MINOR: http-comp: Preserve HTTP_MSGF_COMPRESSIONG flag on the response
- BUG/MINOR: http-ana: Handle L7 retries on refused early data before K/A aborts
- BUG/MINOR: server: Missing calloc return value check in srv_parse_source
- BUG/MINOR: peers: Missing calloc return value check in peers_register_table
- BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine
- BUG/MINOR: http: Missing calloc return value check in parse_http_req_capture
- BUG/MINOR: proxy: Missing calloc return value check in proxy_parse_declare
- BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy
- BUG/MINOR: http: Missing calloc return value check while parsing tcp-request/tcp-response
- BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule
- BUG/MINOR: compression: Missing calloc return value check in comp_append_type/algo
- BUG/MINOR: worker: Missing calloc return value check in mworker_env_to_proc_list
- BUG/MINOR: http: Missing calloc return value check while parsing redirect rule
- BUG/MINOR: http: Missing calloc return value check in make_arg_list
- BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree
- BUG/MINOR: lua/vars: prevent get_var() from allocating a new name
- DOC/MINOR: move uuid in the configuration to the right alphabetical order
- BUG/MAJOR: stream-int: Release SI endpoint on server side ASAP on retry
- DOC: use the req.ssl_sni in examples
- BUILD: make tune.ssl.keylog available again
- BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future
- BUG/MEDIUM: compression: Add a flag to know the filter is still processing data
- BUG/MINOR: pools: fix a possible memory leak in the lockless pool_flush()
- MINOR: pools: do not maintain the lock during pool_flush()
- MINOR: pools: call malloc_trim() under thread isolation
- MEDIUM: pools: use a single pool_gc() function for locked and lockless
- BUG/MAJOR: pools: fix possible race with free() in the lockless variant
- CLEANUP: pools: remove now unused seq and pool_free_list
- BUG/MAJOR: htx: Fix htx_defrag() when an HTX block is expanded
- BUG/MINOR: mux-fcgi: Expose SERVER_SOFTWARE parameter by default
- DOC: lua: Add a warning about buffers modification in HTTP
- BUG/MINOR: stick-table: insert srv in used_name tree even with fixed id
- BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE
- BUG/MINOR: ssl: use atomic ops to update global shctx stats
- BUG/MINOR: mworker: fix typo in chroot error message
- BUG/MAJOR: queue: set SF_ASSIGNED when setting strm->target on dequeue
- MINOR: backend: only skip LB when there are actual connections
- BUG/MINOR: stats: make "show stat typed desc" work again
- MINOR: mux-h2: obey http-ignore-probes during the preface
- BUG/MEDIUM: dns: send messages on closed/reused fd if fd was detected broken
- BUILD: cfgparse-ssl: Remove const from defpx param in keylog parsing function
- BUG/MINOR: resolvers: answser item list was randomly purged or errors
- MEDIUM: resolvers: add a ref on server to the used A/AAAA answer item
- MEDIUM: resolvers: add a ref between servers and srv request or used SRV record
- BUG/MAJOR: resolvers: segfault using server template without SRV RECORDs
- BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
- BUG/MINOR: server/cli: Fix locking in function processing "set server" command
- BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
- REGTESTS: fix maxconn update with agent-check
- MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
- DOC: config: Add missing actions in "tcp-request session" documentation
- BUG/MINOR: checks: return correct error code for srv_parse_agent_check
- BUG/MINOR: tcpcheck: Fix numbering of implicit HTTP send/expect rules
- BUG/MEDIUM: sock: make sure to never miss early connection failures
- BUG/MINOR: cli: fix server name output in "show fd"
- BUG/MINOR: stick-table: fix several printf sign errors dumping tables
- DOC: stick-table: add missing documentation about gpt0 stored type
- DOC: peers: fix the protocol tag name in the doc
- DOC: config: use CREATE USER for mysql-check
- BUG/MINOR: server-state: load SRV resolution only if params match the config
- BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled
- MINOR: resolvers: Clean server in a dedicated function when removing a SRV item
- MINOR: resolvers: Remove server from named_servers tree when removing a SRV item
- BUG/MEDIUM: resolvers: Add a task on servers to check SRV resolution status
- BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task()
- BUG/MINOR: resolvers: Always attach server on matching record on resolution
- BUG/MINOR: resolvers: Reset server IP when no ip is found in the response
- MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response()
- BUG/MEDIUM: resolvers: Make 1st server of a template take part to SRV resolution
- BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
- Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules"
diff --git a/CHANGELOG b/CHANGELOG
index b046550..feed477 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,114 @@
ChangeLog :
===========
+2021/07/07 : 2.3.11
+ - BUG/MINOR: mux-fcgi: Don't send normalized uri to FCGI application
+ - BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message
+ - BUG/MINOR: applet: Notify the other side if data were consumed by an applet
+ - BUG/MEDIUM: peers: initialize resync timer to get an initial full resync
+ - BUG/MEDIUM: peers: register last acked value as origin receiving a resync req
+ - BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
+ - BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
+ - BUG/MEDIUM: peers: reset commitupdate value in new conns
+ - BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
+ - BUG/MEDIUM: peers: reset tables stage flags stages on new conns
+ - MINOR: peers: add informative flags about resync process for debugging
+ - REGTESTS: add minimal CLI "add map" tests
+ - BUG/MINOR: hlua: Don't rely on top of the stack when using Lua buffers
+ - BUG/MEDIUM: cli: prevent memory leak on write errors
+ - BUG/MINOR: ssl/cli: fix a lock leak when no memory available
+ - MINOR: compat: automatically include malloc.h on glibc
+ - MEDIUM: pools: call malloc_trim() from pool_gc()
+ - MINOR: pools/debug: slightly relax DEBUG_DONT_SHARE_POOLS
+ - MINOR: debug: add a new "debug dev sym" command in expert mode
+ - BUG/MEDIUM: dns: reset file descriptor if send returns an error
+ - BUG/MINOR: stream: Decrement server current session counter on L7 retry
+ - BUG/MINOR: stream: properly clear the previous error mask on L7 retries
+ - BUG/MINOR: stream: Reset stream final state and si error type on L7 retry
+ - BUG/MINOR: checks: Handle synchronous connect when a tcpcheck is started
+ - BUG/MINOR: checks: Reschedule check on observe mode only if fastinter is set
+ - BUG/MINOR: http_fetch: fix possible uninit sockaddr in fetch_url_ip/port
+ - MINOR: channel: Rely on HTX version if appropriate in channel_may_recv()
+ - BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive
+ - MINOR: conn-stream: Force mux to wait for read events if abortonclose is set
+ - MEDIUM: mux-h1: Don't block reads when waiting for the other side
+ - BUG/MEDIUM: mux-h1: Properly report client close if abortonclose option is set
+ - REGTESTS: Add script to test abortonclose option
+ - BUG/MEDIUM: ebtree: Invalid read when looking for dup entry
+ - BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
+ - BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter
+ - BUG/MINOR: http-comp: Preserve HTTP_MSGF_COMPRESSIONG flag on the response
+ - BUG/MINOR: http-ana: Handle L7 retries on refused early data before K/A aborts
+ - BUG/MINOR: server: Missing calloc return value check in srv_parse_source
+ - BUG/MINOR: peers: Missing calloc return value check in peers_register_table
+ - BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine
+ - BUG/MINOR: http: Missing calloc return value check in parse_http_req_capture
+ - BUG/MINOR: proxy: Missing calloc return value check in proxy_parse_declare
+ - BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy
+ - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request/tcp-response
+ - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule
+ - BUG/MINOR: compression: Missing calloc return value check in comp_append_type/algo
+ - BUG/MINOR: worker: Missing calloc return value check in mworker_env_to_proc_list
+ - BUG/MINOR: http: Missing calloc return value check while parsing redirect rule
+ - BUG/MINOR: http: Missing calloc return value check in make_arg_list
+ - BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree
+ - BUG/MINOR: lua/vars: prevent get_var() from allocating a new name
+ - DOC/MINOR: move uuid in the configuration to the right alphabetical order
+ - BUG/MAJOR: stream-int: Release SI endpoint on server side ASAP on retry
+ - DOC: use the req.ssl_sni in examples
+ - BUILD: make tune.ssl.keylog available again
+ - BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future
+ - BUG/MEDIUM: compression: Add a flag to know the filter is still processing data
+ - BUG/MINOR: pools: fix a possible memory leak in the lockless pool_flush()
+ - MINOR: pools: do not maintain the lock during pool_flush()
+ - MINOR: pools: call malloc_trim() under thread isolation
+ - MEDIUM: pools: use a single pool_gc() function for locked and lockless
+ - BUG/MAJOR: pools: fix possible race with free() in the lockless variant
+ - CLEANUP: pools: remove now unused seq and pool_free_list
+ - BUG/MAJOR: htx: Fix htx_defrag() when an HTX block is expanded
+ - BUG/MINOR: mux-fcgi: Expose SERVER_SOFTWARE parameter by default
+ - DOC: lua: Add a warning about buffers modification in HTTP
+ - BUG/MINOR: stick-table: insert srv in used_name tree even with fixed id
+ - BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE
+ - BUG/MINOR: ssl: use atomic ops to update global shctx stats
+ - BUG/MINOR: mworker: fix typo in chroot error message
+ - BUG/MAJOR: queue: set SF_ASSIGNED when setting strm->target on dequeue
+ - MINOR: backend: only skip LB when there are actual connections
+ - BUG/MINOR: stats: make "show stat typed desc" work again
+ - MINOR: mux-h2: obey http-ignore-probes during the preface
+ - BUG/MEDIUM: dns: send messages on closed/reused fd if fd was detected broken
+ - BUILD: cfgparse-ssl: Remove const from defpx param in keylog parsing function
+ - BUG/MINOR: resolvers: answser item list was randomly purged or errors
+ - MEDIUM: resolvers: add a ref on server to the used A/AAAA answer item
+ - MEDIUM: resolvers: add a ref between servers and srv request or used SRV record
+ - BUG/MAJOR: resolvers: segfault using server template without SRV RECORDs
+ - BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
+ - BUG/MINOR: server/cli: Fix locking in function processing "set server" command
+ - BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
+ - REGTESTS: fix maxconn update with agent-check
+ - MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
+ - DOC: config: Add missing actions in "tcp-request session" documentation
+ - BUG/MINOR: checks: return correct error code for srv_parse_agent_check
+ - BUG/MINOR: tcpcheck: Fix numbering of implicit HTTP send/expect rules
+ - BUG/MEDIUM: sock: make sure to never miss early connection failures
+ - BUG/MINOR: cli: fix server name output in "show fd"
+ - BUG/MINOR: stick-table: fix several printf sign errors dumping tables
+ - DOC: stick-table: add missing documentation about gpt0 stored type
+ - DOC: peers: fix the protocol tag name in the doc
+ - DOC: config: use CREATE USER for mysql-check
+ - BUG/MINOR: server-state: load SRV resolution only if params match the config
+ - BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled
+ - MINOR: resolvers: Clean server in a dedicated function when removing a SRV item
+ - MINOR: resolvers: Remove server from named_servers tree when removing a SRV item
+ - BUG/MEDIUM: resolvers: Add a task on servers to check SRV resolution status
+ - BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task()
+ - BUG/MINOR: resolvers: Always attach server on matching record on resolution
+ - BUG/MINOR: resolvers: Reset server IP when no ip is found in the response
+ - MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response()
+ - BUG/MEDIUM: resolvers: Make 1st server of a template take part to SRV resolution
+ - BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
+ - Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules"
+
2021/04/23 : 2.3.10
- BUILD: backend: fix build breakage in idle conn locking fix
- BUG/MINOR: tcp: fix silent-drop workaround for IPv6
diff --git a/VERDATE b/VERDATE
index 4b482d9..e883490 100644
--- a/VERDATE
+++ b/VERDATE
@@ -1,2 +1,2 @@
$Format:%ci$
-2021/04/23
+2021/07/07
diff --git a/VERSION b/VERSION
index 9fa5f12..f470771 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.3.10
+2.3.11
diff --git a/doc/configuration.txt b/doc/configuration.txt
index e49216f..b4a316e 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -4,7 +4,7 @@
----------------------
version 2.3
willy tarreau
- 2021/04/23
+ 2021/07/07
This document covers the configuration language as implemented in the version