haproxy/include/haproxy
Amaury Denoyelle c8a0efbda8 BUG/MEDIUM: quic: properly handle duplicated STREAM frames
When a STREAM frame is re-emitted, it will point to the same stream
buffer as the original one. If an ACK is received for either one of
these frame, the underlying buffer may be freed. Thus, if the second
frame is declared as lost and schedule for retransmission, we must
ensure that the underlying buffer is still allocated or interrupt the
retransmission.

Stream buffer is stored as an eb_tree indexed by the stream ID. To avoid
to lookup over a tree each time a STREAM frame is re-emitted, a lost
STREAM frame is flagged as QUIC_FL_TX_FRAME_LOST.

In most cases, this code is functional. However, there is several
potential issues which may cause a segfault :
- when explicitely probing with a STREAM frame, the frame won't be
  flagged as lost
- when splitting a STREAM frame during retransmission, the flag is not
  copied

To fix both these cases, QUIC_FL_TX_FRAME_LOST flag has been converted
to a <dup> field in quic_stream structure. This field is now properly
copied when splitting a STREAM frame. Also, as this is now an inner
quic_frame field, it will be copied automatically on qc_frm_dup()
invocation thus ensuring that it will be set on probing.

This issue was encounted randomly with the following backtrace :
 #0  __memmove_avx512_unaligned_erms ()
 #1  0x000055f4d5a48c01 in memcpy (__len=18446698486215405173, __src=<optimized out>,
 #2  quic_build_stream_frame (buf=0x7f6ac3fcb400, end=<optimized out>, frm=0x7f6a00556620,
 #3  0x000055f4d5a4a147 in qc_build_frm (buf=buf@entry=0x7f6ac3fcb5d8,
 #4  0x000055f4d5a23300 in qc_do_build_pkt (pos=<optimized out>, end=<optimized out>,
 #5  0x000055f4d5a25976 in qc_build_pkt (pos=0x7f6ac3fcba10,
 #6  0x000055f4d5a30c7e in qc_prep_app_pkts (frms=0x7f6a0032bc50, buf=0x7f6a0032bf30,
 #7  qc_send_app_pkts (qc=0x7f6a0032b310, frms=0x7f6a0032bc50) at src/quic_conn.c:4184
 #8  0x000055f4d5a35f42 in quic_conn_app_io_cb (t=0x7f6a0009c660, context=0x7f6a0032b310,

This should fix github issue #2051.

