haproxy/src
Willy Tarreau 561319bd1c BUG/MEDIUM: fd: mark FD transferred to another process as FD_CLONED
The crappy epoll API stroke again with reloads and transferred FDs.
Indeed, when listening sockets are retrieved by a new worker from a
previous one, and the old one finally stops listening on them, it
closes the FDs. But in this case, since the sockets themselves were
not closed, epoll will not unregister them and will continue to
report new activity for these in the old process, which can only
observe, count an fd_poll_drop event and not unregister them since
they're not reachable anymore.

The unfortunate effect is that long-lasting old processes are woken
up at the same rate as the new process when accepting new connections,
and can waste a lot of CPU. Accept rates divided by 8 were observed on
a small test involving a slow transfer on 10 connections facing a reload
every second so that 10 processes were busy dealing with them while
another process was hammering the service with new connections.

Fortunately, years ago we implemented a flag FD_CLONED exactly for
similar purposes. Let's simply mark transferred FDs with FD_CLONED
so that the process knows that these ones require special treatment
and have to be manually unregistered before being closed. This does
the job fine, now old processes correctly unregister the FD before
closing it and no longer receive accept events for the new process.

This needs to be backported to all stable versions. It only affects
epoll, as usual, and this time in combination with transferred FDs
(typically reloads in master-worker mode). Thanks to Damien Claisse
for providing all detailed measurements and statistics allowing to
understand and reproduce the problem.
2025-02-12 16:35:01 +01:00
..
acl.c MINOR: acl: export find_acl_default() 2024-11-18 15:15:54 +01:00
action.c MINOR: support for http-request set-timeout client 2023-09-28 08:49:22 +02:00
activity.c BUILD: activity/memprofile: fix a build warning in the posix_memalign handler 2024-11-22 09:42:49 +01:00
applet.c BUG/MEDIUM: applet: Don't pretend to have more data to handle EOI/EOS/ERROR 2025-02-06 11:19:32 +01:00
arg.c MINOR: arg: add an argument type for identifier 2024-10-18 14:30:24 +02:00
auth.c BUG/MINOR: auth: Fix a leak on error path when parsing user's groups 2025-02-06 16:55:37 +01:00
backend.c MEDIUM: servers/proxies: Switch to using per-tgroup queues. 2025-01-28 12:49:41 +01:00
base64.c BUG/MINOR: base64: base64urldec() ignores padding in output size check 2021-08-25 16:14:14 +02:00
buf.c CLEANUP: buffers: simplify b_get_varint() 2024-10-18 18:28:39 +02:00
cache.c CLEANUP: cache: use ASSUME_NONNULL() instead of DISGUISE() 2024-12-17 17:42:11 +01:00
calltrace.c BUG/MINOR: calltrace: fix 'now' being used in place of 'date' 2023-04-27 18:14:57 +02:00
cbuf.c CLEANUP: pool/tree-wide: remove suffix "_pool" from certain pool names 2022-06-23 11:49:09 +02:00
cebtree-prv.h IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebu32_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebu64_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebua_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebub_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebuib_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebuis_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebul_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cebus_tree.c IMPORT: import cebtree (compact elastic binary trees) 2024-09-15 23:44:59 +02:00
cfgcond.c REORG: version: move the remaining BUILD_* stuff from haproxy.c to version.c 2025-01-20 17:53:55 +01:00
cfgdiag.c CLEANUP: assorted typo fixes in the code and comments 2021-04-26 10:42:58 +02:00
cfgparse-global.c MEDIUM: stream: interrupt costly rulesets after too many evaluations 2025-02-03 17:09:48 +01:00
cfgparse-listen.c BUG/MINOR: config: Fix parsing of accept-invalid-http-{request,response} 2024-12-05 22:02:58 +01:00
cfgparse-quic.c BUILD: quic: fix overflow in global tune 2025-01-30 18:12:53 +01:00
cfgparse-ssl.c MINOR: ssl: relax the 'ssl.default-dh-param' keyword parsing 2024-06-14 11:36:52 +02:00
cfgparse-tcp.c BUG/MINOR: cfgparse-tcp: handle a possible strdup() failure 2025-01-02 14:31:07 +01:00
cfgparse-unix.c CLEANUP: tree-wide: remove 25 occurrences of unneeded fcntl.h 2022-04-26 10:59:48 +02:00
cfgparse.c MEDIUM: initcall: allow to register mutiple post_section_parser per section 2025-02-12 12:52:41 +01:00
channel.c OPTIM: channel: speed up co_getline()'s search of the end of line 2024-09-30 11:36:39 +02:00
check.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
chunk.c BUG/MEDIUM: chunk: make sure to flush the trash pool before resizing 2025-01-29 17:55:18 +01:00
cli.c BUG/MEDIUM: fd: mark FD transferred to another process as FD_CLONED 2025-02-12 16:35:01 +01:00
clock.c BUG/MEDIUM: clock: make sure now_ms cannot be TICK_ETERNITY 2024-11-15 16:01:31 +01:00
compression.c BUG/MINOR: compression: handle a possible strdup() failure 2025-01-02 14:31:07 +01:00
connection.c MINOR: tevt/connection: Add dedicated termination events for lower locations 2025-01-31 10:41:50 +01:00
cpuset.c CLEANUP: Reapply xalloc_cast.cocci 2024-04-02 07:27:33 +02:00
debug.c BUG/MEDIUM: debug: close a possible race between thread dump and panic() 2025-02-10 18:34:26 +01:00
dgram.c MINOR: cfgparse: parse tune.{rcvbuf,sndbuf}.{frontend,backend} as sizes 2024-11-18 18:50:02 +01:00
dict.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
dns.c MEDIUM: socket: always properly use the sock_domain for requested families 2024-08-21 17:36:58 +02:00
dns_ring.c MAJOR: import: update mt_list to support exponential back-off (try #2) 2024-07-09 16:46:38 +02:00
dynbuf.c MINOR: cfgparse: parse tune.bufsize.small as a size 2024-11-18 19:07:05 +01:00
eb32sctree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb32tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb64tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebimtree.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
ebistree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebmbtree.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
ebpttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebsttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebtree.c BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
errors.c MEDIUM: errors: get rid of shm_open() 2025-01-07 16:42:38 +01:00
ev_epoll.c MEDIUM: epoll: skip reports of stale file descriptors 2025-01-30 19:45:34 +01:00
ev_evports.c BUG/MINOR: polling: fix time reporting when using busy polling 2024-09-12 17:47:13 +02:00
ev_kqueue.c BUG/MINOR: polling: fix time reporting when using busy polling 2024-09-12 17:47:13 +02:00
ev_poll.c DEBUG: pollers/fd: add thread id suffix to per-thread memory areas name hints 2024-05-24 12:07:18 +02:00
ev_select.c DEBUG: pollers/fd: add thread id suffix to per-thread memory areas name hints 2024-05-24 12:07:18 +02:00
event_hdl.c BUG/MEDIUM: event_hdl: fix uninitialized value in async mode when no data is provided 2024-11-29 10:18:07 +01:00
extcheck.c BUG/MEDIUM: checks: make sure to always apply offsets to now_ms in expiration 2024-11-15 15:39:00 +01:00
fcgi-app.c CLEANUP: tree-wide: define and use acl_match_cond() helper 2025-01-27 11:11:43 +01:00
fcgi.c BUG/MAJOR: fcgi: Fix uninitialized reserved bytes 2022-12-09 12:23:14 +01:00
fd.c MINOR: fd: add a generation number to file descriptors 2025-01-30 19:45:34 +01:00
filters.c MINOR: filters: Improve errors formating during filters parsing 2025-02-06 17:03:40 +01:00
fix.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
flt_bwlim.c MEDIUM: bwlim: Use a read-lock on the sticky session to apply a shared limit 2024-09-02 15:50:25 +02:00
flt_http_comp.c MINOR: dynbuf: pass a criticality argument to b_alloc() 2024-05-10 17:18:13 +02:00
flt_spoe.c MINOR: flt-spoe: Report end of input immediately after applet init 2025-02-06 11:19:32 +01:00
flt_trace.c BUG/MINOR: flt-trace: Support only one name option 2025-02-06 17:01:15 +01:00
freq_ctr.c BUG/MEDIUM: freq-ctr: Don't report overshoot for long inactivity period 2023-11-08 16:38:06 +01:00
frontend.c MINOR: protocol: create abnsz socket address family 2024-10-29 12:14:50 +01:00
guid.c BUG/MINOR: guid/server: ensure thread-safety on GUID insert/delete 2024-11-07 18:17:03 +01:00
h1.c MINOR: proxy: Rename accept-invalid-http-* options 2024-09-16 22:55:25 +02:00
h1_htx.c BUG/MEDIUM: h1-htx: Properly handle bodyless messages 2025-01-08 18:20:26 +01:00
h2.c BUG/MEDIUM: mux-h2: Check the number of headers in HEADERS frame after decoding 2024-11-20 17:44:22 +01:00
h3.c BUG/MINOR: mux-quic: handle closure of uni-stream 2025-01-03 17:21:19 +01:00
h3_stats.c MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
haproxy.c BUG/MEDIUM: debug: close a possible race between thread dump and panic() 2025-02-10 18:34:26 +01:00
hash.c BUILD: hash: use __fallthrough in hash_djb2() 2022-11-14 11:14:02 +01:00
hlua.c MINOR: hlua: rename "tune.lua.preserve-smp-bool" to "tune.lua.bool-sample-conversion" 2024-12-20 17:34:05 +01:00
hlua_fcn.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
hpack-dec.c BUG/CRITICAL: http: properly reject empty http header field names 2023-02-14 08:48:54 +01:00
hpack-enc.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
hpack-huff.c BUG/MEDIUM: hpack: fix incorrect huffman decoding of some control chars 2023-01-26 11:36:39 +01:00
hpack-tbl.c BUILD/DEBUG: hpack-tbl: fix format string in standalone debug code 2022-04-12 08:30:08 +02:00
hq_interop.c MINOR: mux-quic: change return value of qcs_attach_sc() 2025-01-03 17:19:21 +01:00
http.c MINOR: http: Add support for HTTP 414/431 status codes 2024-11-19 15:29:40 +01: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 MINOR: pattern: split pat_ref_set() 2024-11-26 16:12:05 +01:00
http_ana.c MEDIUM: stream: interrupt costly rulesets after too many evaluations 2025-02-03 17:09:48 +01:00
http_client.c BUG/MEDIUM: mworker/httpclient: initialization skipped by accident in mworker mode 2024-10-17 12:16:35 +02:00
http_conv.c MINOR: http-conv: Remove unreachable goto statement in sample_conv_q_preferred 2024-11-06 10:06:52 +01:00
http_ext.c CLEANUP: http_ext: remove useless BUG_ON() in http_handle_xot_header() 2024-10-17 17:25:06 +02:00
http_fetch.c BUG/MINOR: http-fetch: Ignore empty argument string for query() 2024-12-11 10:00:01 +01:00
http_htx.c MINOR: config: Alert about extra arguments for errorfile and errorloc 2025-01-03 10:10:09 +01:00
http_rules.c MINOR: http-ana: Add support for "set-cookie-fmt" option to redirect rules 2024-11-19 15:20:02 +01:00
htx.c MEDIUM: htx: prevent <mark> to copy incomplete headers in htx_xfer_blks() 2025-01-31 15:51:51 +01:00
init.c MINOR: init: add the pre-check callback 2022-04-22 15:45:47 +02:00
jwt.c BUG/MEDIUM: jwt: Clear SSL error queue on error when checking the signature 2024-07-26 16:59:00 +02:00
lb_chash.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
lb_fas.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
lb_fwlc.c MAJOR: leastconn: postpone the server's repositioning under contention 2025-02-12 11:48:10 +01:00
lb_fwrr.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
lb_map.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
lb_ss.c MINOR: lbprm: implement true "sticky" balance algo 2024-03-29 17:08:37 +01:00
limits.c REORG: startup: move nofile limit checks in limits.c 2024-12-16 10:44:01 +01:00
linuxcap.c MINOR: startup: use global progname variable 2024-11-21 19:55:21 +01:00
listener.c MINOR: quic: remove unused pacing burst in bind_conf/quic_cc_path 2025-01-23 17:40:48 +01:00
log.c BUG/MINOR: log: Allow to use if/unless conditionnals for do-log action 2025-01-03 09:44:08 +01:00
lru.c BUG/MINOR: lru: fix the standalone test case for invalid revision 2024-04-13 08:43:12 +02:00
mailers.c BUG/MEDIUM: mailers: make sure to always apply offsets to now_ms in expiration 2024-11-15 15:39:58 +01:00
map.c MINOR: pattern: split pat_ref_set() 2024-11-26 16:12:05 +01:00
mjson.c BUILD: mjson: Fix warning about unused variables 2023-05-11 09:22:46 +02:00
mqtt.c CLEANUP: mqtt: fix typo in MQTT_REMAINING_LENGHT_MAX_SIZE 2024-08-30 14:58:59 +02:00
mux_fcgi.c MINOR: mux-spop/mux-fcgi: Add support of the debug string for logs 2025-02-06 11:19:32 +01:00
mux_h1.c DEBUG: mux-h1: Remove some debug counters 2025-02-03 08:48:31 +01:00
mux_h2.c BUG/MINOR: tevt/mux-h2: Set truncated receive/eos events at SE level on error 2025-02-06 11:19:32 +01:00
mux_pt.c MEDIUM: tevt/muxes: Add dedicated termination events for muxc/se locations 2025-01-31 10:41:50 +01:00
mux_quic.c BUILD: quic: fix overflow in global tune 2025-01-30 18:12:53 +01:00
mux_spop.c MINOR: mux-spop/mux-fcgi: Add support of the debug string for logs 2025-02-06 11:19:32 +01:00
mworker-prog.c BUG/MINOR: mworker-prog: don't warn about deprecated section with expose-deprecated-directives 2024-11-19 14:13:30 +01:00
mworker.c MEDIUM: errors: get rid of shm_open() 2025-01-07 16:42:38 +01:00
namespace.c BUG/MINOR: namespace: handle a possible strdup() failure 2024-12-10 08:05:34 +01:00
ncbuf.c MINOR: ncbuf: missing malloc checks in standalone code 2023-05-12 09:45:30 +02:00
pattern.c MINOR: pattern: publish event_hdl events on pat_ref updates 2024-11-29 07:22:25 +01:00
payload.c MEDIUM: tree-wide: fetches that may return IPV4+IPV6 now return ADDR 2023-07-03 16:32:01 +02:00
peers.c MINOR: stktable: implement "recv-only" table option 2024-12-05 12:15:24 +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 BUG/MINOR: pool: handle a possible strdup() failure 2025-01-02 14:31:07 +01:00
proto_quic.c MINOR: quic: implement build options report 2024-12-06 18:34:10 +01:00
proto_rhttp.c MINOR: protocol: add the real address family to the protocol 2024-08-21 17:37:46 +02:00
proto_sockpair.c MINOR: proto_sockpair: send_fd_uxst: init iobuf, cmsghdr, cmsgbuf to zeros 2024-11-25 15:20:24 +01:00
proto_tcp.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
proto_udp.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
proto_uxdg.c MINOR: protocol: create abnsz socket address family 2024-10-29 12:14:50 +01:00
proto_uxst.c MINOR: protocol: create abnsz socket address family 2024-10-29 12:14:50 +01:00
protocol.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
proxy.c MEDIUM: servers/proxies: Switch to using per-tgroup queues. 2025-01-28 12:49:41 +01:00
qmux_http.c MEDIUM: mux-quic: add BUG_ON if sending on locally closed QCS 2023-12-21 15:42:08 +01:00
qmux_trace.c MINOR: mux-quic: add buf_in_flight to QCC debug infos 2024-08-22 17:48:23 +02:00
qpack-dec.c MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
qpack-enc.c BUG/MEDIUM: qpack: allow 6xx..9xx status codes 2024-01-29 15:40:19 +01:00
qpack-tbl.c CLEANUP: qpack: properly use the QPACK macros not HPACK ones in debug code 2022-11-24 15:38:26 +01:00
queue.c BUILD: queues: Use unsigned int when needed 2025-01-28 17:44:54 +01:00
quic_ack.c BUILD: quic: Variable name typo inside a BUG_ON(). 2024-02-05 14:31:21 +01:00
quic_cc.c MINOR: quic: remove unused pacing burst in bind_conf/quic_cc_path 2025-01-23 17:40:48 +01:00
quic_cc_bbr.c MINOR: quic: rename pacing_rate cb to pacing_inter 2025-01-23 14:49:35 +01:00
quic_cc_cubic.c MINOR: quic: transform pacing settings into a global option 2025-01-30 17:19:38 +01:00
quic_cc_drs.c BUG/MINOR: quic: remove max_bw filter from delivery rate sampling 2024-12-13 14:42:43 +01:00
quic_cc_newreno.c MINOR: quic: transform pacing settings into a global option 2025-01-30 17:19:38 +01:00
quic_cc_nocc.c MINOR: quic: transform pacing settings into a global option 2025-01-30 17:19:38 +01:00
quic_cid.c CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
quic_cli.c MINOR: cli/quic: Add a "help" keyword to show quic 2024-11-26 14:55:30 +01:00
quic_conn.c MINOR: quic: remove unused pacing burst in bind_conf/quic_cc_path 2025-01-23 17:40:48 +01:00
quic_fctl.c MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_frame.c MINOR: quic: refactor CRYPTO encoding and splitting 2025-02-12 15:10:54 +01:00
quic_loss.c BUILD: quic: remove GCC undefined error in qc_release_lost_pkts() 2025-01-31 15:34:30 +01:00
quic_openssl_compat.c BUG/MEDIUM: quic: keylog callback not called (USE_OPENSSL_COMPAT) 2024-01-16 10:17:27 +01:00
quic_pacing.c MINOR: quic: adapt credit based pacing to BBR 2025-01-23 17:41:07 +01:00
quic_retransmit.c MINOR: quic: implement dedicated type for out-of-order stream ACK 2024-10-04 17:56:45 +02:00
quic_retry.c BUG/MEDIUM: quic: always validate sender address on 0-RTT 2024-08-30 17:04:09 +02:00
quic_rules.c CLEANUP: tree-wide: define and use acl_match_cond() helper 2025-01-27 11:11:43 +01:00
quic_rx.c BUG/MINOR: quic: do not increase congestion window if app limited 2025-01-23 14:49:35 +01:00
quic_sock.c CLEANUP: quic: replace ALREADY_CHECKED() with ASSUME_NONNULL() at a few places 2024-12-17 17:47:57 +01:00
quic_ssl.c BUG/MEDIUM: quic: avoid freezing 0RTT connections 2024-10-17 15:04:06 +02:00
quic_stats.c MINOR: stats: introduce a more expressive stat definition method 2024-04-26 10:20:57 +02:00
quic_stream.c BUG/MEDIUM: quic: properly decount out-of-order ACK on stream release 2024-10-09 17:47:16 +02:00
quic_tls.c MINOR: quic: refactor STREAM room notification 2024-10-01 16:19:25 +02:00
quic_token.c MINOR: quic: Token for future connections implementation. 2024-08-30 17:04:09 +02:00
quic_tp.c BUG/MEDIUM: quic: don't blindly rely on unaligned accesses 2024-04-06 00:07:49 +02:00
quic_trace.c MINOR: quic: implement dedicated type for out-of-order stream ACK 2024-10-04 17:56:45 +02:00
quic_tx.c MINOR: quic: refactor CRYPTO encoding and splitting 2025-02-12 15:10:54 +01:00
raw_sock.c MINOR: tevt/connection: Add support for POLL_HUP/POLL_ERR events 2025-01-31 10:41:50 +01:00
regex.c BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support 2022-09-01 19:34:46 +02:00
resolvers.c BUG/MEDIUM: promex/resolvers: Don't dump metrics if no nameserver is defined 2025-01-06 09:08:38 +01:00
ring.c MINOR: ring: count processed messages in ring_dispatch_messages() 2024-07-24 17:59:03 +02:00
sample.c MINOR: sample: extend the "when" converter to support an ACL 2024-11-18 16:11:55 +01:00
server.c MEDIUM: server: allocate a tasklet for asyncronous requeuing 2025-02-11 17:24:09 +01:00
server_state.c BUG/MINOR: server-state: Fix expiration date of srvrq_check tasks 2024-12-11 10:00:01 +01:00
session.c MEDIUM: protocol: rely on AF_CUST_ABNS family to recognize ABNS sockets 2024-10-29 12:14:37 +01:00
sha1.c
shctx.c DEBUG: shctx: name shared memory using vma_set_name() 2024-05-21 17:55:03 +02:00
signal.c BUG/MINOR: signal: register default handler for SIGINT in signal_init() 2024-12-02 17:28:04 +01:00
sink.c BUG/MAJOR: log/sink: possible sink collision in sink_new_from_srv() 2025-01-20 12:33:20 +01:00
slz.c IMPORT: slz: implement a synchronous flush() operation 2023-06-30 16:12:36 +02:00
sock.c MINOR: tevt/connection: Add support for POLL_HUP/POLL_ERR events 2025-01-31 10:41:50 +01:00
sock_inet.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
sock_unix.c MEDIUM: socket: add zero-terminated ABNS alternative 2024-10-29 12:15:24 +01:00
ssl_ckch.c MINOR: ssl: improve HAVE_SSL_OCSP ifdef 2024-12-19 10:53:05 +01:00
ssl_clienthello.c BUG/MEDIUM: ssl: chosing correct certificate using RSA-PSS with TLSv1.3 2025-02-07 20:56:42 +01:00
ssl_crtlist.c BUG/MINOR: ssl_crtlist: handle a possible strdup() failure 2024-12-10 08:05:42 +01:00
ssl_gencert.c CLEANUP: ssl: rename ssl_sock_load_ca to ssl_sock_gencert_load_ca 2025-01-24 12:31:07 +01:00
ssl_ocsp.c BUG/MAJOR: ssl/ocsp: fix NULL conn object dereferencing to access QUIC TLS counters 2025-01-07 15:19:42 +01:00
ssl_sample.c MEDIUM: ssl/sample: add ssl_fc_sigalgs_bin sample fetch 2024-08-26 15:17:40 +02:00
ssl_sock.c MINOR: tevt/connection: Add dedicated termination events for lower locations 2025-01-31 10:41:50 +01:00
ssl_utils.c MINOR: ssl: add utils functions to extract X509 notAfter date 2024-12-16 14:54:53 +01:00
stats-file.c MEDIUM: stats-file: silently ignore be/fe mistmatch 2024-11-19 16:44:51 +01:00
stats-html.c BUG/MEDIUM: stats/server: use watcher to track server during stats dump 2024-12-10 16:19:33 +01:00
stats-json.c BUG/MINOR: stats-json: Define JSON_INT_MAX as a signed integer 2025-02-06 17:19:49 +01:00
stats-proxy.c MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
stats.c BUG/MINOR: stats: fix segfault caused by uninitialized value in "show schema json" 2024-12-23 17:32:07 +01:00
stconn.c MINOR: tevt/applet: Add limited support for termination event logs for applets 2025-01-31 10:41:50 +01:00
stick_table.c MINOR: stktable: add table_{inc,clr}_gpc* converters 2025-01-16 11:50:33 +01:00
stream.c MEDIUM: stream: interrupt costly rulesets after too many evaluations 2025-02-03 17:09:48 +01:00
systemd.c BUILD: systemd: fix usage of reserved name "sun" in the address field 2024-11-25 08:09:09 +01:00
task.c MINOR: sched: add TASK_F_WANTS_TIME to make the scheduler update the call date 2024-11-19 20:13:41 +01:00
tcp_act.c MINOR: action: add do-log action 2024-10-04 21:38:14 +02:00
tcp_rules.c MEDIUM: stream: interrupt costly rulesets after too many evaluations 2025-02-03 17:09:48 +01:00
tcp_sample.c BUILD: tcp_sample: var_fc_counter defined but not used 2024-11-25 11:41:26 +01:00
tcpcheck.c BUG/MINOR: http-check: Don't pretend a C-L heeader is set before adding it 2025-02-03 18:46:41 +01:00
thread.c DEBUG: thread: reduce the struct lock_stat to store only 30 buckets 2025-02-10 18:34:43 +01: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 a few functions to simply check for a file's existence 2025-01-09 09:18:49 +01:00
trace.c MINOR: trace: support all source alias on -dt 2025-01-10 14:50:59 +01:00
uri_auth.c MEDIUM: uri_auth: implement clean uri_auth cleaning 2024-11-14 15:03:38 +01:00
uri_normalizer.c BUILD: tree-wide: cast arguments to tolower/toupper to unsigned char (2) 2024-07-18 13:29:52 +02:00
vars.c OPTIM: vars: use multiple name heads in the vars struct 2024-09-15 23:51:51 +02:00
version.c REORG: version: move the remaining BUILD_* stuff from haproxy.c to version.c 2025-01-20 17:53:55 +01:00
wdt.c BUG/MEDIUM: debug: close a possible race between thread dump and panic() 2025-02-10 18:34:26 +01:00
xprt_handshake.c CLEANUP: pool/tree-wide: remove suffix "_pool" from certain pool names 2022-06-23 11:49:09 +02:00
xprt_quic.c MINOR: quic: dump quic_conn debug string for logs 2024-08-07 15:40:52 +02:00