haproxy/src
Willy Tarreau 82eeaf2fae [MEDIUM] http: properly handle "option forceclose"
The "forceclose" option used to close the output channel to the
server once it started to respond. While this happened to work with
most servers, some of them considered this as a connection abort and
immediately stopped responding.

Now that we're aware of the end of a request and response, we're able
to trivially handle this option and properly close both sides when the
server's response is complete.

During this change it appeared that forwarding could be allowed when
the BF_SHUTW_NOW flag was set on a buffer, which obviously is not
acceptable and was causing some trouble. This has been fixed too and
is the reason for the MEDIUM status on this patch.
2009-12-29 14:26:42 +01:00
..
acl.c [MINOR] acl: don't report valid acls as potential mistakes 2009-10-08 07:00:07 +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 [BUG] http: body parsing must consider the start of message 2009-12-27 22:47:25 +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 [BUG] buffers: wrong size calculation for displaced data 2009-12-28 18:37:54 +01:00
cfgparse.c [BUG] config: fix erroneous check on cookie domain names, again 2009-12-17 21:14:21 +01:00
checks.c [MEDIUM] Decrease server health based on http responses / events, version 3 2009-12-16 00:29:27 +01:00
client.c [MINOR] http: move the http transaction init/cleanup code to proto_http 2009-12-22 15:03:09 +01:00
cttproxy.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
dumpstats.c [MEDIUM] Decrease server health based on http responses / events, version 3 2009-12-16 00:29:27 +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 [OPTIM] move some rarely used fields out of fdtab 2009-10-18 08:17:33 +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:46:25 +01:00
hdr_idx.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
lb_chash.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +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 [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
log.c [CLEANUP] remove ifdef MSG_NOSIGNAL and define it instead 2009-08-19 11:25:08 +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 [MEDIUM] http: properly handle "option forceclose" 2009-12-29 14:26:42 +01:00
proto_tcp.c [MAJOR] buffers: automatically compute the maximum buffer length 2009-12-22 10:06:34 +01:00
proto_uxst.c [OPTIM] move some rarely used fields out of fdtab 2009-10-18 08:17:33 +02:00
protocols.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
proxy.c [BUG] config: disable 'option httplog' on TCP proxies 2009-12-06 13:24:11 +01:00
queue.c [OPTIM] counters: move some max numbers to the counters struct 2009-10-04 23:26:19 +02: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] http: properly handle "option forceclose" 2009-12-29 14:26:42 +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:32:11 +02:00
standard.c [MINOR] tools: add hex2i() function to convert hex char to int 2009-11-02 20:12:52 +01:00
stream_interface.c [MINOR] new function stream_int_cond_close() 2009-12-27 22:51:06 +01:00
stream_sock.c [MINOR] stream_sock: prepare for closing when all pending data are sent 2009-12-29 08:02:56 +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 [MINOR] add "description", "node" and show-node"/"show-desc", remove "node-name", v2 2009-10-03 07:10:14 +02:00