haproxy/include/types
Willy Tarreau 2557f6a3e2 MEDIUM: h1: better handle transfer-encoding vs content-length
The transfer-encoding header processing was a bit lenient in this part
because it was made to read messages already validated by haproxy. We
absolutely need to reinstate the strict processing defined in RFC7230
as is currently being done in proto_http.c. That is, transfer-encoding
presence alone is enough to cancel content-length, and must be
terminated by the "chunked" token, except in the response where we
can fall back to the close mode if it's not last.

For this we now use a specific parsing function which updates the
flags and we introduce a new flag H1_MF_XFER_ENC indicating that the
transfer-encoding header is present.

Last, if such a header is found, we delete all content-length header
fields found in the message.
2018-09-14 17:40:35 +02:00
..
acl.h
action.h MINOR: action: Add a function pointer in act_rule struct to check its validity 2017-10-31 11:36:12 +01:00
applet.h MINOR: snapshot: restart on the event ID and not the stream ID 2018-09-07 15:00:43 +02:00
arg.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
auth.h
backend.h MINOR: backend: implement random-based load balancing 2018-05-03 07:20:40 +02:00
cache.h MEDIUM: cache: enable the HTTP analysers 2017-11-20 19:22:27 +01:00
capture.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
channel.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
checks.h MINOR: checks: Give checks their own wait_list. 2018-09-12 17:37:55 +02:00
cli.h MEDIUM: cli: Add payload support 2018-04-26 14:19:33 +02:00
compression.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
connection.h MINOR: connection: pass the proxy when creating a connection 2018-09-12 17:39:22 +02:00
counters.h MINOR: http: Log warning if (add|set)-header fails 2018-05-28 14:53:59 +02:00
dns.h MINOR: dns: new DNS options to allow/prevent IP address duplication 2018-07-12 17:56:44 +02:00
fd.h MINOR: pollers: move polled_mask outside of struct fdtab. 2018-05-06 06:27:34 +02:00
filters.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
freq_ctr.h
global.h MINOR: pollers: Add a way to wake a thread sleeping in the poller. 2018-07-26 19:09:50 +02:00
h1.h MEDIUM: h1: better handle transfer-encoding vs content-length 2018-09-14 17:40:35 +02:00
hdr_idx.h
hlua.h REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
lb_chash.h MINOR: backend: add hash-balance-factor option for hash-type consistent 2016-10-25 20:21:32 +02:00
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
listener.h MINOR: mworker: keep and clean the listeners 2018-09-11 10:23:24 +02:00
log.h MINOR: log: Keep the ref when a log server is copied to avoid duplicate entries 2018-04-05 15:13:54 +02:00
mailers.h
map.h
obj_type.h MINOR: connection: introduce conn_stream 2017-10-31 18:03:23 +01:00
pattern.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
peers.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
pipe.h
port_range.h
proto_http.h REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
proto_udp.h
protocol.h MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.h REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
queue.h MINOR: queue: replace the linked list with a tree 2018-08-10 15:06:27 +02:00
sample.h REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
server.h BUG/MEDIUM: dns/server: fix incomatibility between SRV resolution and server state file 2018-09-04 17:40:22 +02:00
session.h BUG/MEDIUM: session: fix reporting of handshake processing time in the logs 2018-09-05 16:30:23 +02:00
shctx.h MEDIUM: shctx: use unsigned int for len and block_count 2017-11-21 21:35:04 +01:00
signal.h
spoe.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
ssl_sock.h BUG/MINOR: ssl: properly ref-count the tls_keys entries 2018-07-18 08:59:50 +02:00
stats.h MINOR: http: Log warning if (add|set)-header fails 2018-05-28 14:53:59 +02:00
stick_table.h MINOR: stick-tables: Adds support for new "gpc1" and "gpc1_rate" counters. 2018-01-31 09:40:05 +01:00
stream_interface.h MINOR: stream_interface: Give stream_interface its own wait_list. 2018-08-16 17:29:54 +02:00
stream.h MEDIUM: add set-priority-class and set-priority-offset 2018-08-10 15:06:31 +02:00
task.h MINOR: tasks: Add a flag that tells if we're in the global runqueue. 2018-07-26 16:33:10 +02:00
template.h
vars.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00