Changes since version 3.0.5 : Amaury Denoyelle (7): BUG/MINOR: h1: do not forward h2c upgrade header token BUG/MINOR: h2: reject extended connect for h2c protocol BUG/MINOR: mux-quic: report glitches to session BUG/MEDIUM: mux-quic: ensure timeout server is active for short requests BUG/MINOR: mux-quic: do not close STREAM with empty FIN if no data sent BUG/MINOR: server: fix dynamic server leak with check on failed init BUG/MEDIUM: server: fix race on servers_list during server deletion Aurelien DARRAGON (7): BUG/MEDIUM: server: server stuck in maintenance after FQDN change BUG/MEDIUM: hlua: make hlua_ctx_renew() safe BUG/MEDIUM: hlua: properly handle sample func errors in hlua_run_sample_{fetch,conv}() DOC: config: fix rfc7239 forwarded typo in desc BUG/MEDIUM: connection/http-reuse: fix address collision on unhandled address families DOC: config: add missing glitch_{cnt,rate} data types DOC: config: add missing glitch_{cnt,rate} sample definitions Christopher Faulet (24): MINOR: connection: No longer include stconn type header in connection-t.h MINOR: mux-h1: Set EOI on SE during demux when both side are in DONE state BUG/MEDIUM: mux-h1/mux-h2: Reject upgrades with payload on H2 side only REGTESTS: h1/h2: Update script testing H1/H2 protocol upgrades BUG/MEDIUM: cli: Be sure to catch immediate client abort BUG/MINOR: mux-h1: Fix condition to set EOI on SE during zero-copy forwarding BUG/MINOR: http-ana: Disable fast-fwd for unfinished req waiting for upgrade BUG/MEDIUM: stconn: Wait iobuf is empty to shut SE down during a check send BUG/MINOR: http-ana: Don't report a server abort if response payload is invalid BUG/MEDIUM: stconn: Check FF data of SC to perform a shutdown in sc_notify() BUG/MAJOR: filters/htx: Add a flag to state the payload is altered by a filter REGTESTS: Never reuse server connection in http-messaging/truncated.vtc BUG/MEDIUM: stats-html: Never dump more data than expected during 0-copy FF BUG/MEDIUM: mux-h2: Remove H2S from send list if data are sent via 0-copy FF BUG/MEDIUM: stconn: Report blocked send if sends are blocked by an error BUG/MINOR: http-ana: Fix wrong client abort reports during responses forwarding BUG/MINOR: stconn: Don't disable 0-copy FF if EOS was reported on consumer side BUG/MEDIUM: mux-h1: Fix how timeouts are applied on H1 connections BUG/MINOR: http-ana: Report internal error if an action yields on a final eval MINOR: stream: Save last evaluated rule on invalid yield BUG/MEDIUM: promex: Fix dump of extra counters MINOR: stream/stats: Expose the current number of streams in stats MINOR: stream/stats: Expose the total number of streams ever created in stats BUG/MINOR: stats: Fix the name for the total number of streams created Frederic Lecaille (4): BUG/MINOR: quic: avoid leaking post handshake frames BUG/MEDIUM: quic: avoid freezing 0RTT connections BUG/MINOR: quic: fix malformed probing packet building BUILD: Missing inclusion header for ssize_t type Oliver Dala (1): BUG/MEDIUM: cli: Deadlock when setting frontend maxconn Valentine Krasnobaeva (3): BUG/MINOR: cfgparse-global: fix allowed args number for setenv BUG/MINOR: mworker: fix mworker-max-reloads parser MINOR: cli/debug: show dev: add cmdline and version William Lallemand (4): BUG/MINOR: httpclient: return NULL when no proxy available during httpclient_new() MINOR: cli: remove non-printable characters from 'debug dev fd' BUG/MINOR: trace: stop rewriting argv with -dt BUG/MINOR: ssl/cli: 'set ssl cert' does not check the transaction name correctly Willy Tarreau (41): REGTESTS: shorten a bit the delay for the h1/h2 upgrade test BUG/MINOR: server: make sure the HMAINT state is part of MAINT BUILD: tools: only include execinfo.h for the real backtrace() function MINOR: tools: do not attempt to use backtrace() on linux without glibc MINOR: task: define two new one-shot events for use with WOKEN_OTHER or MSG BUG/MEDIUM: stream: make stream_shutdown() async-safe BUG/MINOR: queue: make sure that maintenance redispatches server queue MINOR: server: make srv_shutdown_sessions() call pendconn_redistribute() BUG/MEDIUM: queue: always dequeue the backend when redistributing the last server MINOR: debug: make mark_tainted() return the previous value MINOR: chunk: drop the global thread_dump_buffer MINOR: debug: split ha_thread_dump() in two parts MINOR: debug: slightly change the thread_dump_pointer signification MINOR: debug: make ha_thread_dump_done() take the pointer to be used MINOR: debug: replace ha_thread_dump() with its two components MEDIUM: debug: on panic, make the target thread automatically allocate its buf BUG/MEDIUM: queue: make sure never to queue when there's no more served conns MINOR: activity/memprofile: always return "other" bin on NULL return address MINOR: activity/memprofile: show per-DSO stats BUILD: debug: silence a build warning with threads disabled MINOR: pools: export the pools variable MINOR: debug: place a magic pattern at the beginning of post_mortem MINOR: debug: place the post_mortem struct in its own section. MINOR: debug: store important pointers in post_mortem DOC: config: document connection error 44 (reverse connect failure) CLEANUP: connection: properly name the CO_ER_SSL_FATAL enum entry MINOR: connection: add more connection error codes to cover common errno MINOR: rawsock: set connection error codes when returning from recv/send/splice MINOR: connection: add new sample fetch functions fc_err_name and bc_err_name MINOR: debug: print gdb hints when crashing MINOR: debug: do not limit backtraces to stuck threads MINOR: debug: also add a pointer to struct global to post_mortem MINOR: debug: also add fdtab and acitvity to struct post_mortem MINOR: debug: remove the redundant process.thread_info array from post_mortem MINOR: wdt: move the local timers to a struct MINOR: debug: add a function to dump a stuck thread DEBUG: wdt: better detect apparently locked up threads and warn about them DEBUG: cli: make it possible for "debug dev loop" to trigger warnings DEBUG: wdt: make the blocked traffic warning delay configurable DEBUG: wdt: add a stats counter "BlockedTrafficWarnings" in show info BUILD: debug: also declare strlen() in __ABORT_NOW()