Changes since version 2.6-dev3 : Amaury Denoyelle (20): CLEANUP: mux-quic: change comment style to not mess with git conflict CLEANUP: mux-quic: adjust comment for coding-style MINOR: mux-quic: complete trace when stream is not found MINOR: mux-quic: add comments for send functions MINOR: mux-quic: use shorter name for flow-control fields MEDIUM: mux-quic: respect peer bidirectional stream data limit MEDIUM: mux-quic: respect peer connection data limit MINOR: mux-quic: support MAX_STREAM_DATA frame parsing MINOR: mux-quic: support MAX_DATA frame parsing MINOR: mux-quic: convert fin on push-frame as boolean BUILD: quic: add missing includes REORG: quic: use a dedicated quic_loss.c MINOR: mux-quic: declare the qmux trace module MINOR: mux-quic: replace printfs by traces MINOR: mux-quic: add trace event for frame sending MINOR: mux-quic: add trace event for qcs_push_frame MINOR: mux-quic: activate qmux traces on stdout via macro BUILD: qpack: fix unused value when not using DEBUG_HPACK CLEANUP: qpack: suppress by default stdout traces CLEANUP: h3: suppress by default stdout traces Christopher Faulet (7): REGTESTS: fix the race conditions in be2hex.vtc BUG/MEDIUM: applet: Don't call .release callback function twice BUG/MEDIUM: cli/debug: Properly get the stream-int in all debug I/O handlers BUG/MEDIUM: sink: Properly get the stream-int in appctx callback functions BUG/MINOR: rules: Initialize the list element when allocating a new rule BUG/MINOR: http-rules: Don't free new rule on allocation failure DOC: config: Explictly add supported MQTT versions Dhruv Jain (1): MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1 Frédéric Lécaille (19): BUG/MEDIUM: quic: Blocked STREAM when retransmitted BUG/MAJOR: quic: Possible crash with full congestion control window MINOR: quic: Code factorization (TX buffer reuse) CLEANUP: quic: "largest_acked_pn" pktns struc member moving MEDIUM: quic: Limit the number of ACK ranges MEDIUM: quic: Rework of the TX packets memory handling BUG/MINOR: quic: Possible crash in parse_retry_token() BUG/MINOR: quic: Possible leak in quic_build_post_handshake_frames() BUG/MINOR: quic: Unsent frame because of qc_build_frms() BUG/MINOR: mux-quic: Access to empty frame list from qc_send_frames() BUG/MINOR: mux-quic: Missing I/O handler events initialization BUG/MINOR: quic: Missing TX packet initializations BUG/MINOR: quic: 1RTT packets ignored after mux was released BUG/MINOR: quic: Incorrect peer address validation BUG/MINOR: quic: Non initialized variable in quic_build_post_handshake_frames() BUG/MINOR: quic: Wrong TX packet related counters handling MINOR: quic: Add traces about stream TX buffer consumption MINOR: quic: Add traces in qc_set_timer() (scheduling) BUG/MINOR: quic: Wrong buffer length passed to generate_retry_token() Ilya Shipitsin (1): CI: github actions: switch to LibreSSL-3.5.1 Tim Duesterhus (5): DEV: coccinelle: Fix incorrect replacement in ist.cocci CLEANUP: Reapply ist.cocci with `--include-headers-for-types --recursive-includes` DEV: coccinelle: Add a new pattern to ist.cocci CLEANUP: Reapply ist.cocci REGTESTS: Do not use REQUIRE_VERSION for HAProxy 2.5+ William Lallemand (15): BUG/MEDIUM: httpclient: don't consume data before it was analyzed CLEANUP: htx: remove unused co_htx_remove_blk() BUG/MINOR: httpclient: consume partly the blocks when necessary BUG/MINOR: httpclient: remove the UNUSED block when parsing headers BUG/MEDIUM: httpclient: must manipulate head, not first BUG/MINOR: httpclient/lua: stuck when closing without data MINOR: server: export server_parse_sni_expr() function BUG/MINOR: httpclient: send the SNI using the host header BUILD: httpclient: fix build without SSL BUG/MINOR: server/ssl: free the SNI sample expression BUG/MINOR: httpclient: only check co_data() instead of HTTP_MSG_DATA BUG/MINOR: httpclient: process the response when received before the end of the request BUG/MINOR: httpclient: CF_SHUTW_NOW should be tested with channel_is_empty() BUG/MINOR: tools: fix url2sa return value with IPv4 BUG/MINOR: tools: url2sa reads too far when no port nor path Willy Tarreau (12): DEV: udp: switch parser to getopt() instead of positional arguments DEV: udp: add support for random packet corruption BUG/MINOR: logs: fix logsrv leaks on clean exit MINOR: actions: add new function free_act_rule() to free a single rule BUG/MINOR: tcp-rules: completely free incorrect TCP rules on error BUG/MINOR: http-rules: completely free incorrect TCP rules on error BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf BUG/MEDIUM: stream-int: do not rely on the connection error once established BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner MEDIUM: mux-h2: slightly relax timeout management rules BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts BUILD: stream-int: avoid a build warning when DEBUG is empty