Changes since version 1.9-dev10 : Christopher Faulet (12): BUG/MINOR: mux-h1: Fix conn_mode processing for headerless outgoing messages BUG/MEDIUM: mux-h1: Add a BUSY mode to not loop on pipelinned requests BUG/MEDIUM: mux-h1: Don't loop on the headers parsing if the read0 was received BUG/MEDIUM: htx: Always do a defrag if a block value is replace by a bigger one MINOR: compression: Rename the function check_legacy_http_comp_flt() MINOR: cache/htx: Don't use the same cache on HTX and legacy HTTP proxies MINOR: cache: Register the cache as a data filter only if response is cacheable MEDIUM: cache/htx: Add the HTX support into the cache MINOR: cache: Improve and simplify the cache configuration check MINOR: filters: Export the name of known filters MEDIUM: cache/compression: Add a way to safely combined compression and cache MEDIUM: cache: Require an explicit filter declaration if other filters are used Jérôme Magnin (2): DOC: clarify that check-sni needs an argument. DOC: refer to check-sni in the documentation of sni Olivier Houchard (3): BUG/MEDIUM: connection: Don't use the provided conn_stream if it was tried. BUG/MEDIUM: connections: Remove error flags when retrying. BUG/MEDIUM: mux-h2: Don't forget to set the CS_FL_EOS flag with htx. PiBa-NL (3): REGTEST/MINOR: remove double body specification for server txresp REGTEST/MINOR: skip seamless-reload test with abns socket on freebsd REGTEST/MINOR: remove health-check that can make the test fail William Lallemand (6): MEDIUM: cli: rework the CLI proxy parser MINOR: cli: parse prompt command in the CLI proxy MINOR: cli: implements 'quit' in the CLI proxy BUG/MINOR: cli: wait for payload data even without prompt MEDIUM: cli: handle payload in CLI proxy MINOR: cli: use pcli_flags for prompt activation Willy Tarreau (30): BUG/MEDIUM: mux-h2: fix encoding of non-GET/POST methods BUG/MINOR: hpack: fix off-by-one in header name encoding length calculation CLEANUP: hpack: no need to include chunk.h, only include buf.h MINOR: hpack: simplify the len to bytes conversion MINOR: hpack: use ist2bin() to copy header names in hpack_encode_header() MINOR: hpack: optimize header encoding for short names CONTRIB: hpack: add a compressed stream generator for the encoder MEDIUM: hpack: make it possible to encode any static header name MINOR: hpack: move the length computation and encoding functions to .h MINOR: hpack: provide a function to encode a short indexed header MINOR: hpack: provide a function to encode a long indexed header MINOR: hpack: provide new functions to encode the ":status" header MEDIUM: mux-h2: make use of standard HPACK encoding functions for the status MINOR: hpack: provide a function to encode an HTTP method MEDIUM: mux-h2: make use of hpack_encode_method() to encode the method MINOR: hpack: provide a function to encode an HTTP scheme MEDIUM: mux-h2: make use of hpack_encode_scheme() to encode the scheme MINOR: hpack: provide a function to encode an HTTP path MEDIUM: mux-h2: make use of hpack_encode_path() to encode the path REGTEST: add the HTTP rules test involving HTX processing REORG: connection: centralize the conn_set_{tos,mark,quickack} functions REORG: htx: merge types+proto into common/htx.h REORG: http: create http_msg.c to place there some legacy HTTP parts REORG: h1: move legacy http functions to http_msg.c REORG: h1: move the h1_state definition to proto_http CLEANUP: h1: remove some occurrences of unneeded h1.h inclusions REORG: h1: merge types+proto into common/h1.h CLEANUP: stream: remove SF_TUNNEL, SF_INITIALIZED, SF_CONN_TAR MEDIUM: mux-h1: implement true zero-copy of DATA blocks MINOR: config: round up global.tune.bufsize to the next multiple of 2 void*