haproxy/src
Willy Tarreau f3764b7993 MEDIUM: proxy: use dynamic allocation for error dumps
There are two issues with error captures. The first one is that the
capture size is still hard-coded to BUFSIZE regardless of any possible
tune.bufsize setting and of the fact that frontends only capture request
errors and that backends only capture response errors. The second is that
captures are allocated in both directions for all proxies, which start to
count a lot in configs using thousands of proxies.

This patch changes this so that error captures are allocated only when
needed, and of the proper size. It also refrains from dumping a buffer
that was not allocated, which still allows to emit all relevant info
such as flags and HTTP states. This way it is possible to save up to
32 kB of RAM per proxy in the default configuration.
2016-03-31 13:49:23 +02:00
..
51d.c CLEANUP: 51d: Aligned if statements with HAProxy best practices and removed casts from malloc. 2016-01-13 12:10:44 +01:00
acl.c BUG/MEDIUM: acl: always accept match "found" 2015-09-24 16:38:48 +02:00
applet.c MINOR: stream-int: rename si_applet_done() to si_applet_wake_cb() 2015-09-25 21:16:02 +02:00
arg.c MINOR: sample: Moves ARGS underlying type from 32 to 64 bits. 2016-03-15 22:11:52 +01:00
auth.c MINOR: samples: rename union from "data" to "u" 2015-08-20 17:13:46 +02:00
backend.c BUG/MAJOR: samples: check smp->strm before using it 2016-03-10 16:42:58 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c BUG/MEDIUM: buffers: do not round up buffer size during allocation 2016-01-25 02:31:18 +01:00
cfgparse.c MINOR: cfgparse: warn when gid parameter is not a number 2016-03-13 07:46:31 +01:00
channel.c BUG/MEDIUM: chunks: always reject negative-length chunks 2016-02-25 16:24:14 +01:00
checks.c MINOR: mailers: make it possible to configure the connection timeout 2016-02-20 15:33:06 +01:00
chunk.c BUG/MEDIUM: chunks: always reject negative-length chunks 2016-02-25 16:24:14 +01:00
compression.c REORG: filters: Prepare creation of the HTTP compression filter 2016-02-09 14:53:15 +01:00
connection.c CLEANUP: connection: fix double negation on memcmp() 2016-03-24 11:25:46 +01:00
da.c MINOR: da: Using ARG12 macro for the sample fetch and the convertor. 2016-03-17 05:44:33 +01:00
dns.c MEDIUM: dns: add a "resolve-net" option which allow to prefer an ip in a network 2016-02-19 14:37:49 +01:00
dumpstats.c MEDIUM: proxy: use dynamic allocation for error dumps 2016-03-31 13:49:23 +02:00
ev_epoll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_kqueue.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_poll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_select.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
fd.c MAJOR: polling: centralize calls to I/O callbacks 2014-11-21 20:37:32 +01:00
filters.c MINOR: filters: Extract proxy stuff from the struct filter 2016-02-09 14:53:15 +01:00
flt_http_comp.c BUG/MAJOR: samples: check smp->strm before using it 2016-03-10 16:42:58 +01:00
flt_trace.c MINOR: filters: Extract proxy stuff from the struct filter 2016-02-09 14:53:15 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c MINOR: samples: rename union from "data" to "u" 2015-08-20 17:13:46 +02:00
haproxy-systemd-wrapper.c MINOR: systemd: ensure a reload doesn't mask a stop 2016-02-27 08:28:43 +01:00
haproxy.c [RELEASE] Released version 1.7-dev2 2016-03-14 00:10:05 +01:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua.c MINOR: lua: post initialization 2016-03-30 15:44:58 +02:00
hlua_fcn.c MINOR: lua: add class listener 2016-03-30 18:43:47 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fas.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwlc.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwrr.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_map.c MINOR: server: make use of srv_is_usable() instead of checking eweight 2014-05-23 14:29:11 +02:00
listener.c BUG/MINOR: conf: "listener id" expects integer, but its not checked 2016-03-19 07:39:51 +01:00
log.c BUG/MINOR: log: Don't use strftime() which can clobber timezone if chrooted 2016-03-17 05:30:03 +01:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c CLEANUP: map: Avoid memory leak in out-of-memory condition. 2016-03-08 12:55:06 +01:00
memory.c MEDIUM: pools: add a new flag to avoid rounding pool size up 2016-01-25 02:31:18 +01:00
namespace.c BUILD: namespaces: fix a potential build warning in namespaces.c 2016-03-17 05:39:53 +01:00
pattern.c BUG/MINOR: pattern: Avoid memory leak on out-of-memory condition 2016-03-13 07:47:25 +01:00
payload.c CLEANUP: payload: remove useless and confusing nullity checks for channel buffer 2016-03-10 17:28:04 +01:00
peers.c BUG/MEDIUM: peers: fix incorrect age in frequency counters 2016-03-25 18:17:47 +01:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c MEDIUM: proxy: use dynamic allocation for error dumps 2016-03-31 13:49:23 +02:00
proto_tcp.c MEDIUM: server: implement TCP_USER_TIMEOUT on the server 2015-10-13 16:18:27 +02:00
proto_udp.c MEDIUM: protocol: add minimalist UDP protocol client 2015-06-13 22:07:35 +02:00
proto_uxst.c MINOR: unix: don't mention free ports on EAGAIN 2016-01-26 21:11:51 +01:00
protocol.c MEDIUM: protocol: use a family array to index the protocol handlers 2015-02-28 23:12:31 +01:00
proxy.c MINOR: filters: Extract proxy stuff from the struct filter 2016-02-09 14:53:15 +01:00
queue.c REORG/MEDIUM: stream: rename stream flags from SN_* to SF_* 2015-04-06 11:23:57 +02:00
raw_sock.c BUG/MINOR: raw_sock: also consider ENOTCONN in addition to EAGAIN for recv() 2014-03-04 07:27:18 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c MEDIUM: regex: add support for passing regex flags to regex_exec_match() 2015-01-22 14:24:53 +01:00
sample.c BUG/MAJOR: vars: always retrieve the stream and session from the sample 2016-03-10 17:28:04 +01:00
server.c BUG/MINOR: tcpcheck: fix incorrect list usage resulting in failure to load certain configs 2016-03-08 15:20:25 +01:00
session.c MAJOR: filters: Add filters support 2016-02-09 14:53:15 +01:00
shctx.c MINOR: stats: add counters for SSL cache lookups and misses 2014-05-28 16:53:04 +02:00
signal.c BUG/MEDIUM: signal: signal handler does not properly check for signal bounds 2013-01-24 16:19:19 +01:00
ssl_sock.c BUG/MEDIUM: Fix RFC5077 resumption when more than TLS_TICKETS_NO are present 2016-03-29 16:03:37 +02:00
standard.c BUG/MINOR: log: Don't use strftime() which can clobber timezone if chrooted 2016-03-17 05:30:03 +01:00
stick_table.c BUG/MINOR: counters: make the sc-inc-gpc0 and sc-set-gpt0 touch the table 2016-01-25 14:56:33 +01:00
stream.c BUG/MEDIUM: stick-tables: some sample-fetch doesn't work in the connection state. 2016-03-30 19:51:33 +02:00
stream_interface.c BUG/MEDIUM: stream-int: avoid double-call to applet->release 2015-09-25 21:16:03 +02:00
task.c REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
time.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
trace.c MINOR: add a new function call tracer for debugging purposes 2012-05-26 00:12:37 +02:00
uri_auth.c BUG/MEDIUM: uri_auth: missing NULL check and memory leak on memory shortage 2013-01-24 16:19:19 +01:00
vars.c BUG/MAJOR: vars: always retrieve the stream and session from the sample 2016-03-10 17:28:04 +01:00
xxhash.c IMPORT: hash: import xxhash-r39 2015-04-29 19:15:21 +02:00