haproxy/src
Willy Tarreau 124d99181c [BUG] http: fix computation of message body length after forwarding has started
Till now, the forwarding code was making use of the hdr_content_len member
to hold the size of the last chunk parsed. As such, it was reset after being
scheduled for forwarding. The issue is that this entry was reset before the
data could be viewed by backend.c in order to parse a POST body, so the
"balance url_param check_post" did not work anymore.

In order to fix this, we need two things :
  - the chunk size (reset upon every forward)
  - the total body size (not reset)

hdr_content_len was thus replaced by the former (hence the size of the patch)
as it makes more sense to have it stored that way than the way around.

This patch should be backported to 1.4 with care, considering that it affects
the forwarding code.
2011-03-01 20:30:48 +01:00
..
acl.c [BUG] acl: fd leak when reading patterns from file 2011-02-26 15:14:15 +01:00
appsession.c [MINOR] task: keep a task count and clean up task creators 2009-03-21 18:13:21 +01:00
auth.c [BUILD] fix platform-dependant build issues related to crypt() 2010-03-04 19:10:14 +01:00
backend.c [BUG] http: fix computation of message body length after forwarding has started 2011-03-01 20:30:48 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffers.c [MEDIUM] buffers: rework the functions to exchange between SI and buffers 2010-09-08 17:04:31 +02:00
cfgparse.c [MINOR] config: warn if response-only conditions are used in "redirect" rules 2011-02-23 15:32:21 +01:00
checks.c [MINOR] checks: add PostgreSQL health check 2011-01-04 15:14:13 +01:00
cttproxy.c [BUG] cttproxy: socket fd leakage in check_cttproxy_version 2010-05-09 21:19:08 +02:00
dumpstats.c [MINOR] cfgparse: Check whether the path given for the stats socket actually fits into the sockaddr_un structure to avoid truncation. 2011-01-23 07:26:05 +01:00
ev_epoll.c [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
ev_kqueue.c [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
ev_poll.c [MEDIUM] pollers: don't wait if a signal is pending 2009-05-10 09:57:21 +02:00
ev_select.c [MEDIUM] pollers: don't wait if a signal is pending 2009-05-10 09:57:21 +02:00
ev_sepoll.c [MEDIUM] fd: merge fd_list into fdtab 2009-10-18 08:20:26 +02:00
fd.c [BUG] debug: report the correct poller list in verbose mode 2010-11-19 13:25:10 +01:00
freq_ctr.c [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
frontend.c [BUILD] frontend: shut a warning with TCP_MAXSEG 2011-01-05 19:35:41 +01:00
haproxy.c [BUG] startup: set the rlimits before binding ports, not after. 2011-02-16 11:14:30 +01:00
hdr_idx.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
i386-linux-vsys.c [OPTIM] linux: add support for bypassing libc to force using vsyscalls 2010-11-14 17:09:33 +01:00
lb_chash.c [MEDIUM] hash: add support for an 'avalanche' hash-type 2010-11-29 07:28:16 +01:00
lb_fwlc.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.c [BUG] url_param hash may return a down server 2010-03-12 06:22:16 +01:00
log.c [MINOR] log: ability to override the syslog tag 2010-12-30 11:43:36 +01:00
memory.c [MEDIUM] ensure we don't recursively call pool_gc2() 2009-04-21 02:17:45 +02:00
pattern.c [MEDIUM] Create new protected pattern types CONSTSTRING and CONSTDATA to force memcpy if data from protected areas need to be manipulated. 2010-11-11 09:29:07 +01:00
peers.c [BUILD] peers: shut a printf format warning (key_size is a size_t) 2010-11-11 11:05:04 +01:00
pipe.c [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.c [BUG] http: fix computation of message body length after forwarding has started 2011-03-01 20:30:48 +01:00
proto_tcp.c [MINOR] tcp: add support for dynamic MSS setting 2010-12-30 09:50:23 +01:00
proto_uxst.c [CLEANUP] unix sockets : move create_uxst_socket() in uxst_bind_listener() 2010-11-14 17:21:44 +01:00
protocols.c [MEDIUM] Enhance message errors management on binds 2010-11-05 10:34:07 +01:00
proxy.c [MINOR] stats: add global event ID and count 2010-12-12 14:00:34 +01:00
queue.c [BUG] queue: don't dequeue proxy-global requests on disabled servers 2010-08-17 21:39:07 +02:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c [MINOR] prepare req_*/rsp_* to receive a condition 2010-01-28 18:10:50 +01:00
server.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
session.c [BUG] session: release slot before processing pending connections 2010-12-29 14:38:29 +01:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
signal.c [MEDIUM] signals: support redistribution of signal zero when stopping 2010-08-27 18:26:11 +02:00
standard.c [CLEANUP] hash: move the avalanche hash code globally available 2010-11-29 07:28:16 +01:00
stick_table.c [REVERT] undo the stick-table string key lookup fixes 2011-01-04 14:50:49 +01:00
stream_interface.c [CRITICAL] session: correctly leave turn-around and queue states on abort 2010-12-29 14:38:15 +01:00
stream_sock.c [CRITICAL] session: correctly leave turn-around and queue states on abort 2010-12-29 14:38:15 +01:00
task.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
time.c [MINOR] add curr_sec_ms and curr_sec_ms_scaled for current second. 2009-03-05 16:56:16 +01:00
uri_auth.c [MEDIUM] stats: add an admin level 2010-10-30 19:04:34 +02:00