Changes since version 1.9.8 : Ben51Degrees (2): MEDIUM: 51d: Enabled multi threaded operation in the 51Degrees module. BUG/MINOR: 51d/htx: The _51d_fetch method, and the methods it calls are now HTX aware. Christopher Faulet (38): BUG/MINOR: http_fetch: Rely on the smp direction for "cookie()" and "hdr()" BUG/MEDIUM: spoe: Don't use the SPOE applet after releasing it BUG/MINOR: mux-h2: Count EOM in bytes sent when a HEADERS frame is formatted BUG/MINOR: mux-h1: Report EOI instead EOS on parsing error or H2 upgrade BUG/MEDIUM: proto-htx: Not forward too much data when 1xx reponses are handled BUG/MINOR: htx: Remove a forgotten while loop in htx_defrag() BUG/MEDIUM: mux-h1: Don't switch the mux in BUSY mode on 1xx messages BUG/MINOR: mux-h1: Wake up the mux if it is busy when a 1xx response is handled BUG/MEDIUM: mux-h1: Don't skip the TCP splicing when there is no more data to read BUG/MINOR: channel/htx: Don't alter channel during forward for empty HTX message BUG/MINOR: mux-h1: errflag must be set on H1S and not H1M during output processing BUG/MINOR: mux-h1: Don't send more data than expected BUG/MEDIUM: compression/htx: Fix the adding of the last data block BUG/MINOR: channel/htx: Call channel_htx_full() from channel_full() BUG/MINOR: http: Use the global value to limit the number of parsed headers BUG/MEDIUM: proto_htx: Introduce the state ENDING during forwarding BUG/MINOR: flt_trace/htx: Only apply the random forwarding on the message body. MINOR: flt_trace: Don't scrash the original offset during the random forwarding BUG/MINOR: fl_trace/htx: Be sure to always forward trailers and EOM BUG/MINOR: mux-h1: Wake busy mux for I/O when message is fully sent BUG/MEDIUM: h2/htx: Update data length of the HTX when the cookie list is built BUG/MINOR: lua/htx: Make txn.req_req_* and txn.res_rep_* HTX aware BUG/MINOR: mux-h1: Add the header connection in lower case in outgoing messages BUG/MEDIUM: mux-h2: Reset padlen when several frames are demux BUG/MEDIUM: mux-h2: Remove the padding length when a DATA frame size is checked BUG/MEDIUM: lb_fwlc: Don't test the server's lb_tree from outside the lock BUG/MAJOR: mux-h1: Don't crush trash chunk area when outgoing message is formatted BUG/MINOR: memory: Set objects size for pools in the per-thread cache BUG/MEDIUM: mux-h1: Use buf_room_for_htx_data() to detect too large messages BUG/MINOR: mux-h1: Make format errors during output formatting fatal BUG/MEDIUM: mux-h1: Always release H1C if a shutdown for writes was reported BUG/MINOR: mux-h1: Skip trailers for non-chunked outgoing messages BUG/MINOR: mux-h1: Don't return the empty chunk on HEAD responses BUG/MEDIUM: lb_fas: Don't test the server's lb_tree from outside the lock MINOR: stream-int: Factorize processing done after sending data in si_cs_send() BUG/MEDIUM: stream-int: Don't rely on CF_WRITE_PARTIAL to unblock opposite si BUG/MINOR: server: Be really able to keep "pool-max-conn" idle connections BUG/MEDIUM: mux-h1: Don't release h1 connection if there is still data to send Dave Pirotte (1): BUG/MINOR: mux-h1: Correctly report Ti timer when HTX and keepalives are used David Carlier (1): BUG/MEDIUM: da: cast the chunk to string. Emmanuel Hocdet (2): BUILD: makefile: use USE_OBSOLETE_LINKER for solaris BUILD: makefile: remove -fomit-frame-pointer optimisation (solaris) Frédéric Lécaille (1): BUG/MINOR: peers: Wrong stick-table update message building. Ilya Shipitsin (2): BUG/MINOR: ssl_sock: Fix memory leak when disabling compression BUILD: ssl: fix latest LibreSSL reg-test error Kazuo Yagi (1): MINOR: doc: Remove -Ds option in man page Michael Prokop (1): DOC: fix typos Olivier Houchard (14): BUG/MEDIUM: threads: Fix build for 32bits arch with dwcas. BUG/MEDIUM: streams: Don't switch from SI_ST_CON to SI_ST_DIS on read0. MEDIUM: sessions: Introduce session flags. BUG/MEDIUM: h2: Don't forget to set h2s->cs to NULL after having free'd cs. BUG/MEDIUM: connection: Use the session to get the origin address if needed. BUG/MEDIUM: connections: Don't call shutdown() if we want to disable linger. BUG/MEDIUM: connections: Don't use ALPN to pick mux when in mode TCP. BUG/MEDIUM: connections: Don't try to send early data if we have no mux. BUG/MEDIUM: ssl: Don't attempt to set alpn if we're not using SSL. BUG/MEDIUM: connections: Always call shutdown, with no linger. BUG/MEDIUM: checks: Make sure the tasklet won't run if the connection is closed. BUG/MEDIUM: sessions: Don't keep an extra idle connection in sessions. BUG/MEDIUM: servers: Don't forget to set srv_cs to NULL if we can't reuse it. BUG/MEDIUM: checks: Don't attempt to read if we destroyed the connection. Tim Duesterhus (2): BUG/MEDIUM: compression: Set Vary: Accept-Encoding for compressed responses BUG/MINOR: spoe: Fix memory leak if failing to allocate memory William Lallemand (5): MINOR: doc: add master-worker in the man page MINOR: doc: mention HAPROXY_LOCALPEER in the man MINOR: doc: update the manpage and usage message about -S BUG/MEDIUM: mworker: don't call the thread and fdtab deinit BUG/MINOR: mworker/cli: don't output a \n before the response Willy Tarreau (24): BUILD: ist: turn the lower/upper case tables to literal on obsolete linkers DOC: management: place "show activity" at the right place MINOR: cli/activity: show the dumping thread ID starting at 1 BUG/MEDIUM: dns: make the port numbers unsigned BUG/MAJOR: lb/threads: make sure the avoided server is not full on second pass BUG/MEDIUM: queue: fix the tree walk in pendconn_redistribute. BUG/MEDIUM: threads: fix double-word CAS on non-optimized 32-bit platforms BUG/MEDIUM: http: fix "http-request reject" when not final BUG/MINOR: deinit/threads: make hard-stop-after perform a clean exit BUG/MEDIUM: connection: fix multiple handshake polling issues BUG/MEDIUM: mux-h1: only check input data for the current stream, not next one BUILD: tools: do not use the weak attribute for trace() on obsolete linkers BUG/MEDIUM: vars: make sure the scope is always valid when accessing vars BUG/MEDIUM: vars: make the tcp/http unset-var() action support conditions BUG/MINOR: time: make sure only one thread sets global_now at boot BUG/MEDIUM: mux-h2: make sure the connection timeout is always set BUG/MINOR: http-rules: mention "deny_status" for "deny" in the error message BUILD: makefile: use :space: instead of digits to count commits BUILD: makefile: do not rely on shell substitutions to determine git version BUG/MEDIUM: fd/threads: fix excessive CPU usage on multi-thread accept MINOR: task: introduce work lists BUG/MAJOR: listener: fix thread safety in resume_listener() BUG/MINOR: mux-pt: do not pretend there's more data after a read0 BUG/MEDIUM: tcp-check: unbreak multiple connect rules again mbellomi (1): BUG/MEDIUM: WURFL: segfault in wurfl-get() with missing info.