haproxy/src
Willy Tarreau b22e55bc8f [MEDIUM] stream_sock: add support for sending the proxy protocol header line
Upon connection establishment, stream_sock is now able to send a PROXY
line before sending any data. Since it's possible that the buffer is
already full, and we don't want to allocate a block for that line, we
compute it on-the-fly when we need it. We just store the offset from
which to (re-)send from the end of the line, since it's assumed that
multiple outputs of the same proxy line will be strictly equivalent. In
practice, one call is enough. We just make sure to handle the case where
the first send() would indicate an incomplete output, eventhough it's
very unlikely to ever happen.
2011-03-20 10:16:46 +01:00
..
acl.c [BUG] config: don't crash on empty pattern files. 2011-03-09 10:22:30 +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 [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
backend.c [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00:23 +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 [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
checks.c [MINOR] checks: report it if checks fail due to socket creation error 2011-03-13 22:12:54 +01:00
cttproxy.c [BUG] cttproxy: socket fd leakage in check_cttproxy_version 2010-05-09 21:19:08 +02:00
dumpstats.c [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00:23 +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 [MINOR] frontend: add a make_proxy_line function 2011-03-20 10:15:22 +01:00
haproxy.c [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +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 [MAJOR] session: remove the ->srv pointer from struct session 2011-03-10 23:32:17 +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 [MEDIUM] add internal support for IPv6 server addresses 2011-03-13 22:00:12 +01:00
pipe.c [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.c [BUG] http: stats were not incremented on http-request deny 2011-03-13 22:00:24 +01:00
proto_tcp.c [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00: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 [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00:23 +01:00
queue.c [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00:23 +01: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: src_conn_cur was returning src_conn_cnt instead 2011-03-16 06:56:57 +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 [MEDIUM] add internal support for IPv6 server addresses 2011-03-13 22:00:12 +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 [CLEANUP] stream_interface: use inline functions to manipulate targets 2011-03-10 23:32:17 +01:00
stream_sock.c [MEDIUM] stream_sock: add support for sending the proxy protocol header line 2011-03-20 10:16:46 +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 [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00