This should be backported up to 2.6.
2023-03-03 15:08:02 +01:00
..
acl-t.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
acl.h MINOR: acl: add a function to dump the list of known ACL keywords 2022-03-29 18:01:37 +02:00
action-t.h MINOR: stick-table: implement the sc-add-gpc() action 2023-01-07 09:11:22 +01:00
action.h MINOR: action: add a function to dump the list of actions for a ruleset 2022-03-30 11:19:22 +02:00
activity-t.h MEDIUM: tasks/activity: combine the called function with the caller 2022-09-08 16:21:22 +02:00
activity.h MEDIUM: tasks/activity: combine the called function with the caller 2022-09-08 16:21:22 +02:00
api-t.h REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +02:00
api.h REORG: global: move initcall register code in a dedicated file 2021-03-26 15:28:33 +01:00
applet-t.h MINOR: anon: store the anonymizing key in the CLI's appctx 2022-09-17 11:27:09 +02:00
applet.h MINOR: stconn: Report a send activity when endpoint is willing to consume data 2023-02-27 17:45:45 +01:00
arg-t.h MINOR: sample: add ARGC_OPT 2023-01-27 15:18:59 +01:00
arg.h MINOR: arg: add a free_args() function to free an args array 2021-07-16 19:18:41 +02:00
atomic.h BUILD: atomic: atomic.h may need compiler.h on ARMv8.2-a 2022-12-08 08:36:24 +01:00
auth-t.h CLEANUP: auth: fix useless self-include of auth-t.h 2020-07-05 21:32:47 +02:00
auth.h CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
backend-t.h MEDIUM: backend: add new "balance hash <expr>" algorithm 2022-04-25 16:09:26 +02:00
backend.h CLEANUP: backend: Don't export connect_server anymore 2022-02-24 11:00:03 +01:00
base64.h MINOR: sample: add ub64dec and ub64enc converters 2021-04-13 17:28:13 +02:00
buf-t.h CLEANUP: include: don't include stddef.h directly 2020-06-11 10:18:59 +02:00
buf.h BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned 2023-01-05 09:34:49 +01:00
bug.h BUILD: debug: remove unnecessary quotes in HA_WEAK() calls 2022-11-14 11:12:49 +01:00
capture-t.h REORG: include: move capture.h to haproxy/capture{,-t}.h 2020-06-11 10:18:57 +02:00
capture.h REORG: include: move capture.h to haproxy/capture{,-t}.h 2020-06-11 10:18:57 +02:00
cbuf-t.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
cbuf.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
cfgcond-t.h MINOR: cfgcond: Implement enabled condition expression 2023-02-21 11:44:55 +01:00
cfgcond.h BUG/MEDIUM: cfgcond: limit recursion level in the condition expression parser 2021-07-20 18:03:08 +02:00
cfgdiag.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
cfgparse.h BUG/MINOR: config: crt-list keywords mistaken for bind ssl keywords 2023-02-16 16:14:37 +01:00
channel-t.h MEDIUM: channel/stconn: Move rex/wex timer from the channel to the sedesc 2023-02-22 14:52:15 +01:00
channel.h MAJOR: stream: Use SE descriptor date to detect read/write timeouts 2023-02-22 15:57:16 +01:00
check-t.h BUG/MINOR: checks: restore legacy on-error fastinter behavior 2022-12-07 17:03:55 +01:00
check.h CLEANUP: check: rename all occurrences of stconn "cs" to "sc" 2022-05-27 19:33:35 +02:00
chunk.h MINOR: chunk: inline alloc_trash_chunk() 2022-08-17 10:45:22 +02:00
cli-t.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
cli.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
clock.h BUG/MINOR: clock: do not mix wall-clock and monotonic time in uptime calculation 2023-02-08 11:06:55 +01:00
compat.h MINOR: tcp: socket translate TCP_KEEPIDLE for macOs equivalent 2022-05-08 10:35:39 +02:00
compiler.h MINOR: compiler: add a TOSTR() macro to turn a value into a string 2023-02-22 09:10:53 +01:00
compression-t.h BUILD: compression: switch SLZ from out-of-tree to in-tree 2021-04-22 16:08:25 +02:00
compression.h REORG: include: move compression.h to haproxy/compression{,-t}.h 2020-06-11 10:18:57 +02:00
connection-t.h BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns 2022-10-03 12:06:36 +02:00
connection.h BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns 2022-10-03 12:06:36 +02:00
counters-t.h MINOR: stats: add by HTTP version cumulated number of sessions and requests 2023-02-03 17:55:49 +01:00
cpuset-t.h MEDIUM: cpu-map: replace the process number with the thread group number 2022-07-15 19:43:10 +02:00
cpuset.h MEDIUM: cpu-map: replace the process number with the thread group number 2022-07-15 19:43:10 +02:00
debug.h MINOR: wdt: do not rely on threads_to_dump anymore 2022-07-01 19:26:35 +02:00
defaults.h MEDIUM: clock: force internal time to wrap early after boot 2023-02-08 11:10:33 +01:00
dgram-t.h BUG/MAJOR: dns: multi-thread concurrency issue on UDP socket 2022-05-11 15:20:10 +02:00
dgram.h REORG: dgram: rename proto_udp to dgram 2020-06-11 10:18:59 +02:00
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-t.h MINOR: resolvers/dns: split dns and resolver counters in dns_counter struct 2021-11-03 17:16:46 +01:00
dns.h DOC: fix a few remainig cases of "Haproxy" and "HAproxy" in doc and comments 2021-05-09 06:50:46 +02:00
dynbuf-t.h MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait 2021-02-20 12:38:18 +01:00
dynbuf.h MINOR: dynbuf: switch allocation and release to macros to better track users 2022-11-16 11:44:26 +01:00
errors.h MINOR: logs: startup-logs can use a shm for logging the reload 2022-10-13 16:50:22 +02:00
event_hdl-t.h CLEANUP: assorted typo fixes in the code and comments 2022-12-07 09:08:18 +01:00
event_hdl.h MINOR: event_hdl: add event handler base api 2022-12-02 09:40:52 +01:00
extcheck.h MEDIUM: task: extend the state field to 32 bits 2021-03-05 08:30:08 +01:00
fcgi-app-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
fcgi-app.h REORG: include: move stream.h to haproxy/stream{,-t}.h 2020-06-11 10:18:58 +02:00
fcgi.h REORG: include: move common/fcgi.h to haproxy/ 2020-06-11 10:18:57 +02:00
fd-t.h MINOR: flags/fd: decode FD flags states 2022-09-12 19:33:07 +02:00
fd.h BUG/MINOR: thread: always reload threads_enabled in loops 2023-01-19 19:22:17 +01:00
filters-t.h DOC: fix a few remainig cases of "Haproxy" and "HAproxy" in doc and comments 2021-05-09 06:50:46 +02:00
filters.h BUG/MAJOR: filters: Always keep all offsets up to date during data filtering 2020-11-24 14:17:32 +01:00
fix-t.h BUG/MINOR: sample: Rename SenderComID/TargetComID to SenderCompID/TargetCompID 2021-03-10 10:44:20 +01:00
fix.h BUG/MINOR: sample: Rename SenderComID/TargetComID to SenderCompID/TargetCompID 2021-03-10 10:44:20 +01:00
flt_http_comp.h REORG: include: move proxy.h to haproxy/proxy{,-t}.h 2020-06-11 10:18:58 +02:00
freq_ctr-t.h MINOR: freq_ctr: unify freq_ctr and freq_ctr_period into freq_ctr 2021-04-11 11:11:27 +02:00
freq_ctr.h MINOR: freq_ctr: add opportunistic versions of swrate_add() 2022-12-20 14:51:12 +01:00
frontend.h REORG: include: move stream.h to haproxy/stream{,-t}.h 2020-06-11 10:18:58 +02:00
global-t.h BUG/MINOR: haproxy: Fix option to disable the fast-forward 2023-02-21 11:44:55 +01:00
global.h MEDIUM: tasks/fd: replace sleeping_thread_mask with a TH_FL_SLEEPING flag 2022-07-01 19:15:14 +02:00
h1.h BUILD: tree-wide: mark a few numeric constants as explicitly long long 2022-01-28 19:04:02 +01:00
h1_htx.h BUG/MEDIUM: mux-h1: Adjust conditions to ask more space in the channel buffer 2021-09-23 16:13:17 +02:00
h2.h MINOR: h2: add h2_phdr_to_ist() to make ISTs from pseudo headers 2023-01-26 15:49:43 +01:00
h3.h MINOR: h3: add traces on decode_qcs callback 2023-02-17 17:31:52 +01: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
hash.h REORG: include: move base64.h, errors.h and hash.h from common to to haproxy/ 2020-06-11 10:18:56 +02:00
hlua-t.h BUG/MEDIUM: httpclient/lua: fix a race between lua GC and hlua_ctx_destroy 2023-02-22 11:44:22 +01:00
hlua.h MINOR: hlua: add a new hlua_show_current_location() function 2022-06-19 17:58:32 +02:00
hlua_fcn.h REORG: include: move hlua_fcn.h to haproxy/hlua_fcn.h 2020-06-11 10:18:57 +02:00
hpack-dec.h REORG: include: move hpack*.h to haproxy/ and split hpack-tbl 2020-06-11 10:18:57 +02:00
hpack-enc.h REORG: include: move hpack*.h to haproxy/ and split hpack-tbl 2020-06-11 10:18:57 +02:00
hpack-huff.h REORG: include: move hpack*.h to haproxy/ and split hpack-tbl 2020-06-11 10:18:57 +02:00
hpack-tbl-t.h BUILD: hpack: hpack-tbl-t.h uses VAR_ARRAY but does not include compiler.h 2020-12-22 10:18:07 +01:00
hpack-tbl.h CLEANUP: hpack: export debug functions and move inlines to .h 2020-06-11 10:18:58 +02:00
hq_interop.h MINOR: quic: support hq-interop 2021-11-18 10:50:58 +01:00
http-hdr-t.h REORG: include: split common/http-hdr.h into haproxy/http-hdr{,-t}.h 2020-06-11 10:18:57 +02:00
http-hdr.h REORG: include: split common/http-hdr.h into haproxy/http-hdr{,-t}.h 2020-06-11 10:18:57 +02:00
http-t.h MINOR: http: Add http_auth_bearer sample fetch 2021-10-14 16:38:07 +02:00
http.h MINOR: http: extract content-length parsing from H2 2022-12-14 11:34:18 +01:00
http_ana-t.h BUG/MINOR: cache: Cache response even if request has "no-cache" directive 2023-02-21 18:35:41 +01: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: Make the CLI flags public for future use 2022-12-21 11:21:07 +01:00
http_client.h MINOR: httpclient: export httpclient_create_proxy() 2022-09-14 14:34:39 +02: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 CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
http_htx-t.h REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +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 BUILD: http_rules: do not declare http_*_keywords_registre() inline 2022-03-02 14:50:38 +01:00
htx-t.h MINOR: flags/htx: use flag dumping to show htx and start-line flags 2022-09-09 16:59:29 +02:00
htx.h MINOR: htx: Add an HTX value for the extra field is payload length is unknown 2023-01-13 11:51:11 +01:00
init-t.h MINOR: init: add the pre-check callback 2022-04-22 15:45:47 +02:00
init.h MINOR: init: add the pre-check callback 2022-04-22 15:45:47 +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 function to return a valid bit position from a mask 2022-06-21 20:29:57 +02:00
istbuf.h REORG: include: move istbuf.h to haproxy/ 2020-06-11 10:18:56 +02:00
jwt-t.h MINOR: jwt: jwt_verify returns negative values in case of error 2021-10-18 16:02:29 +02: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 CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
lb_chash.h BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree 2021-05-31 10:55:51 +02:00
lb_fas-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
lb_fas.h REORG: include: move server.h to haproxy/server{,-t}.h 2020-06-11 10:18:58 +02:00
lb_fwlc-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
lb_fwlc.h REORG: include: move server.h to haproxy/server{,-t}.h 2020-06-11 10:18:58 +02:00
lb_fwrr-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
lb_fwrr.h REORG: include: move server.h to haproxy/server{,-t}.h 2020-06-11 10:18:58 +02:00
lb_map-t.h CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
lb_map.h REORG: include: move server.h to haproxy/server{,-t}.h 2020-06-11 10:18:58 +02:00
list-t.h REORG: include: split mini-clist into haproxy/list and list-t.h 2020-06-11 10:18:56 +02:00
list.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
listener-t.h CLEANUP: listener: only store conn counts for local threads 2023-02-28 10:28:47 +01:00
listener.h MINOR: listener: pause_listener() becomes suspend_listener() 2023-02-23 15:05:05 +01:00
log-t.h MINOR: log: register config file and line number on log servers. 2021-04-07 09:18:34 +02:00
log.h BUG/MINOR: httpclient/log: free of invalid ptr with httpclient_log_format 2022-12-22 15:39:31 +01:00
mailers-t.h REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +02:00
mailers.h REORG: check: move the e-mail alerting code to mailers.c 2020-06-11 10:18:58 +02:00
map-t.h REORG: include: move sample.h to haproxy/sample{,-t}.h 2020-06-11 10:18:58 +02:00
map.h REORG: include: move sample.h to haproxy/sample{,-t}.h 2020-06-11 10:18:58 +02:00
mqtt-t.h MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1 2022-03-22 09:25:52 +01:00
mqtt.h MINOR: sample: Add converts to parses MQTT messages 2020-11-05 19:27:03 +01:00
mux_fcgi-t.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
mux_h1-t.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
mux_h2-t.h CLEANUP: mux-h2: Remove unused fields in h2c structures 2022-11-17 14:33:15 +01:00
mux_quic-t.h MINOR: mux-quic: implement client-fin timeout 2023-02-20 11:20:18 +01:00
mux_quic.h MEDIUM: mux-quic: Don't expect data from server as long as request is unfinished 2023-02-27 17:45:45 +01:00
mworker-t.h MINOR: mworker: implement a reload failure counter 2021-11-10 15:53:01 +01:00
mworker.h MINOR: mworker: allocate and initialize a mworker_proc 2022-01-28 23:52:36 +01:00
namespace-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
namespace.h CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
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 functions for pointers 2021-09-23 15:27:25 +02:00
obj_type-t.h CLEANUP: obj_type: rename OBJ_TYPE_CS to OBJ_TYPE_SC 2022-05-27 19:33:35 +02:00
obj_type.h CLEANUP: obj_type: rename OBJ_TYPE_CS to OBJ_TYPE_SC 2022-05-27 19:33:35 +02:00
openssl-compat.h BUG/MINOR: ssl: Fix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0) 2023-01-19 11:13:51 +01:00
pattern-t.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
pattern.h CLEANUP: pattern: remove export of non-existent function pattern_delete() 2021-05-25 08:44:48 +02:00
payload.h REORG: include: move stream.h to haproxy/stream{,-t}.h 2020-06-11 10:18:58 +02:00
peers-t.h BUILD: peers: peers-t.h depends on stick-table-t.h 2022-12-16 15:51:44 +01:00
peers.h CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
pipe-t.h REORG: include: move pipe.h to haproxy/pipe{,-t}.h 2020-06-11 10:18:57 +02:00
pipe.h REORG: include: move pipe.h to haproxy/pipe{,-t}.h 2020-06-11 10:18:57 +02:00
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 OPTIM: pool: split the read_mostly from read_write parts in pool_head 2022-12-20 14:51:12 +01:00
pool.h BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats 2022-12-22 13:46:21 +01:00
port_range-t.h CLEANUP: tree-wide: use VAR_ARRAY instead of [0] in various definitions 2020-09-12 20:56:41 +02:00
port_range.h BUG/MINOR: server: Missing calloc return value check in srv_parse_source 2021-05-31 10:50:32 +02:00
proto_quic.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_sockpair.h MINOR: protocol: export protocol definitions 2020-12-08 14:54:08 +01:00
proto_tcp.h MINOR: protocol: export protocol definitions 2020-12-08 14:54:08 +01:00
proto_udp.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_uxst.h MINOR: protocol: export protocol definitions 2020-12-08 14:54:08 +01:00
protobuf-t.h REORG: include: move protocol_buffers.h to haproxy/protobuf{,-t}.h 2020-06-11 10:18:58 +02:00
protobuf.h CLEANUP: Apply the coccinelle patch for XXXcmp() on include/ 2021-01-04 10:09:02 +01:00
protocol-t.h MINOR: protocol: replace ctrl_type with xprt_type and clarify it 2022-05-20 18:39:43 +02:00
protocol.h MINOR: protocols: replace protocol_by_family() with protocol_lookup() 2021-10-27 17:41:07 +02:00
proxy-t.h MINOR: listener: pause_listener() becomes suspend_listener() 2023-02-23 15:05:05 +01:00
proxy.h MINOR: stats: add by HTTP version cumulated number of sessions and requests 2023-02-03 17:55:49 +01:00
qmux_http.h MINOR: h3/hq-interop: handle no data in decode_qcs() with FIN set 2023-02-17 16:25:00 +01:00
qmux_trace.h MEDIUM: mux-quic: implement shutw 2022-12-22 16:22:39 +01:00
qpack-dec.h MINOR: qpack: report error on enc/dec stream close 2022-08-17 11:04:53 +02:00
qpack-enc.h MINOR: qpack: encode headers functions 2021-09-23 15:27:25 +02:00
qpack-t.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
qpack-tbl-t.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +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 CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
queue.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_cc-t.h MEDIUM: quic: Cubic congestion control algorithm implementation 2022-07-29 17:32:05 +02:00
quic_cc.h CLEANUP: quic: create a dedicated quic_conn module 2022-10-03 16:25:17 +02:00
quic_conn-t.h MEDIUM: quic: trigger fast connection closing on process stopping 2023-02-20 11:20:18 +01:00
quic_conn.h MINOR: quic: implement qc_notify_send() 2023-03-01 14:29:16 +01:00
quic_enc.h MINOR: h3: extend function for QUIC varint encoding 2023-01-19 15:09:01 +01:00
quic_frame-t.h BUG/MEDIUM: quic: properly handle duplicated STREAM frames 2023-03-03 15:08:02 +01:00
quic_frame.h MEDIUM: quic: implement a retransmit limit per frame 2023-02-03 11:56:42 +01:00
quic_loss-t.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_loss.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
quic_sock-t.h CLEANUP: quic: improve naming for rxbuf/datagrams handling 2022-10-13 11:06:48 +02:00
quic_sock.h MEDIUM: quic: improve fatal error handling on send 2023-02-28 10:51:25 +01:00
quic_stats-t.h MINOR: quic: detect connection migration 2022-12-02 14:45:43 +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 MEDIUM: quic: implement multi-buffered Tx streams 2022-04-21 12:03:20 +02:00
quic_stream.h BUG/MINOR: mux-quic: Fix memleak on QUIC stream buffer for unacknowledged data 2022-08-20 19:08:31 +02:00
quic_tls-t.h MINOR: quic: Replace v2 draft definitions by those of the final 2 version 2023-01-17 16:35:20 +01:00
quic_tls.h BUG/MINOR: quic: properly handle alloc failure in qc_new_conn() 2022-12-12 11:44:34 +01:00
quic_tp-t.h MINOR: quic: Update version_information transport parameter to draft-14 2023-02-06 11:54:07 +01:00
quic_tp.h CLEANUP: quic: replace "choosen" with "chosen" all over the code 2022-11-21 09:22:28 +01:00
receiver-t.h CLEANUP: quic: improve naming for rxbuf/datagrams handling 2022-10-13 11:06:48 +02:00
regex-t.h BUILD/MINOR: regex: avoid a build warning on USE_PCRE2 with -Wundef 2021-08-28 12:49:58 +02:00
regex.h OPTIM: regex: PCRE2 use JIT match when JIT optimisation occured. 2020-08-14 07:53:40 +02:00
resolvers-t.h MINOR: resolvers: shut the warning when "default" resolvers is implicit 2022-08-24 14:56:42 +02:00
resolvers.h CLEANUP: stats: rename all occurrences of stconn "cs" to "sc" 2022-05-27 19:33:35 +02:00
ring-t.h CLEANUP: ring: remove the now unused ring's offset 2023-02-24 09:26:30 +01:00
ring.h MINOR: ring: ring_cast_from_area() cast from an allocated area 2022-10-13 16:45:28 +02:00
sample-t.h MINOR: sample: add a new CLI_PARSER context for samples 2021-03-26 16:34:53 +01:00
sample.h BUILD: sample: use __fallthrough in smp_is_rw() and smp_dup() 2022-11-14 11:14:02 +01:00
sample_data-t.h CLEANUP: include: move sample_data out of sample-t.h 2020-06-11 10:18:59 +02:00
sc_strm.h MINOR: stconn: Set half-close timeout using proxy settings 2023-02-22 15:59:16 +01:00
server-t.h MINOR: server/event_hdl: add support for SERVER_UP and SERVER_DOWN events 2022-12-06 10:22:07 +01:00
server.h MINOR: cfgparse/server: move (min/max)conn postparsing logic into dedicated function 2023-02-08 14:48:21 +01:00
session-t.h MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters 2023-01-06 18:08:49 +01:00
session.h MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters 2023-01-06 18:08:49 +01:00
shctx-t.h CLEANUP: shctx: remove the different inter-process locking techniques 2021-06-15 16:52:42 +02:00
shctx.h CLEANUP: shctx: remove the different inter-process locking techniques 2021-06-15 16:52:42 +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 REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +02:00
signal.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
sink-t.h MINOR: ring: add support for a backing-file 2022-08-12 11:18:46 +02:00
sink.h BUG/MEDIUM: sink: bad init sequence on tcp sink from a ring. 2022-09-13 17:03:30 +02: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: move the unused socket cleaning code into its own function 2022-01-28 19:04:02 +01:00
sock_inet.h MINOR: protocol: add a ->set_port() helper to address families 2020-12-04 15:08:00 +01:00
sock_unix.h CLEANUP: protocol: remove the now unused <handler> field of proto_fam->bind() 2020-10-15 21:47:56 +02:00
spoe-t.h MINOR: spoe: Add a pointer on the filter config in the spoe_agent structure 2021-08-05 10:07:43 +02:00
spoe.h REORG: include: move spoe.h to haproxy/spoe{,-t}.h 2020-06-11 10:18:58 +02:00
ssl_ckch-t.h MINOR: ssl: Store 'ocsp-update' mode in the ckch_data and check for inconsistencies 2022-12-21 11:21:07 +01:00
ssl_ckch.h MEDIUM: ssl: rename the struct "cert_key_and_chain" to "ckch_data" 2022-12-02 11:48:30 +01:00
ssl_crtlist-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
ssl_crtlist.h BUG/MINOR: ssl: Prevent disk access when using "add ssl crt-list" 2021-03-23 19:29:46 +01:00
ssl_ocsp-t.h BUG/MINOR: ssl: Fix ocsp-update when using "add ssl crt-list" 2023-03-02 15:57:56 +01:00
ssl_ocsp.h MINOR: ssl/ocsp: add a function to check the OCSP update configuration 2023-02-08 11:40:31 +01:00
ssl_sock-t.h MINOR: ssl: Add global options to modify ocsp update min/max delay 2023-03-02 15:37:23 +01:00
ssl_sock.h MINOR: ssl: rename confusing ssl_bind_kws 2023-02-16 16:03:45 +01:00
ssl_utils.h MINOR: ssl: Move OCSP code to a dedicated source file 2022-12-21 11:21:07 +01:00
stats-t.h MINOR: stats: add by HTTP version cumulated number of sessions and requests 2023-02-03 17:55:49 +01:00
stats.h BUG/MEDIUM: stats: fix resolvers dump 2023-02-06 07:53:03 +01:00
stconn-t.h MINOR: stconn: Remove half-closed timeout 2023-02-22 15:59:16 +01:00
stconn.h MINOR: stconn: Report a send activity when endpoint is willing to consume data 2023-02-27 17:45:45 +01:00
stick_table-t.h MINOR: stick-table: store a per-table hash seed and use it 2022-11-28 18:58:06 +01:00
stick_table.h MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters 2023-01-06 18:08:49 +01:00
stream-t.h MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters 2023-01-06 18:08:49 +01:00
stream.h MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters 2023-01-06 18:08:49 +01:00
task-t.h MINOR: flags/task: use flag dumping for task state 2022-09-09 16:52:09 +02:00
task.h BUG/MAJOR: sched: protect task during removal from wait queue 2022-11-22 09:10:08 +01:00
tcp_rules.h MINOR: actions: Export actions lookup functions 2020-12-02 09:45:18 +01:00
tcpcheck-t.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
tcpcheck.h BUILD: tcpcheck: do not declare tcp_check_keywords_register() inline 2022-03-02 14:54:44 +01:00
thread-t.h MEDIUM: debug/threads: make the lock debugging take tgroups into account 2022-07-15 19:41:26 +02:00
thread.h CLEANUP: listener/thread: remove now unused bind_conf's bind_tgroup/bind_thread 2023-02-03 18:00:21 +01:00
ticks.h REORG: time/ticks: move now_ms and global_now_ms definitions to ticks.h 2021-10-07 01:41:14 +02:00
time.h REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
tinfo-t.h MINOR: threads: add flags to know if a thread is started and/or running 2023-02-17 16:01:34 +01:00
tinfo.h MINOR: tinfo: make thread_set functions return nth group/mask instead of first 2023-02-28 10:28:47 +01:00
tools-t.h MINOR: tools: introduce new option PA_O_DEFAULT_DGRAM on str2sa_range. 2021-03-23 15:32:22 +01:00
tools.h MINOR: ssl: Add OCSP request helper function 2022-12-21 11:21:07 +01:00
trace-t.h CLEANUP: trace: remove the QUIC-specific ifdefs 2023-01-26 15:49:43 +01:00
trace.h MINOR: trace: add the long awaited TRACE_PRINTF() 2023-01-26 15:49:43 +01:00
uri_auth-t.h REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +02:00
uri_auth.h REORG: include: split common/uri_auth.h into haproxy/uri_auth{,-t}.h 2020-06-11 10:18:58 +02:00
uri_normalizer-t.h MINOR: uri_normalizer: Add enum uri_normalizer_err 2021-04-19 09:05:57 +02:00
uri_normalizer.h MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
vars-t.h CLEANUP: assorted typo fixes in the code and comments This is 29th iteration of typo fixes 2022-01-03 14:40:58 +01:00
vars.h OPTIM: vars: only takes the variables lock on shared entries 2021-09-08 15:44:45 +02:00
version.h [RELEASE] Released version 2.8-dev0 2022-12-01 15:25:34 +01:00
xref-t.h REORG: include: split common/xref.h into haproxy/xref{,-t}.h 2020-06-11 10:18:57 +02:00
xref.h CLEANUP: include: make atomic.h part of the base API 2020-06-11 10:18:59 +02:00
xxhash.h CLEANUP: Move XXH3 macro from haproxy/compat.h to haproxy/xxhash.h 2021-09-11 20:37:50 +02:00