haproxy/src
Christopher Faulet fd04fcf5ed BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as possible
When the body length is undefined (no Content-Length or Transfer-Encoding
headers), The reponse remains in ending mode, waiting the request is done. So,
most of time this is not a problem because the resquest is done before the
response. But when a client sends data to a server that replies without waiting
all the data, it is really not desirable to wait the end of the request to
finish the response.

This bug was introduced when the tunneling of the request and the reponse was
refactored, in commit 4be980391 ("MINOR: http: Switch requests/responses in
TUNNEL mode only by checking txn flag").

This patch should be backported in 1.8 and 1.7.
2018-02-19 16:47:12 +01:00
..
51d.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
acl.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MEDIUM: applets: Don't process more than 200 active applets at once 2017-11-16 11:19:46 +01:00
arg.c MINOR: config: Add support for ARGT_MSK6 2018-01-25 22:25:40 +01:00
auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
backend.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c MINOR: buffers: cache-align buffer_wq_lock 2017-11-26 11:10:51 +01:00
cache.c BUG/MEDIUM: cache: don't cache the response on no-cache="set-cookie" 2017-12-22 18:03:04 +01:00
cfgparse.c DOC: cfgparse: Warn on option (tcp|http)log in backend 2018-02-19 13:57:32 +01:00
channel.c MINOR: channel: make the channel be a const in all {ci,co}_get* functions 2017-10-19 15:01:08 +02:00
checks.c BUG/MEDIUM: checks: Don't try to release undefined conn_stream when a check is freed 2018-01-25 13:51:23 +01:00
chunk.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
cli.c MEDIUM: fd/threads: Make sure we don't miss a fd cache entry. 2018-02-05 16:02:22 +01:00
compression.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
connection.c MINOR: global: add some global activity counters to help debugging 2018-01-23 15:38:33 +01:00
da.c BUILD/MINOR: deviceatlas: enable thread support 2017-11-27 14:22:21 +01:00
dns.c MINOR: fd: pass the iocb and owner to fd_insert() 2018-01-29 16:07:25 +01:00
ev_epoll.c MEDIUM: poller: use atomic ops to update the fdtab mask 2018-02-05 16:02:22 +01:00
ev_kqueue.c MEDIUM: poller: use atomic ops to update the fdtab mask 2018-02-05 16:02:22 +01:00
ev_poll.c MEDIUM: poller: use atomic ops to update the fdtab mask 2018-02-05 16:02:22 +01:00
ev_select.c MEDIUM: poller: use atomic ops to update the fdtab mask 2018-02-05 16:02:22 +01:00
fd.c BUG/MINOR: fd/threads: properly lock the FD before adding it to the fd cache. 2018-02-08 17:24:06 +01:00
filters.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
flt_http_comp.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
flt_spoe.c MINOR: spoe: Add max-waiting-frames directive in spoe-agent configuration 2018-02-02 16:00:32 +01:00
flt_trace.c MINOR: threads/filters: Update trace filter to add _per_thread callbacks 2017-10-31 13:58:32 +01:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
h1.c BUG/MINOR: h1: the HTTP/1 make status code parser check for digits 2017-11-09 11:15:45 +01:00
h2.c BUG/MEDIUM: h2: do not accept upper case letters in request header names 2017-12-03 21:09:38 +01:00
haproxy.c BUG/MINOR: init: Add missing brackets in the code parsing -sf/-st 2018-02-19 08:02:21 +01:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hathreads.c MINOR: fd: pass the iocb and owner to fd_insert() 2018-01-29 16:07:25 +01:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua.c MINOR: config: Add support for ARGT_MSK6 2018-01-25 22:25:40 +01:00
hlua_fcn.c MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" 2017-11-24 17:21:27 +01:00
hpack-dec.c DEBUG: hpack: add more traces to the hpack decoder 2017-12-30 17:37:08 +01:00
hpack-enc.c MEDIUM: hpack: implement basic hpack encoding 2017-10-31 18:03:24 +01:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c DEBUG: hpack: make hpack_dht_dump() expose the output file 2017-12-30 17:17:07 +01:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fas.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fwlc.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fwrr.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_map.c BUG: MAJOR: lb_map: server map calculation broken 2017-12-14 17:36:39 +01:00
listener.c MINOR: fd: don't report maxfd in alert messages 2018-01-29 15:18:54 +01:00
log.c BUG/MEDIUM: mworker: Set FD_CLOEXEC flag on log fd 2017-12-19 14:03:30 +01:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
memory.c MINOR: pools/threads: Implement lockless memory pools. 2018-02-05 16:02:22 +01:00
mux_h2.c MINOR: early data: Don't rely on CO_FL_EARLY_DATA to wake up streams. 2018-02-05 14:24:50 +01:00
mux_pt.c BUG/MAJOR: connection: refine the situations where we don't send shutw() 2017-12-22 18:54:05 +01:00
namespace.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
pattern.c MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
payload.c MINOR: payload: add new sample fetch functions to process distcc protocol 2017-10-13 11:47:19 +02:00
peers.c BUG/MEDIUM: peers: fix expire date wasn't updated if entry is modified remotely. 2018-01-22 16:03:25 +01:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as possible 2018-02-19 16:47:12 +01:00
proto_tcp.c MINOR: fd: pass the iocb and owner to fd_insert() 2018-01-29 16:07:25 +01:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c MINOR: fd: pass the iocb and owner to fd_insert() 2018-01-29 16:07:25 +01:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
queue.c BUG/MAJOR: threads/queue: avoid recursive locking in pendconn_get_next_strm() 2017-11-26 18:50:30 +01:00
raw_sock.c BUG/MINOR: threads: Add missing THREAD_LOCAL on static here and there 2017-10-31 13:58:33 +01:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c MINOR: sample: add a new "concat" converter 2018-02-19 15:34:12 +01:00
server.c MINOR: introduce proxy-v2-options for send-proxy-v2 2018-02-02 05:52:51 +01:00
session.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c BUILD: shctx: do not depend on openssl anymore 2017-11-08 14:33:36 +01:00
signal.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
ssl_sock.c BUG/MEDIUM: ssl: Shutdown the connection for reading on SSL_ERROR_SYSCALL 2018-02-19 15:37:47 +01:00
standard.c BUG/MEDIUM: standard: Fix memory leak in str2ip2() 2018-02-05 21:04:15 +01:00
stats.c MINOR: global: add some global activity counters to help debugging 2018-01-23 15:38:33 +01:00
stick_table.c MINOR: stick-tables: Adds support for new "gpc1" and "gpc1_rate" counters. 2018-01-31 09:40:05 +01:00
stream.c MEDIUM: fd/threads: Make sure we don't miss a fd cache entry. 2018-02-05 16:02:22 +01:00
stream_interface.c MINOR: early data: Don't rely on CO_FL_EARLY_DATA to wake up streams. 2018-02-05 14:24:50 +01:00
task.c MINOR: global: add some global activity counters to help debugging 2018-01-23 15:38:33 +01:00
tcp_rules.c MINOR: config: Enable tracking of up to MAX_SESS_STKCTR stick counters. 2018-01-29 13:53:56 +01:00
time.c BUG/MINOR: time/threads: ensure the adjusted time is always correct 2018-02-05 20:11:38 +01:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c BUG/MEDIUM: threads/vars: Fix deadlock in register_name 2017-12-08 10:37:24 +01:00
wurfl.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00