haproxy/src
Christopher Faulet 9c44e4813c BUG/MINOR: filters: Count HTTP headers as filtered data but don't forward them
In flt_analyze_http_headers() HTTP analyzer, we must not forward systematically
the headers. We must only count them as filtered data (ie. increment the offset
of the right size). It is the http_payload callback responsibility to decide to
forward headers or not by forwarding at least 1 byte of payload. And there is
always at least 1 byte of payload to forward, the EOM block.

This patch depends on following commits:

 * MINOR: filters: Forward data only if the last filter forwards something
 * MINOR: http-htx: Add a function to retrieve the headers size of an HTX message

This patch must be backported with commits above as far as 1.9. In HAProxy 2.0
and 1.9, the patch must be adapted because of the legacy HTTP code.
2020-02-18 11:19:57 +01:00
..
51d.c BUG/MINOR: 51d: Fix bug when HTX is enabled 2020-01-20 14:01:52 +01:00
acl.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
action.c MINOR: tcp-rules: Make tcp-request capture a custom action 2020-01-20 15:18:45 +01:00
activity.c
applet.c
arg.c BUG/MINOR: arg: fix again incorrect argument length check 2020-02-16 10:49:55 +01:00
auth.c
backend.c BUG/MEDIUM: connections: Don't forget to unlock when killing a connection. 2020-01-31 17:25:37 +01:00
base64.c
buffer.c
cache.c BUG/MINOR: cache: Fix leak of cache name in error path 2020-01-18 06:45:54 +01:00
calltrace.c
cfgparse-global.c MEDIUM: init: set NO_NEW_PRIVS by default when supported 2019-12-06 17:20:26 +01:00
cfgparse-listen.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
cfgparse.c MEDIUM: http: Add a ruleset evaluated on all responses just before forwarding 2020-02-06 14:55:34 +01:00
channel.c BUG/MINOR: channel: inject output data at the end of output 2020-01-07 10:51:15 +01:00
checks.c BUG/MINOR: tcpchecks: fix the connect() flags regarding delayed ack 2020-01-24 17:52:37 +01:00
chunk.c
cli.c CLEANUP: cli: deduplicate the code in _getsocks 2020-01-16 16:26:41 +01:00
compression.c
connection.c BUG/MINOR: connection: correctly retry I/O on signals 2020-02-11 10:26:39 +01:00
da.c
debug.c MEDIUM: tasks: implement 3 different tasklet classes with their own queues 2020-01-30 18:59:33 +01:00
dict.c
dns.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
ev_epoll.c OPTIM: epoll: always poll for recv if neither active nor ready 2019-12-27 16:38:47 +01:00
ev_evports.c MINOR: pollers: add a new flag to indicate pollers reporting ERR & HUP 2019-12-27 14:04:33 +01:00
ev_kqueue.c MINOR: pollers: add a new flag to indicate pollers reporting ERR & HUP 2019-12-27 14:04:33 +01:00
ev_poll.c MINOR: pollers: add a new flag to indicate pollers reporting ERR & HUP 2019-12-27 14:04:33 +01:00
ev_select.c
fcgi-app.c BUG/MINOR: acl: Fix type of log message when an acl is named 'or' 2020-02-06 22:16:07 +01:00
fcgi.c
fd.c BUG/MEDIUM: fd/threads: fix a concurrency issue between add and rm on the same fd 2019-12-20 08:09:28 +01:00
filters.c BUG/MINOR: filters: Count HTTP headers as filtered data but don't forward them 2020-02-18 11:19:57 +01:00
flt_http_comp.c CLEANUP: compression: remove unused deinit_comp_ctx section 2020-01-15 10:58:17 +01:00
flt_spoe.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
flt_trace.c MEDIUM: filters: Adapt filters API to allow again TCP filtering on HTX streams 2019-11-15 13:43:08 +01:00
freq_ctr.c
frontend.c
h1_htx.c MEDIUM: h1-htx: Add HTX EOM block when the message is in H1_MSG_DONE state 2019-12-11 16:46:16 +01:00
h1.c BUG/MINOR: h1: Report the right error position when a header value is invalid 2020-01-06 13:58:21 +01:00
h2.c BUG/MAJOR: h2: make header field name filtering stronger 2019-11-25 11:11:32 +01:00
haproxy.c MEDIUM: http: Add a ruleset evaluated on all responses just before forwarding 2020-02-06 14:55:34 +01:00
hash.c BUG/MAJOR: hashes: fix the signedness of the hash inputs 2020-01-16 08:23:42 +01:00
hathreads.c
hlua_fcn.c MEDIUM: cli: Allow multiple filter entries for "show table" 2020-01-22 14:33:17 +01:00
hlua.c BUILD: lua: silence a warning on systems where longjmp is not marked as noreturn 2020-02-06 16:01:04 +01:00
hpack-dec.c CLEANUP: hpack: remove a redundant test in the decoder 2020-02-05 15:39:08 +01:00
hpack-enc.c
hpack-huff.c
hpack-tbl.c
http_acl.c
http_act.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
http_ana.c BUG/MINOR: http-ana: Increment failed_resp counters on invalid response 2020-02-06 15:13:03 +01:00
http_conv.c
http_fetch.c
http_htx.c MINOR: http-htx: Add a function to retrieve the headers size of an HTX message 2020-02-18 11:19:57 +01:00
http_rules.c MEDIUM: http: Add a ruleset evaluated on all responses just before forwarding 2020-02-06 14:55:34 +01:00
http.c MINOR: http: Add 404 to http-request deny 2020-01-08 16:15:23 +01:00
htx.c MINOR: htx: Add a function to append an HTX message to another one 2020-02-06 14:54:47 +01:00
i386-linux-vsys.c
lb_chash.c
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
listener.c BUG/MEDIUM: listener: only consider running threads when resuming listeners 2020-02-12 10:21:33 +01:00
log.c MEDIUM: log-format: make the LF parser aware of sample expressions' end 2020-02-14 19:02:06 +01:00
lru.c
mailers.c
map.c
memory.c BUG/MEDIUM: memory: Add a rwlock before freeing memory. 2020-02-01 18:08:34 +01:00
mux_fcgi.c MINOR: mux-fcgi: Make the capture of the path-info optional in pathinfo regex 2020-02-14 18:31:29 +01:00
mux_h1.c BUG/MEDIUM: muxes: Use the right argument when calling the destroy method. 2020-02-14 13:28:38 +01:00
mux_h2.c BUG/MEDIUM: muxes: Use the right argument when calling the destroy method. 2020-02-14 13:28:38 +01:00
mux_pt.c MINOR: connection: remove checks for CO_FL_HANDSHAKE before I/O 2020-01-23 17:30:42 +01:00
mworker-prog.c
mworker.c BUG/MINOR: mworker: properly pass SIGTTOU/SIGTTIN to workers 2019-12-11 14:26:53 +01:00
namespace.c BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat 2020-02-14 04:23:08 +01:00
pattern.c BUILD: pattern: include errno.h 2020-01-17 18:30:06 +01:00
payload.c
peers.c CLEANUP: peers: Remove unused static function free_dcache_tx 2020-02-05 23:40:17 +01:00
pipe.c BUG/MEDIUM: pipe/thread: fix atomicity of pipe counters 2020-01-30 09:15:37 +01:00
proto_sockpair.c BUG/MINOR: listener: enforce all_threads_mask on bind_thread on init 2020-02-12 10:21:49 +01:00
proto_tcp.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
proto_udp.c BUG/MEDIUM: proto_udp/threads: recv() and send() must not be exclusive. 2019-12-10 19:09:15 +01:00
proto_uxst.c BUG/MINOR: listener: enforce all_threads_mask on bind_thread on init 2020-02-12 10:21:49 +01:00
protocol.c
proxy.c MEDIUM: http: Add a ruleset evaluated on all responses just before forwarding 2020-02-06 14:55:34 +01:00
queue.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
raw_sock.c MEDIUM: raw-sock: remove obsolete calls to fd_{cant,cond,done}_{send,recv} 2020-01-28 19:06:41 +01:00
regex.c
ring.c MINOR: ring: make the parse function automatically set the handler/release 2019-11-15 15:48:12 +01:00
sample.c MINOR: sample: regsub now supports backreferences 2020-02-16 19:48:54 +01:00
server.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
session.c MEDIUM: connection: use CO_FL_WAIT_XPRT more consistently than L4/L6/HANDSHAKE 2020-01-23 16:34:26 +01:00
sha1.c
shctx.c
signal.c
sink.c MINOR: ring: make the parse function automatically set the handler/release 2019-11-15 15:48:12 +01:00
ssl_sock.c BUG/MEDIUM: ssl/cli: 'commit ssl cert' wrong SSL_CTX init 2020-02-07 20:55:35 +01:00
standard.c BUG/MINOR: unix: better catch situations where the unix socket path length is close to the limit 2020-02-11 06:49:42 +01:00
stats.c CLEANUP: stats: shut up a wrong null-deref warning from gcc 9.2 2020-01-23 11:49:02 +01:00
stick_table.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
stream_interface.c MINOR: connection: remove some unneeded checks for CO_FL_SOCK_WR_SH 2020-01-23 19:01:37 +01:00
stream.c BUG/MINOR: stream: Be sure to have a listener to increment its counters 2020-01-24 11:55:17 +01:00
task.c MINOR: task: don't set TASK_RUNNING on tasklets 2020-01-31 18:37:03 +01:00
tcp_rules.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
time.c
trace.c BUG/MEDIUM: trace: fix a typo causing an incorrect startup error 2019-11-25 19:47:22 +01:00
uri_auth.c
vars.c MINOR: sample: make sample_parse_expr() able to return an end pointer 2020-02-14 19:02:06 +01:00
version.c
wdt.c
wurfl.c
xprt_handshake.c MINOR: connection: remove CO_FL_SSL_WAIT_HS from CO_FL_HANDSHAKE 2020-01-23 16:34:26 +01:00
xxhash.c