Changes since version 3.5-dev3 : Amaury Denoyelle (23): CLEANUP: mux_quic: remove unused prototype BUG/MEDIUM: proxy: protect "show errors" against backend deletion MINOR: proxy: stress "show errors" handler MINOR: log: use curproxy during config parsing MINOR: config: define wrapper for proxies loop during check config MINOR: log: convert list to standard doubly linked one MINOR: sink: convert list to standard doubly linked one MINOR: proxy: centralize proxies_list insert during config parsing MINOR: proxy: define proxies_list iteration functions MAJOR: proxy: convert proxies_list to a doubly linked struct list OPTIM/MEDIUM: proxy: avoid main proxies list reordering on startup CLEANUP: proxy/config: clean up after proxies list conversion MINOR: proxy: rename proxies list to all_proxies MINOR: server: rename global servers_list to all_servers MINOR: server: do not return next server on srv_drop() MINOR: proxy: define server list iteration functions MAJOR: proxy: convert server list to a doubly linked struct list OPTIM/MEDIUM: proxy/server: avoid server list reordering on startup MINOR: server: improve parsing error for server-template BUG/MINOR: server: fix QUIC on server-template BUG/MINOR: server: duplicate server alt_proto in srv_settings_cpy() MINOR: server: ensure check-reuse-pool is init in srv_settings_init() BUG/MINOR: server: fix check reuse-pool in srv_settings_cpy() Christopher Faulet (11): REORG: h1-htx: Move h1 headers map in h1-htx BUG/MEDIUM: mux-h1: Always adjust case for all outgoing headers as expected MINOR: mux-h1: Lower the case for Sec-Websocket-* headers when manually added MINOR: mux-h1: Use htx version to send default low-level errors BUG/MEDIUM: http-fetch: don't parse a non-HTTP check buffer as an HTX message BUG/MEDIUM: tools: make string encoding possible to fail instead of truncating CLEANUP: http-conv: Remove useless enc_type init to ENC_QUERY CLEANUP: http-conf: rename local trash variable BUG/MINOR: htx: Perform raw copy for messages of same size in htx_copy_msg() BUG/MINOR: htx: Transfer HTX_FL_EOM flag on success in htx_append_msg() BUG/MINOR: http-rules: fix release of a failed "set-cookie-fmt" redirect rule Frederic Lecaille (6): BUG/MINOR: haload: fix use-after-free upon updating task expiration BUG/MINOR: haload: set default thread count to 1 BUG/MINOR: haload: fix display glitches by flushing stdout in summary MINOR: haload: add rate limiting support using -R option BUG/MINOR: haload: fix CPU topology detection by omitting forced "nbthread" CLEANUP: haload: use instead of where applicable Matt Suiche (3): BUG/MEDIUM: peers: check the available room before encoding dict values BUG/MEDIUM: sample: reject the deprecated protobuf group wire types BUG/MAJOR: ssl/ocsp: lock the OCSP response around reads in the stapling callback Olivier Houchard (8): BUG/MEDIUM: ssl: Spell HAVE_VANILLA_OPENSSL correctly BUG/MEDIUM: ssl: Handle non-application data record while splicing MEDIUM: ssl: Add a way to rate-limit TLSv1.3 KeyUpdate DOC: ssl: Document tune.ssl.keyupdate-rate-limit BUG/MEDIUM: ssl: Put CO_ER_SSL_KEYUPDATE at the right place BUILD: ssl: Do not use SSL3_MT_KEY_UPDATE, hardcode 24 instead BUG/MINOR: cli: use the current argument to parse the FD spec in "show fd" BUG/MINOR: cli: do not reject the "/" form of "show fd" Tim Duesterhus (3): MINOR: halog: Add reusable function to extract the value of header captures CLEANUP: halog: Clean up naming for variables related to `-hdr` processing MINOR: halog: Add support filtering on header capture values using -hdr-match Willy Tarreau (29): OPTIM: tools: keep a cache of recent localtime() and gmtime() DEBUG: fd: catch access attempts to closed FDs BUG/MINOR: http-htx: fix the length moved when removing a header value BUG/MEDIUM: http-fetch: reject a negative capture id in capture.{req,res}.hdr BUG/MINOR: http-fetch: fix a NULL channel dereference in smp_fetch_body() BUG/MINOR: http: fix an out-of-bounds read in http_get_host_port() on empty host BUG/MINOR: http-htx: check the trash allocation in http_scheme_based_normalize() BUG/MINOR: h1: report the right error position on authority/host mismatch BUG/MINOR: h2: don't use a block pointer to roll back a partial HTX conversion BUG/MINOR: h3: don't use a block pointer to roll back a partial HTX conversion BUG/MINOR: http-ana: fix a one-byte over-read in the client-side cookie parser CLEANUP: htx: remove the unreachable "append_data" label in htx_reserve_max_data() CLEANUP: flt-comp: remove a no-op http_remove_header() call BUG/MINOR: http-act: fix a double free of the regex on a rule parsing error BUG/MINOR: http-act: fix a double free of the map reference on a parsing error BUG/MINOR: http-act: restore the response buffer state in the early-hint action BUG/MINOR: http-act: work on a copy of the sample in del-headers-bin BUG/MINOR: http-act: reject a negative capture id in the capture actions CLEANUP: http-conv: index the captures array with hdr->index in the converters BUG/MINOR: http-htx: check the strdup() of the "lf-string" http reply argument BUG/MINOR: slz: do not read past the end of the input around the match loop CLEANUP: slz: fix the documented worst case size of flush() and finish() BUG/MINOR: slz: use the exact switch cost for the last literals of a block BUG/MEDIUM: slz: bound the bits wasted by the 9-bit literals BUG/MINOR: slz: do not append a block to an already finished stream BUG/MINOR: slz: fix the adler32 accumulators signedness on 32-bit BUG/MINOR: slz: avoid undefined shifts when building the word byte by byte CLEANUP: slz: clarify that the size promise applies to the stream, not to a call IMPORT: cebtree: private: fix the duplicate detection in the lookup shortcut