Changes since version 3.2-dev10 : Amaury Denoyelle (16): BUG/MEDIUM: h3: trim whitespaces when parsing headers value BUG/MEDIUM: h3: trim whitespaces in header value prior to QPACK encoding BUG/MINOR: h3: filter upgrade connection header BUG/MINOR: h3: reject invalid :path in request BUG/MINOR: h3: reject request URI with invalid characters MEDIUM: h3: use absolute URI form with :authority BUG/MINOR: mux-h2: prevent past scheduling with idle connections BUG/MINOR: rhttp: fix reconnect if timeout connect unset BUG/MINOR: rhttp: ensure GOAWAY can be emitted after reversal BUG/MINOR: mux-h2: do not apply timer on idle backend connection MINOR: mux-h2: refactor idle timeout calculation MINOR: mux-h2: prepare to support PING emission MEDIUM: server/mux-h2: implement idle-ping on backend side MEDIUM: listener/mux-h2: implement idle-ping on frontend side MINOR: mux-h2: do not emit GOAWAY on idle ping expiration MINOR: mux-h2: handle idle-ping on conn reverse Aurelien DARRAGON (1): BUG/MEDIUM: hlua: fix hlua_applet_{http,tcp}_fct() yield regression (lost data) Christopher Faulet (2): BUG/MINOR: http-ana: Properly detect client abort when forwarding the response BUG/MEDIUM: http-ana: Report 502 from req analyzer only during rsp forwarding Ilia Shipitsin (1): CI: fedora rawhide: enable unit tests Ilya Shipitsin (1): CI: enable weekly QuicTLS build Mariam John (2): MINOR: sample: add 4 new sample fetches for clienthello parsing REGTEST: add new reg-test for the 4 new clienthello fetches Olivier Houchard (8): MINOR: servers: Move the per-thread server initialization earlier MINOR: proxies: Initialize the per-thread structure earlier. MINOR: servers: Provide a pointer to the server in srv_per_tgroup. MINOR: lb_fwrr: Move the next weight out of fwrr_group. MINOR: proxies: Add a per-thread group lbprm struct. MEDIUM: lb_fwrr: Use one ebtree per thread group. MEDIUM: lb_fwrr: Don't start all thread groups on the same server. MINOR: proxies: Do stage2 initialization for sinks too Valentine Krasnobaeva (1): BUG/MINOR: thread: protect thread_cpus_enabled_at_boot with USE_THREAD William Lallemand (42): MEDIUM: ssl/ckch: add filename and linenum argument to crt-store parsing MINOR: acme: add the acme section in the configuration parser MINOR: acme: add configuration for the crt-store MINOR: acme: add private key configuration MINOR: acme/cli: add the 'acme renew' command MINOR: acme: the acme section is experimental MINOR: acme: get the ACME directory MINOR: acme: handle the nonce MINOR: acme: check if the account exist MINOR: acme: generate new account MINOR: acme: newOrder request retrieve authorizations URLs MINOR: acme: allow empty payload in acme_jws_payload() MINOR: acme: get the challenges object from the Auth URL MINOR: acme: send the request for challenge ready MINOR: acme: implement a check on the challenge status MINOR: acme: generate the CSR in a X509_REQ MINOR: acme: finalize by sending the CSR MINOR: acme: verify the order status once finalized MINOR: acme: implement retrieval of the certificate BUG/MINOR: acme: ckch_conf_acme_init() when no filename MINOR: ssl/ckch: handle ckch_conf in ckchs_dup() and ckch_conf_clean() MINOR: acme: copy the original ckch_store MEDIUM: acme: replace the previous ckch instance with new ones MINOR: acme: schedule retries with a timer BUILD: acme: enable the ACME feature when JWS is present BUG/MINOR: acme: key not restored upon error in acme_res_certificate() MINOR: acme: default to 2048bits for RSA DOC: acme: explain how to configure and run ACME BUG/MINOR: acme: fix possible NULL deref CLEANUP: acme: stored value is overwritten before it can be used BUILD: incompatible pointer type suspected with -DDEBUG_UNIT DOC: configuration: fix a typo in ACME documentation MEDIUM: sink: add a new dpapi ring buffer Revert "BUG/MINOR: acme: key not restored upon error in acme_res_certificate()" BUG/MINOR: acme: key not restored upon error in acme_res_certificate() V2 BUG/MINOR: acme: fix the exponential backoff of retries DOC: configuration: specify limitations of ACME for 3.2 MINOR: acme: emit logs instead of ha_notice MINOR: acme: add a success message to the logs BUG/MINOR: acme/cli: fix certificate name in error message MINOR: acme: register the task in the ckch_store MINOR: acme: free acme_ctx once the task is done Willy Tarreau (33): DOC: management: slightly clarify the prefix role of the '@' command DOC: management: add a paragraph about the limitations of the '@' prefix MINOR: master/cli: support bidirectional communications with workers BUG/MINOR: cpu-topo: check the correct variable for NULL after malloc() BUG/MINOR: debug: remove the trailing \n from BUG_ON() statements DOC: config: add the missing "profiling.memory" to the global kw index DOC: config: add the missing "force-cfg-parser-pause" to the global kw index DEBUG: init: report invalid characters in debug description strings DEBUG: rename DEBUG_GLITCHES to DEBUG_COUNTERS and enable it by default DEBUG: counters: make COUNT_IF() only appear at DEBUG_COUNTERS>=1 DEBUG: counters: add the ability to enable/disable updating the COUNT_IF counters MINOR: tools: let dump_addr_and_bytes() support dumping before the offset MINOR: debug: in call traces, dump the 8 bytes before the return address, not after MINOR: debug: detect call instructions and show the branch target in backtraces BUILD: makefile: enable backtrace by default on musl BUG/MINOR: threads: set threads_idle and threads_harmless even with no threads BUG/MINOR debug: fix !USE_THREAD_DUMP in ha_thread_dump_fill() BUG/MINOR: wdt/debug: avoid signal re-entrance between debugger and watchdog BUG/MINOR: debug: detect and prevent re-entrance in ha_thread_dump_fill() MINOR: debug: do not statify a few debugging functions often used with wdt/dbg MINOR: tools: also protect the library name resolution against concurrent accesses MINOR: tools: protect dladdr() against reentrant calls from the debug handler MINOR: debug: protect ha_dump_backtrace() against risks of re-entrance MINOR: tinfo: keep a copy of the pointer to the thread dump buffer MINOR: debug: always reset the dump pointer when done MINOR: debug: remove unused case of thr!=tid in ha_thread_dump_one() MINOR: pass a valid buffer pointer to ha_thread_dump_one() MEDIUM: wdt: always make the faulty thread report its own warnings MINOR: debug: make ha_stuck_warning() only work for the current thread MINOR: debug: make ha_stuck_warning() print the whole message at once CLEANUP: debug: no longer set nor use TH_FL_DUMPING_OTHERS MINOR: sched: add a new function is_sched_alive() to report scheduler's health MINOR: wdt: use is_sched_alive() instead of keeping a local ctxsw copy