Changes since version 2.1-dev2 : Christopher Faulet (31): BUG/MINOR: mux-h2/trace: Fix traces on h2c initialization MINOR: h1-htx: Update h1_copy_msg_data() to ease the traces in the mux-h1 MINOR: htx: Adapt htx_dump() to be used from traces MINOR: mux-h1/trace: register a new trace source with its events MINOR: proxy: Store http-send-name-header in lower case MINOR: http: Remove headers matching the name of http-send-name-header option BUG/MINOR: mux-h1: Adjust header case when the server name is add to a request BUG/MINOR: mux-h1: Adjust header case when chunked encoding is add to a message MINOR: mux-h1: Try to wakeup the stream on output buffer allocation MINOR: fcgi: Add function to get the string representation of a record type MINOR: mux-fcgi/trace: Register a new trace source with its events BUG/MINOR: mux-h1/mux-fcgi/trace: Fix position of the 4th arg in some traces MINOR: htx: Add 2 flags on the start-line to have more info about the uri MINOR: http: Add a function to get the authority into a URI MINOR: h1-htx: Set the flag HTX_SL_F_HAS_AUTHORITY during the request parsing MEDIUM: http-htx: Keep the Host header and the request start-line synchronized MINOR: h1-htx: Only use the path of a normalized URI to format a request line BUG/MEDIUM: htx: Catch chunk_memcat() failures when HTX data are formatted to h1 BUG/MINOR: chunk: Fix tests on the chunk size in functions copying data BUG/MINOR: mux-h1: Mark the output buffer as full when the xfer is interrupted MINOR: mux-h1: Xfer as much payload data as possible during output processing CLEANUP: h1-htx: Move htx-to-h1 formatting functions from htx.c to h1_htx.c BUG/MINOR: mux-h1: Capture ignored parsing errors MINOR: h1: Reject requests with different occurrences of the header host MINOR: h1: Reject requests if the authority does not match the header host REGTESTS: Send valid URIs in peers reg-tests and fix HA config to avoid warnings REGTESTS: Adapt proxy_protocol_random_fail.vtc to match normalized URI too BUG/MINOR: http-htx: Properly set htx flags on error files to support keep-alive MINOR: htx: Add a flag on HTX to known when a response was generated by HAProxy MINOR: mux-h1: Force close mode for proxy responses with an unfinished request BUG/MINOR: tcp: Don't alter counters returned by tcp info fetchers David Carlier (3): BUILD/MEDIUM: threads: rename thread_info struct to ha_thread_info BUILD/SMALL: threads: enable threads on osx BUILD/MEDIUM: threads: enable cpu_affinity on osx Frédéric Lécaille (1): BUG/MINOR: peers: crash on reload without local peer. Miroslav Zagorac (1): BUG/MINOR: WURFL: fix send_log() function arguments Olivier Houchard (7): BUG/MEDIUM: tasks: Don't forget to decrement tasks_run_queue. MEDIUM: task: Split the tasklet list into two lists. MINOR: h2: Document traps to be avoided on multithread. MINOR: lists: Try to use local variables instead of macro arguments. MINOR: lists: Fix alignement of \ when relevant. BUG/MEDIUM: lists: Handle 1-element-lists in MT_LIST_BEHEAD(). BUG/MEDIUM: mux_pt: Make sure we don't have a conn_stream before freeing. Rick Rackow (1): DOC: fix typo in Prometheus exporter doc William Lallemand (25): MINOR: ssl: crt-list do ckchn_lookup REORG: ssl: rename ckch_node to ckch_store REORG: ssl: move structures to ssl_sock.h MINOR: ssl: initialize the sni_keytypes_map as EB_ROOT MINOR: ssl: initialize explicitly the sni_ctx trees BUG/MINOR: ssl: abort on sni allocation failure BUG/MINOR: ssl: free the sni_keytype nodes BUG/MINOR: ssl: abort on sni_keytypes allocation failure MEDIUM: ssl: introduce the ckch instance structure MEDIUM: ssl: split ssl_sock_add_cert_sni() MINOR: ssl: ssl_sock_load_ckchn() can properly fail MINOR: ssl: ssl_sock_load_multi_ckchs() can properly fail MEDIUM: ssl: ssl_sock_load_ckchs() alloc a ckch_inst MINOR: ssl: ssl_sock_load_crt_file_into_ckch() is filling from a BIO MEDIUM: ssl/cli: 'set ssl cert' updates a certificate from the CLI MINOR: ssl: load the sctl in/from the ckch MINOR: ssl: load the ocsp in/from the ckch BUG/MEDIUM: ssl: NULL dereference in ssl_sock_load_cert_sni() BUG/MINOR: ssl: fix build without SSL BUG/MINOR: ssl: fix build without multi-cert bundles BUILD: ssl: wrong #ifdef for SSL engines code BUG/MINOR: ssl: fix OCSP build with BoringSSL BUG/MINOR: ssl: fix error messages for OCSP loading BUG/MINOR: ssl: can't load ocsp files BUG/MINOR: mworker/ssl: close openssl FDs unconditionally Willy Tarreau (35): MINOR: mux-h2/trace: missing conn pointer in demux full message MINOR: mux-h2: add a per-connection list of blocked streams BUILD: ebtree: make eb_is_empty() and eb_is_dup() take a const BUG/MEDIUM: mux-h2: do not enforce timeout on long connections BUG/MEDIUM: cache: make sure not to cache requests with absolute-uri DOC: clarify some points around http-send-name-header's behavior MEDIUM: mux-h2: support emitting CONTINUATION frames after HEADERS MINOR: h2: clarify the rules for how to convert an H2 request to HTX MEDIUM: h2: make the request parser rebuild a complete URI MINOR: h2: report in the HTX flags when the request has an authority MEDIUM: mux-h2: do not map Host to :authority on output MEDIUM: h2: use the normalized URI encoding for absolute form requests MINOR: stats: mention in the help message support for "json" and "typed" MINOR: stats: get rid of the ST_CONVDONE flag MINOR: stats: replace the ST_* uri_auth flags with STAT_* MINOR: stats: always merge the uri_auth flags into the appctx flags MINOR: stats: set the appctx flags when initializing the applet only MINOR: stats: get rid of the STAT_SHOWADMIN flag MINOR: stats: make stats_dump_fields_json() directly take flags MINOR: stats: uniformize the calling convention of the dump functions MINOR: stats: support the "desc" output format modifier for info and stat MINOR: stats: prepare to add a description with each stat/info field MINOR: stats: make "show stat" and "show info" MINOR: stats: fill all the descriptions for "show info" and "show stat" BUG/MEDIUM: applet: always check a fast running applet's activity before killing BUILD: stats: fix missing '=' sign in array declaration MINOR: lists: add new macro LIST_SPLICE_END_DETACHED MINOR: list: add new macro MT_LIST_BEHEAD MINOR: mux-h2: also support emitting CONTINUATION on trailers MINOR: version: make the version strings variables, not constants BUILD: travis-ci: limit build to branches "master" and "next" MINOR: istbuf: add b_fromist() to make a buffer from an ist BUG/MINOR: cache: also cache absolute URIs BUG/MEDIUM: tasklet: properly compute the sleeping threads mask in tasklet_wakeup() BUG/MAJOR: idle conns: schedule the cleanup task on the correct threads