Changes since version 3.4-dev5 : Amaury Denoyelle (40): BUG/MINOR: proxy: detect strdup error on server auto SNI BUG/MINOR: server: set auto SNI for dynamic servers BUG/MINOR: server: enable no-check-sni-auto for dynamic servers BUG/MINOR: quic: fix counters used on BE side MINOR: quic: add BUG_ON() on half_open_conn counter access from BE BUG/MINOR: quic/h3: display QUIC/H3 backend module on HTML stats MINOR: ncbmbuf: improve itbmap_next() code MINOR: proxy: improve code when checking server name conflicts MINOR: promex: test applet resume in stress mode BUG/MINOR: promex: fix server iteration when last server is deleted BUG/MINOR: proxy: add dynamic backend into ID tree MINOR: proxy: convert proxy flags to uint MINOR: server: refactor srv_detach() MINOR: proxy: define a basic "del backend" CLI MINOR: proxy: define proxy watcher member MINOR: stats: protect proxy iteration via watcher MINOR: promex: use watcher to iterate over backend instances MINOR: lua: use watcher for proxies iterator MINOR: proxy: add refcount to proxies MINOR: proxy: rename default refcount to avoid confusion MINOR: server: take proxy refcount when deleting a server MINOR: lua: handle proxy refcount MINOR: proxy: prevent backend removal when unsupported MINOR: proxy: prevent deletion of backend referenced by config elements MINOR: proxy: prevent backend deletion if server still exists in it MINOR: server: mark backend removal as forbidden if QUIC was used MINOR: cli: implement wait on be-removable MINOR: proxy: add comment for defaults_px_ref/unref_all() MEDIUM: proxy: add lock for global accesses during proxy free MEDIUM: proxy: add lock for global accesses during default free MINOR: proxy: use atomic ops for default proxy refcount MEDIUM: proxy: implement backend deletion REGTESTS: add a test on "del backend" REGTESTS: complete "del backend" with unnamed defaults ref free BUG/MINOR: hlua: fix return with push nil on proxy check MINOR: quic: use signed char type for ALPN manipulation MINOR: quic/h3: reorganize stream reject after MUX closure MINOR: mux-quic: add function for ALPN to app-ops conversion MEDIUM: quic/mux-quic: adjust app-ops install MINOR: quic: use server cache for ALPN on BE side Christopher Faulet (2): BUG/MEDIUM: spoe: Acquire context buffer in applet before consuming a frame BUG/MEDIUM: stream: Handle TASK_WOKEN_RES as a stream event Frederic Lecaille (9): MINOR: haterm: provide -b and -c options (RSA key size, ECDSA curves) MINOR: haterm: add long options for QUIC and TCP "bind" settings BUG/MINOR: haterm: missing allocation check in copy_argv() CLEANUP: haterm: remove unreachable labels hstream_add_data() CLEANUP: haterm: avoid static analyzer warnings about rand() use CLEANUP: ssl: Remove a useless variable from ssl_gen_x509() BUG/MINOR: haterm: cannot reset default "haterm" mode BUG/MINOR: quic: missing app ops init during backend 0-RTT sessions CLEANUP: ssl: remove outdated comments Hyeonggeun Oh (1): MINOR: ssl: clarify error reporting for unsupported keywords Ilia Shipitsin (2): CI: use the latest docker for QUIC Interop CI: remove redundant "halog" compilation Maxime Henrion (1): MINOR: quic: add a new metric for ncbuf failures Mia Kanashi (1): BUG/MINOR: acme: fix incorrect number of arguments allowed in config Olivier Houchard (1): BUG/MEDIUM: cpu-topo: Distribute CPUs fairly across groups William Lallemand (3): CLEANUP: acme: remove duplicate includes BUG/MINOR: acme: acme_ctx_destroy() leaks auth->dns BUG/MINOR: acme: wrong labels logic always memprintf errmsg Willy Tarreau (19): CLENAUP: cfgparse: accept-invalid-http-* does not support "no"/"defaults" MINOR: traces: always mark trace_source as thread-aligned MINOR: mux-h2: also count glitches on invalid trailers MINOR: mux-h2: add a new setting, "tune.h2.log-errors" to tweak error logging BUG/MEDIUM: mux-h2: make sure to always report pending errors to the stream BUG/MINOR: server: adjust initialization order for dynamic servers CLEANUP: tree-wide: drop a few useless null-checks before free() CLEANUP: quic-stats: include counters from quic_stats REORG: stats/counters: move extra_counters to counters not stats CLEANUP: stats: drop stats.h / stats-t.h where not needed MEDIUM: counters: change the fill_stats() API to pass the module and extra_counters CLEANUP: counters: only retrieve zeroes for unallocated extra_counters MEDIUM: counters: add a dedicated storage for extra_counters in various structs MINOR: counters: store a tgroup step for extra_counters to access multiple tgroups MEDIUM: counters: store the number of thread groups accessing extra_counters MINOR: counters: add EXTRA_COUNTERS_BASE() to retrieve extra_counters base storage MEDIUM: counters: return aggregate extra counters in ->fill_stats() MEDIUM: counters: make EXTRA_COUNTERS_GET() consider tgid BUG/MINOR: call EXTRA_COUNTERS_FREE() before srv_free_params() in srv_drop()