Changes since version 2.2-dev3 : Carl Henrik Lunde (1): OPTIM: startup: fast unique_id allocation for acl. Christopher Faulet (3): MINOR: contrib/prometheus-exporter: Add the last heathcheck duration metric BUG/MINOR: http-htx: Do case-insensive comparisons on Host header name MINOR: mux-h1: Remove useless case-insensitive comparisons Emmanuel Hocdet (5): MINOR: ssl: move find certificate chain code to its own function MINOR: ssl: resolve issuers chain later MINOR: ssl: resolve ocsp_issuer later MINOR: ssl/cli: "show ssl cert" command should print the "Chain Filename:" MINOR: ssl: add "ca-verify-file" directive Ilya Shipitsin (2): BUILD: cirrus-ci: suppress OS version check when installing packages DOC: configuration.txt: fix various typos Jerome Magnin (1): BUG/MINOR: http_ana: make sure redirect flags don't have overlapping bits Lukas Tribus (1): BUG/MINOR: dns: ignore trailing dot Miroslav Zagorac (1): CLEANUP: contrib/spoa_example: Fix several typos Tim Duesterhus (11): BUG/MINOR: sample: Make sure to return stable IDs in the unique-id fetch REGTEST: Add unique-id reg-test MINOR: stream: Add stream_generate_unique_id function MINOR: stream: Use stream_generate_unique_id MINOR: ist: Add `IST_NULL` macro MINOR: ist: Add `int isttest(const struct ist)` MINOR: ist: Add `struct ist istalloc(size_t)` and `void istfree(struct ist*)` CLEANUP: Use `isttest()` and `istfree()` MINOR: ist: Add `struct ist istdup(const struct ist)` MINOR: proxy: Make `header_unique_id` a `struct ist` MEDIUM: stream: Make the `unique_id` member of `struct stream` a `struct ist` William Lallemand (3): BUG/MEDIUM: ssl: chain must be initialized with sk_X509_new_null() MINOR: ssl/cli: support crt-list filters MINOR: ssl: reach a ckch_store from a sni_ctx Willy Tarreau (46): MEDIUM: buffer: remove the buffer_wq lock BUG/MINOR: h2: reject again empty :path pseudo-headers MINOR: wdt: always clear sigev_value to make valgrind happy MINOR: epoll: always initialize all of epoll_event to please valgrind CLEANUP: fd: remove the FD_EV_STATUS aggregate CLEANUP: fd: remove some unneeded definitions of FD_EV_* flags MINOR: fd: merge the read and write error bits into RW error MINOR: rawsock: always mark the FD not ready when we're certain it happens MEDIUM: connection: make the subscribe() call able to wakeup if ready MEDIUM: connection: don't stop receiving events in the FD handler MEDIUM: mux-h1: do not blindly wake up the tasklet at end of request anymore BUG/MINOR: arg: don't reject missing optional args MINOR: tools: make sure to correctly check the returned 'ms' in date2std_log MINOR: debug: report the task handler's pointer relative to main BUG/MEDIUM: debug: make the debug_handler check for the thread in threads_to_dump MINOR: haproxy: export main to ease access from debugger MINOR: haproxy: export run_poll_loop MINOR: task: export run_tasks_from_list BUILD: tools: remove obsolete and conflicting trace() from standard.c MINOR: tools: add new function dump_addr_and_bytes() MINOR: tools: add resolve_sym_name() to resolve function pointers MINOR: debug: use resolve_sym_name() to dump task handlers MINOR: cli: make "show fd" rely on resolve_sym_name() MEDIUM: debug: add support for dumping backtraces of stuck threads MINOR: debug: call backtrace() once upon startup BUG/MINOR: wdt: do not return an error when the watchdog couldn't be enabled BUILD: Makefile: include librt before libpthread MEDIUM: wdt: fall back to CLOCK_REALTIME if CLOCK_THREAD_CPUTIME is not available MINOR: wdt: do not depend on USE_THREAD MINOR: debug: report the number of entries in the backtrace MINOR: debug: improve backtrace() on aarch64 and possibly other systems MINOR: debug: use our own backtrace function on clang+x86_64 MINOR: debug: dump the whole trace if we can't spot the starting point BUILD: tools: unbreak resolve_sym_name() on non-GNU platforms BUILD: tools: rely on __ELF__ not USE_DL to enable use of dladdr() BUILD: makefile: do not modify the build options during make reg-tests BUG/MEDIUM: connection: stop polling for sending when the event is ready MEDIUM: stream-int: make sure to try to immediately validate the connection MINOR: tcp/uxst/sockpair: only ask for I/O when really waiting for a connect() MEDIUM: connection: only call ->wake() for connect() without I/O OPTIM: connection: disable receiving on disabled events when the run queue is too high OPTIM: mux-h1: subscribe rather than waking up at a few other places BUG/MINOR: connection/debug: do not enforce !event_type on subscribe() anymore DOC: fix incorrect indentation of http_auth_* BUG/MINOR: ssl-sock: do not return an uninitialized pointer in ckch_inst_sni_ctx_to_sni_filters MINOR: debug: add CLI command "debug dev write" to write an arbitrary size