Changes since version 2.0-dev2 : Christopher Faulet (40): BUG/MINOR: contrib/prometheus-exporter: Fix applet accordingly to recent changes BUG/MINOR: mux-h1: Only skip invalid C-L headers on output BUG/MINOR: htx: Preserve empty HTX messages with an unprocessed parsing error BUG/MINOR: proto_htx: Reset to_forward value when a message is set to DONE REGTEST: http-capture/h00000: Relax a regex matching the log message REGTEST: http-messaging/h00000: Fix the test when the HTX is enabled REGTEST: http-rules/h00003: Use a different client for requests expecting a 301 REGTEST: log/b00000: Be sure the client always hits its timeout REGTEST: lua/b00003: Relax the regex matching the log message REGTEST: lua/b00003: Specify the HAProxy pid when the command ss is executed BUG/MEDIUM: spoe: Queue message only if no SPOE applet is attached to the stream BUG/MEDIUM: spoe: Return an error if nothing is encoded for fragmented messages BUG/MINOR: spoe: Be sure to set tv_request when each message fragment is encoded BUG/MEDIUM: htx: Defrag if blocks position is changed and the payloads wrap BUG/MEDIUM: htx: Don't crush blocks payload when append is done on a data block MEDIUM: htx: Deprecate the option 'http-tunnel' and ignore it in HTX MINOR: proto_htx: Don't adjust transaction mode anymore in HTX analyzers BUG/MEDIUM: htx: Fix the process of HTTP CONNECT with h2 connections MINOR: mux-h1: Simplify handling of 1xx responses MINOR: stats/htx: Don't add "Connection: close" header anymore in stats responses MEDIUM: h1: Add an option to sanitize connection headers during parsing MEDIUM: mux-h1: Simplify the connection mode management by sanitizing headers MINOR: mux-h1: Don't release the conn_stream anymore when h1s is destroyed BUG/MINOR: mux-h1: Handle the flag CS_FL_KILL_CONN during a shutdown read/write MINOR: mux-h2: Add a mux_ops dedicated to the HTX mode MINOR: muxes: Add a flag to specify a multiplexer uses the HTX MINOR: stream: Set a flag when the stream uses the HTX MINOR: http: update the macro IS_HTX_STRM() to check the stream flag SF_HTX MINOR: http_fetch/htx: Use stream flags instead of px mode in smp_prefetch_htx MINOR: filters/htx: Use stream flags instead of px mode to instanciate a filter MINOR: muxes: Rely on conn_is_back() during init to handle front/back conn MEDIUM: muxes: Add an optional input buffer during mux initialization MINOR: muxes: Pass the context of the mux to destroy() instead of the connection MEDIUM: muxes: Be prepared to don't own connection during the release MEDIUM: connection: Add conn_upgrade_mux_fe() to handle mux upgrades MEDIUM: htx: Allow the option http-use-htx to be used on TCP proxies too MAJOR: proxy/htx: Handle mux upgrades from TCP to HTTP in HTX mode MAJOR: muxes/htx: Handle inplicit upgrades from h1 to h2 MAJOR: htx: Enable the HTX mode by default for all proxies REGTEST: Use HTX by default and add '--no-htx' option to disable it David Carlier (1): BUILD/MINOR: listener: Silent a few signedness warnings. Emeric Brun (1): BUG/MEDIUM: peers: fix a case where peer session is not cleanly reset on release. Emmanuel Hocdet (1): MINOR: ssl: Activate aes_gcm_dec converter for BoringSSL Freddy Spierenburg (1): DOC: The option httplog is no longer valid in a backend. Frédéric Lécaille (6): BUG/MINOR: peers: Really close the sessions with no heartbeat. CLEANUP: peers: remove useless annoying tabulations. CLEANUP: peers: replace timeout constants by macros. REGTEST: Enable again reg tests with HEAD HTTP method usage. DOC: peers: Peers protocol documentation update. BUG/MINOR: peers: Missing initializations after peer session shutdown. Nenad Merdanovic (1): MINOR: ssl: Add aes_gcm_dec converter Olivier Houchard (9): BUG/MEDIUM: checks: Don't bother subscribing if we have a connection error. BUG/MEDIUM: h2: Don't attempt to recv from h2_process_demux if we subscribed. BUG/MEDIUM: streams: Don't remove the SI_FL_ERR flag in si_update_both(). BUG/MEDIUM: streams: Store prev_state before calling si_update_both(). BUG/MEDIUM: stream: Don't clear the stream_interface flags in si_update_both. MINOR: initcall: Don't forget to define the __start/stop_init_##stg symbols. MINOR: threads: Implement thread_cpus_enabled() for FreeBSD. BUG/MEDIUM: streams: Only re-run process_stream if we're in a connected state. BUG/MEDIUM: stream_interface: Don't bother doing chk_rcv/snd if not connected. Ricardo Nabinger Sanchez (1): BUG/MAJOR: checks: segfault during tcpcheck_main Robin H. Johnson (1): MINOR: skip get_gmtime where tm is unused William Lallemand (15): BUG/MEDIUM: mworker: don't free the wrong child when not found REORG: mworker: move serializing functions to mworker.c REORG: mworker: move signals functions to mworker.c REORG: mworker: move IPC functions to mworker.c REORG: mworker: move signal handlers and related functions REORG: mworker: move mworker_cleanlisteners to mworker.c MINOR: mworker: calloc mworker_proc structures MINOR: mworker: don't use children variable anymore MINOR: cli: export cli_parse_default() definition in cli.h REORG: mworker/cli: move CLI functions to mworker.c MEDIUM: mworker-prog: implement program for master-worker MINOR: mworker/cli: show programs in 'show proc' BUG/MINOR: cli: correctly handle abns in 'show cli sockets' MINOR: cli: start addresses by a prefix in 'show cli sockets' MINOR: cli: export HAPROXY_CLI environment variable Willy Tarreau (33): REGTEST: remove unexpected "nbthread" statement from Lua test cases BUILD: Makefile: remove 11-years old workarounds for deprecated options BUILD: remove 10-years old error message for obsolete option USE_TCPSPLICE BUILD: Makefile: remove outdated support for dlmalloc BUILD: Makefile: consider a variable's origin and not its value for the options list BUILD: Makefile: also report disabled options in the BUILD_OPTIONS variable BUILD: Makefile: shorten default settings declaration BUILD: Makefile: clean up the target declarations BUILD: report the whole feature set with their status in haproxy -vv BUILD: pass all "USE_*" variables as -DUSE_* to the compiler REGTEST: script: make the script use the new features list REGTEST: script: remove platform-specific assigments of OPTIONS BUILD: makefile: work around an old bug in GNU make-3.80 BUILD: makefile: work around another bug in make 3.80 BUILD: http: properly mark some struct as extern BUILD: chunk: properly declare pool_head_trash as extern BUILD: cache: avoid a build warning with some compilers/linkers MINOR: tools: make memvprintf() never pass a NULL target to vsnprintf() MINOR: tools: add an unsetenv() implementation BUILD: re-implement an initcall variant without using executable sections BUILD: use inttypes.h instead of stdint.h BUILD: connection: fix naming of ip_v field BUILD: makefile: fix build of IPv6 header on aix51 BUILD: makefile: add _LINUX_SOURCE_COMPAT to build on AIX-51 BUILD: define unsetenv on AIX 5.1 BUILD: Makefile: disable shared cache on AIX 5.1 BUG/MEDIUM: htx: fix random premature abort of data transfers BUG/MEDIUM: pattern: assign pattern IDs after checking the config validity BUG/MEDIUM: task/threads: address a fairness issue between local and global tasks BUG/MINOR: tasks: make sure the first task to be queued keeps its nice value BUG/MINOR: listener: renice the accept ring processing task MINOR: cli/listener: report the number of accepts on "show activity" MINOR: cli/activity: report the accept queue sizes in "show activity"