Changes since version 2.8-dev0 : Amaury Denoyelle (39): MINOR: quic: remove qc from quic_rx_packet MINOR: quic: complete traces in qc_rx_pkt_handle() MINOR: quic: extract datagram parsing code MINOR: tools: add port for ipcmp as optional criteria MINOR: quic: detect connection migration MINOR: quic: ignore address migration during handshake MINOR: quic: startup detect for quic-conn owned socket support MINOR: quic: test IP_PKTINFO support for quic-conn owned socket MINOR: quic: define config option for socket per conn MINOR: quic: allocate a socket per quic-conn MINOR: quic: use connection socket for emission MEDIUM: quic: use quic-conn socket for reception MEDIUM: quic: move receive out of FD handler to quic-conn io-cb MINOR: mux-quic: rename duplicate function names MEDIUM: quic: requeue datagrams received on wrong socket MINOR: quic: reconnect quic-conn socket on address migration MINOR: quic: activate socket per conn by default BUG/MINOR: quic: fix fd leak on startup check quic-conn owned socket BUG/MINOR: quic: properly handle alloc failure in qc_new_conn() BUG/MINOR: quic: handle alloc failure on qc_new_conn() for owned socket CLEANUP: mux-quic: remove unused attribute on qcs_is_close_remote() BUG/MINOR: mux-quic: remove qcs from opening-list on free BUG/MINOR: mux-quic: handle properly alloc error in qcs_new() BUG/MEDIUM: h3: reject request with invalid header name BUG/MEDIUM: h3: reject request with invalid pseudo header MINOR: http: extract content-length parsing from H2 BUG/MEDIUM: h3: parse content-length and reject invalid messages MINOR: http-htx: add BUG_ON to prevent API error on http_cookie_register BUG/MEDIUM: h3: fix cookie header parsing BUG/MINOR: h3: fix memleak on HEADERS parsing failure MINOR: h3: check return values of htx_add_* on headers parsing BUG/MINOR: quic: fix crash on PTO rearm if anti-amplification reset BUG/MEDIUM: mux-quic: fix double delete from qcc.opening_list MEDIUM: mux-quic: implement shutw MINOR: mux-quic: do not count stream flow-control if already closed MINOR: mux-quic: handle RESET_STREAM reception MEDIUM: mux-quic: implement STOP_SENDING emission MINOR: h3: use stream error when needed instead of connection BUG/MINOR: mux-quic: ignore remote unidirectional stream close Aurelien DARRAGON (15): MINOR: event_hdl: add event handler base api DOC/MINOR: api: add documentation for event_hdl feature MINOR: server: add srv->rid (revision id) value MINOR: stats: add server revision id support MINOR: server/event_hdl: add support for SERVER_ADD and SERVER_DEL events MINOR: server/event_hdl: add support for SERVER_UP and SERVER_DOWN events BUG/MINOR: checks: restore legacy on-error fastinter behavior MINOR: check: use atomic for s->consecutive_errors MINOR: stats: properly handle ST_F_CHECK_DURATION metric MINOR: mworker: remove unused legacy code in mworker_cleanlisteners MINOR: peers: unused code path in process_peer_sync MINOR: stats: provide ctx for dumping functions MINOR: stats: introduce stats field ctx BUG/MINOR: stats: fix show stat json buffer limitation MINOR: stats: make show info json future-proof Bertrand Jacquin (1): BUG/MEDIUM: tests: use tmpdir to create UNIX socket Cedric Paillet (2): BUG/MINOR: promex: create haproxy_backend_agg_server_status MINOR: promex: introduce haproxy_backend_agg_check_status Christopher Faulet (12): BUG/MEDIIM: stconn: Flush output data before forwarding close to write side DOC: promex: Add missing backend metrics REGTESTS: fix the race conditions in iff.vtc BUG/MEDIUM: freq-ctr: Don't compute overshoot value for empty counters BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout BUG/MEDIUM: mux-h1: Don't release H1 stream upgraded from TCP on error BUG/MINOR: mux-h1: Fix test instead a BUG_ON() in h1_send_error() BUG/MINOR: mux-h1: Report EOS on parsing/internal error for not running stream BUG/MINOR:: mux-h1: Never handle error at mux level for running connection BUG/MEDIUM: stats: Rely on a local trash buffer to dump the stats BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats Dragan Dosen (1): MEDIUM: 51d: add support for 51Degrees V4 with Hash algorithm Ilya Shipitsin (5): CLEANUP: assorted typo fixes in the code and comments CI: github: split ssl lib selection based on git branch CI: github: remove redundant ASAN loop CI: github: split matrix for development and stable branches CI: github: enable github api authentication for OpenSSL tags read Remi Tricot-Le Breton (19): MINOR: ssl: Remove unneeded buffer allocation in show ocsp-response MINOR: ssl: Remove unnecessary alloc'ed trash chunk in show ocsp-response BUG/MINOR: ssl: Fix memory leak of find_chain in ssl_sock_load_cert_chain MINOR: ssl: Add a lock to the OCSP response tree MINOR: httpclient: Make the CLI flags public for future use MINOR: ssl: Add helper function that extracts an OCSP URI from a certificate MINOR: ssl: Add OCSP request helper function MINOR: ssl: Add helper function that checks the validity of an OCSP response MINOR: ssl: Add "update ssl ocsp-response" cli command MEDIUM: ssl: Add ocsp_certid in ckch structure and discard ocsp buffer early MINOR: ssl: Add ocsp_update_tree and helper functions MINOR: ssl: Add crt-list ocsp-update option MINOR: ssl: Store 'ocsp-update' mode in the ckch_data and check for inconsistencies MEDIUM: ssl: Insert ocsp responses in update tree when needed MEDIUM: ssl: Add ocsp update task main function MEDIUM: ssl: Start update task if at least one ocsp-update option is set to on DOC: ssl: Add documentation for ocsp-update option REGTESTS: ssl: Add tests for ocsp auto update mechanism MINOR: ssl: Move OCSP code to a dedicated source file Thayne McCombs (1): MINOR: sample: add param converter William Lallemand (24): MEDIUM: ssl: rename the struct "cert_key_and_chain" to "ckch_data" BUG/MINOR: ssl: initialize SSL error before parsing BUG/MINOR: ssl: initialize WolfSSL before parsing MINOR: mworker: display an alert upon a wait-mode exit BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers BUG/MEDIUM: mworker: create the mcli_reload socketpairs in case of upgrade BUG/MEDIUM: httpclient/lua: double LIST_DELETE on end of lua task CI: github: reintroduce openssl 1.1.1 REGTESTS: startup: check maxconn computation BUG/MINOR: startup: don't use internal proxies to compute the maxconn REGTESTS: startup: change the expected maxconn to 11000 CI: github: set ulimit -n to a greater value REGTESTS: startup: activate automatic_maxconn.vtc CLEANUP: ssl: remove check on srv->proxy REGTESTS: startup: add alternatives values in automatic_maxconn.vtc REGTESTS: startup: disable automatic_maxconn.vtc BUILD: peers: peers-t.h depends on stick-table-t.h REGTESTS: ssl: enable the ssl_reuse.vtc test for WolfSSL BUG/MINOR: ssl/ocsp: check chunk_strcpy() in ssl_ocsp_get_uri_from_cert() CLEANUP: ssl/ocsp: add spaces around operators BUG/MINOR: ssl/ocsp: httpclient blocked when doing a GET MINOR: httpclient: don't add body when istlen is empty MEDIUM: httpclient: change the default log format to skip duplicate proxy data BUG/MINOR: httpclient/log: free of invalid ptr with httpclient_log_format Willy Tarreau (21): MINOR: debug: support pool filtering on "debug dev memstats" MINOR: debug: add a balance of alloc - free at the end of the memstats dump BUG/MEDIUM: checks: do not reschedule a possibly running task on state change BUG/MINOR: checks: make sure fastinter is used even on forced transitions BUG/MINOR: init/threads: continue to limit default thread count to max per group CLEANUP: init: remove useless assignment of nbthread BUILD: atomic: atomic.h may need compiler.h on ARMv8.2-a BUILD: makefile/da: also clean Os/ in Device Atlas dummy lib dir CLEANUP: pools: move the write before free to the uaf-only function CLEANUP: pool: only include pool-os from pool.c not pool.h REORG: pool: move all the OS specific code to pool-os.h CLEANUP: pools: get rid of CONFIG_HAP_POOLS DEBUG: pool: show a few examples in -dMhelp MINOR: pools: make DEBUG_UAF a runtime setting BUILD: 51d: fix build issue with recent compilers OPTIM: pool: split the read_mostly from read_write parts in pool_head MINOR: pool: make the thread-local hot cache size configurable MINOR: freq_ctr: add opportunistic versions of swrate_add() MINOR: pool: only use opportunistic versions of the swrate_add() functions BUG/MEDIUM: quic: properly take shards into account on bind lines BUG/MINOR: quic: do not allocate more rxbufs than necessary Youfu Zhang (1): BUG/MAJOR: fcgi: Fix uninitialized reserved bytes scientiamobile (1): LICENSE: wurfl: clarify the dummy library license.