haproxy/src
Willy Tarreau 6455fd5024 MINOR: debug: add the ability to enter components in the post_mortem struct
Here the idea is to collect components' versions and build options. The
main component is haproxy, but the API is made so that any sub-system
can easily add a component there (for example the detailed version of a
device detection lib, or some info about a lib loaded from Lua).

The elements are stored as a pointer to an array of structs and its count
so that it's sufficient to issue this in gdb to list them all at once:

  print *post_mortem.components@post_mortem.nb_components

For now we collect name, version, toolchain, toolchain options, build
options and path. Maybe more could be useful in the future.
2023-11-23 15:39:21 +01:00
..
acl.c MINOR: acl: define explicit HTTP_3.0 2023-11-20 18:01:07 +01:00
action.c MINOR: support for http-request set-timeout client 2023-09-28 08:49:22 +02:00
activity.c MINOR: activity: report profiling duration and age in "show profiling" 2023-11-14 11:46:37 +01:00
applet.c BUG/MINOR: stconn/applet: Report send activity only if there was output data 2023-11-17 15:36:43 +01:00
arg.c CLEANUP: arg: remove extra check in make_arg_list arg escaping 2022-11-22 16:27:52 +01:00
auth.c MINOR: auth: silence null dereference warning in check_user() 2022-11-24 15:24:02 +01:00
backend.c MEDIUM: log/balance: merge tcp/http algo with log ones 2023-11-18 11:16:21 +01:00
base64.c
cache.c BUILD: cache: fix build error on older compilers 2023-11-20 11:43:52 +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
cfgcond.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
cfgdiag.c
cfgparse-global.c MINOR: global: Add an option to disable the zero-copy forwarding 2023-10-17 18:51:13 +02:00
cfgparse-listen.c Revert "MINOR: cfgparse-listen: "http-reuse" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
cfgparse-quic.c BUG/MINOR: quic: maximum window limits do not match the doc 2023-11-13 19:56:28 +01:00
cfgparse-ssl.c BUG/MINOR: ssl: load correctly @system-ca when ca-base is define 2023-10-23 22:03:55 +02:00
cfgparse-tcp.c BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line 2023-06-06 15:15:17 +02:00
cfgparse-unix.c
cfgparse.c MINOR: log/backend: ensure log exclusive params are not used in other modes 2023-11-18 11:16:21 +01:00
channel.c MINOR: tree-wide: Only rely on co_data() to check channel emptyness 2023-10-17 18:51:13 +02:00
check.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
chunk.c MEDIUM: init: initialize the trash earlier 2023-09-08 16:25:19 +02:00
cli.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
clock.c MINOR: clock: provide a function to automatically adjust now_offset 2023-05-17 09:33:54 +02:00
compression.c MINOR: compression/slz: add support for a pure flush of pending bytes 2023-06-30 16:12:36 +02:00
connection.c MINOR: connection: update rhttp flags usage 2023-11-16 17:53:31 +01:00
cpuset.c REORG: cpuset: move parse_cpu_set() and parse_cpumap() to cpuset.c 2023-09-08 16:25:19 +02:00
debug.c MINOR: debug: add the ability to enter components in the post_mortem struct 2023-11-23 15:39:21 +01:00
dgram.c MINOR: dgram: allow to set rcv/sndbuf for dgram sockets as well 2023-10-18 17:01:19 +02:00
dict.c
dns.c MEDIUM: tree-wide: Change sc API to specify required free space to progress 2023-05-05 15:44:23 +02:00
dynbuf.c DEBUG: pools: always record the caller for uncached allocs as well 2023-09-11 15:19:49 +02:00
eb32sctree.c
eb32tree.c
eb64tree.c
ebimtree.c
ebistree.c
ebmbtree.c
ebpttree.c
ebsttree.c
ebtree.c
errors.c MEDIUM: errors: move the MODE_QUIET test in print_message() 2023-11-09 14:39:11 +01:00
ev_epoll.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_evports.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_kqueue.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_poll.c BUG/MINOR: signals/poller: ensure wakeup from signals 2022-09-09 11:15:22 +02:00
ev_select.c
event_hdl.c Revert "MAJOR: import: update mt_list to support exponential back-off" 2023-09-15 17:13:43 +02:00
extcheck.c MINOR: checks: use the lighter PRNG for spread checks 2022-10-12 21:49:30 +02:00
fcgi-app.c Revert "MINOR: fcgi-app: "use-fcgi-app" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
fcgi.c BUG/MAJOR: fcgi: Fix uninitialized reserved bytes 2022-12-09 12:23:14 +01:00
fd.c BUG/MEDIUM: fd: don't wait for tmask to stabilize if we're not in it. 2023-04-13 18:04:46 +02:00
filters.c Revert "MINOR: filter: "filter" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
fix.c
flt_bwlim.c BUG/MEDIUM: bwlim: Reset analyse expiration date when then channel analyse ends 2023-08-01 11:33:45 +02:00
flt_http_comp.c Revert "MINOR: flt_http_comp: "compression" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
flt_spoe.c MEDIUM: tree-wide: logsrv struct becomes logger 2023-10-13 10:05:06 +02:00
flt_trace.c BUG/MINOR: trace: show wall-clock date, not internal date in show activity 2023-04-27 18:22:34 +02: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: frontend: implement a dedicated actconn increment function 2023-10-26 15:18:48 +02:00
h1_htx.c MINOR: h1-htx: Declare successful tunnel establishment as bodyless 2023-10-04 15:34:18 +02:00
h1.c BUG/MEDIUM: h1: Ignore C-L value in the H1 parser if T-E is also set 2023-10-04 15:34:18 +02:00
h2.c MINOR: h2: Set the BODYLESS_RESP flag on the HTX start-line if necessary 2023-10-17 18:51:13 +02:00
h3_stats.c
h3.c BUG/MINOR: h3: strengthen host/authority header parsing 2023-10-11 14:21:30 +02:00
haproxy.c DEBUG: tinfo: store the pthread ID and the stack pointer in tinfo 2023-11-23 14:32:55 +01:00
hash.c BUILD: hash: use __fallthrough in hash_djb2() 2022-11-14 11:14:02 +01:00
hlua_fcn.c Revert "MAJOR: import: update mt_list to support exponential back-off" 2023-09-15 17:13:43 +02:00
hlua.c BUG/MEDIUM: proxy: always initialize the default settings after init 2023-11-13 09:17:05 +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
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
hq_interop.c BUG/MINOR: hq-interop: simplify parser requirement 2023-10-04 17:32:23 +02:00
http_acl.c
http_act.c MINOR: support for http-response set-timeout 2023-10-17 08:27:33 +02:00
http_ana.c MINOR: tree-wide: Only rely on co_data() to check channel emptyness 2023-10-17 18:51:13 +02:00
http_client.c BUG/MEDIUM: proxy: always initialize the default settings after init 2023-11-13 09:17:05 +01:00
http_conv.c CLEANUP: assorted typo fixes in the code and comments 2023-04-01 18:33:40 +02:00
http_ext.c BUG/MINOR: http_ext: unhandled ERR_ABORT in proxy_http_parse_7239() 2023-07-06 15:41:17 +02:00
http_fetch.c MINOR: sample: Add fetcher for getting all cookie names 2023-11-03 09:57:06 +01:00
http_htx.c Revert "MINOR: http_htx/errors: prevent the use of some keywords when not in tcp/http mode" 2023-11-18 11:16:21 +01:00
http_rules.c MINOR: tree-wide: use free_acl_cond() where relevant 2023-05-11 15:37:04 +02:00
http.c MINOR: sample: Add fetcher for getting all cookie names 2023-11-03 09:57:06 +01:00
htx.c CLEANUP: htx: Properly indent htx_reserve_max_data() function 2023-11-07 10:41:11 +01:00
init.c
jwt.c MINOR: jwt: Add support for RSA-PSS signatures (PS256 algorithm) 2023-03-08 10:43:04 +01:00
lb_chash.c
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
linuxcap.c MEDIUM: capabilities: enable support for Linux capabilities 2023-08-29 11:11:50 +02:00
listener.c MINOR: quic: Add a max window parameter to congestion control algorithms 2023-11-13 17:53:18 +01:00
log.c BUILD: log: silence a build warning when threads are disabled 2023-11-22 11:21:07 +01:00
lru.c
mailers.c MINOR: mailers/hlua: disable email sending from lua 2023-05-05 16:28:32 +02:00
map.c BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range() 2023-11-04 07:55:37 +01:00
mjson.c BUILD: mjson: Fix warning about unused variables 2023-05-11 09:22:46 +02:00
mqtt.c
mux_fcgi.c BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover() 2023-11-17 18:10:16 +01:00
mux_h1.c BUG/MEDIUM: mux-h1: fail earlier on malloc in takeover() 2023-11-17 18:10:16 +01:00
mux_h2.c BUG/MEDIUM: mux-h2: fail earlier on malloc in takeover() 2023-11-17 18:10:16 +01:00
mux_pt.c BUG/MEDIUM: stconn: Report send activity during mux-to-mux fast-forward 2023-11-07 10:30:01 +01:00
mux_quic.c BUG/MINOR: mux-quic: fix early close if unset client timeout 2023-10-27 17:51:08 +02:00
mworker-prog.c MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02:00
mworker.c MEDIUM: mworker: display a more accessible message when a worker crash 2023-09-05 15:31:04 +02:00
namespace.c BUG/MINOR: namespace: missing free in netns_sig_stop() 2023-06-14 11:27:29 +02:00
ncbuf.c MINOR: ncbuf: missing malloc checks in standalone code 2023-05-12 09:45:30 +02:00
pattern.c BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range() 2023-11-04 07:55:37 +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 MEDIUM: stktable/peers: "write-to" local table on peer updates 2023-11-03 17:30:30 +01:00
pipe.c
pool.c BUG/MEDIUM: pool: try once to allocate from another bucket if empty 2023-11-08 17:14:03 +01:00
proto_quic.c CLEANUP: Re-apply xalloc_size.cocci (3) 2023-11-06 20:49:56 +01:00
proto_reverse_connect.c MINOR: rhttp: remove the unused outgoing connect() function 2023-11-17 18:10:16 +01:00
proto_sockpair.c MEDIUM: proto: duplicate receivers marked RX_F_MUST_DUP 2023-04-21 17:41:26 +02:00
proto_tcp.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
proto_udp.c MINOR: dgram: allow to set rcv/sndbuf for dgram sockets as well 2023-10-18 17:01:19 +02:00
proto_uxdg.c MINOR: proto_ux: ability to dump ABNS names in error messages 2023-02-23 15:05:05 +01:00
proto_uxst.c MINOR: proto: skip socket setup for duped FDs 2023-04-21 17:41:26 +02:00
protocol.c MINOR: quic+openssl_compat: Do not start without "limited-quic" 2023-08-17 15:44:03 +02:00
proxy.c BUG/MINOR: server: do not leak default-server in defaults sections 2023-11-23 14:32:55 +01:00
qmux_http.c MINOR: mux-quic: remove dedicated function to handle standalone FIN 2023-05-12 15:50:30 +02:00
qmux_trace.c MINOR: mux-quic: add flow-control info to minimal trace level 2023-03-22 16:08:54 +01:00
qpack-dec.c BUG/MINOR: mux-quic: fix transport VS app CONNECTION_CLOSE 2023-05-09 18:42:34 +02:00
qpack-enc.c
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 MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02:00
quic_ack.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_cc_cubic.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc_newreno.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc_nocc.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc.c CLEANUP: quic: fix headers 2022-10-03 16:25:17 +02:00
quic_cli.c MINOR: quic: Dump the expiration date of the idle timer task 2023-11-17 17:31:42 +01:00
quic_conn.c MINOR: quic: remove unneeded QUIC specific stopping function 2023-11-20 17:59:52 +01:00
quic_frame.c MEDIUM: quic: Heavy task mode during handshake 2023-11-09 10:32:31 +01:00
quic_loss.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_openssl_compat.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_rx.c BUG/MINOR: quic: Possible RX packet memory leak under heavy load 2023-11-22 18:03:26 +01:00
quic_sock.c MEDIUM: quic: define an accept queue limit 2023-11-09 16:24:00 +01:00
quic_ssl.c BUG/MEDIUM: quic: Non initialized CRYPTO data stream deferencing 2023-11-13 16:00:25 +01:00
quic_stats.c MINOR: quic: fix stats naming for flow control BLOCKED frames 2023-05-26 17:17:00 +02:00
quic_stream.c BUG/MINOR: mux-quic: differentiate failure on qc_stream_desc alloc 2023-05-12 16:26:20 +02:00
quic_tls.c MEDIUM: quic: Heavy task mode during handshake 2023-11-09 10:32:31 +01:00
quic_tp.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_trace.c MINOR: quic: Add idle timer task pointer to traces 2023-11-09 10:32:31 +01:00
quic_tx.c BUG/MINOR: quic: Possible leak of TX packets under heavy load 2023-11-22 18:03:26 +01:00
raw_sock.c MEDIUM: raw-sock: Specifiy amount of data to send via snd_pipe callback 2023-10-17 18:51:13 +02:00
regex.c BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support 2022-09-01 19:34:46 +02:00
resolvers.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
ring.c CLEANUP: ring: rename the ring lock "RING_LOCK" instead of "LOGSRV_LOCK" 2023-09-20 21:38:33 +02:00
sample.c BUG/MINOR: sample: Fix bytes converter if offset is bigger than sample length 2023-11-13 11:06:05 +01:00
server_state.c BUG/MINOR: server-state: Avoid warning on 'file not found' 2023-07-21 15:08:27 +02:00
server.c BUG/MINOR: server: do not leak default-server in defaults sections 2023-11-23 14:32:55 +01:00
session.c MINOR: quic: Rename "handshake" timeout to "client-hs" 2023-11-17 18:09:41 +01:00
sha1.c
shctx.c BUG/MINOR: shctx: Remove old HA_SPIN_INIT 2023-11-17 16:56:18 +01:00
signal.c BUG/MINOR: signals/poller: ensure wakeup from signals 2022-09-09 11:15:22 +02:00
sink.c CLEANUP: sink: useless leftover in sink_add_srv() 2023-11-10 17:49:57 +01:00
slz.c IMPORT: slz: implement a synchronous flush() operation 2023-06-30 16:12:36 +02:00
sock_inet.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
sock_unix.c BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them 2023-11-20 11:38:26 +01:00
sock.c BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them 2023-11-20 11:38:26 +01:00
ssl_ckch.c MINOR: properly mark the end of the CLI command in error messages 2023-09-04 18:13:43 +02:00
ssl_crtlist.c MINOR: ssl: allow to change the signature algorithm for client authentication 2023-05-05 00:05:46 +02:00
ssl_ocsp.c BUG/MINOR: ssl: Fix potential leak in cli_parse_update_ocsp_response 2023-03-31 09:10:36 +02:00
ssl_sample.c MEDIUM: ssl: new sample fetch method to get curve name 2023-07-17 15:45:41 +02:00
ssl_sock.c MINOR: shctx: Remove 'use_shared_mem' variable 2023-11-16 19:35:10 +01:00
ssl_utils.c BUILD: ssl: ssl_c_r_dn fetches uses functiosn only available since 1.1.1 2023-05-15 12:07:52 +02:00
stats.c MINOR: tree-wide: Only rely on co_data() to check channel emptyness 2023-10-17 18:51:13 +02:00
stconn.c BUG/MINOR: stconn/applet: Report send activity only if there was output data 2023-11-17 15:36:43 +01:00
stick_table.c BUG/MINOR: proxy/stktable: missing frees on proxy cleanup 2023-11-18 11:16:21 +01:00
stream.c MINOR: stream/cli: add another filter "susp" to "show sess" 2023-11-17 19:30:07 +01:00
task.c MINOR: task/debug: make task_queue() and task_schedule() possible callers 2023-11-09 17:24:00 +01:00
tcp_act.c MINOR: tcp_act: remove limitation on protocol for attach-srv 2023-09-29 18:11:10 +02:00
tcp_rules.c MINOR: log/backend: prevent tcp-{request,response} use with LOG mode 2023-11-18 11:16:21 +01:00
tcp_sample.c MINOR: sample: accept_date / request_date return %Ts / %tr timestamp values 2023-07-24 17:12:29 +02:00
tcpcheck.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
thread.c MEDIUM: cache: Use dedicated cache tree lock alongside shctx lock 2023-11-16 19:35:10 +01:00
time.c
tools.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
trace.c BUG/MINOR: trace: fix trace parser error reporting 2023-10-19 14:45:07 +02:00
uri_auth.c
uri_normalizer.c
vars.c BUILD: vars: use __fallthrough in var_accounting_{diff,add}() 2022-11-14 11:14:02 +01:00
version.c
wdt.c BUG/MEDIUM: wdt: fix wrong thread being checked for sleeping 2023-02-17 16:01:34 +01:00
xprt_handshake.c
xprt_quic.c BUG/MAJOR: quic: complete thread migration before tcp-rules 2023-11-20 16:11:26 +01:00