haproxy/include/haproxy
Willy Tarreau 6c539c4b8c BUG/MINOR: stream: make the call_rate only count the no-progress calls
We have an anti-looping protection in process_stream() that detects bugs
that used to affect a few filters like compression in the past which
sometimes forgot to handle a read0 or a particular error, leaving a
thread looping at 100% CPU forever. When such a condition is detected,
an alert it emitted and the process is killed so that it can be replaced
by a sane one:

  [ALERT]    (19061) : A bogus STREAM [0x274abe0] is spinning at 2057156
             calls per second and refuses to die, aborting now! Please
             report this error to developers [strm=0x274abe0,3 src=unix
             fe=MASTER be=MASTER dst=<MCLI> txn=(nil),0 txn.req=-,0
             txn.rsp=-,0 rqf=c02000 rqa=10000 rpf=88000021 rpa=8000000
             sif=EST,40008 sib=DIS,84018 af=(nil),0 csf=0x274ab90,8600
             ab=0x272fd40,1 csb=(nil),0
             cof=0x25d5d80,1300:PASS(0x274aaf0)/RAW((nil))/unix_stream(9)
             cob=(nil),0:NONE((nil))/NONE((nil))/NONE(0) filters={}]
    call trace(11):
    |       0x4dbaab [c7 04 25 01 00 00 00 00]: stream_dump_and_crash+0x17b/0x1b4
    |       0x4df31f [e9 bd c8 ff ff 49 83 7c]: process_stream+0x382f/0x53a3
    (...)

One problem with this detection is that it used to only count the call
rate because we weren't sure how to make it more accurate, but the
threshold was high enough to prevent accidental false positives.

There is actually one case that manages to trigger it, which is when
sending huge amounts of requests pipelined on the master CLI. Some
short requests such as "show version" are sufficient to be handled
extremely fast and to cause a wake up of an analyser to parse the
next request, then an applet to handle it, back and forth. But this
condition is not an error, since some data are being forwarded by
the stream, and it's easy to detect it.

This patch modifies the detection so that update_freq_ctr() only
applies to calls made without CF_READ_PARTIAL nor CF_WRITE_PARTIAL
set on any of the channels, which really indicates that nothing is
happening at all.

This is greatly sufficient and extremely effective, as the call above
is still caught (shutr being ignored by an analyser) while a loop on
the master CLI now has no effect. The "call_rate" field in the detailed
"show sess" output will now be much lower, except for bogus streams,
which may help spot them. This field is only there for developers
anyway so it's pretty fine to slightly adjust its meaning.

