Feature update for haproxy
Announcement ID: | SUSE-FU-2023:2117-1 |
---|---|
Rating: | moderate |
References: | |
Cross-References: | |
CVSS scores: |
|
Affected Products: |
|
An update that solves two vulnerabilities and contains one feature can now be installed.
Description:
This update for haproxy fixes the following issues:
Update to version 2.0.31 (jsc#PED-3821):
- BUG/CRITICAL: http: properly reject empty http header field names
- CI: github: don't warn on deprecated openssl functions on windows
- DOC: proxy-protocol: fix wrong byte in provided example
- DOC: config: 'http-send-name-header' option may be used in default section
- DOC: config: fix option spop-check proxy compatibility
- BUG/MEDIUM: cache: use the correct time reference when comparing dates
- BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
- BUG/MEDIUM: ssl: wrong eviction from the session cache tree
- BUG/MINOR: http-ana: make set-status also update txn->status
- BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
- BUG/MINOR: promex: Don't forget to consume the request on error
- BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
- BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
- BUILD: makefile: sort the features list
- BUILD: makefile: build the features list dynamically
- BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
- BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
- LICENSE: wurfl: clarify the dummy library license.
- BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout
- BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers
- BUG/MINOR: ssl: Fix potential overflow
- BUG/MEDIUM: ssl: Verify error codes can exceed 63
- CI: github: change "ubuntu-latest" to "ubuntu-20.04"
- SCRIPTS: announce-release: add a link to the data plane API
- [RELEASE] Released version 2.0.30
- Revert "CI: determine actual LibreSSL version dynamically"
- DOC: config: clarify the -m dir and -m dom pattern matching methods
- DOC: config: clarify the fact that "retries" is not just for connections
- DOC: config: explain how default matching method for ACL works
- DOC: config: clarify the fact that SNI should not be used in HTTP scenarios
- DOC: config: provide some configuration hints for "http-reuse"
- BUILD: listener: fix build warning on global_listener_rwlock without threads
- BUILD: peers: Remove unused variables
- BUG/MEDIUM: peers: messages about unkown tables not correctly ignored
- BUG/MINOR: http_ana/txn: don't re-initialize txn and req var lists
- BUG/MEDIUM: listener: Fix race condition when updating the global mngmt task
- CI: emit the compiler's version in the build reports
- CI: add monthly gcc cross compile jobs
- BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task
- BUG/MAJOR: stick-table: don't process store-response rules for applets
- DOC: management: add forgotten "show startup-logs"
- CI: Replace the deprecated
::set-output
command by writing to $GITHUB_OUTPUT in workflow definition - CI: Replace the deprecated
::set-output
command by writing to $GITHUB_OUTPUT in matrix.py - BUG/MAJOR: stick-tables: do not try to index a server name for applets
- DOC: configuration: missing 'if' in tcp-request content example
- BUILD: http_fetch: silence an uninitiialized warning with gcc-4/5/6 at -Os
- BUG/MINOR: http-fetch: Update method after a prefetch in smp_fetch_meth()
- BUG/MEDIUM: lua: handle stick table implicit arguments right.
- BUILD: cfgparse: Fix GCC warning about a variable used after realloc
- BUILD: fix compilation for OpenSSL-3.0.0-alpha17
- BUG/MINOR: log: improper behavior when escaping log data
- SCRIPTS: announce-release: update some URLs to https
- BUG/MEDIUM: captures: free() an error capture out of the proxy lock
- BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK
- BUG/MINOR: signals/poller: ensure wakeup from signals
- BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals
- BUG/MINOR: h1: Support headers case adjustment for TCP proxies
- REGTESTS: http_request_buffer: Add a barrier to not mix up log messages
- BUG/MEDIUM: peers: Don't start resync on reload if local peer is not up-to-date
- BUG/MEDIUM: peers: Don't use resync timer when local resync is in progress
- BUG/MEDIUM: peers: Add connect and server timeut to peers proxy
- BUG/MEDIUM: spoe: Properly update streams waiting for a ACK in async mode
- DOC: configuration: do-resolve doesn't work with a port in the string
- BUG/MINOR: resolvers: return the correct value in resolvers_finalize_config()
- BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle
- BUILD: http: silence an uninitialized warning affecting gcc-5
- BUG/MEDIUM: proxy: Perform a custom copy for default server settings
- REORG: server: Export srv_settings_cpy() function
- MINOR: server: Constify source server to copy its settings
- BUG/MINOR: peers: Use right channel flag to consider the peer as connected
- BUG/MEDIUM: peers: limit reconnect attempts of the old process on reload
- MINOR: peers: Use a dedicated reconnect timeout when stopping the local peer
- BUG/MINOR: ssl: free the fields in srv->ssl_ctx
- BUG/MINOR: sockpair: wrong return value for fd_send_uxst()
- BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible
- BUG/MINOR: peers: fix possible NULL dereferences at config parsing
- BUG/MINOR: peers/config: always fill the bind_conf's argument
- BUG/MINOR: http-fetch: Use integer value when possible in "method" sample fetch
- BUG/MINOR: http-ana: Set method to HTTP_METH_OTHER when an HTTP txn is created
- BUG/MINOR: server: do not enable DNS resolution on disabled proxies
- BUILD: compiler: implement unreachable for older compilers too
- REGTESTS: http_request_buffer: Increase client timeout to wait "slow" clients
- REGTESTS: abortonclose: Add a barrier to not mix up log messages
- BUG/MINOR: conn_stream: do not confirm a connection from the frontend path
- DOC: peers: fix port number and addresses on new peers section format
- DOC: peers: clarify when entry expiration date is renewed.
- DOC: peers: indicate that some server settings are not usable
- SCRIPTS: make publish-release try to launch make-releases-json
- SCRIPTS: add make-releases-json to recreate a releases.json file in download dirs
- BUG/MEDIUM: sample: Fix adjusting size in word converter
- BUG/MEDIUM: peers: prevent unitialized multiple listeners on peers section
- BUG/MEDIUM: peers: fix segfault using multiple bind on peers sections
- BUG/MEDIUM: http: Properly reject non-HTTP/1.x protocols
- BUG/MINOR: peers: fix error reporting of "bind" lines
- REGTESTS: abortonclose: Fix some race conditions
- BUILD: fix build warning on solaris based systems with __maybe_unused.
- CI: determine actual LibreSSL version dynamically
- [RELEASE] Released version 2.0.29
- BUG/MINOR: ssl: fix build on development versions of openssl-1.1.x
- CLEANUP: mux-h1: Fix comments and error messages for global options
- BUG/MEDIUM: wdt: don't trigger the watchdog when p is unitialized
- BUG/MINOR: server: Make SRV_STATE_LINE_MAXLEN value from 512 to 2kB (2000 bytes).
- DOC: fix typo "ant" for "and" in INSTALL
- BUG/MINOR: map/cli: make sure patterns don't vanish under "show map"'s init
- BUG/MINOR: map/cli: protect the backref list during "show map" errors
- BUG/MEDIUM: cli: make "show cli sockets" really yield
- BUG/MINOR: mux-h2: mark the stream as open before processing it not after
- SCRIPTS: announce-release: add URL of dev packages
- CI: github actions: update LibreSSL to 3.5.2
- BUILD: sockpair: do not set unused flag
- BUILD: proto_uxst: do not set unused flag
- BUG/MINOR: pools: make sure to also destroy shared pools in pool_destroy_all()
- REGTESTS: fix the race conditions in be2dec.vtc ad field.vtc
- DOC: remove my name from the config doc
- BUG/MINOR: cache: Disable cache if applet creation fails
- SCRIPTS: announce-release: add shortened links to pending issues
- DOC: lua: update a few doc URLs
- SCRIPTS: announce-release: update the doc's URL
- BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags
- BUG/MEDIUM: mux-h1: Don't request more room on partial trailers
- BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive
- BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side
- BUG/MINOR: cache: do not display expired entries in "show cache"
- BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
- CI: Update to actions/cache@v3
- CI: Update to actions/checkout@v3
- BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid
- BUG/MAJOR: mux_pt: always report the connection error to the conn_stream
- DOC: reflect H2 timeout changes
- BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts
- MEDIUM: mux-h2: slightly relax timeout management rules
- BUG/MEDIUM: stream-int: do not rely on the connection error once established
- BUG/MINOR: tools: url2sa reads too far when no port nor path
- BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf
- CI: github actions: switch to LibreSSL-3.5.1
- BUILD: dns: fix backport of previous dns fix
- BUG/MAJOR: dns: multi-thread concurrency issue on UDP socket
- Revert "BUG/MAJOR: mux-pt: Always destroy the backend connection on detach"
- BUG/MINOR: tools: fix url2sa return value with IPv4
- [RELEASE] Released version 2.0.28
- DOC: Fix usage/examples of deprecated ACLs
- BUG/MINOR: stream: make the call_rate only count the no-progress calls
- DOC: use the req.ssl_sni in examples
- DOC: ssl: req_ssl_sni needs implicit TLS
- BUG/MAJOR: mux-pt: Always destroy the backend connection on detach
- BUG/MEDIUM: mcli: Properly handle errors and timeouts during reponse processing
- DEBUG: cache: Update underlying buffer when loading HTX message in cache applet
- BUG/MINOR: promex: Set conn-stream/channel EOI flags at the end of request
- BUG/MINOR: cache: Set conn-stream/channel EOI flags at the end of request
- BUG/MINOR: stats: Set conn-stream/channel EOI flags at the end of request
- BUG/MINOR: hlua: Set conn-stream/channel EOI flags at the end of request
- BUG/MINOR: cli: shows correct mode in "show sess"
- BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks
- CLEANUP: atomic: add a fetch-and-xxx variant for common operations
- CI: github actions: use cache for SSL libs
- CI: github actions: add the output of $CC -dM -E-
- BUG/MEDIUM: stream: Abort processing if response buffer allocation fails
- BUG/MAJOR: mux-h2: Be sure to always report HTX parsing error to the app layer
- BUG/MEDIUM: mux-h1: Don't wake h1s if mux is blocked on lack of output buffer
- BUG/MINOR: tools: url2sa reads ipv4 too far
- BUG/MINOR: mailers: negotiate SMTP, not ESMTP
- CI: ssl: keep the old method for ancient OpenSSL versions
- CI: ssl: do not needlessly build the OpenSSL docs
- CI: ssl: enable parallel builds for OpenSSL on Linux
- BUG/MEDIUM: resolvers: Really ignore trailing dot in domain names
- BUG/MINOR: mworker: fix a FD leak of a sockpair upon a failed reload
- BUG/MEDIUM: mworker: close unused transferred FDs on load failure
- MINOR: sock: move the unused socket cleaning code into its own function
- BUG/MAJOR: spoe: properly detach all agents when releasing the applet
- BUG/MAJOR: http/htx: prevent unbounded loop in http_manage_server_side_cookies
- BUG/MINOR: mworker: does not erase the pidfile upon reload
- BUG/MEDIUM: mworker: don't lose the stats socket on failed reload
- BUG/MEDIUM: mcli: always realign wrapping buffers before parsing them
- BUG/MEDIUM: mcli: do not try to parse empty buffers
- BUG/MINOR: cli: avoid O(bufsize) parsing cost on pipelined commands
- MINOR: channel: add new function co_getdelim() to support multiple delimiters
- MEDIUM: cli: yield between each pipelined command
- [RELEASE] Released version 2.0.27
- BUG/MEDIUM: htx: Adjust length to add DATA block in an empty HTX buffer
- BUG/MEDIUM: cli: Never wait for more data on client shutdown
- BUILD/MINOR: fix solaris build with clang.
- BUG/MEDIUM: mworker: don't use _getsocks in wait mode
- BUG/MEDIUM: http-ana: Preserve response's FLT_END analyser on L7 retry
- BUG/MINOR: cli: fix _getsocks with musl libc
- CLEANUP: ssl: make ssl_sock_free_srv_ctx() zero the pointers after free
- BUILD: makefile: add -Wno-atomic-alignment to work around clang abusive warning
- DOC: fix misspelled keyword "resolve_retries" in resolvers
- BUILD: ssl: unbreak the build with newer libressl
- BUILD: cli: clear a maybe-unused warning on some older compilers
- BUG/MINOR: http: fix recent regression on authorization in legacy mode
- Revert "BUG/MEDIUM: resolvers: always check a valid item in query_list"
- BUG/MINOR: backend: restore the SF_SRV_REUSED flag original purpose
- BUG/MINOR: backend: do not set sni on connection reuse
- BUG/MEDIUM: mworker/cli: crash when trying to access an old PID in prompt mode
- DOC: config: Specify %Ta is only available in HTTP mode
- DOC: spoe: Clarify use of the event directive in spoe-message section
- MINOR: ssl: make tlskeys_list_get_next() take a list element
- CLEANUP: ssl: Remove useless local variable in tlskeys_list_get_next()
- CLEANUP: ssl: Remove useless loop in tlskeys_list_get_next()
- BUG/MEDIUM: cli: Properly set stream analyzers to process one command at a time
- MINOR: cli: "show version" displays the current process version
- BUILD: general: always pass unsigned chars to is* functions
- CLEANUP: peers: Remove unused static function
free_dcache_tx
- CLEANUP: peers: Remove unused static function
free_dcache
- REGTESTS: mark the abns test as broken again
- BUILD: scripts/build-ssl.sh: use "uname" instead of ${TRAVIS_OS_NAME}
- BUILD: makefile: add entries to build common debugging tools
- CI: Github Actions: temporarily disable BoringSSL builds
- CI: Github Actions: switch to LibreSSL-3.3.3
- CI: github actions: update LibreSSL to 3.2.5
- Revert "CI: Pin VTest to a known good commit"
- CI: github actions: switch to stable LibreSSL release
- CI: Fix the coverity builds
- CI: Fix DEBUG_STRICT definition for Coverity
- CI: Pin VTest to a known good commit
- CI: github actions: build several popular "contrib" tools
- CI: GitHub Actions: enable daily Coverity scan
- CI: github actions: enable 51degrees feature
- CI: github actions: update LibreSSL to 3.3.0
- CI: Clean up Windows CI
- CI: Pass the github.event_name to matrix.py
- CI: Github Action: run "apt-get update" before packages restore
- CI: Github Actions: enable BoringSSL builds
- CI: Github Actions: remove LibreSSL-3.0.2 builds
- CI: Github Actions: enable prometheus exporter
- CI: Stop hijacking the hosts file
- CI: Expand use of GitHub Actions for CI
- [RELEASE] Released version 2.0.26
- BUG/MEDIUM: ssl: abort with the correct SSL error when SNI not found
- BUG/MINOR: shctx: do not look for available blocks when the first one is enough
- BUG/MEDIUM: shctx: leave the block allocator when enough blocks are found
- BUG/MEDIUM: mux-h2: always process a pending shut read
- BUG/MEDIUM: ssl: backend TLS resumption with sni and TLSv1.3
- CLEANUP: ssl: Release cached SSL sessions on deinit
- MINOR: mux-h2: perform a full cycle shutdown+drain on close
- MINOR: connection: add a new CO_FL_WANT_DRAIN flag to force drain on close
- BUG/MINOR: stick-table/cli: Check for invalid ipv6 key
- BUG/MEDIUM: connection: make cs_shutr/cs_shutw//cs_close() idempotent
- BUG/MINOR: mux-h2: Fix H2_CF_DEM_SHORT_READ value
- BUG/MINOR: mworker: doesn't launch the program postparser
- BUG/MEDIUM: conn-stream: Don't reset CS flags on close
- BUG/MINOR: http-ana: Apply stop to the current section for http-response rules
- DOC: config: Fix typo in ssl_fc_unique_id description
- BUG/MEDIUM: mux-h1: Fix H1C_F_ST_SILENT_SHUT value
- BUG/MEDIUM: stream-int: Defrag HTX message in si_cs_recv() if necessary
- MINOR: htx: Add a function to know if the free space wraps
- MINOR: htx: Add an HTX flag to know when a message is fragmented
- BUG/MINOR: tcpcheck: Improve LDAP response parsing to fix LDAP check
- MINOR: stream: Improve dump of bogus streams
- DOC: config: Fix alphabetical order of fc_* samples
- BUG/MINOR: http: Authorization value can have multiple spaces after the scheme
- BUG/MEDIUM: http-ana: Drain request data waiting the tarpit timeout expiration
- CLEANUP: resolvers: replace all LIST_DELETE with LIST_DEL_INIT
- CLEANUP: always initialize the answer_list
- CLEANUP: resolvers: do not export resolv_purge_resolution_answer_records()
- BUG/MEDIUM: mux-h1: Perform a connection shutdown when the h1c is released
- BUG/MINOR: mux-h1: Save shutdown mode if the shutdown is delayed
- BUG/MINOR: mux-h2: do not prevent from sending a final GOAWAY frame
- BUG/MEDIUM: resolvers: always check a valid item in query_list
- BUILD: resolvers: avoid a possible warning on null-deref
- MINOR: resolvers: merge address and target into a union "data"
- BUG/MEDIUM: resolvers: use correct storage for the target address
- BUG/MEDIUM: resolvers: fix truncated TLD consecutive to the API fix
- MINOR: resolvers: fix the resolv_dn_label_to_str() API about trailing zero
- BUG/MINOR: resolvers: do not reject host names of length 255 in SRV records
- BUG/MEDIUM: resolver: make sure to always use the correct hostname length
- MINOR: resolvers: fix the resolv_str_to_dn_label() API about trailing zero
- BUG/MEDIUM: sample: properly verify that variables cast to sample
- MINOR: sample: provide a generic var-to-sample conversion function
- CLEANUP: sample: uninline sample_conv_var2smp_str()
- CLEANUP: sample: rename sample_conv_var2smp() to *_sint
- BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error
- BUG/MEDIUM: mux_h2: Handle others remaining read0 cases on partial frames
- BUG/MEDIUM: http-ana: Clear request analyzers when applying redirect rule
- BUG/MEDIUM: filters: Fix a typo when a filter is attached blocking the release
- BUG/MINOR: filters: Set right FLT_END analyser depending on channel
- BUG/MINOR: filters: Always set FLT_END analyser when CF_FLT_ANALYZE flag is set
- BUG/MEDIUM: http-ana: Reset channels analysers when returning an error
- BUG/MINOR: stream: Don't release a stream if FLT_END is still registered
- BUG/MINOR: tcp-rules: Stop content rules eval on read error and end-of-input
- BUG/MAJOR: lua: use task_wakeup() to properly run a task once
- BUG/MEDIUM: lua: fix wakeup condition from sleep()
- DOC: peers: fix doc "enable" statement on "peers" sections
- BUG/MINOR: mux-h1/mux-fcgi: Sanitize TE header to only send "trailers"
- BUG/MEDIUM: stream: Stop waiting for more data if SI is blocked on RXBLK_ROOM
- BUG/MEDIUM: stream-int: Notify stream that the mux wants more room to xfer data
- BUG/MEDIUM: mux-h1: Adjust conditions to ask more space in the channel buffer
- BUG/MINOR: server: allow 'enable health' only if check configured
- Revert "REGTESTS: mark http_abortonclose as broken"
- BUG/MEDIUM: stream-int: Don't block SI on a channel policy if EOI is reached
- MEDIUM: actions: Fix block ACL.
- BUG/MINOR: stats: fix the POST requests processing in legacy mode
- BUG/MEDIUM: http: check for a channel pending data before waiting
- BUG/MINOR: cli/payload: do not search for args inside payload
- BUG/MINOR: compat: make sure __WORDSIZE is always defined
- BUG/MINOR: systemd: ExecStartPre must use -Ws
- [RELEASE] Released version 2.0.25
- REGTESTS: mark http_abortonclose as broken
- MINOR: action: Use a generic function to check validity of an action rule list
- Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"
- BUG/MAJOR: htx: fix missing header name length check in htx_add_header/trailer
- CLEANUP: htx: remove comments about "must be < 256 MB"
- BUG/MINOR: config: reject configs using HTTP with bufsize >= 256 MB
- DOC: configuration: remove wrong tcp-request examples in tcp-response
- CLEANUP: Add missing include guard to signal.h
- BUG/MINOR: tools: Fix loop condition in dump_text()
- BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time
- BUG/MINOR: ebtree: remove dependency on incorrect macro for bits per long
- BUG/MINOR: lua: use strlcpy2() not strncpy() to copy sample keywords
- MINOR: compiler: implement an ONLY_ONCE() macro
- BUG/MEDIUM: base64: check output boundaries within base64{dec,urldec}
- REGTESTS: abortonclose: after retries, 503 is expected, not close
- BUG/MEDIUM: sock: really fix detection of early connection failures in for 2.3-
- [RELEASE] Released version 2.0.24
- REGTESTS: add a test to prevent h2 desync attacks
- BUG/MAJOR: h2: enforce stricter syntax checks on the :method pseudo-header
- DOC/MINOR: fix typo in management document
- MINOR: mux-h1/proxy: Add a proxy option to disable clear h2 upgrade
- DOC: config: Fix 'http-response send-spoe-group' documentation
- DOC: Improve the lua documentation
- BUG/MEDIUM: spoe: Fix policy to close applets when SPOE connections are queued
- BUG/MEDIUM: spoe: Create a SPOE applet if necessary when the last one is released
- MINOR: spoe: Add a pointer on the filter config in the spoe_agent structure
- BUG/MINOR: server: update last_change on maint->ready transitions too
- BUG/MINOR: connection: Add missing error labels to conn_err_code_str
- BUG/MEDIUM: mux-h2: Handle remaining read0 cases on partial frames
- BUG/MINOR: mux-h2: Obey dontlognull option during the preface
- BUG/MINOR: systemd: must check the configuration using -Ws
- BUG/MINOR: mworker: do not export HAPROXY_MWORKER_REEXEC across programs
- BUG/MEDIUM: mworker: do not register an exit handler if exit is expected
- BUILD: add detection of missing important CFLAGS
- BUG/MEDIUM: tcp-check: Do not dereference inexisting connection
- [RELEASE] Released version 2.0.23
- BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled
- BUG/MINOR: server-state: load SRV resolution only if params match the config
- CLEANUP: pools: remove now unused seq and pool_free_list
- BUG/MAJOR: pools: fix possible race with free() in the lockless variant
- MEDIUM: pools: use a single pool_gc() function for locked and lockless
- MEDIUM: memory: make pool_gc() run under thread isolation
- BUG/MEDIUM: pools: Always update free_list in pool_gc().
- MINOR: pools: do not maintain the lock during pool_flush()
- BUG/MINOR: pools: fix a possible memory leak in the lockless pool_flush()
- MINOR: pools/debug: slightly relax DEBUG_DONT_SHARE_POOLS
- Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules"
- BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
- MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response()
- BUG/MINOR: resolvers: Reset server IP when no ip is found in the response
- DOC: config: use CREATE USER for mysql-check
- DOC: peers: fix the protocol tag name in the doc
- DOC: stick-table: add missing documentation about gpt0 stored type
- BUG/MINOR: stick-table: fix several printf sign errors dumping tables
- BUG/MINOR: cli: fix server name output in "show fd"
- BUG/MEDIUM: sock: make sure to never miss early connection failures
- BUG/MINOR: server/cli: Fix locking in function processing "set server" command
- BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
- BUG/MINOR: resolvers: answser item list was randomly purged or errors
- DOC: config: Add missing actions in "tcp-request session" documentation
- MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
- BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
- BUG/MEDIUM: spoe: Register pre/post analyzers in start_analyze callback function
- BUG/MEDIUM: dns: send messages on closed/reused fd if fd was detected broken
- MINOR: mux-h2: obey http-ignore-probes during the preface
- BUG/MAJOR: queue: set SF_ASSIGNED when setting strm->target on dequeue
- BUG/MINOR: mworker: fix typo in chroot error message
- BUG/MINOR: ssl: use atomic ops to update global shctx stats
- BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE
- BUG/MINOR: stick-table: insert srv in used_name tree even with fixed id
- DOC: lua: Add a warning about buffers modification in HTTP
- BUG/MAJOR: htx: Fix htx_defrag() when an HTX block is expanded
- BUG/MEDIUM: dns: reset file descriptor if send returns an error
- BUG/MEDIUM: compression: Add a flag to know the filter is still processing data
- BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future
- BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree
- BUG/MINOR: http: Missing calloc return value check in make_arg_list
- BUG/MINOR: http: Missing calloc return value check while parsing redirect rule
- BUG/MINOR: worker: Missing calloc return value check in mworker_env_to_proc_list
- BUG/MINOR: compression: Missing calloc return value check in comp_append_type/algo
- BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule
- BUG/MINOR: http: Missing calloc return value check while parsing tcp-request/tcp-response
- BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy
- BUG/MINOR: proxy: Missing calloc return value check in proxy_parse_declare
- BUG/MINOR: http: Missing calloc return value check in parse_http_req_capture
- BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine
- BUG/MINOR: peers: Missing calloc return value check in peers_register_table
- BUG/MINOR: server: Missing calloc return value check in srv_parse_source
- BUG/MINOR: http-ana: Handle L7 retries on refused early data before K/A aborts
- BUG/MINOR: http-comp: Preserve HTTP_MSGF_COMPRESSIONG flag on the response
- BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter
- BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
- BUG/MEDIUM: ebtree: Invalid read when looking for dup entry
- REGTESTS: Add script to test abortonclose option
- MEDIUM: mux-h1: Don't block reads when waiting for the other side
- BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive
- MINOR: channel: Rely on HTX version if appropriate in channel_may_recv()
- BUG/MINOR: http_fetch: fix possible uninit sockaddr in fetch_url_ip/port
- BUG/MINOR: stream: Reset stream final state and si error type on L7 retry
- BUG/MINOR: stream: properly clear the previous error mask on L7 retries
- BUG/MINOR: stream: Decrement server current session counter on L7 retry
- BUG/MEDIUM: cli: prevent memory leak on write errors
- BUG/MINOR: hlua: Don't rely on top of the stack when using Lua buffers
- MINOR: hlua: Add error message relative to the Channel manipulation and HTTP mode
- MINOR: peers: add informative flags about resync process for debugging
- BUG/MEDIUM: peers: reset tables stage flags stages on new conns
- BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
- BUG/MEDIUM: peers: reset commitupdate value in new conns
- BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
- BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
- BUG/MEDIUM: peers: register last acked value as origin receiving a resync req
- BUG/MEDIUM: peers: initialize resync timer to get an initial full resync
- BUG/MINOR: applet: Notify the other side if data were consumed by an applet
- BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message
- BUG/MEDIUM: peers: re-work refcnt on table to protect against flush
- BUG/MEDIUM: peers: re-work connection to new process during reload.
- BUG/MINOR: peers: remove useless table check if initial resync is finished
- BUG/MEDIUM: mux-h2: Properly handle shutdowns when received with data
- BUG/MINOR: mworker: don't use oldpids[] anymore for reload
- BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases
- BUG/MEDIUM: config: fix cpu-map notation with both process and threads
- BUG/MEDIUM: mux-h2: Fix dfl calculation when merging CONTINUATION frames
- BUG/MAJOR: mux-h2: Properly detect too large frames when decoding headers
- BUG/MINOR: server: free srv.lb_nodes in free_server
- BUG/MINOR: mux-h1: Release idle server H1 connection if data are received
- BUG/MINOR: logs: Report the true number of retries if there was no connection
- BUG/MINOR: http_htx: Remove BUG_ON() from http_get_stline() function
- BUG/MINOR: http-fetch: Make method smp safe if headers were already forwarded
- BUG/MEDIUM: threads: Ignore current thread to end its harmless period
- BUG/MEDIUM: sample: Fix adjusting size in field converter
- DOC: clarify that compression works for HTTP/2
- BUG/MINOR: tools: fix parsing "us" unit for timers
- DOC: Explicitly state only IPv4 are supported by forwardfor/originalto options
- [RELEASE] Released version 2.0.22
- BUG/MEDIUM: resolvers: Don't release resolution from a requester callbacks
- MINOR: resolvers: Directly call srvrq_update_srv_state() when possible
- MINOR: resolvers: Add function to change the srv status based on SRV resolution
- MINOR: resolvers: Purge answer items when a SRV resolution triggers an error
- MINOR: resolvers: Use a function to remove answers attached to a resolution
- BUG/MINOR: resolvers: Unlink DNS resolution to set RMAINT on SRV resolution
- BUG/MAJOR: dns: disabled servers through SRV records never recover
- BUG/MAJOR: dns: fix null pointer dereference in snr_update_srv_status
- BUG/MINOR: http_fetch: make hdr_ip() resistant to empty fields
- BUILD: tcp: use IPPROTO_IPV6 instead of SOL_IPV6 on FreeBSD/MacOS
- BUG/MINOR: tcp: fix silent-drop workaround for IPv6
- BUG/MINOR: stats: Apply proper styles in HTML status page.
- BUG/MEDIUM: mux-h1: make h1_shutw_conn() idempotent
- BUG/MINOR: http_fetch: make hdr_ip() reject trailing characters
- MINOR: tools: make url2ipv4 return the exact number of bytes parsed
- BUG/MEDIUM: thread: Fix a deadlock if an isolated thread is marked as harmless
- BUG/MEDIUM: time: make sure to always initialize the global tick
- BUG/MEDIUM: lua: Always init the lua stack before referencing the context
- BUG/MEDIUM: debug/lua: Use internal hlua function to dump the lua traceback
- MINOR: lua: Slightly improve function dumping the lua traceback
- MINOR/BUG: mworker/cli: do not use the unix_bind prefix for the master CLI socket
- BUG/MEDIUM: freq_ctr/threads: use the global_now_ms variable
- MINOR: time: also provide a global, monotonic global_now_ms timer
- [RELEASE] Released version 2.0.21
- BUG/MINOR: freq_ctr/threads: make use of the last updated global time
- MINOR: time: export the global_now variable
- BUG/MINOR: resolvers: Add missing case-insensitive comparisons of DNS hostnames
- BUG/MINOR: resolvers: Reset server address on DNS error only on status change
- BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error
- CLEANUP: tcp-rules: add missing actions in the tcp-request error message
- BUG/MINOR: session: Add some forgotten tests on session's listener
- BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters
- BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached
- BUG/MEDIUM: session: NULL dereference possible when accessing the listener
- BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode
- BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring()
- BUG/MEDIUM: dns: Consider the fact that dns answers are case-insensitive
- BUG/MINOR: http-ana: Don't increment HTTP error counter on read error/timeout
- DOC: spoe: Add a note about fragmentation support in HAProxy
- BUG/MEDIUM: spoe: Kill applets if there are pending connections and nbthread > 1
- BUG/MINOR: connection: Use the client's dst family for adressless servers
- BUG/MINOR: tcp-act: Don't forget to set the original port for IPv4 set-dst rule
- BUG/MINOR: http-ana: Only consider dst address to process originalto option
- BUG/MINOR: mux-h1: Immediately report H1C errors from h1_snd_buf()
- BUG/MEDIUM: resolvers: Reset address for unresolved servers
- BUG/MEDIUM: resolvers: Reset server address and port for obselete SRV records
- BUG/MINOR: resolvers: new callback to properly handle SRV record errors
- BUG/MINOR: proxy: wake up all threads when sending the hard-stop signal
- BUG/MEDIUM: cli/shutdown sessions: make it thread-safe
- BUG/MEDIUM: proxy: use thread-safe stream killing on hard-stop
- BUG/MEDIUM: vars: make functions vars_get_by_{name,desc} thread-safe
- BUG/MINOR: sample: secure convs that accept base64 string and var name as args
- BUG/MEDIUM: mux-h1: Fix handling of responses to CONNECT other than 200-ok
- BUG/MINOR: server: Be sure to cut the last parsed field of a server-state line
- BUG/MINOR: server: Init params before parsing a new server-state line
- BUG/MINOR: sample: Always consider zero size string samples as unsafe
- BUG/MINOR: checks: properly handle wrapping time in __health_adjust()
- BUG/MINOR: session: atomically increment the tracked sessions counter
- BUG/MINOR: server: Remove RMAINT from admin state when loading server state
- CLEANUP: channel: fix comment in ci_putblk.
- BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL
- BUG/MINOR: cfgparse: do not mention "addr:port" as supported on proxy lines
- BUG/MEDIUM: config: don't pick unset values from last defaults section
- CLEANUP: deinit: release global and per-proxy server-state variables on deinit
- BUG/MINOR: server: Fix server-state-file-name directive
- BUG/MINOR: backend: hold correctly lock when killing idle conn
- BUG/MINOR: tools: Fix a memory leak on error path in parse_dotted_uints()
- BUG/MINOR: server: re-align state file fields number
- BUG/MEDIUM: mux-h1: Always set CS_FL_EOI for response in MSG_DONE state
- BUG/MEDIUM: mux-h2: Be sure to enter in demux loop even if dbuf is empty
- BUG/MEDIUM: mux-h2: do not quit the demux loop before setting END_REACHED
- BUG/MEDIUM: mux-h2: handle remaining read0 cases
- BUILD: Makefile: move REGTESTST_TYPE default setting
- BUG/MINOR: xxhash: make sure armv6 uses memcpy()
- BUG/MEDIUM: ssl: check a connection's status before computing a handshake
- BUG/MINOR: stick-table: Always call smp_fetch_src() with a valid arg list
- DOC: management: fix "show resolvers" alphabetical ordering
- BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name
- BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown
- BUG/MEDIUM: stats: add missing INF_BUILD_INFO definition
- BUILD/MINOR: lua: define _GNU_SOURCE for LLONG_MAX
- BUG/MEDIUM: mux-h2: fix read0 handling on partial frames
- BUG/MINOR: mworker: define _GNU_SOURCE for strsignal()
- BUG/MINOR: peers: Wrong "new_conn" value for "show peers" CLI command.
- BUG/MINOR: init: Use a dynamic buffer to set HAPROXY_CFGFILES env variable
- BUG/MINOR: sample: Memory leak of sample_expr structure in case of error
- BUG/MINOR: sample: check alloc_trash_chunk return value in concat()
- [RELEASE] Released version 2.0.20
- BUG/MINOR: sample: fix concat() converter's corruption with non-string variables
- DOC: Add maintainers for the Prometheus exporter
- SCRIPTS: announce-release: fix typo in help message
- DOC: fix some spelling issues over multiple files
- MINOR: contrib/prometheus-exporter: export build_info
- BUILD: Makefile: exclude broken tests by default
- BUG/MINOR: srv: do not init address if backend is disabled
- SCRIPTS: make announce release support preparing announces before tag exists
- SCRIPTS: improve announce-release to support different tag and versions
- BUG/MINOR: cfgparse: Fail if the strdup() for
rule->be.name
foruse_backend
fails - MINOR: atomic: don't use ; to separate instruction on aarch64.
- BUILD: hpack: hpack-tbl-t.h uses VAR_ARRAY but does not include compiler.h
- BUILD: plock: remove dead code that causes a warning in gcc 11
- CONTRIB: halog: fix signed/unsigned build warnings on counts and timestamps
- CONTRIB: halog: mark the has_zero* functions unused
- CONTRIB: halog: fix build issue caused by %L printf format
- BUG/MEDIUM: http-ana: Never for sending data in TUNNEL mode
- BUG/MINOR: mux-h1: Don't set CS_FL_EOI too early for protocol upgrade requests
- BUILD: Makefile: have "make clean" destroy .o/.a/.s in contrib subdirs as well
- REGTESTS: make use of HAPROXY_ARGS and pass -dM by default
- CLEANUP: contrib/prometheus-exporter: typo fixes for ssl reuse metric
- CLEANUP: lua: Remove declaration of an inexistant function
- BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight
- BUG/MINOR: tools: Reject size format not starting by a digit
- BUG/MINOR: tools: make parse_time_err() more strict on the timer validity
- DOC: email change of the DeviceAtlas maintainer
- BUG/MEDIUM: spoa/python: Fixing references to None
- BUG/MEDIUM: spoa/python: Fixing PyObject_Call positional arguments
- BUG/MINOR: spoa/python: Cleanup ipaddress objects if initialization fails
- BUG/MINOR: spoa/python: Cleanup references for failed Module Addobject operations
- DOC: spoa/python: Fixing typos in comments
- DOC: spoa/python: Rephrasing memory related error messages
- DOC: spoa/python: Fixing typo in IP related error messages
- BUG/MAJOR: spoa/python: Fixing return None
- DOC/MINOR: Fix formatting in Management Guide
- BUG/MINOR: lua: warn when registering action, conv, sf, cli or applet multiple times
- MINOR: cli: add a function to look up a CLI service description
- MINOR: actions: add a function returning a service pointer from its name
- MINOR: actions: Export actions lookup functions
- BUG/MINOR: lua: Some lua init operation are processed unsafe
- BUG/MINOR: lua: Post init register function are not executed beyond the first one
- BUG/MINOR: lua: lua-load doesn't check its parameters
- MINOR: plock: use an ARMv8 instruction barrier for the pause instruction
- DOC: config: Move req.hdrs and req.hdrs_bin in L7 samples fetches section
- BUG/MAJOR: peers: fix partial message decoding
- BUG/MAJOR: filters: Always keep all offsets up to date during data filtering
- BUG/MINOR: http-ana: Don't wait for the body of CONNECT requests
- BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering
- BUILD: http-htx: fix build warning regarding long type in printf
- MINOR: cfgparse: tighten the scope of newnameserver variable, free it on error.
- MINOR: spoe: Don't close connection in sync mode on processing timeout
- BUG/MAJOR: spoe: Be sure to remove all references on a released spoe applet
- BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample fetches
- BUG/MINOR: http-fetch: Extract cookie value even when no cookie name
- BUG/MEDIUM: peers: fix decoding of multi-byte length in stick-table messages
- BUG/MINOR: peers: Missing TX cache entries reset.
- BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries.
- BUG/MINOR: lua: set buffer size during map lookups
- BUG/MINOR: pattern: a sample marked as const could be written
- [RELEASE] Released version 2.0.19
- BUG/MINOR: http-htx: Just warn if payload of an errorfile doesn't match the C-L
- MINOR: http-htx: Add understandable errors for the errorfiles parsing
- BUG/MEDIUM: stick-table: limit the time spent purging old entries
- BUG/MINOR: filters: Skip disabled proxies during startup only
- BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade
- MINOR: server: Copy configuration file and line for server templates
- BUG/MINOR: server: Set server without addr but with dns in RMAINT on startup
- BUG/MEDIUM: filters: Don't try to init filters for disabled proxies
- BUG/MINOR: cache: Inverted variables in http_calc_maxage function
- BUG/MINOR: lua: initialize sample before using it
- BUG/MINOR: server: fix down_time report for stats
- BUG/MINOR: server: fix srv downtime calcul on starting
- BUG/MINOR: log: fix memory leak on logsrv parse error
- BUG/MINOR: extcheck: add missing checks on extchk_setenv()
- BUG/MAJOR: mux-h2: Don't try to send data if we know it is no longer possible
- BUG/MINOR: http-ana: Don't send payload for internal responses to HEAD requests
- BUG/MEDIUM: server: support changing the slowstart value from state-file
- BUG/MINOR: queue: properly report redistributed connections
- BUG/MINOR: peers: Possible unexpected peer seesion reset after collisions.
- BUG/MEDIUM: lb: Always lock the server when calling server_{take,drop}_conn
- BUG/MEDIUM: mux-h1: Get the session from the H1S when capturing bad messages
- BUG/MEDIUM: spoe: Unset variable instead of set it if no data provided
- BUG/MEDIUM: task: bound the number of tasks picked from the wait queue at once
- MINOR: fd: report an error message when failing initial allocations
- BUG/MINOR: mux-h2: do not stop outgoing connections on stopping
- BUG/MINOR: init: only keep rlim_fd_cur if max is unlimited
- BUG/MEDIUM: h1: Always try to receive more in h1_rcv_buf().
- BUG/MINOR: http-htx: Expect no body for 204/304 internal HTTP responses
- BUG/MEDIUM: mux-h2: Don't handle pending read0 too early on streams
- BUG/MINOR: mux-h1: Always set the session on frontend h1 stream
- BUG/MINOR: peers: Inconsistency when dumping peer status codes.
- MINOR: hlua: Display debug messages on stderr only in debug mode
- BUG/MINOR: stats: fix validity of the json schema
- MINOR: counters: fix a typo in comment
- BUG/MEDIUM: queue: make pendconn_cond_unlink() really thread-safe
- BUG/MINOR: Fix several leaks of 'log_tag' in init().
- BUILD: makefile: Fix building with closefrom() support enabled
- DOC: ssl: crt-list negative filters are only a hint
- [RELEASE] Released version 2.0.18
- REGTEST: make map_regm_with_backref require 1.7
- REGTEST: make abns_socket.vtc require 1.8
- REGTEST: fix host part in balance-uri-path-only.vtc
- REGTESTS: add a few load balancing tests
- DOC: agent-check: fix typo in "fail" word expected reply
- DOC: spoa-server: fix false friends
actually
- BUG/MEDIUM: listeners: do not pause foreign listeners
- BUG/MINOR: config: Fix memory leak on config parse listen
- BUG/MINOR: Fix memory leaks cfg_parse_peers
- BUG/MEDIUM: h2: report frame bits only for handled types
- BUG/MINOR: http-fetch: Don't set the sample type during the htx prefetch
- BUG/MINOR: server: report correct error message for invalid port on "socks4"
- BUG/MINOR: ssl: verifyhost is case sensitive
- BUG/MEDIUM: ssl: does not look for all SNIs before chosing a certificate
- BUG/MEDIUM: http-ana: Don't wait to send 1xx responses received from servers
- BUG/MEDIUM: pattern: Renew the pattern expression revision when it is pruned
- BUILD: threads: better workaround for late loading of libgcc_s
- BUG/MEDIUM: mux-h1: always apply the timeout on half-closed connections
- BUG/MINOR: auth: report valid crypto(3) support depending on build options
- CLEANUP: Update .gitignore
- MINOR: Commit .gitattributes
- BUILD: thread: limit the libgcc_s workaround to glibc only
- BUG/MINOR: threads: work around a libgcc_s issue with chrooting
- BUG/MEDIUM: ssl: check OCSP calloc in ssl_sock_load_ocsp()
- BUG/MEDIUM: doc: Fix replace-path action description
- BUG/MINOR: startup: haproxy -s cause 100% cpu
- BUG/MEDIUM: contrib/spoa-server: Fix ipv4_address used instead of ipv6_address
- BUG/MINOR: contrib/spoa-server: Updating references to free in case of failure
- BUG/MINOR: contrib/spoa-server: Do not free reference to NULL
- BUG/MINOR: contrib/spoa-server: Ensure ip address references are freed
- BUG/MAJOR: contrib/spoa-server: Fix unhandled python call leading to memory leak
- DOC: cache: Use '<name>' instead of '<id>' in error message
- BUG/MINOR: reload: do not fail when no socket is sent
- BUG/MEDIUM: htx: smp_prefetch_htx() must always validate the direction
- BUG/MINOR: stats: use strncmp() instead of memcmp() on health states
- BUG/MINOR: snapshots: leak of snapshots on deinit()
- BUG/MINOR: lua: Check argument type to convert it to IP mask in arg validation
- BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation
- BUG/MEDIUM: map/lua: Return an error if a map is loaded during runtime
- BUG/MEDIUM: mux-h1: Refresh H1 connection timeout after a synchronous send
- BUG/MEDIUM: mux-h2: Don't fail if nothing is parsed for a legacy chunk response
- SCRIPTS: git-show-backports: emit the shell command to backport a commit
- SCRIPTS: git-show-backports: make -m most only show the left branch
- [RELEASE] Released version 2.0.17
- SCRIPTS: announce-release: add the link to the wiki in the announce messages
- MINOR: stream-int: Be sure to have a mux to do sends and receives
- MINOR: connection: Preinstall the mux for non-ssl connect
- BUG/MINOR: tcp-rules: Set the inspect-delay when a tcp-response action yields
- BUG/MEDIUM: dns: Don't yield in do-resolve action on a final evaluation
- MEDIUM: lua: Add support for the Lua 5.4
- BUG/MINOR: debug: Don't dump the lua stack if it is not initialized
- BUG/MEDIUM: mux-h1: Disable the splicing when nothing is received
- BUG/MEDIUM: mux-h1: Wakeup the H1C in h1_rcv_buf() if more data are expected
- BUG/MEDIUM: dns: Release answer items when a DNS resolution is freed
- BUG/MAJOR: dns: Make the do-resolve action thread-safe
- BUG/MEDIUM: mux-h2: Emit an error if the response chunk formatting is incomplete
- BUG/MEDIUM: resolve: fix init resolving for ring and peers section.
- BUG/MINOR: cfgparse: don't increment linenum on incomplete lines
- BUILD: thread: add parenthesis around values of locking macros
- MINOR: pools: increase MAX_BASE_POOLS to 64
- BUG/MINOR: threads: Don't forget to init each thread toremove_lock.
- REGEST: Add reg tests about error files
- BUILD: ebtree: fix build on libmusl after recent introduction of eb_memcmp()
- [RELEASE] Released version 2.0.16
- BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are peeked
- BUG/MEDIUM: log: issue mixing sampled to not sampled log servers.
- BUG/MEDIUM: mux-h1: Continue to process request when switching in tunnel mode
- CONTRIB: da: fix memory leak in dummy function da_atlas_open()
- BUG/MINOR: sample: Free str.area in smp_check_const_meth
- BUG/MINOR: sample: Free str.area in smp_check_const_bool
- DOC: configuration: remove obsolete mentions of H2 being converted to HTTP/1.x
- BUG/MEDIUM: stream-int: Disable connection retries on plain HTTP proxy mode
- BUG/MAJOR: stream: Mark the server address as unset on new outgoing connection
- MINOR: http: Add support for http 413 status
- BUG/MINOR: backend: Remove CO_FL_SESS_IDLE if a client remains on the last server
- BUG/MEDIUM: connection: Continue to recv data to a pipe when the FD is not ready
- MINOR: connection: move the CO_FL_WAIT_ROOM cleanup to the reader only
- BUG/MEDIUM: mux-h1: Subscribe rather than waking up in h1_rcv_buf()
- BUG/MEDIUM: mux-h1: Disable splicing for the conn-stream if read0 is received
- BUG/MINOR: mux-h1: Disable splicing only if input data was processed
- BUG/MINOR: mux-h1: Don't read data from a pipe if the mux is unable to receive
- BUG/MINOR: mux-h1: Fix the splicing in TUNNEL mode
- BUG/MINOR: http_act: don't check capture id in backend (2)
- DOC: configuration: fix alphabetical ordering for tune.pool-{high,low}-fd-ratio
- DOC: configuration: add missing index entries for tune.pool-{low,high}-fd-ratio
- BUG/MINOR: proxy: always initialize the trash in show servers state
- BUG/MINOR: proxy: fix dump_server_state()'s misuse of the trash
- BUG/MEDIUM: pattern: Add a trailing \0 to match strings only if possible
- DOC: ssl: add "allow-0rtt" and "ciphersuites" in crt-list
- MINOR: cli: make "show sess" stop at the last known session
- BUG/MEDIUM: fetch: Fix hdr_ip misparsing IPv4 addresses due to missing NUL
- REGTEST: ssl: add some ssl_c_* sample fetches test
- REGTEST: ssl: tests the ssl_f_* sample fetches
- MINOR: spoe: Don't systematically create new applets if processing rate is low
- BUG/MINOR: http_ana: clarify connection pointer check on L7 retry
- BUG/MINOR: spoe: correction of setting bits for analyzer
- REGTEST: Add a simple script to tests errorfile directives in proxy sections
- BUG/MINOR: systemd: Wait for network to be online
- MEDIUM: map: make the "clear map" operation yield
- REGTEST: http-rules: test spaces in ACLs with master CLI
- REGTEST: http-rules: test spaces in ACLs
- BUG/MINOR: mworker/cli: fix semicolon escaping in master CLI
- BUG/MINOR: mworker/cli: fix the escaping in the master CLI
- BUG/MINOR: cli: allow space escaping on the CLI
- BUG/MINOR: spoe: add missing key length check before checking key names
- BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks
- BUG/MINOR: tcp-rules: tcp-response must check the buffer's fullness
- MINOR: http: Add 404 to http-request deny
- MINOR: http: Add 410 to http-request deny
- [RELEASE] Released version 2.0.15
- REGTESTS: checks: Fix tls_health_checks when IPv6 addresses are used
- BUG/MINOR: ssl: fix ssl-{min,max}-ver with openssl < 1.1.0
- REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for compression/lua_validation
- REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for lua/txn_get_priv
- BUG/MEDIUM: pattern: fix thread safety of pattern matching
- BUG/MEDIUM: log: don't hold the log lock during writev() on a file descriptor
- BUG/MINOR: mworker: fix a memleak when execvp() failed
- BUG/MEDIUM: mworker: fix the reload with an -- option
- BUG/MINOR: init: -S can have a parameter starting with a dash
- BUG/MINOR: init: -x can have a parameter starting with a dash
- BUG/MEDIUM: mworker: fix the copy of options in copy_argv()
- BUILD: makefile: adjust the sed expression of "make help" for solaris
- BUG/MINOR: proto-http: Fix detection of NTLM for the legacy HTTP version
- BUG/MEDIUM: logs: fix trailing zeros on log message.
- BUG/MINOR: logs: prevent double line returns in some events.
- BUG/MEDIUM: contrib/prometheus-exporter: Properly set flags to dump metrics
- BUG/MEDIUM: hlua: Lock pattern references to perform set/add/del operations
- BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action
- BUG/MINOR: peers: fix internal/network key type mapping.
- SCRIPTS: publish-release: pass -n to gzip to remove timestamp
- Revert "BUG/MEDIUM: connections: force connections cleanup on server changes"
- BUG/MINOR: nameservers: fix error handling in parsing of resolv.conf
- BUG/MINOR: lua: Add missing string length for lua sticktable lookup
- BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable
- BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified
- BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
- BUILD: select: only declare existing local labels to appease clang
- BUG/MINOR: soft-stop: always wake up waiting threads on stopping
- BUG/MINOR: pollers: remove uneeded free in global init
- BUG/MINOR: pools: use %u not %d to report pool stats in "show pools"
- BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered
- BUG/MEDIUM: http_ana: make the detection of NTLM variants safer
- BUG/MINOR: http-ana: fix NTLM response parsing again
- BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur
- BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT
- BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}()
- BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS()
- BUG/MINOR: sample: Set the correct type when a binary is converted to a string
- CLEANUP: connections: align function declaration
- BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id()
- BUG/MEDIUM: connections: force connections cleanup on server changes
- BUG/MAJOR: stream-int: always detach a faulty endpoint on connect failure
- BUG/MEDIUM: stream: Only allow L7 retries when using HTTP.
- BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry.
- BUG/MINOR: checks: Remove a warning about http health checks
- BUG/MINOR: checks: Compute the right HTTP request length for HTTP health checks
- BUG/MEDIUM: checks: Always initialize checks before starting them
- BUG/MINOR: checks/server: use_ssl member must be signed
- BUG/MEDIUM: server/checks: Init server check during config validity check
- Revert "BUG/MINOR: connection: make sure to correctly tag local PROXY connections"
- BUG/MEDIUM: backend: don't access a non-existing mux from a previous connection
- REGTEST: ssl: test the client certificate authentication
- MINOR: stream: report the list of active filters on stream crashes
- BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
- BUG/MEDIUM: shctx: really check the lock's value while waiting
- BUG/MINOR: debug: properly use long long instead of long for the thread ID
- MINOR: threads: export the POSIX thread ID in panic dumps
- BUG/MEDIUM: listener: mark the thread as not stuck inside the loop
- BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream
- BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
- BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
- BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
- BUG/MEDIUM: capture: c