haproxy/src
Willy Tarreau c65cbb7095 [MINOR] buffer_replace2 must never change the ->w entry
This function is used to move data which is located between ->w and ->r,
so it must not touch ->w, otherwise it will displace pending data which
is before the one we're actually overwriting. The issue arose in 1.4 with
some pipelined responses which cause some part of the previous one to
be chopped off when removing the connection: close header, thus
corrupting last response and shifting next one. Those are detected
in the logs because the next response will be a 502 with flags PH.

Note that this does not affect 1.3, still this is a bug that's better
fixed than blindly copy-pasted and woken up again.

(cherry picked from commit bbfa7938bd)
2010-01-28 23:16:58 +01:00
..
acl.c [MINOR] acl: don't report valid acls as potential mistakes 2009-10-08 07:06:49 +02:00
appsession.c [MINOR] task: keep a task count and clean up task creators 2009-03-21 18:13:21 +01:00
backend.c [MEDIUM] add the "force-persist" statement to force persistence on down servers 2010-01-28 23:16:57 +01:00
base64.c [BUILD] change declaration of base64tab to fix build with Intel C++ 2008-06-29 17:17:38 +02:00
buffers.c [MINOR] buffer_replace2 must never change the ->w entry 2010-01-28 23:16:58 +01:00
cfgparse.c [MEDIUM] add the "force-persist" statement to force persistence on down servers 2010-01-28 23:16:57 +01:00
checks.c [MEDIUM] add the "force-persist" statement to force persistence on down servers 2010-01-28 23:16:57 +01:00
client.c [MEDIUM] appsession: add the "request-learn" option 2009-10-18 11:58:53 +02:00
cttproxy.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
dumpstats.c [MINOR] add "description", "node" and show-node"/"show-desc", remove "node-name", v2 2009-10-03 20:01:52 +02:00
eb32tree.c [MINOR] update ebtree to version 4.1 2009-03-21 10:23:36 +01:00
eb64tree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +01:00
ebpttree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +01:00
ebtree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +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 [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
fd.c [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
freq_ctr.c [OPTIM] freq_ctr: do not rotate the counters when reading 2009-03-06 14:29:25 +01:00
haproxy.c [MINOR] config: don't report error on all subsequent files on failure 2009-12-15 21:50:18 +01:00
hdr_idx.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
log.c [CLEANUP] remove ifdef MSG_NOSIGNAL and define it instead 2009-10-03 19:12:12 +02:00
memory.c [MEDIUM] ensure we don't recursively call pool_gc2() 2009-04-21 02:17:45 +02:00
pipe.c [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.c [MINOR] http: logs must report persistent connections to down servers 2010-01-28 23:16:57 +01:00
proto_tcp.c [BUG] config: tcp-request content only accepts "if" or "unless" 2009-07-14 21:19:04 +02:00
proto_uxst.c [MINOR] unix socket: report the socket path in case of bind error 2009-10-14 20:40:41 +02:00
protocols.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
proxy.c [MINOR] config: indicate that timeout appsession should not be used 2010-01-28 23:16:37 +01:00
queue.c [BUG] do not dequeue the backend's pending connections on a dead server 2008-12-07 23:51:12 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c [CLEANUP] shut warnings 'is*' macros from ctype.h on solaris 2007-06-17 21:51:38 +02:00
server.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
session.c [MEDIUM] add the "force-persist" statement to force persistence on down servers 2010-01-28 23:16:57 +01:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
signal.c [BUILD] fix a minor build warning on AIX 2009-07-26 17:41:23 +02:00
standard.c [BUILD] warning ultoa_r returns char * 2010-01-28 23:16:36 +01:00
stream_interface.c [BUILD] stream_interface: fix conflicting declaration 2009-10-03 19:25:25 +02:00
stream_sock.c [CLEANUP] stream_sock: MSG_NOSIGNAL is only for send(), not recv() 2010-01-28 23:16:37 +01:00
task.c [BUG] task.c: don't assing last_timer to node-less entries 2009-10-12 06:12:58 +02: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 [MINOR] add "description", "node" and show-node"/"show-desc", remove "node-name", v2 2009-10-03 20:01:52 +02:00