This patch could be backported to stable versions in case of reports
of such an issue, but as that's unlikely, it's not really needed.
2022-01-20 18:56:57 +01:00
..
acl-t.h MEDIUM: pattern: change the pat_del_* functions to delete from the references 2020-11-05 19:27:09 +01:00
acl.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
action-t.h MINOR: vars: Parse optional conditions passed to the set-var actions 2021-12-16 17:31:57 +01:00
action.h MINOR: rules: add a new function new_act_rule() to allocate act_rules 2021-10-12 07:38:30 +02:00
activity-t.h MINOR: activity/fd: remove the dead_fd counter 2021-08-04 16:03:36 +02:00
activity.h MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +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 CLEANUP: remove some unneeded includes from applet-t.h 2021-10-07 01:36:51 +02:00
applet.h MINOR: task: provide 3 task_new_* wrappers to simplify the API 2021-10-01 18:36:29 +02:00
arg-t.h MINOR: sample: add missing ARGC_ entries 2021-09-02 19:43:20 +02: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: remove the memcpy() call and dependency on string.h 2021-10-28 09:45:48 +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 MINOR: lb/api: remove the locked argument from take_conn/drop_conn 2021-06-22 18:43:12 +02:00
backend.h MINOR: proxy: Introduce proxy flags to replace disabled bitfield 2021-10-15 14:12:19 +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 BUG/MAJOR: buf: fix varint API post- vs pre- increment 2021-10-21 15:28:24 +02:00
bug.h BUILD: bug: Fix error when compiling with -DDEBUG_STRICT_NOCRASH 2021-12-03 08:58:28 +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 MINOR: quic: Make circular buffer internal buffers be variable-sized. 2021-09-23 15:27:25 +02:00
cbuf.h MINOR: quic: Make circular buffer internal buffers be variable-sized. 2021-09-23 15:27:25 +02:00
cfgcond-t.h MINOR: ssl: Add ssllib_name_startswith precondition 2021-10-13 11:28:08 +02: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 CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
channel-t.h BUG/MEDIUM: stream-int: Notify stream that the mux wants more room to xfer data 2021-09-23 16:16:57 +02:00
channel.h MINOR: channel: add new function co_getdelim() to support multiple delimiters 2022-01-19 19:16:47 +01:00
check-t.h BUILD: fix compilation on NetBSD 2021-10-22 17:04:35 +02:00
check.h MEDIUM: check: implement check deletion for dynamic servers 2021-08-06 11:09:48 +02:00
chunk.h CLEANUP: chunk: remove misleading chunk_strncat() function 2021-11-08 12:08:26 +01:00
cli-t.h MINOR: cli: sort the output of the "help" keywords 2021-05-09 22:39:07 +02:00
cli.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
clock.h MINOR: clock: move the clock_ids to clock.c 2021-10-08 17:22:26 +02:00
compat.h BUG/MINOR: cli: fix _getsocks with musl libc 2022-01-03 19:50:34 +01:00
compiler.h BUILD: compiler: add the container_of() and container_of_safe() macros 2021-10-07 01:36:51 +02: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 MAJOR: mux-quic: implement a simplified mux version 2021-12-07 15:44:45 +01:00
connection.h BUG/MEDIUM: connection: make cs_shutr/cs_shutw//cs_close() idempotent 2021-11-14 13:42:17 +01:00
counters-t.h MINOR: stats: improve pending connections description 2021-02-01 15:16:33 +01:00
cpuset-t.h BUILD/MINOR: cpuset FreeBSD 14 build fix. 2021-12-31 07:17:37 +01:00
cpuset.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
debug.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
defaults.h MINOR: pools: enable pools with DEBUG_FAIL_ALLOC as well 2022-01-12 17:31:01 +01:00
dgram-t.h REORG: dgram: rename proto_udp to dgram 2020-06-11 10:18:59 +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: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
dict.h MEDIUM: stick-tables: Add srvkey option to stick-table 2020-12-31 10:04:54 +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 REORG: thread/sched: move the last dynamic thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
errors.h MEDIUM: stick-table: handle arrays of standard types into stick-tables 2021-07-06 07:24:42 +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 MAJOR: fd: get rid of the DWCAS when setting the running_mask 2021-08-04 16:03:36 +02:00
fd.h REORG: fd: uninline compute_poll_timeout() 2021-10-07 01:41:14 +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 CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
frontend.h REORG: include: move stream.h to haproxy/stream{,-t}.h 2020-06-11 10:18:58 +02:00
global-t.h MINOR: debug: add support for -dL to dump library names at boot 2021-12-28 17:07:13 +01:00
global.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02:00
h1.h BUG/MEDIUM: h1: Properly reset h1m flags when headers parsing is restarted 2021-12-02 09:46:29 +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 CLEANUP: assorted typo fixes in the code and comments 2021-02-08 10:49:08 +01:00
h3.h CLEANUP: assorted typo fixes in the code and comments 2021-10-18 07:26:19 +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 MINOR: httpclient/lua: handle the streaming into the lua applet 2021-10-28 16:24:14 +02:00
hlua.h MINOR: lua: Add a flag on lua context to know the yield capability at run time 2021-08-12 08:57:07 +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: add a new function http_validate_scheme() to validate a scheme 2021-08-17 10:16:22 +02:00
http_ana-t.h MINOR: http-rules: add a new "ignore-empty" option to redirects. 2021-09-02 17:06:18 +02:00
http_ana.h BUILD: http_ana: need to include proxy-t to get redirect_rule 2021-10-07 01:36:51 +02:00
http_client-t.h BUG/MINOR: httpclient: set default Accept and User-Agent headers 2022-01-14 20:46:21 +01:00
http_client.h MINOR: httpclient: request streaming with a callback 2021-10-28 16:24:14 +02: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 MEDIUM: http: implement scheme-based normalization 2021-07-07 15:34:01 +02:00
http_rules.h CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
htx-t.h MINOR: htx: Add an HTX flag to know when a message is fragmented 2021-09-23 16:19:36 +02:00
htx.h MINOR: htx: Add a function to know if the free space wraps 2021-09-23 16:19:36 +02:00
init-t.h REORG: global: move initcall register code in a dedicated file 2021-03-26 15:28:33 +01:00
init.h REORG: global: move initcall register code in a dedicated file 2021-03-26 15:28:33 +01:00
initcall.h MINOR: initcall: Rename __GLOBL and __GLOBL1. 2021-10-11 00:55:26 +02:00
intops.h BUG/MINOR: intops: fix mul32hi()'s off-by-one 2021-02-09 17:52:50 +01: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 MINOR: list: add new macro LIST_INLIST_ATOMIC() 2021-10-21 15:28:24 +02:00
listener-t.h MEDIUM: quic: implement Retry emission 2022-01-12 11:08:48 +01:00
listener.h MINOR: listeners: add clone_listener() to duplicate listeners at boot time 2021-10-14 21:27:48 +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 CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +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 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 MINOR: sample: Add converts to parses MQTT messages 2020-11-05 19:27:03 +01:00
mqtt.h MINOR: sample: Add converts to parses MQTT messages 2020-11-05 19:27:03 +01:00
mux_quic-t.h BUG/MINOR: mux-quic: properly initialize flow control 2021-12-08 15:26:16 +01:00
mux_quic.h REORG: quic: move mux function outside of xprt 2021-12-21 15:51:40 +01:00
mworker-t.h MINOR: mworker: implement a reload failure counter 2021-11-10 15:53:01 +01:00
mworker.h CLEANUP: tree-wide: fix prototypes for functions taking no arguments. 2021-09-15 11:07:18 +02: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
net_helper.h MINOR: net_helper: add functions for pointers 2021-09-23 15:27:25 +02:00
obj_type-t.h REORG: include: move obj_type.h to haproxy/obj_type{,-t}.h 2020-06-11 10:18:57 +02:00
obj_type.h MINOR: resolvers: renames some resolvers specific types to not use dns prefix 2021-02-13 09:43:18 +01:00
openssl-compat.h BUILD: ssl: unbreak the build with newer libressl 2021-12-15 11:26:31 +01:00
pattern-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02: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 CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02: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: pools: uninline the UAF allocator and force-inline the rest 2021-10-07 01:36:51 +02:00
pool-t.h MINOR: pools: prepare pool_item to support chained clusters 2022-01-02 19:35:26 +01:00
pool.h MINOR: pools: pass the objects count to pool_put_to_shared_cache() 2022-01-02 19:35:26 +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 MINOR: protocol: Create proto_quic QUIC protocol layer. 2020-12-23 11:57:26 +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 MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver() 2020-12-08 18:10:18 +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: protocols: add a new protocol type selector 2021-10-27 17:05:36 +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: proxy: add option idle-close-on-response 2022-01-06 09:09:51 +01:00
proxy.h MINOR: proxy: Be able to reference the defaults section used by a proxy 2021-10-15 14:12:19 +02:00
qpack-dec.h MAJOR: mux-quic: implement a simplified mux version 2021-12-07 15:44:45 +01:00
qpack-enc.h MINOR: qpack: encode headers functions 2021-09-23 15:27:25 +02:00
qpack-t.h CLEANUP: assorted typo fixes in the code and comments 2021-10-18 07:26:19 +02:00
qpack-tbl-t.h MINOR: qpack: Add QPACK compression. 2021-09-23 15:27:25 +02:00
qpack-tbl.h MINOR: qpack: Add QPACK compression. 2021-09-23 15:27:25 +02:00
queue-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
queue.h MINOR: queue: add a pointer to the server and the proxy in the queue 2021-06-24 10:52:31 +02:00
quic_cc-t.h CLEANUP: assorted typo fixes in the code and comments 2021-01-06 16:26:50 +01:00
quic_cc.h MINOR: quic: Add definitions for QUIC protocol. 2020-12-23 11:57:26 +01:00
quic_enc.h MINOR: quic-enc: fix varint encoding 2021-09-23 15:27:25 +02:00
quic_frame-t.h MINOR: quic: Remove the packet number space TX MT_LIST 2022-01-20 16:43:06 +01:00
quic_frame.h CLEANUP: quic_frame: Remove a useless suffix to STOP_SENDING 2021-12-17 08:38:43 +01:00
quic_loss-t.h MINOR: quic: Add definitions for QUIC protocol. 2020-12-23 11:57:26 +01:00
quic_loss.h MINOR: quic: Wrong ack_delay compution before calling quic_loss_srtt_update() 2022-01-04 17:30:00 +01:00
quic_sock.h MINOR: quic: Add definitions for QUIC protocol. 2020-12-23 11:57:26 +01:00
quic_tls-t.h MINOR: quic: Add structures to maintain key phase information 2021-11-30 11:51:12 +01:00
quic_tls.h MINOR: quic: implement Retry TLS AEAD tag generation 2022-01-12 11:08:48 +01:00
receiver-t.h MINOR: quic: Allocate listener RX buffers 2021-11-05 15:20:04 +01: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 MEDIUM: resolvers: No longer store query items in a list into the response 2021-12-01 15:21:56 +01:00
resolvers.h MEDIUM: resolvers: remove the last occurrences of the "safe" argument 2021-10-20 17:54:27 +02:00
ring-t.h REORG: include: make list-t.h part of the base API 2020-06-11 10:18:59 +02:00
ring.h MINOR: ring: adds new ring_init function. 2021-02-13 09:43:17 +01:00
sample-t.h MINOR: sample: add a new CLI_PARSER context for samples 2021-03-26 16:34:53 +01:00
sample.h MINOR: sample: provide a generic var-to-sample conversion function 2021-10-07 01:36:51 +02:00
sample_data-t.h CLEANUP: include: move sample_data out of sample-t.h 2020-06-11 10:18:59 +02:00
server-t.h BUG/MEDIUM: ssl: initialize correctly ssl w/ default-server 2021-12-29 14:42:16 +01:00
server.h MEDIUM: server/backend: implement websocket protocol selection 2021-11-03 16:24:48 +01:00
session-t.h MINOR: session: Add src and dst addresses to the session 2021-10-27 11:34:21 +02:00
session.h CLEANUP: assorted typo fixes in the code and comments 2021-11-22 19:08:12 +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
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 CLEANUP: tree-wide: reorder a few structures to plug some holes around locks 2020-10-19 14:08:13 +02:00
sink.h CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
sock-t.h MINOR: sock: distinguish dgram from stream types when retrieving old sockets 2020-08-28 19:26:39 +02:00
sock.h MINOR: protocol: add a pair of check_events/ignore_events functions at the ctrl layer 2020-12-11 17:02:50 +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 CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
ssl_ckch.h MINOR: ssl: Add a cafile_entry type field 2021-05-17 10:50:24 +02: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_sock-t.h MINOR: quic: add reference to quic_conn in ssl context 2021-12-21 15:53:19 +01:00
ssl_sock.h BUG/MINOR: ssl: Store client SNI in SSL context in case of ClientHello error 2022-01-10 16:31:22 +01:00
ssl_utils.h MINOR: sample: Expose SSL captures using new fetchers 2021-08-26 19:48:34 +02:00
stats-t.h MINOR: promex: backend aggregated server check status 2021-11-09 10:51:08 +01:00
stats.h BUILD: stats: define several missing structures in stats.h 2021-10-07 01:36:51 +02:00
stick_table-t.h CLEANUP: Consistently unsigned int for bitfields 2021-10-18 09:13:24 +02:00
stick_table.h CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
stream-t.h BUG/MINOR: stream: make the call_rate only count the no-progress calls 2022-01-20 18:56:57 +01:00
stream.h BUG/MEDIUM: backend: fix possible sockaddr leak on redispatch 2021-12-24 11:50:01 +01:00
stream_interface-t.h MINOR: stream-int: Add src and dst addresses to the stream-interface 2021-10-27 11:34:21 +02:00
stream_interface.h CLEANUP: assorted typo fixes in the code and comments 2021-11-22 19:08:12 +01:00
task-t.h BUG/MINOR: task: do not set TASK_F_USR1 for no reason 2021-10-21 16:17:29 +02:00
task.h REORG: thread/sched: move the task_per_thread stuff to thread_ctx 2021-10-08 17:22:26 +02:00
tcp_rules.h MINOR: actions: Export actions lookup functions 2020-12-02 09:45:18 +01:00
tcpcheck-t.h CLEANUP: tree-wide: only include ebtree-t from type files 2021-10-07 01:41:14 +02:00
tcpcheck.h CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
thread-t.h MINOR: thread: use a dedicated static pthread_t array in thread.c 2021-10-07 01:41:15 +02:00
thread.h MINOR: threads: add a new function to resolve config groups and masks 2021-10-08 17:22:26 +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 REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
tinfo-t.h MINOR: threads: set the tid, ltid and their bit in thread_cfg 2021-10-08 17:22:26 +02:00
tinfo.h MINOR: threads: introduce a minimalistic notion of thread-group 2021-10-08 17:22:26 +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: debug: add ability to dump loaded shared libraries 2021-12-28 16:59:00 +01:00
trace-t.h MINOR: trace: add quic_conn argument definition 2021-12-21 15:53:19 +01:00
trace.h CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02: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.6-dev0 2021-11-23 15:50:11 +01:00
xprt_quic-t.h MINOR: quic: Remove the packet number space TX MT_LIST 2022-01-20 16:43:06 +01:00
xprt_quic.h MINOR: quic: Remove the packet number space TX MT_LIST 2022-01-20 16:43:06 +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