haproxy/include/haproxy
Willy Tarreau efc46dede9 DEBUG: pools: inspect pools on fatal error and dump information found
It's a bit frustrating sometimes to see pool checks catch a bug but not
provide exploitable information without a core.

Here we're adding a function "pool_inspect_item()" which is called just
before aborting in pool_check_pattern() and POOL_DEBUG_CHECK_MARK() and
which will display the error type, the pool's pointer and name, and will
try to check if the item's tag matches the pool, and if not, will iterate
over all pools to see if one would be a better candidate, then will try
to figure the last known caller and possibly other likely candidates if
the pool's tag is not sufficiently trusted. This typically helps better
diagnose corruption in use-after-free scenarios, or freeing to a pool
that differs from the one the object was allocated from, and will also
indicate calling points that may help figure where an object was last
released or allocated. The info is printed on stderr just before the
backtrace.

For example, the recent off-by-one test in the PPv2 changes would have
produced the following output in vtest logs:

  ***  h1    debug|FATAL: pool inconsistency detected in thread 1: tag mismatch on free().
  ***  h1    debug|  caller: 0x62bb87 (conn_free+0x147/0x3c5)
  ***  h1    debug|  pool: 0x2211ec0 ('pp_tlv_256', size 304, real 320, users 1)
  ***  h1    debug|Tag does not match. Possible origin pool(s):
  ***  h1    debug|  tag: @0x2565530 = 0x2216740 (pp_tlv_128, size 176, real 192, users 1)
  ***  h1    debug|Recorded caller if pool 'pp_tlv_128':
  ***  h1    debug|  @0x2565538 (+0184) = 0x62c76d (conn_recv_proxy+0x4cd/0xa24)

A mismatch in the allocated/released pool is already visible, and the
callers confirm it once resolved, where the allocator indeed allocates
from pp_tlv_128 and conn_free() releases to pp_tlv_256:

  $ addr2line -spafe ./haproxy <<< $'0x62bb87\n0x62c76d'
  0x000000000062bb87: conn_free at connection.c:568
  0x000000000062c76d: conn_recv_proxy at connection.c:1177
