Changes since version 3.4.4 : Amaury Denoyelle (6): BUG/MAJOR: h3: reject H3 truncated frames BUG/MINOR: h3: reject truncated frames with mandatory payload BUG/MEDIUM: h3: do not block FIN on empty DATA frame BUG/MINOR: h3: handle empty HEADERS frame as specified BUG/MINOR: h3: handle unknown frame type on request stream as specified BUG/MINOR: h3: only increment frame type counter on new header Christopher Faulet (36): BUG/MEDIUM: mux-spop: Properly handle parsing of split HELLO/DISCONNECT frames BUN/MINOR: hlua: reset hlua_body variable after per-thread files loading BUG/MEDIUM: hlua: Never release a cosocket applet from the GC BUG/MINOR: mux-h1: Return an error on trailers if last chunk is unfinished BUG/MINOR: hlua: Always return nil if there is no data to dup for HTTP messages BUG/MEDIUM: htx: Don't reset flags when source must be preserved during transfer BUG/MEDIUM: cli: Don't parse next command if input buffer is empty BUG/MEDIUM: cli: Don't read a command or payload line into a full buffer BUG/MINOR: cli: Reject payload with no command BUG/MEDIUM: htx: Reserve a block descriptor for zero-sized blocks CLEANUP: stream: Remove an excess newline in the stream dump BUG/MEDIUM: tcp-rules: Don't restart tcp-request content evaluation on yield MAJOR: filters: Revert the filter-sequence directive BUG/MEDIUM: http-client: Don't use the httpclient context if it was released MINOR: http-client: Add an option to not stop the reception of the response BUG/MEDIUM: ssl/ocsp: Set HTTPCLIENT_O_RES_ACCUM option on the http-client BUG/MEDIUM: acme: Set HTTPCLIENT_O_RES_ACCUM option on the http-client MINOR: http-client: Add a function to notify some data were consumed BUG/MEDIUM: http-client/cli: Notify the http-client when the response is consumed BUG/MEDIUM: htx: Fix the position returned by htx_defrag() BUG/MINOR: tools: Don't try to anonymize a NULL string BUG/MAJOR: htx: Check the header/trailer length limits when one is updated BUG/MINOR: ssl: Fix possible null deref on the SSL context in ssl_sock_to_buf() BUG/MINOR: http-client: Convert server timeout ticks when setting it BUG/MINOR: mux-h2: Don't expect more HTX data on 1xx interim responses REG-TESTS: http-messaging: Add a script to test interim responses for H1/H2 BUG/MEDIUM: log: reserve the trailing 0 in CBOR int and bool encoders BUG/MEDIUM: http-htx: don't build the new authority in a rotating trash chunk BUG/MEDIUM: http-act: ignore "capture len" rules evaluated from a backend BUG/MEDIUM: tcp-rules: ignore "capture len" rules evaluated from a backend BUG/MINOR: http-ana: count response body failures only once in http_fail_cnt BUG/MINOR: http-fetch: http_auth_bearer() must not match a missing header BUG/MINOR: http-fetch: fix the space check of http_auth_bearer() BUG/MINOR: mux-h1: only mark C-L and T-E as sent once the header is emitted BUG/MINOR: tcpcheck: refresh the start-line after updating the authority BUG/MINOR: http-ana: restore the transaction status after early hints Dragan Dosen (1): BUG/MEDIUM: filters: check the filter name before comparing it Frederic Lecaille (11): BUG/MEDIUM: quic: crash on key update phase change after a failed one BUG/MINOR: quic: late packets of the first key phase are dropped MINOR: quic: protect the ChaCha20 header protection context from being freed BUG/MINOR: qpack: encoder and decoder stream data is never consumed BUG/MINOR: qpack: accept a Required Insert Count which cannot be reached BUG/MINOR: quic: delete the wrong CIDs when post-handshake frames fail BUG/MINOR: quic: leak of the NEW_TOKEN frame on token generation failure BUG/MEDIUM: map: do not overwrite the fetch context in pat_match_regm() REGTESTS: map: check map_regm inside an ACL over an iterating fetch BUG/MINOR: sample: reject a \0 byte in url_dec, json_query and jwt_*_query REGTESTS: http-rules: check "-m str" on a sample with an embedded \0 M9nx (1): BUG/MINOR: hlua: release private Lua rule data on teardown Manu Nicolas (3): BUG/MINOR: resolvers: classify empty truncated responses CLEANUP: resolvers: stop clearing the DNS response buffer BUG/MEDIUM: http-ana: apply tunnel timeout with data filters Olivier Houchard (3): MEDIUM: mux-h1: Harden test for short data at end of stream BUG/MEDIUM: mux-h2: Make sure we remove H2_SF_NOTIFIED on subscribe BUG/MEDIUM: task: Do not destroy a task that is not ours in task_destroy Remi Tricot-Le Breton (4): BUG/MINOR: cache: Manage collisions on primary key BUG/MINOR: cache: Seed cache primary hash BUG/MINOR: ssl: don't pass the address of a size_t as an int* to OpenSSL BUG/MINOR: ssl: Fix leak of ca_list in cafile_entry William Lallemand (3): BUG/MINOR: payload: fix the cipher_len bound check in smp_client_hello_parse() BUG/MINOR: payload: bound ClientHello extension lists by the extension length BUG/MEDIUM: ssl: don't set a 0 timeout on an expired TLS session Willy Tarreau (11): OPTIM: server: remember the lowest known unused server ID MINOR: ring: add "-s" flag to "show events" to sanitize the output REGTESTS: log: add a test for "show events -s" REGTESTS: log: check which log-format tags escape control characters DOC: config: mention that section 8.6 does not apply to the cbor encoding REGTESTS: log: check that the +cbor output passes the logged bytes through DOC: config: clarify tune tune.bufsize doc regarding various limits BUG/MINOR: stream/debug: harden the stream dump function regarding signals DOC: configuration: clarify the validity ranges of sample types BUG/MINOR: proxy: pass PR_FL_DEF_EXPLICIT_MODE through cascaded defaults OPTIM: tools: keep a cache of recent localtime() and gmtime() Youngkwang Lee (1): BUG/MEDIUM: http_act: fix normalize-uri normalizer selection with a condition