haproxy/src
Willy Tarreau e22267971b MINOR: connection: skip FD-based syscalls for FD-less connections
Some syscalls at the TCP level act directly on the FD. Some of them
are used by TCP actions like set-tos, set-mark, silent-drop, others
try to retrieve TCP info, get the source or destination address. These
ones must not be called with an invalid FD coming from an FD-less
connection, so let's add the relevant tests for this. It's worth
noting that all these ones already have fall back plans (do nothing,
error, or switch to alternate implementation).
2022-04-11 19:31:47 +02:00
..
acl.c MINOR: acl: alphanumerically sort the ACL dump 2022-03-30 11:49:59 +02:00
action.c MINOR: action: add a function to dump the list of actions for a ruleset 2022-03-30 11:19:22 +02:00
activity.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
applet.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
arg.c MINOR: arg: Be able to forbid unresolved args when building an argument list 2021-09-30 16:37:05 +02:00
auth.c BUILD: auth: include missing list.h 2021-05-08 12:29:51 +02:00
backend.c CLEANUP: backend: Don't export connect_server anymore 2022-02-24 11:00:03 +01:00
base64.c BUG/MINOR: base64: base64urldec() ignores padding in output size check 2021-08-25 16:14:14 +02:00
cache.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
calltrace.c
cbuf.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
cfgcond.c MINOR: ssl: Add ssllib_name_startswith precondition 2021-10-13 11:28:08 +02:00
cfgdiag.c CLEANUP: assorted typo fixes in the code and comments 2021-04-26 10:42:58 +02:00
cfgparse-global.c MINOR: config: use a standard parser for the "nbthread" keyword 2021-09-27 09:47:40 +02:00
cfgparse-listen.c MEDIUM: proxy: Store server_id_hdr_name as a struct ist 2022-03-09 07:51:27 +01:00
cfgparse-quic.c MEDIUM: quic: implement Retry emission 2022-01-12 11:08:48 +01:00
cfgparse-ssl.c BUILD: ssl: add USE_ENGINE and disable the openssl engine by default 2022-04-11 18:41:24 +02:00
cfgparse-tcp.c MINOR: server: prepare parsing for dynamic servers 2021-03-18 15:51:12 +01:00
cfgparse-unix.c
cfgparse.c MINOR: config: alphanumerically sort config keywords output 2022-03-30 11:21:32 +02:00
channel.c MINOR: channel: add new function co_getdelim() to support multiple delimiters 2022-01-19 19:16:47 +01:00
check.c MEDIUM: check: do not auto configure SSL/PROXY for dynamic servers 2022-03-11 14:28:28 +01:00
chunk.c MINOR: pool: move pool declarations to read_mostly 2021-04-10 19:27:41 +02:00
cli.c MINOR: cli: alphanumerically sort the dump of supported commands 2022-03-30 12:02:35 +02:00
clock.c REORG: thread/clock: move the clock parts of thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
compression.c REORG: thread/clock: move the clock parts of thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
conn_stream.c BUG/MEDIUM: applet: Don't call .release callback function twice 2022-03-15 11:47:53 +01:00
connection.c MINOR: connection: use conn_fd() when displaying connection errors 2022-04-11 19:31:47 +02:00
cpuset.c BUILD: cpuset: do not use const on the source of CPU_AND/CPU_ASSIGN 2022-01-28 19:04:02 +01:00
debug.c BUG/MEDIUM: cli/debug: Properly get the stream-int in all debug I/O handlers 2022-03-16 09:52:13 +01:00
dgram.c
dict.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
dns.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
dynbuf.c REORG: thread/sched: move the last dynamic thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
eb32sctree.c
eb32tree.c
eb64tree.c
ebimtree.c
ebistree.c
ebmbtree.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
ebpttree.c
ebsttree.c
ebtree.c
errors.c CLEANUP: Apply xalloc_size.cocci 2021-09-17 17:22:05 +02:00
ev_epoll.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_evports.c BUILD: evports: remove a leftover from the dead_fd cleanup 2021-11-30 09:34:32 +01:00
ev_kqueue.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_poll.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_select.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
extcheck.c MINOR: proxy: Introduce proxy flags to replace disabled bitfield 2021-10-15 14:12:19 +02:00
fcgi-app.c BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests 2022-04-07 11:04:07 +02:00
fcgi.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
fd.c DEBUG: fd: make sure we never try to insert/delete an impossible FD number 2022-01-31 21:00:35 +01:00
filters.c MINOR: filters: alphabetically sort the list of filter names 2022-03-30 12:08:00 +02:00
fix.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
flt_http_comp.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
flt_spoe.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
flt_trace.c CLEANUP: Apply ist.cocci 2021-11-08 12:08:26 +01:00
freq_ctr.c CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
frontend.c MINOR: frontend: Always access the stream-int via the conn-stream 2022-02-24 11:00:02 +01:00
h1_htx.c BUILD: tree-wide: mark a few numeric constants as explicitly long long 2022-01-28 19:04:02 +01:00
h1.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
h2.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
h3.c MINOR: mux-quic: define is_active app-ops 2022-04-07 10:23:10 +02:00
haproxy.c MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window 2022-04-08 18:15:21 +02:00
hash.c
hlua_fcn.c BUG/MINOR: lua: don't expose internal proxies 2021-11-24 16:14:24 +01:00
hlua.c BUG/MEDIUM: hlua: Don't set EOM flag on an empty HTX message in HTTP applet 2022-04-07 11:04:07 +02:00
hpack-dec.c CLEANUP: Use isttest(const struct ist) whenever possible 2021-03-03 05:07:10 +01:00
hpack-enc.c
hpack-huff.c OPTIM: hpack: read 32 bits at once when possible. 2022-04-01 17:29:06 +02:00
hpack-tbl.c MINOR: pool: move pool declarations to read_mostly 2021-04-10 19:27:41 +02:00
hq_interop.c MINOR: mux-quic: define is_active app-ops 2022-04-07 10:23:10 +02:00
http_acl.c CLEANUP: acl: don't reference the generic pattern deletion function anymore 2020-11-05 19:27:09 +01:00
http_act.c BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid 2022-04-08 10:45:31 +02:00
http_ana.c MINOR: rules: record the last http/tcp rule that gave a final verdict 2022-03-10 11:51:34 +01:00
http_client.c BUG/MINOR: http_client: Don't add input data on an empty request buffer 2022-04-07 11:04:39 +02:00
http_conv.c BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples 2022-04-08 10:12:59 +02:00
http_fetch.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
http_htx.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
http_rules.c BUG/MINOR: http-rules: Don't free new rule on allocation failure 2022-03-21 08:24:17 +01:00
http.c MINOR: http: Add 422-Unprocessable-Content error message 2021-09-28 16:21:25 +02:00
htx.c BUG/MEDIUM: htx: Fix a possible null derefs in htx_xfer_blks() 2022-02-28 17:16:55 +01:00
init.c CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
jwt.c BUG/MINOR: jwt: Memory leak if same key is used in multiple jwt_verify calls 2022-02-15 20:08:20 +01:00
lb_chash.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fas.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fwlc.c BUG/MEDIUM: leastconn: fix rare possibility of divide by zero 2021-09-22 07:24:02 +02:00
lb_fwrr.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
lb_map.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
listener.c MINOR: sock: check configured limits at the sock layer, not the listener's 2022-04-11 19:31:47 +02:00
log.c BUG/MINOR: log: Initialize the list element when allocating a new log server 2022-03-29 14:17:10 +02:00
lru.c DEBUG: lru: use a xorshift generator in the testing code 2022-01-27 16:28:10 +01:00
mailers.c BUG/MINOR: mailers: negotiate SMTP, not ESMTP 2022-02-17 15:45:59 +01:00
map.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
mjson.c MINOR: sample: converter: Add mjson library. 2021-04-15 17:05:38 +02:00
mqtt.c MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1 2022-03-22 09:25:52 +01:00
mux_fcgi.c BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing 2022-03-28 15:56:17 +02:00
mux_h1.c MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window 2022-04-08 18:15:21 +02:00
mux_h2.c MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window 2022-04-08 18:15:21 +02:00
mux_pt.c BUG/MAJOR: mux_pt: always report the connection error to the conn_stream 2022-03-31 16:55:52 +02:00
mux_quic.c BUG/MEDIUM: mux-quic: properly release conn-stream on detach 2022-04-08 12:09:23 +02:00
mworker-prog.c BUILD: mworker: include tools.h for platforms without unsetenv() 2022-01-28 19:04:02 +01:00
mworker.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
namespace.c
pattern.c CLEANUP: Add haproxy/xxhash.h to avoid modifying import/xxhash.h 2021-09-11 19:58:45 +02:00
payload.c REORG: conn_stream: move conn-stream stuff in dedicated files 2022-02-24 11:00:02 +01:00
peers.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
pipe.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
pool.c MINOR: pools: add a new global option "no-memory-trimming" 2022-03-08 10:45:03 +01:00
proto_quic.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_sockpair.c MINOR: protocols: add a new protocol type selector 2021-10-27 17:05:36 +02:00
proto_tcp.c BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types 2021-12-06 09:11:47 +01:00
proto_udp.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_uxdg.c MINOR: protocols: add a new protocol type selector 2021-10-27 17:05:36 +02:00
proto_uxst.c BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types 2021-12-06 09:11:47 +01:00
protocol.c MINOR: protocols: make use of the protocol type to select the protocol 2021-10-27 17:31:20 +02:00
proxy.c MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window 2022-04-08 18:15:21 +02:00
qpack-dec.c CLEANUP: qpack: suppress by default stdout traces 2022-03-25 15:22:40 +01:00
qpack-enc.c MINOR: h3/qpack: fix gcc11 warnings 2021-11-08 08:59:30 +01:00
qpack-tbl.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
queue.c MINOR: queue: Replace if() + abort() with BUG_ON() 2022-03-01 10:14:56 +01:00
quic_cc_newreno.c CLEANUP: quic: Remove window redundant variable from NewReno algorithm state struct 2022-03-04 17:47:32 +01:00
quic_cc.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_frame.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_loss.c REORG: quic: use a dedicated quic_loss.c 2022-03-25 14:45:45 +01:00
quic_sock.c MINOR: connection: add a new flag CO_FL_FDLESS on fd-less connections 2022-04-11 19:31:47 +02:00
quic_tls.c MINOR: quic_tls: Stop hardcoding cipher IV lengths 2022-04-08 15:38:29 +02:00
raw_sock.c CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
regex.c
resolvers.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
ring.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
sample.c MINOR: sample: converter: Add add_item convertor 2022-04-04 07:30:58 +02:00
server_state.c BUILD: server-state: avoid using not-so-portable isblank() 2022-01-28 19:04:02 +01:00
server.c MINOR: config: add a function to dump all known config keywords 2022-03-29 18:01:32 +02:00
session.c BUG/MINOR: session: fix theoretical risk of memleak in session_accept_fd() 2022-03-11 07:25:11 +01:00
sha1.c
shctx.c MINOR: shctx: add a few BUG_ON() for consistency checks 2021-11-19 19:25:13 +01:00
signal.c CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
sink.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
slz.c IMPORT: slz: use the correct CRC32 instruction when running in 32-bit mode 2021-12-06 09:14:20 +01:00
sock_inet.c MEDIUM: listeners: split the thread mask between receiver and bind_conf 2021-10-14 21:27:48 +02:00
sock_unix.c MEDIUM: listeners: split the thread mask between receiver and bind_conf 2021-10-14 21:27:48 +02:00
sock.c MINOR: sock: check configured limits at the sock layer, not the listener's 2022-04-11 19:31:47 +02:00
ssl_ckch.c BUG/MINOR: ssl/cli: Remove empty lines from CLI output 2022-04-05 16:53:37 +02:00
ssl_crtlist.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
ssl_sample.c MINOR: stream: Add pointer to front/back conn-streams into stream struct 2022-02-24 11:00:02 +01:00
ssl_sock.c MINOR: connection: use conn_fd() when displaying connection errors 2022-04-11 19:31:47 +02:00
ssl_utils.c MINOR: sample: Expose SSL captures using new fetchers 2021-08-26 19:48:34 +02:00
stats.c BUG/MINOR: stats: define the description' background color in dark color scheme 2022-04-11 08:01:43 +02:00
stick_table.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
stream_interface.c BUILD: stream-int: avoid a build warning when DEBUG is empty 2022-03-23 11:15:49 +01:00
stream.c MINOR: stream: only dump connections' FDs when they are valid 2022-04-11 19:31:47 +02:00
task.c BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks 2022-02-14 20:10:43 +01:00
tcp_act.c MINOR: connection: skip FD-based syscalls for FD-less connections 2022-04-11 19:31:47 +02:00
tcp_rules.c BUG/MINOR: tcp-rules: completely free incorrect TCP rules on error 2022-03-17 20:26:54 +01:00
tcp_sample.c MINOR: connection: skip FD-based syscalls for FD-less connections 2022-04-11 19:31:47 +02:00
tcpcheck.c MINOR: connection: skip FD-based syscalls for FD-less connections 2022-04-11 19:31:47 +02:00
thread.c MINOR: threads: add a new function to resolve config groups and masks 2021-10-08 17:22:26 +02:00
time.c REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
tools.c MINOR: tools: add strordered() to check whether strings are ordered 2022-03-30 10:02:56 +02:00
trace.c BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner 2022-03-18 17:43:28 +01:00
uri_auth.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
uri_normalizer.c MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
vars.c CLEANUP: vars: move the per-process variables initialization to vars.c 2022-02-23 17:11:33 +01:00
version.c
wdt.c REORG: thread/sched: move the thread_info flags to the thread_ctx 2021-10-08 17:22:26 +02:00
xprt_handshake.c MEDIUM: connections: Implement a start() method for xprt_handshake. 2021-03-19 15:33:04 +01:00
xprt_quic.c BUILD: xprt-quic: replace ERR_func_error_string() with ERR_peek_error_func() 2022-04-11 18:54:46 +02:00