2023-09-11 15:46:14 +02:00
..
acl-t.h MINOR: acl: add acl() sample fetch 2023-08-01 10:49:06 +02:00
acl.h CLEANUP: acl: discard prune_acl_cond() function 2023-05-11 15:37:04 +02:00
action-t.h MINOR: tcp-act: define optional arg name for attach-srv 2023-08-24 15:28:38 +02: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 MINOR: check/activity: collect some per-thread check activity stats 2023-09-01 08:26:06 +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 BUG/MEDIUM: applet: Fix API for function to push new data in channels buffer 2023-09-06 09:29:27 +02: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 MINOR: atomic: make sure to always relax after a failed CAS 2023-08-17 09:09:20 +02: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 MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02: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 MINOR: buffer: add br_single() to check if a buffer ring has more than one buf 2023-03-16 18:45:46 +01:00
bug.h BUILD: bug: make BUG_ON() void to avoid a rare warning 2023-09-04 19:38:51 +02: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 REORG: cpuset: move parse_cpu_set() and parse_cpumap() to cpuset.c 2023-09-08 16:25:19 +02:00
channel-t.h MEDIUM: tree-wide: Move flags about shut from the channel to the SC 2023-04-05 08:57:06 +02:00
channel.h MINOR: stconn: Add a flag to report EOS at the stream-connector level 2023-04-17 17:41:28 +02:00
check-t.h MEDIUM: checks: implement a queue in order to limit concurrent checks 2023-09-01 14:00:04 +02:00
check.h MINOR: server: srv_append_status refacto 2023-04-21 14:36:45 +02:00
chunk.h MINOR: chunk: inline alloc_trash_chunk() 2022-08-17 10:45:22 +02:00
cli-t.h MINOR: cli: add an option to display the uptime in the CLI's prompt 2023-05-11 16:38:52 +02:00
cli.h CLEANUP: assorted typo fixes in the code and comments 2022-11-30 14:02:36 +01:00
clock.h MINOR: clock: provide a function to automatically adjust now_offset 2023-05-17 09:33:54 +02:00
compat.h MINOR: clock: add now_mono_time_fast() function 2023-04-19 11:03:31 +02:00
compiler.h BUILD: compiler: systematically set USE_OBSOLETE_LINKER with TCC 2023-05-24 21:37:06 +02:00
compression-t.h MEDIUM: compression: Make it so we can compress requests as well. 2023-04-07 00:49:17 +02: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 MEDIUM: connection: Generic, list-based allocation and look-up of PPv2 TLVs 2023-08-29 15:15:47 +02:00
connection.h MINOR: sample: Refactor fc_pp_authority by wrapping the generic TLV fetch 2023-08-29 15:31:51 +02:00
counters-t.h MINOR: compression: Count separately request and response compression 2023-04-07 00:47:04 +02: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 REORG: cpuset: move parse_cpu_set() and parse_cpumap() to cpuset.c 2023-09-08 16:25:19 +02:00
debug.h CLEANUP: debug: remove the now unused ha_thread_dump_all_to_trash() 2023-05-04 19:19:04 +02:00
defaults.h MINOR: pools: introduce the use of multiple buckets 2023-08-12 19:04:34 +02: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: set POOL_F_NO_FAIL on buffer allocation 2023-03-21 09:15:13 +01: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: checks/event_hdl: SERVER_CHECK event 2023-05-05 16:28:32 +02:00
event_hdl.h MINOR: event_hdl: dynamically allocated event data members 2023-04-21 14:36:45 +02: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: fd: add a lock bit with the tgid 2023-04-13 16:57:51 +02:00
fd.h MINOR: fd: implement fd_migrate_on() to migrate on a non-local thread 2023-04-13 16:57:51 +02: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: quic: Wrong cluster secret initialization 2023-09-08 09:50:58 +02:00
global.h MINOR: global: export the display_version() symbol 2023-09-05 15:24:39 +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: pass accept-invalid-http-request down the request parser 2023-08-08 19:10:54 +02: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 CLEANUP: hlua: avoid confusion between internal timers and tick based timers 2023-04-19 11:03:31 +02:00
hlua.h BUG/MINOR: hlua: hlua_yieldk ctx argument should support pointers 2023-07-17 07:42:47 +02:00
hlua_fcn.h MINOR: hlua_fcn: add Server.get_proxy() 2023-05-05 16:28:32 +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: add new function http_path_has_forbidden_char() 2023-08-08 19:10:54 +02:00
http_ana-t.h MINOR: cache: Change hash function in default normalizer used in case of "vary" 2023-09-06 16:11:31 +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: 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 MINOR: proxy: add http_free_redirect_rule() function 2023-05-11 15:37:04 +02:00
htx-t.h BUG/MINOR: htx/mux-h1: Properly handle bodyless responses when splicing is used 2023-08-02 12:05:05 +02:00
htx.h MINOR: htx: add function to set EOM reliably 2023-05-12 15:29:28 +02: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
linuxcap.h MEDIUM: capabilities: enable support for Linux capabilities 2023-08-29 11:11:50 +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 DEBUG: list: add DEBUG_LIST to purposely corrupt list heads after delete 2023-05-11 11:33:35 +02:00
listener-t.h MINOR: proto_reverse_connect: parse rev@ addresses for bind 2023-08-24 17:02:37 +02:00
listener.h MINOR: stats: report the number of times the global maxconn was reached 2023-05-11 13:51:31 +02: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 MEDIUM: log/sink: make logsrv postparsing more generic 2023-09-06 16:06:39 +02: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 MINOR: mailers/hlua: disable email sending from lua 2023-05-05 16:28:32 +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: remove nb_streams from qcc 2023-05-26 17:17:00 +02:00
mux_quic.h MINOR: h3: abort request if not completed before full response 2023-08-04 16:17:16 +02: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 BUILD: ssl: Build with new cryptographic library AWS-LC 2023-09-04 18:19:18 +02:00
pattern-t.h MEDIUM: map/acl: Replace map/acl spin lock by a read/write lock. 2023-08-25 15:42:03 +02:00
pattern.h MEDIUM: map/acl: Improve pat_ref_set() efficiency (for "set-map", "add-acl" action perfs) 2023-08-25 15:41:56 +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 MINOR: peers: add peers keyword registration 2023-07-20 18:12:44 +02:00
peers.h MINOR: peers: add peers keyword registration 2023-07-20 18:12:44 +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 MAJOR: pools: move the shared pool's free_list over multiple buckets 2023-08-12 19:04:34 +02:00
pool.h DEBUG: pools: inspect pools on fatal error and dump information found 2023-09-11 15:46:14 +02: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 MEDIUM: quic: use a global CID trees list 2023-04-18 16:54:17 +02:00
proto_reverse_connect.h MEDIUM: proto_reverse_connect: bootstrap active reverse connection 2023-08-24 17:03:06 +02:00
proto_sockpair.h MINOR: protocol: export protocol definitions 2020-12-08 14:54:08 +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 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: proto: define dedicated protocol for active reverse connect 2023-08-24 17:02:37 +02:00
protocol.h MINOR: protocol: add a function to check if some features are supported 2023-04-23 09:46:15 +02:00
proxy-t.h CLEANUP: proxy: remove stop_time related dead code 2023-03-28 20:26:47 +02:00
proxy.h MINOR: proxy: simplify parsing 'backend/server' 2023-08-24 14:44:33 +02:00
qmux_http.h MINOR: mux-quic: remove dedicated function to handle standalone FIN 2023-05-12 15:50:30 +02:00
qmux_trace.h MINOR: mux-quic: add traces for stream wake 2023-05-11 14:04:51 +02: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_ack-t.h MINOR: quic: Add a new quic_ack.c C module for QUIC acknowledgements 2023-07-27 10:51:03 +02:00
quic_ack.h MINOR: quic: Add a new quic_ack.c C module for QUIC acknowledgements 2023-07-27 10:51:03 +02:00
quic_cc-t.h BUG/MAJOR: quic: Congestion algorithms states shared between the connection 2023-04-02 13:10:13 +02:00
quic_cc.h MINOR: quic: Adjustments for generic control congestion traces 2023-03-31 09:54:59 +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/MINOR: quic: Possible crash when issuing "show fd/sess" CLI commands 2023-08-11 11:21:31 +02:00
quic_conn.h MEDIUM: quic: Allow the quic_conn memory to be asap released. 2023-08-08 14:59:17 +02:00
quic_enc.h MINOR: h3: extend function for QUIC varint encoding 2023-01-19 15:09:01 +01:00
quic_frame-t.h MINOR: quic; Move the QUIC frame pool to its proper location 2023-07-27 10:51:03 +02:00
quic_frame.h MINOR: quic: Split QUIC connection code into three parts 2023-07-27 10:51:03 +02:00
quic_loss-t.h BUG/MINOR: quic: Wrong RTT computation (srtt and rrt_var) 2023-09-05 17:14:51 +02:00
quic_loss.h BUG/MINOR: quic: Wrong RTT computation (srtt and rrt_var) 2023-09-05 17:14:51 +02:00
quic_openssl_compat-t.h MINOR: quic: QUIC openssl wrapper implementation 2023-07-21 15:53:40 +02:00
quic_openssl_compat.h MINOR: quic: QUIC openssl wrapper implementation 2023-07-21 15:53:40 +02:00
quic_rx-t.h MINOR: quic: Split QUIC connection code into three parts 2023-07-27 10:51:03 +02:00
quic_rx.h MINOR: quic: Split QUIC connection code into three parts 2023-07-27 10:51:03 +02:00
quic_sock-t.h CLEANUP: quic: improve naming for rxbuf/datagrams handling 2022-10-13 11:06:48 +02:00
quic_sock.h MINOR: quic: properly finalize thread rebinding 2023-04-18 17:09:02 +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: Add new "QUIC over SSL" C module. 2023-07-27 10:51:03 +02:00
quic_stats-t.h MINOR: quic: fix stats naming for flow control BLOCKED frames 2023-05-26 17:17:00 +02: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: differentiate failure on qc_stream_desc alloc 2023-05-12 16:26:20 +02:00
quic_tls-t.h MINOR: quic: Add a new quic_ack.c C module for QUIC acknowledgements 2023-07-27 10:51:03 +02:00
quic_tls.h MINOR: quic: Split QUIC connection code into three parts 2023-07-27 10:51:03 +02:00
quic_tp-t.h BUG/MINOR: quic: Possible crash when dumping version information 2023-05-10 13:26:37 +02:00
quic_tp.h BUG/MINOR: quic: Possible crash when dumping version information 2023-05-10 13:26:37 +02:00
quic_trace-t.h MINOR: quic: Export QUIC traces code from quic_conn.c 2023-07-27 10:51:03 +02:00
quic_trace.h MINOR: quic: Export QUIC traces code from quic_conn.c 2023-07-27 10:51:03 +02:00
quic_tx-t.h MEDIUM: quic: Send CONNECTION_CLOSE packets from a dedicated buffer. 2023-08-08 10:57:00 +02:00
quic_tx.h CLEANUP: quic: Remove useless free_quic_tx_pkts() function. 2023-09-08 10:17:25 +02:00
receiver-t.h MEDIUM: proto_reverse_connect: bootstrap active reverse connection 2023-08-24 17:03:06 +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: add a function to compute max ring payload 2023-09-06 16:06:39 +02:00
sample-t.h MEDIUM: sample: introduce 'same' output type 2023-07-03 16:32:01 +02:00
sample.h MINOR: sample: introduce c_pseudo() conv function 2023-07-03 16:32:01 +02: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 BUG/MEDIUM: stconn: Don't block sends if there is a pending shutdown 2023-09-01 14:18:26 +02:00
server-t.h MINOR: ssl: add support for 'curves' keyword on server lines 2023-09-07 23:29:10 +02:00
server.h MINOR: server: move idle tree insert in a dedicated function 2023-08-25 15:57:48 +02:00
session-t.h MEDIUM: tree-wide: replace timeval with nanoseconds in tv_accept and tv_request 2023-04-28 16:08:08 +02: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 MEDIUM: log/sink: make logsrv postparsing more generic 2023-09-06 16:06:39 +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: add a function to check for SO_REUSEPORT support at runtime 2023-04-23 09:46:15 +02:00
sock_inet.h CLEANUP: fix a few reported typos in code comments 2023-05-07 07:07:44 +02: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: switch the timeval-based timestamps to nanosecond timestamps 2023-04-28 16:08:08 +02:00
spoe.h CLEANUP: assorted typo fixes in the code and comments 2023-04-01 18:33:40 +02:00
ssl_ckch-t.h BUG/MINOR: ssl/cli: can't find ".crt" files when replacing a certificate 2023-08-28 18:20:39 +02: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 MINOR: ssl: Use ocsp update task for "update ssl ocsp-response" command 2023-03-14 11:07:32 +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 support for 'curves' keyword on server lines 2023-09-07 23:29:10 +02:00
ssl_sock.h MINOR: ssl: rename confusing ssl_bind_kws 2023-02-16 16:03:45 +01:00
ssl_utils.h MINOR: ssl: add new sample ssl_c_r_dn 2023-05-15 10:48:05 +02:00
stats-t.h MINOR: tasks/stats: report the number of niced tasks in "show info" 2023-09-06 17:44:44 +02:00
stats.h MINOR: stats: Use the applet API to write data 2023-05-05 15:41:29 +02:00
stconn-t.h CLEANUP: stconn: Move comment about sedesc fields on the field line 2023-08-04 14:32:57 +02:00
stconn.h MEDIUM: stconn: make the SE_FL_ERR_PENDING to ERROR transition systematic 2023-05-23 16:17:04 +02:00
stick_table-t.h CLEANUP: stick-table: slightly reorder the stktable struct 2023-08-11 19:03:35 +02:00
stick_table.h MEDIUM: stick-table: change the ref_cnt atomically 2023-08-11 19:03:35 +02:00
stream-t.h MINOR: master/cli: also implement the timed prompt on the master CLI 2023-05-11 16:38:52 +02:00
stream.h MINOR: stream: Introduce stream_abort() to abort on both sides in same time 2023-04-14 14:04:59 +02:00
task-t.h MINOR: flags/task: use flag dumping for task state 2022-09-09 16:52:09 +02:00
task.h MINOR: tasks/stats: report the number of niced tasks in "show info" 2023-09-06 17:44:44 +02: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 MEDIUM: threads: detect excessive thread counts vs cpu-map 2023-09-04 19:39:17 +02: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 BUG/MINOR: time: fix NS_TO_TV macro 2023-05-04 18:09:50 +02:00
timeshift.h REORG: cfgparse: extract curproxy as a global variable 2023-08-01 10:48:28 +02:00
tinfo-t.h MEDIUM: checks: implement a queue in order to limit concurrent checks 2023-09-01 14:00:04 +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: introduce new option PA_O_DEFAULT_DGRAM on str2sa_range. 2021-03-23 15:32:22 +01:00
tools.h MINOR: tools: add function read_line_to_trash() to read a line of a file 2023-09-08 16:25:19 +02:00
trace-t.h MEDIUM: applet/trace: Register a new trace source with its events 2023-04-05 08:46:06 +02:00
trace.h BUG/MINOR: trace: fix hardcoded level for TRACE_PRINTF 2023-03-22 15:31:55 +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.9-dev0 2023-05-31 16:29:19 +02: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