haproxy/src
Willy Tarreau e45997661b [MEDIUM] session: better fix for connection to servers with closed input
The following patch fixed an issue but brought another one :
  296897 [MEDIUM] connect to servers even when the input has already been closed

The new issue is that when a connection is inspected and aborted using
TCP inspect rules, now it is sent to the server before being closed. So
that test is not satisfying. A probably better way is not to prevent a
connection from establishing if only BF_SHUTW_NOW is set but BF_SHUTW
is not. That way, the BF_SHUTW flag is not set if the request has any
data pending, which still fixes the stats issue, but does not let any
empty connection pass through.

Also, as a safety measure, we extend buffer_abort() to automatically
disable the BF_AUTO_CONNECT flag. While it appears to always be OK,
it is by pure luck, so better safe than sorry.
2010-03-21 23:31:42 +01:00
..
acl.c [BUG] don't merge anonymous ACLs ! 2010-03-15 16:13:29 +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 [MINOR] add the "force-persist" statement to force persistence on down servers 2010-01-22 19:10:05 +01:00
base64.c [MINOR] Base64 decode 2010-01-31 19:14:07 +01:00
buffers.c [BUILD] fix some build warnings on Solaris with is* macros 2010-03-03 00:16:00 +01:00
cfgparse.c [OPTIM] config: only allocate check buffer when checks are enabled 2010-03-17 22:05:23 +01:00
checks.c [BUG] checks: don't wait for a close to start parsing the response 2010-03-17 21:52:07 +01:00
client.c [MINOR] add the ability to force kernel socket buffer size. 2010-01-22 11:49:41 +01:00
cttproxy.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
dumpstats.c [CLEANUP] stats: remove printf format warning in stats_dump_full_sess_to_buffer() 2010-03-21 23:21:00 +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 [BUG] init: unconditionally catch SIGPIPE 2010-03-17 18:02:46 +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 [BUG] url_param hash may return a down server 2010-03-12 06:22:16 +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
pattern.c [CLEANUP] acl, patterns: make use of my_strndup() instead of malloc+memcpy 2010-01-26 19:02:46 +01:00
pipe.c [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.c [BUG] http: fix truncated responses on chunk encoding when size divides buffer size 2010-03-17 15:54:24 +01:00
proto_tcp.c [CLEANUP] config: use build_acl_cond() instead of parse_acl_cond() 2010-01-28 17:12:36 +01:00
proto_uxst.c [DOC] Some more documentation cleanups 2010-03-12 06:46:06 +01:00
protocols.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
proxy.c [MINOR] report total number of processed connections when stopping a proxy 2010-03-04 23:07:28 +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 [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 [MEDIUM] session: better fix for connection to servers with closed input 2010-03-21 23:31: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 [BUILD] fix some build warnings on Solaris with is* macros 2010-03-03 00:16:00 +01:00
stick_table.c [MEDIUM] Add stick table (persistence) management functions and types 2010-01-12 11:23:15 +01:00
stream_interface.c [BUG] stream_interface: fix retnclose and remove cond_close 2010-01-10 10:21:21 +01:00
stream_sock.c [OPTIM] stream_sock: don't shutdown(write) when the socket is in error 2010-01-16 10:03:45 +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 [MAJOR] use the new auth framework for http stats 2010-01-31 19:14:09 +01:00