haproxy/include/haproxy
Amaury Denoyelle 74b95922ef BUG/MEDIUM: quic: do not release BE quic-conn prior to upper conn
For frontend side, quic_conn is only released if MUX wasn't allocated,
either due to handshake abort, in which case upper layer is never
allocated, or after transfer completion when full conn + MUX layers are
already released.

On the backend side, initialization is not performed in the same order.
Indeed, in this case, connection is first instantiated, the nthe
quic_conn is created to execute the handshake, while MUX is still only
allocated on handshake completion. As such, it is not possible anymore
to free immediately quic_conn on handshake failure. Else, this can cause
crash if the connection try to reaccess to its transport layer after
quic_conn release.

Such crash can easily be reproduced in case of connection error to the
QUIC server. Here is an example of an experienced backtrace.

Thread 1 "haproxy" received signal SIGSEGV, Segmentation fault.
  0x0000555555739733 in quic_close (conn=0x55555734c0d0, xprt_ctx=0x5555573a6e50) at src/xprt_quic.c:28
  28              qc->conn = NULL;
  [ ## gdb ## ] bt
  #0  0x0000555555739733 in quic_close (conn=0x55555734c0d0, xprt_ctx=0x5555573a6e50) at src/xprt_quic.c:28
  #1  0x00005555559c9708 in conn_xprt_close (conn=0x55555734c0d0) at include/haproxy/connection.h:162
  #2  0x00005555559c97d2 in conn_full_close (conn=0x55555734c0d0) at include/haproxy/connection.h:206
  #3  0x00005555559d01a9 in sc_detach_endp (scp=0x7fffffffd648) at src/stconn.c:451
  #4  0x00005555559d05b9 in sc_reset_endp (sc=0x55555734bf00) at src/stconn.c:533
  #5  0x000055555598281d in back_handle_st_cer (s=0x55555734adb0) at src/backend.c:2754
  #6  0x000055555588158a in process_stream (t=0x55555734be10, context=0x55555734adb0, state=516) at src/stream.c:1907
  #7  0x0000555555dc31d9 in run_tasks_from_lists (budgets=0x7fffffffdb30) at src/task.c:655
  #8  0x0000555555dc3dd3 in process_runnable_tasks () at src/task.c:889
  #9  0x0000555555a1daae in run_poll_loop () at src/haproxy.c:2865
  #10 0x0000555555a1e20c in run_thread_poll_loop (data=0x5555569d1c00 <ha_thread_info>) at src/haproxy.c:3081
  #11 0x0000555555a1f66b in main (argc=5, argv=0x7fffffffde18) at src/haproxy.c:3671

To fix this, change the condition prior to calling quic_conn release. If
<conn> member is not NULL, delay the release, similarly to the case when
MUX is allocated. This allows connection to be freed first, and detach
from quic_conn layer through close xprt operation.

No need to backport.
2025-06-20 17:46:10 +02:00
..
acl-t.h MINOR: acl: add acl() sample fetch 2023-08-01 10:49:06 +02:00
acl.h CLEANUP: tree-wide: define and use acl_match_cond() helper 2025-01-27 11:11:43 +01:00
acme-t.h MINOR: acme: change the default max retries to 5 2025-05-02 09:40:12 +02:00
acme.h MINOR: acme: add configuration for the crt-store 2025-04-12 01:29:27 +02:00
action-t.h MEDIUM: quic: implement quic-initial rules 2024-07-25 15:39:39 +02:00
action.h MINOR: action: Export release_expr_int_action() release function 2024-09-30 16:55:53 +02:00
activity-t.h MINOR: activity/memprofile: monitor non-portable calls as well 2024-11-21 19:58:06 +01:00
activity.h MINOR: activity/memprofile: offer a function to unregister stale info 2024-11-21 19:58:06 +01:00
api-t.h
api.h
applet-t.h CLEANUP: applet: Remove unsued rule pointer in appctx structure 2025-04-24 16:22:31 +02:00
applet.h CLEANUP: applet: Simplify a bit comments for applet_put* functions 2025-06-10 08:16:10 +02:00
arg-t.h MINOR: arg: add an argument type for identifier 2024-10-18 14:30:24 +02:00
arg.h
atomic.h BUILD: atomics: fix build issue on non-x86/non-arm systems 2025-04-07 09:38:22 +02:00
auth-t.h
auth.h
backend-t.h MEDIUM: lb_fwrr: Use one ebtree per thread group. 2025-04-17 17:38:23 +02:00
backend.h MAJOR: counters: dispatch counters over thread groups 2025-06-05 09:59:38 +02:00
base64.h
buf-t.h MINOR: buffer: add a buffer list type with functions 2024-10-12 16:29:15 +02:00
buf.h OPTIM: buffers: avoid a useless wrapping check for ofs == 0 2024-10-18 18:42:47 +02:00
bug.h BUILD: debug: mark ha_crash_now() as attribute(noreturn) 2025-05-16 16:43:53 +02:00
capture-t.h
capture.h
cfgcond-t.h MINOR: cfgcond: Implement enabled condition expression 2023-02-21 11:44:55 +01:00
cfgcond.h
cfgdiag.h
cfgparse.h MINOR: acme: add the acme section in the configuration parser 2025-04-12 01:29:27 +02:00
channel-t.h MINOR: stconn: Temporarily remove kernel splicing support 2023-10-17 18:51:13 +02:00
channel.h CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
check-t.h MINOR: check: implement check-pool-conn-name srv keyword 2025-04-03 17:19:07 +02:00
check.h MEDIUM: check/spoe: Use SPOP multiplexer to perform SPOP health-checks 2024-07-12 15:27:04 +02:00
chunk.h MINOR: chunk: inline alloc_trash_chunk() 2022-08-17 10:45:22 +02:00
cli-t.h MINOR: cli: split APPCTX_CLI_ST1_PROMPT into two distinct flags 2025-04-28 20:21:06 +02:00
cli.h MINOR: mworker/cli: split mworker_cli_proxy_create 2024-10-24 11:32:20 +02:00
clock.h MINOR: clock: provide a function to automatically adjust now_offset 2023-05-17 09:33:54 +02:00
compat.h BUILD: compat: add missing fcntl.h before defining F_SETPIPE_SZ 2024-12-25 11:53:11 +01:00
compiler.h MINOR: compiler: add more macros to detect macro definitions 2025-04-28 20:21:06 +02:00
compression-t.h MINOR: compression: Introduce minimum size 2025-02-22 11:32:40 +01:00
compression.h MINOR: compression: Store algo and type for both request and response 2023-04-07 00:46:59 +02:00
connection-t.h CLEANUP: connection: remove unused mux-ops dedicated to QUIC 2025-06-18 17:02:50 +02:00
connection.h BUG/MEDIUM: connections: Report connection closing in conn_create_mux() 2025-04-30 17:17:36 +02:00
counters-t.h MAJOR: counters: dispatch counters over thread groups 2025-06-05 09:59:38 +02:00
counters.h MAJOR: counters: dispatch counters over thread groups 2025-06-05 09:59:38 +02:00
cpu_topo-t.h MINOR: cpu-topo: pass an extra argument to ha_cpu_policy 2025-03-31 16:21:37 +02:00
cpu_topo.h MINOR: cpu-topo: add a CPU policy setting to the global section 2025-03-14 18:33:16 +01:00
cpuset-t.h CLEANUP: cpuset: remove the unused proc_t1 field in cpu_map 2023-07-20 11:01:09 +02:00
cpuset.h MINOR: cpu-set: add a new function to print cpu-sets in human-friendly mode 2025-03-31 16:21:37 +02:00
debug.h MINOR: debug: make ha_stuck_warning() only work for the current thread 2025-04-17 16:25:47 +02:00
defaults.h MEDIUM: config: change default limits to 1024 threads and 32 groups 2025-05-13 18:15:33 +02:00
dgram-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
dgram.h
dict-t.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
dict.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
dns_ring-t.h MEDIUM: ring/applet: turn the wait_entry list to an mt_list instead 2024-03-25 17:34:19 +00:00
dns_ring.h REORG: dns/ring: split the ring between the generic one and the DNS one 2024-03-25 17:34:19 +00:00
dns-t.h BUG/MINOR: dns: prevent ds accumulation within dss 2025-04-29 21:20:54 +02:00
dns.h
dynbuf-t.h MEDIUM: dynbuf: refrain from offering a buffer if more critical ones are waiting 2024-05-10 17:18:13 +02:00
dynbuf.h MINOR: dynbuf: provide a b_dequeue() variant for multi-thread 2024-05-15 19:37:12 +02:00
errors.h MINOR: stats: report the total number of warnings issued 2023-05-11 12:02:21 +02:00
event_hdl-t.h MINOR: event_hdl: add PAT_REF events 2024-11-29 07:22:18 +01:00
event_hdl.h MINOR: event_hdl: add event_hdl_sub_list_empty() helper func 2024-11-07 11:35:55 +01:00
extcheck.h
fcgi-app-t.h CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
fcgi-app.h
fcgi.h
fd-t.h MINOR: pollers: Add a fixup_tgid_takeover() method. 2025-02-26 13:00:18 +01:00
fd.h BUG/MEDIUM: fd: Use the provided tgid in fd_insert() to get tgroup_info 2025-06-10 15:10:56 +02:00
filters-t.h MINOR: filters: add per-filter call counters 2024-10-22 20:13:00 +02:00
filters.h
fix-t.h
fix.h
flt_http_comp.h
freq_ctr-t.h
freq_ctr.h MINOR: freq_ctr: provide non-blocking read functions 2025-02-21 18:26:29 +01:00
frontend.h MINOR: frontend: implement a dedicated actconn increment function 2023-10-26 15:18:48 +02:00
global-t.h MINOR: glitches: add global setting "tune.glitches.kill.cpu-usage" 2025-05-21 15:47:42 +02:00
global.h REORG: version: move the remaining BUILD_* stuff from haproxy.c to version.c 2025-01-20 17:53:55 +01:00
guid-t.h MINOR: guid: restrict guid format 2024-04-05 15:40:42 +02:00
guid.h BUG/MINOR: guid/server: ensure thread-safety on GUID insert/delete 2024-11-07 18:17:03 +01:00
h1_htx.h CLEANUP: assorted typo fixes in the code and comments 2025-04-02 11:12:20 +02:00
h1.h CLEANUP: h1: Remove now useless h1_parse_cont_len_header() function 2025-04-22 16:14:47 +02:00
h2.h MINOR: h2: pass accept-invalid-http-request down the request parser 2023-08-08 19:10:54 +02:00
h3_stats-t.h MINOR: h3: Add a statistics module for h3 2022-05-30 09:59:26 +02:00
h3_stats.h MINOR: h3: Add a statistics module for h3 2022-05-30 09:59:26 +02:00
h3.h MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
hash.h
hlua_fcn.h MINOR: hlua: add patref class 2024-11-29 07:22:32 +01:00
hlua-t.h MINOR: hlua_fcn: register queue class using hlua_register_metatable() 2025-04-03 17:52:17 +02:00
hlua.h MINOR: add hlua_yield_asap() helper 2025-04-30 17:00:27 +02:00
hpack-dec.h
hpack-enc.h
hpack-huff.h
hpack-tbl-t.h
hpack-tbl.h
hq_interop.h MINOR: quic: support hq-interop 2021-11-18 10:50:58 +01:00
http_ana-t.h CLEANUP: assorted typo fixes in the code and comments 2025-04-02 11:12:20 +02:00
http_ana.h CLEANUP: http-ana: Remove HTTP_MSG_ERROR state 2023-01-13 11:22:13 +01:00
http_client-t.h MINOR: httpclient: allow to use absolute URI with new flag HC_F_HTTPROXY 2024-04-29 17:10:47 +02:00
http_client.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
http_ext-t.h MEDIUM: proxy/http_ext: implement dynamic http_ext 2023-01-27 15:18:59 +01:00
http_ext.h MEDIUM: proxy/http_ext: implement dynamic http_ext 2023-01-27 15:18:59 +01:00
http_fetch.h
http_htx-t.h MEDIUM: tree-wide: add logformat expressions wrapper 2024-04-04 19:10:01 +02:00
http_htx.h MINOR: http_htx: add http_prepend_header() to prepend value to header 2023-01-27 15:18:59 +01:00
http_rules.h MINOR: proxy: add http_free_redirect_rule() function 2023-05-11 15:37:04 +02:00
http-hdr-t.h
http-hdr.h
http-t.h MINOR: http: Add support for HTTP 414/431 status codes 2024-11-19 15:29:40 +01:00
http.h MINOR: http: add a function to validate characters of :authority 2025-05-12 18:02:47 +02:00
htx-t.h BUG/MAJOR: filters/htx: Add a flag to state the payload is altered by a filter 2024-10-17 13:54:54 +02:00
htx.h BUG/MAJOR: filters/htx: Add a flag to state the payload is altered by a filter 2024-10-17 13:54:54 +02:00
init-t.h DEBUG: init: add a way to register functions for unit tests 2025-03-03 12:43:32 +01:00
init.h BUILD: incompatible pointer type suspected with -DDEBUG_UNIT 2025-04-15 15:49:44 +02:00
initcall.h BUILD: compiler: use a more portable set of asm(".weak") statements 2022-04-14 16:57:12 +02:00
intops.h MINOR: intops: add a pair of functions to check multi-byte ranges 2024-04-24 15:54:55 +02:00
istbuf.h
jws.h MINOR: jws: emit the JWK thumbprint 2025-04-01 11:57:55 +02:00
jwt-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
jwt.h MEDIUM: jwt: Add jwt_verify converter to verify JWT integrity 2021-10-14 16:38:14 +02:00
lb_chash-t.h
lb_chash.h
lb_fas-t.h
lb_fas.h
lb_fwlc-t.h
lb_fwlc.h
lb_fwrr-t.h MEDIUM: lb_fwrr: Use one ebtree per thread group. 2025-04-17 17:38:23 +02:00
lb_fwrr.h
lb_map-t.h
lb_map.h
lb_ss-t.h MINOR: lbprm: implement true "sticky" balance algo 2024-03-29 17:08:37 +01:00
lb_ss.h MINOR: lbprm: implement true "sticky" balance algo 2024-03-29 17:08:37 +01:00
limits.h BUILD: limits: make normalize_rlim() take an rlim_t to fix build on m68k 2024-12-25 12:33:06 +01:00
linuxcap.h MINOR: startup: use global progname variable 2024-11-21 19:55:21 +01:00
list-t.h MINOR: list: define a watcher type 2024-12-10 16:04:11 +01:00
list.h MINOR: list: define a watcher type 2024-12-10 16:04:11 +01:00
listener-t.h MINOR: listeners: Add support for a label on bind line 2025-05-26 19:00:00 +02:00
listener.h BUG/MEDIUM: cli: Deadlock when setting frontend maxconn 2024-09-25 17:12:11 +02:00
log-t.h MINOR: http: don't %-encode the payload when not relevant 2024-11-06 10:21:15 +01:00
log.h MINOR: httpclient: add an "https" log-format 2025-04-23 15:32:46 +02:00
mailers-t.h BUG/MINOR: proxy: fix email-alert leak on deinit() (2nd try) 2024-06-17 19:37:29 +02:00
mailers.h REORG: mailers: move free_email_alert() to mailers.c 2024-06-17 19:37:29 +02:00
map-t.h
map.h
mqtt-t.h CLEANUP: mqtt: fix typo in MQTT_REMAINING_LENGHT_MAX_SIZE 2024-08-30 14:58:59 +02:00
mqtt.h
mux_fcgi-t.h BUG/MEDIUM: mux-fcgi: Properly handle read0 on partial records 2025-02-03 07:49:50 +01:00
mux_h1-t.h MINOR: mux-h1: Add masks to group H1S DEMUX and MUX errors 2025-01-31 10:41:49 +01:00
mux_h2-t.h MEDIUM: server/mux-h2: implement idle-ping on backend side 2025-04-17 14:49:36 +02:00
mux_quic-t.h MINOR: mux-quic: support max bidi streams value set by the peer 2025-06-18 17:25:27 +02:00
mux_quic.h MINOR: mux-quic: support max bidi streams value set by the peer 2025-06-18 17:25:27 +02:00
mux_spop-t.h BUG/MEDIUM: mux-spop: Remove frame parsing states from the SPOP connection state 2025-05-13 19:51:40 +02:00
mworker-t.h MINOR: mworker: add and set state PROC_O_INIT for new worker 2024-10-16 22:02:39 +02:00
mworker.h REORG: startup: move mworker_apply_master_worker_mode in mworker.c 2024-11-25 15:20:24 +01:00
namespace-t.h
namespace.h
ncbuf-t.h CLEANUP: assorted typo fixes in the code and comments 2022-08-06 17:12:51 +02:00
ncbuf.h CLEANUP: ncbuf: inline small functions 2022-11-29 15:14:39 +01:00
net_helper.h MINOR: net_helper: Add support for floats/doubles. 2024-04-16 07:37:28 +02:00
obj_type-t.h MINOR: quic: pass quic_dgram as obj_type for quic-initial rules 2024-07-25 15:39:39 +02:00
obj_type.h MINOR: quic: pass quic_dgram as obj_type for quic-initial rules 2024-07-25 15:39:39 +02:00
openssl-compat.h MINOR: quic: Allow the use of the new OpenSSL 3.5.0 QUIC TLS API (to be completed) 2025-05-20 15:00:06 +02:00
pattern-t.h MINOR: pattern: publish event_hdl events on pat_ref updates 2024-11-29 07:22:25 +01:00
pattern.h CLEANUP: assorted typo fixes in the code, commits and doc 2025-04-03 11:37:25 +02:00
payload.h
peers-t.h CLEANUP: assorted typo fixes in the code and comments 2024-05-03 09:01:36 +02:00
peers.h CLEANUP: peers: remove unused "proto" and "xprt" struct members 2023-12-21 14:22:27 +01:00
pipe-t.h
pipe.h
pool-os.h REORG: pool: move all the OS specific code to pool-os.h 2022-12-08 17:32:57 +01:00
pool-t.h DEBUG: pools: add a new integrity mode "backup" to copy the released area 2025-05-09 14:57:00 +02:00
pool.h MINOR: pools: export the pools variable 2024-10-24 16:12:46 +02:00
port_range-t.h
port_range.h
proto_quic.h MINOR: quic: account for global congestion window 2025-04-29 15:19:32 +02:00
proto_rhttp-t.h MINOR: rhttp: rename proto_reverse_connect 2023-11-23 17:38:58 +01:00
proto_rhttp.h CLEANUP: proto: rename TID affinity callbacks 2024-07-11 15:14:06 +02:00
proto_sockpair.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
proto_tcp.h BUILD: proto_tcp: export the correct names for proto_tcpv[46] 2023-04-23 09:46:15 +02:00
proto_udp.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
proto_uxst.h
protobuf-t.h
protobuf.h BUG/MEDIUM: grpc: Fix several unaligned 32/64 bits accesses 2024-04-16 07:37:28 +02:00
protocol-t.h MINOR: protocol: create abnsz socket address family 2024-10-29 12:14:50 +01:00
protocol.h MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
proxy-t.h MINOR: proxy: add a true list containing all proxies 2025-06-02 17:51:21 +02:00
proxy.h MAJOR: counters: dispatch counters over thread groups 2025-06-05 09:59:38 +02:00
qmux_http.h MINOR: h3/hq-interop: restore function for standalone FIN receive 2025-03-07 12:06:26 +01:00
qmux_trace.h MINOR: mux-quic: define dump functions for QCC and QCS 2024-08-07 15:40:52 +02:00
qpack-dec.h MINOR: qpack: prepare error renaming 2024-05-16 10:31:17 +02:00
qpack-enc.h MINOR: h3: adjust auth request encoding or fallback to host 2025-06-16 18:11:09 +02:00
qpack-t.h MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
qpack-tbl-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
qpack-tbl.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
queue-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
queue.h MINOR: proxies/servers: Calculate queueslength and use it. 2025-01-28 12:49:41 +01:00
quic_ack-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_ack.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_cc_drs.h CLEANUP: quic: remove a wrong comment about ->app_limited (drs) 2024-12-13 14:42:43 +01:00
quic_cc_hystart.h MINOR: quic: HyStart++ implementation (RFC 9406) 2024-04-02 18:47:19 +02:00
quic_cc-t.h MINOR: quic: rename min/max fields for congestion window algo 2025-04-29 15:10:06 +02:00
quic_cc.h MINOR: quic: account for global congestion window 2025-04-29 15:19:32 +02:00
quic_cid-t.h REORG: quic: remove quic_cid_trees reference from proto_quic 2024-07-03 15:02:40 +02:00
quic_cid.h REORG: quic: remove quic_cid_trees reference from proto_quic 2024-07-03 15:02:40 +02:00
quic_cli-t.h MINOR: quic: Export QUIC CLI code from quic_conn.c 2023-07-27 10:51:03 +02:00
quic_conn-t.h BUG/MEDIUM: quic: do not release BE quic-conn prior to upper conn 2025-06-20 17:46:10 +02:00
quic_conn.h MINOR: quic-be: get rid of ->li quic_conn member 2025-06-11 18:37:34 +02:00
quic_enc.h MINOR: quic: simplify length calculation for STREAM/CRYPTO frames 2025-02-12 11:51:09 +01:00
quic_fctl-t.h MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_fctl.h MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_frame-t.h MINOR: quic: support frame type as a varint 2025-02-14 09:00:05 +01:00
quic_frame.h MINOR: quic: support frame type as a varint 2025-02-14 09:00:05 +01:00
quic_loss-t.h MINOR: quic: Add a counter for reordered packets 2024-02-14 11:32:29 +01:00
quic_loss.h MINOR: quic: quic_loss modifications to support BBR 2024-11-20 17:34:22 +01:00
quic_openssl_compat-t.h CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_openssl_compat.h BUG/MINOR: quic: Missing call to TLS message callbacks 2023-12-21 16:33:06 +01:00
quic_pacing-t.h CLEANUP: assorted typo fixes in the code and comments 2025-04-02 11:12:20 +02:00
quic_pacing.h MEDIUM: quic: use dynamic credit for pacing 2025-01-23 17:40:48 +01:00
quic_retransmit.h MINOR: quic: implement function to check if STREAM is fully acked 2024-08-07 10:57:10 +02:00
quic_retry.h REORG: quic: Add a new module for QUIC retry 2023-11-28 15:47:18 +01:00
quic_rules.h MINOR: quic: pass quic_dgram as obj_type for quic-initial rules 2024-07-25 15:39:39 +02:00
quic_rx-t.h BUG/MINOR: quic: repeat packet parsing to deal with fragmented CRYPTO 2024-11-06 14:29:14 +01:00
quic_rx.h MINOR: quic-be: Datagrams and packet parsing support 2025-06-11 18:37:34 +02:00
quic_sock-t.h MINOR: quic: implement send-retry quic-initial rules 2024-07-25 15:39:39 +02:00
quic_sock.h MINOR: quic-be: get rid of ->li quic_conn member 2025-06-11 18:37:34 +02:00
quic_ssl-t.h MINOR: quic: Add new "QUIC over SSL" C module. 2023-07-27 10:51:03 +02:00
quic_ssl.h MINOR: quic-be: SSL sessions initializations 2025-06-11 18:37:34 +02:00
quic_stats-t.h MINOR: quic: reduce half open counters scope 2023-11-09 16:23:52 +01:00
quic_stats.h MINOIR: quic_stats: add QUIC connection errors counters 2022-05-30 09:59:26 +02:00
quic_stream-t.h MINOR: quic: display stream age 2025-05-13 15:44:22 +02:00
quic_stream.h MINOR: quic: implement dedicated type for out-of-order stream ACK 2024-10-04 17:56:45 +02:00
quic_tls-t.h MINOR: quic: Modify NEW_TOKEN frame structure (qf_new_token struct) 2024-08-30 17:04:09 +02:00
quic_tls.h MINOR: quic: implement all remaining callbacks for OpenSSL 3.5 QUIC API 2025-05-20 15:00:06 +02:00
quic_token.h MINOR: quic: Token for future connections implementation. 2024-08-30 17:04:09 +02:00
quic_tp-t.h MINOR: quic: extend return value during TP parsing 2025-05-07 15:19:52 +02:00
quic_tp.h MINOR: quic-be: Add a function to initialize the QUIC client transport parameters 2025-06-11 18:37:34 +02:00
quic_trace-t.h MINOR: quic: Allow the use of the new OpenSSL 3.5.0 QUIC TLS API (to be completed) 2025-05-20 15:00:06 +02:00
quic_trace.h MINOR: quic: dump quic_conn debug string for logs 2024-08-07 15:40:52 +02:00
quic_tune-t.h MINOR: quic: move global tune options into quic_tune 2025-03-24 10:01:46 +01:00
quic_tune.h MINOR: quic: define quic_tune 2025-01-30 18:12:40 +01:00
quic_tx-t.h BUG/MINOR: improve BBR throughput on very fast links 2024-11-28 21:39:05 +01:00
quic_tx.h MINOR: quic: add some missing includes 2025-05-21 14:44:27 +02:00
quic_utils-t.h MINOR: quic: account Tx data per stream 2025-05-13 15:41:41 +02:00
quic_utils.h MINOR: quic: move function to check stream type in utils 2025-05-21 14:17:41 +02:00
receiver-t.h MEDIUM: udp: allow to retrieve the frontend destination address 2024-01-02 11:44:42 +01:00
regex-t.h
regex.h
resolvers-t.h MINOR: resolvers: add "dns-accept-family auto" to rely on detected IPv6 2025-04-24 17:52:28 +02:00
resolvers.h MEDIUM: resolvers: add global "dns-accept-family" directive 2025-04-24 17:52:28 +02:00
ring-t.h MINOR: ring/cli: support delimiting events with a trailing \0 on "show events" 2025-04-08 14:36:35 +02:00
ring.h MINOR: ring: support arbitrary delimiters through ring_dispatch_messages() 2025-04-08 14:36:35 +02:00
sample_data-t.h
sample-t.h MEDIUM: sample: introduce 'same' output type 2023-07-03 16:32:01 +02:00
sample.h MINOR: sample: add type_to_smp() helper function 2024-02-20 15:18:39 +01:00
sc_strm.h CLEANUP: assorted typo fixes in the code and comments 2025-04-02 11:12:20 +02:00
server-t.h MINOR: quic-be: QUIC backend XPRT and transport parameters init during parsing 2025-06-11 18:37:34 +02:00
server.h MINOR: server: implement helper to identify QUIC servers 2025-06-11 18:37:19 +02:00
session-t.h MINOR: session: define flag to explicitely release listener on free 2024-05-22 10:01:57 +02:00
session.h MINOR: stick-table: Always decrement ref count before killing a session 2024-06-26 15:05:06 +02:00
shctx-t.h CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
shctx.h MEDIUM: shctx: Naming shared memory context 2024-04-24 10:25:38 +02:00
show_flags-t.h BUILD: flags: really restrict the cases where flags are exposed 2022-11-24 08:32:27 +01:00
signal-t.h
signal.h
sink-t.h BUG/MINOR: sink: add tempo between 2 connection attempts for sft servers 2025-02-21 11:22:35 +01:00
sink.h MEDIUM: sink: implement sink_find_early() 2024-10-10 16:55:15 +02:00
sock_inet.h MEDIUM: sock-inet: re-check IPv6 connectivity every 30s 2025-05-09 15:45:44 +02:00
sock_unix.h MEDIUM: sock_unix: use per-family addrcmp function 2024-10-29 12:15:09 +01:00
sock-t.h MINOR: sock: move the unused socket cleaning code into its own function 2022-01-28 19:04:02 +01:00
sock.h MINOR: sock: Add protocol and socket types parameters to sock_create_server_socket() 2025-06-11 18:37:34 +02:00
spoe-t.h CLEANUP: assorted typo fixes in the code and comments 2025-04-02 11:12:20 +02:00
spoe.h MINOR: spoe: export the list of SPOP error reasons 2024-07-24 14:19:10 +02:00
ssl_ckch-t.h MINOR: acme: register the task in the ckch_store 2025-04-16 17:12:43 +02:00
ssl_ckch.h MINOR: quic-be: ssl_sock contexts allocation and misc adaptations 2025-06-11 18:37:34 +02:00
ssl_crtlist-t.h
ssl_crtlist.h MINOR: ssl/crtlist: split the ckch_conf loading from the crtlist line parsing 2025-02-17 18:26:37 +01:00
ssl_gencert.h CLEANUP: ssl: move ssl_sock_gencert_load_ca declaration in ssl_gencert.h 2025-01-24 12:31:07 +01:00
ssl_ocsp-t.h MINOR: ssl: improve HAVE_SSL_OCSP ifdef 2024-12-19 10:53:05 +01:00
ssl_ocsp.h MEDIUM: ssl/ckch: add filename and linenum argument to crt-store parsing 2025-04-12 01:29:27 +02:00
ssl_sock-t.h MINOR: acme: add the global option 'acme.scheduler' 2025-05-09 14:00:39 +02:00
ssl_sock.h MINOR: Add 'conn' param to ssl_sock_chose_sni_ctx 2025-04-30 11:11:26 +02:00
ssl_trace-t.h MINOR: ssl: Add traces about sigalg extension parsing in clientHello callback 2025-04-30 11:11:26 +02:00
ssl_utils.h MINOR: ssl: add function to extract X509 notBefore date in time_t 2025-05-02 16:01:32 +02:00
stats-file-t.h MINOR: stats: parse header lines from stats-file 2024-04-26 11:34:02 +02:00
stats-file.h CLEANUP: assorted typo fixes in the code and comments 2024-05-03 09:01:36 +02:00
stats-html-t.h REORG: stats: extract HTML related functions 2024-04-18 17:04:08 +02:00
stats-html.h MINOR: stats: Get the right prototype for stats_dump_html_end(). 2024-04-19 01:54:00 +02:00
stats-json.h REORG: stats: extract JSON related functions 2024-04-18 17:04:08 +02:00
stats-proxy.h MINOR: stats: extract proxy clear-counter in a dedicated function 2024-05-02 16:43:26 +02:00
stats-t.h MAJOR: counters: add shared counters base infrastructure 2025-06-05 09:58:58 +02:00
stats.h MINOR: stats: add stat_col flags 2025-06-02 17:51:08 +02:00
stconn-t.h BUG/MEDIUM: stconn: Disable 0-copy forwarding for filters altering the payload 2025-05-16 15:11:37 +02:00
stconn.h MEDIUM: tevt/stconn/stream: Add dedicated termination events for stream location 2025-01-31 10:41:50 +01:00
stick_table-t.h MEDIUM: stick-tables: defer adding updates to a tasklet 2025-05-02 15:27:55 +02:00
stick_table.h CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
stream-t.h MINOR: master/cli: support bidirectional communications with workers 2025-04-11 16:09:17 +02:00
stream.h MAJOR: counters: dispatch counters over thread groups 2025-06-05 09:59:38 +02:00
stress.h MINOR: build: define DEBUG_STRESS 2024-12-12 11:19:10 +01:00
systemd.h MEDIUM: mworker: get rid of libsystemd 2024-04-03 15:53:18 +02:00
task-t.h MEDIUM: tasks: Remove TASK_IN_LIST and use TASK_QUEUED instead. 2025-04-30 17:08:57 +02:00
task.h MINOR: tasks: Remove unused tasklet_remove_from_tasklet_list 2025-04-30 17:09:06 +02:00
tcp_rules.h
tcpcheck-t.h MEDIUM: check: implement check-reuse-pool 2025-04-02 14:57:40 +02:00
tcpcheck.h MEDIUM: proxy/spoe: Add a SPOP mode 2024-07-12 15:27:04 +02:00
thread-t.h MINOR: thread: define cshared type 2025-04-29 15:10:06 +02:00
thread.h DEBUG: threads: merge successive idempotent lock operations in history 2025-05-05 18:36:12 +02:00
ticks.h
time-t.h MINOR: time: define tot_time structure 2024-08-07 15:40:52 +02:00
time.h MINOR: time: define tot_time structure 2024-08-07 15:40:52 +02:00
timeshift.h REORG: cfgparse: extract curproxy as a global variable 2023-08-01 10:48:28 +02:00
tinfo-t.h MEDIUM: threads: keep history of taken locks with DEBUG_THREAD > 0 2025-04-28 16:50:34 +02:00
tinfo.h MINOR: thread: keep a bitmask of enabled groups in thread_set 2023-04-13 16:57:51 +02:00
tools-t.h MINOR: tools: add a new macro DEFVAL() to provide a default argument 2024-12-03 19:45:08 +01:00
tools.h MINOR: tools: ha_freearray() frees an array of string 2025-05-09 19:12:05 +02:00
trace-t.h MINOR: trace: ensure -dt priority over traces config section 2025-01-10 14:50:59 +01:00
trace.h MINOR: trace: implement tracing disabling API 2024-12-18 09:52:06 +01:00
uri_auth-t.h MEDIUM: uri_auth: implement clean uri_auth cleaning 2024-11-14 15:03:38 +01:00
uri_auth.h MEDIUM: uri_auth: implement clean uri_auth cleaning 2024-11-14 15:03:38 +01:00
uri_normalizer-t.h
uri_normalizer.h
vars-t.h OPTIM: vars: use multiple name heads in the vars struct 2024-09-15 23:51:51 +02:00
vars.h OPTIM: vars: use multiple name heads in the vars struct 2024-09-15 23:51:51 +02:00
vecpair.h CLEANUP: assorted typo fixes in the code and comments 2024-04-17 11:14:44 +02:00
version.h [RELEASE] Released version 3.3-dev0 2025-05-28 16:46:34 +02:00
window_filter.h MINOR: window_filter: rely on the time to update the filter samples (QUIC/BBR) 2024-12-13 14:42:43 +01:00
xref-t.h
xref.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
xxhash.h