Changes since version 2.7.1 : Amaury Denoyelle (17): 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 BUG/MINOR: mux-quic: fix transfer of empty HTTP response MINOR: mux-quic: add traces for flow-control limit reach MAJOR: mux-quic: rework stream sending priorization MEDIUM: h3: send SETTINGS before STREAM frames MINOR: mux-quic: use send-list for STOP_SENDING/RESET_STREAM emission MINOR: mux-quic: use send-list for immediate sending retry BUG/MINOR: h3: properly handle connection headers MINOR: h3: extend function for QUIC varint encoding MINOR: h3: implement TRAILERS encoding MINOR: h3: implement TRAILERS decoding Aurelien DARRAGON (5): BUG/MINOR: proxy: free orgto_hdr_name in free_proxy() REGTEST: fix the race conditions in json_query.vtc REGTEST: fix the race conditions in add_item.vtc REGTEST: fix the race conditions in digest.vtc REGTEST: fix the race conditions in hmac.vtc Christopher Faulet (15): 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 BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned DOC: config: fix alphabetical ordering of http-after-response rules DOC: config: remove duplicated "http-response sc-set-gpt0" directive BUG/MINOR: h1-htx: Remove flags about protocol upgrade on non-101 responses BUG/MINOR: hlua: Fix Channel.line and Channel.data behavior regarding the doc BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action BUG/MINOR: promex: Don't forget to consume the request on error BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state BUG/MEDIUM: mux-h2: Don't send CANCEL on shutw when response length is unkown BUG/MINOR: bwlim: Check scope for period expr for set-bandwitdh-limit actions BUG/MINOR: bwlim: Fix parameters check for set-bandwidth-limit actions Daniel Corbett (1): DOC: config: fix "Address formats" chapter syntax Frédéric Lécaille (5): MINOR: quic: Useless test about datagram destination addresses MINOR: quic: Disable the active connection migrations MINOR: quic: Add "no-quic" global option MINOR: sample: Add "quic_enabled" sample fetch MINOR: quic: Replace v2 draft definitions by those of the final 2 version Ilya Shipitsin (1): CI: github: enable github api authentication for OpenSSL tags read Manu Nicolas (1): CLEANUP: htx: fix a typo in an error message of http_str_to_htx Mathias Weiersmueller (1): DOC: config: added optional rst-ttl argument to silent-drop in action lists Paul Barnetta (1): BUG/MINOR: mux-fcgi: Correctly set pathinfo Remi Tricot-Le Breton (3): BUG/MINOR: http: Memory leak of http redirect rules' format string BUG/MEDIUM: jwt: Properly process ecdsa signatures (concatenated R and S params) BUG/MINOR: ssl: Fix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0) Sébastien Gross (1): MINOR: config: add environment variables for default log format Tim Duesterhus (6): CI: Improve headline in matrix.py CI: Add in-memory cache for the latest OpenSSL/LibreSSL CI: Use proper `if` blocks instead of conditional expressions in matrix.py CI: Unify the `GITHUB_TOKEN` name across matrix.py and vtest.yml CI: Explicitly check environment variable against `None` in matrix.py CI: Reformat `matrix.py` using `black` William Lallemand (5): REGTESTS: ssl: enable the ssl_reuse.vtc test for WolfSSL MINOR: httpclient: don't add body when istlen is empty CI: github: use the GITHUB_TOKEN instead of a manually generated token DOC: management: add details on "Used" status DOC: management: add details about @system-ca in "show ssl ca-file" Willy Tarreau (29): OPTIM: pool: split the read_mostly from read_write parts in pool_head BUG/MEDIUM: quic: properly take shards into account on bind lines BUG/MINOR: quic: do not allocate more rxbufs than necessary BUILD: makefile: build the features list dynamically BUILD: makefile: sort the features list BUILD: makefile: clean the wolfssl include and lib generation rules BUILD: makefile: make sure to also ignore SSL_INC when using wolfssl BUG/MINOR: debug: don't mask the TH_FL_STUCK flag before dumping threads MINOR: cfgparse-ssl: avoid a possible crash on OOM in ssl_bind_parse_npn() BUG/MINOR: stick-table: report the correct action name in error message BUG/MINOR: fd: avoid bad tgid assertion in fd_delete() from deinit() DEV: tcploop: add minimal support for unix sockets BUG/MEDIUM: peers: make "show peers" more careful about partial initialization BUG/MINOR: http-ana: make set-status also update txn->status BUG/MINOR: listeners: fix suspend/resume of inherited FDs DOC: config: fix wrong section number for "protocol prefixes" DOC: config: fix aliases for protocol prefixes "udp4@" and "udp6@" DOC: config: mention the missing "quic4@" and "quic6@" in protocol prefixes MINOR: listener: also support "quic+" as an address prefix CLEANUP: stconn: always use se_fl_set_error() to set the pending error BUG/MEDIUM: stconn: also consider SE_FL_EOI to switch to SE_FL_ERROR BUG/MINOR: listener: close tiny race between resume_listener() and stopping BUG/MEDIUM: fd/threads: fix again incorrect thread selection in wakeup broadcast BUG/MINOR: thread: always reload threads_enabled in loops MINOR: threads: add a thread_harmless_end() version that doesn't wait BUG/MEDIUM: debug/thread: make the debug handler not wait for !rdv_requests BUG/MINOR: mux-h2: make sure to produce a log on invalid requests BUG/MINOR: mux-h2: add missing traces on failed headers decoding BUILD: hpack: include global.h for the trash that is needed in debug mode