haproxy/include/haproxy
Aurelien DARRAGON 07b2e84bce BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread (2nd try)
While trying to reproduce another crash case involving lua filters
reported by @bgrooot on GH #2467, we found out that mixing filters loaded
from different contexts ('lua-load' vs 'lua-load-per-thread') for the same
stream isn't supported and may even cause the process to crash.

Historically, mixing lua-load and lua-load-per-threads for a stream wasn't
supported, but this changed thanks to 0913386 ("BUG/MEDIUM: hlua: streams
don't support mixing lua-load with lua-load-per-thread").

However, the above fix didn't consider lua filters's use-case properly:
unlike lua fetches, actions or even services, lua filters don't simply
use the stream hlua context as a "temporary" hlua running context to
process some hlua code. For fetches, actions.. hlua executions are
processed sequentially, so we simply reuse the hlua context from the
previous action/fetch to run the next one (this allows to bypass memory
allocations and initialization, thus it increases performance), unless
we need to run on a different hlua state-id, in which case we perform a
reset of the hlua context.

But this cannot work with filters: indeed, once registered, a filter will
last for the whole stream duration. It means that the filter will rely
on the stream hlua context from ->attach() to ->detach(). And here is the
catch, if for the same stream we register 2 lua filters from different
contexts ('lua-load' + 'lua-load-per-thread'), then we have an issue,
because the hlua stream will be re-created each time we switch between
runtime contexts, which means each time we switch between the filters (may
happen for each stream processing step), and since lua filters rely on the
stream hlua to carry context between filtering steps, this context will be
lost upon a switch. Given that lua filters code was not designed with that
in mind, it would confuse the code and cause unexpected behaviors ranging
from lua errors to crashing process.

So here we take another approach: instead of re-creating the stream hlua
context each time we switch between "global" and "per-thread" runtime
context, let's have both of them inside the stream directly as initially
suggested by Christopher back then when talked about the original issue.

For this we leverage hlua_stream_ctx_prepare() and hlua_stream_ctx_get()
helper functions which return the proper hlua context for a given stream
and state_id combination.

As for debugging infos reported after ha_panic(), we check for both hlua
runtime contexts to check if one of them was active when the panic occured
(only 1 runtime ctx per stream may be active at a given time).

This should be backported to all stable versions with 0913386
("BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread")

This commit depends on:
 - "DEBUG: lua: precisely identify if stream is stuck inside lua or not"
   [for versions < 2.9 the ha_thread_dump_one() part should be skipped]
 - "MINOR: hlua: use accessors for stream hlua ctx"

For 2.4, the filters API didn't exist. However it may be a good idea to
backport it anyway because ->set_priv()/->get_priv() from tcp/http lua
applets may also be affected by this bug, plus it will ease code
maintenance. Of course, filters-related parts should be skipped in this
case.
2024-03-13 09:24:46 +01: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 MEDIUM: tcp-act: <expr> support for set-fc-{mark,tos} actions 2024-02-01 10:58:30 +01:00
action.h BUG/MEDIUM: actions: always apply a longest match on prefix lookup 2023-10-06 17:06:44 +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 BUG/MEDIUM: applet: Add a flag to state an applet is using zero-copy forwarding 2024-02-14 14:22:36 +01:00
applet.h MEDIUM: applet: Add notion of shutdown for write for applets 2024-02-14 14:22:36 +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 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: log/balance: merge tcp/http algo with log ones 2023-11-18 11:16:21 +01:00
backend.h MINOR: backend: export get_server_*() functions 2024-01-02 11:44:42 +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 BUILD: buf: make b_ncat() take a const for the source 2024-03-05 11:50:34 +01:00
bug.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +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 MINOR: stconn: Temporarily remove kernel splicing support 2023-10-17 18:51:13 +02:00
channel.h MINOR: channel: Use dedicated functions to deal with STREAMER flags 2023-12-06 10:24:41 +01: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 BUG/MAJOR: cli: Restore non-interactive mode behavior with pipelined commands 2024-02-23 15:19:49 +01: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 BUILD: solaris: fix compilation errors 2024-03-09 11:24:54 +01:00
compiler.h MINOR: compiler: add a new DO_NOT_FOLD() macro to prevent code folding 2024-02-02 17:12:06 +01: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 MINOR: task: Move wait_event in the task header file 2024-02-07 15:02:13 +01:00
connection.h MEDIUM: tcp-act/backend: support for set-bc-{mark,tos} actions 2024-02-01 10:58:30 +01: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 MINOR: debug: add the ability to enter components in the post_mortem struct 2023-11-23 15:39:21 +01:00
defaults.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
dgram-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
dgram.h 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 MEDIUM: server: make server_set_inetaddr() updater serializable 2023-12-21 14:22:27 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +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: event_hdl: add global tunables 2023-11-29 08:59:27 +01:00
event_hdl.h MINOR: event_hdl: add global tunables 2023-11-29 08:59:27 +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 MEDIUM: tree-wide: logsrv struct becomes logger 2023-10-13 10:05:06 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01: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: freq_ctr: make all freq_ctr readers take a const 2023-09-29 09:20:27 +02:00
frontend.h MINOR: frontend: implement a dedicated actconn increment function 2023-10-26 15:18:48 +02:00
global-t.h MINOR: quic: Dynamic packet reordering threshold 2024-02-14 11:32:29 +01:00
global.h MINOR: global: export a way to list build options 2024-01-02 11:44:42 +01:00
h1.h CLEANUP: h1: remove unused function h1_measure_trailers() 2024-01-31 15:22:12 +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 DEBUG: lua: precisely identify if stream is stuck inside lua or not 2024-03-13 09:24:46 +01:00
hlua.h DEBUG: lua: precisely identify if stream is stuck inside lua or not 2024-03-13 09:24:46 +01: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 infrastructure to choose status codes for err / fail 2024-01-11 15:10:08 +01:00
http_ana-t.h MINOR: http-fetch: Add a sample to retrieve the server status code 2023-11-29 11:11:12 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
http_ext-t.h MEDIUM: proxy/http_ext: implement dynamic http_ext 2023-01-27 15:18:59 +01:00
http_ext.h MEDIUM: proxy/http_ext: implement dynamic http_ext 2023-01-27 15:18:59 +01:00
http_fetch.h 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 MEDIUM: htx/http-ana: No longer close connection on early HAProxy response 2024-02-28 16:02:33 +01:00
htx.h MINOR: htx: Use a macro for overhead induced by HTX 2023-11-17 12:13:00 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
jwt.h MEDIUM: jwt: Add jwt_verify converter to verify JWT integrity 2021-10-14 16:38:14 +02:00
lb_chash-t.h 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 Revert "MAJOR: import: update mt_list to support exponential back-off" 2023-09-15 17:13:43 +02:00
listener-t.h MEDIUM: ssl: does not use default_ctx for 'generate-certificate' option 2024-01-12 17:40:42 +01: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: explicit typecasting for logformat nodes 2024-02-20 15:49:54 +01:00
log.h MINOR: log: add free_logformat_node() helper function 2024-02-22 15:32:42 +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 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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +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 MAJOR: mux-h1: Drain requests on client side before shut a stream down 2024-02-28 16:02:33 +01:00
mux_h2-t.h DEBUG: mux-h2/flags: fix list of h2c flags used by the flags decoder 2023-10-25 11:44:54 +02:00
mux_quic-t.h MEDIUM: mux-quic: properly handle conn Tx buf exhaustion 2024-01-31 16:28:54 +01:00
mux_quic.h MINOR: quic: add MUX output for show quic 2024-02-29 10:03:36 +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 CLEANUP: ssl: remove useless #ifdef in openssl-compat.h 2024-03-13 08:51:04 +01:00
pattern-t.h MEDIUM: pattern: Add support for virtual and optional files for patterns 2023-12-06 10:24:41 +01:00
pattern.h MINOR: pattern: fix pat_{parse,match}_ip() function comments 2023-09-21 09:50:55 +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: rely on srv->addr and remove peer->addr 2023-12-21 14:22:27 +01:00
peers.h CLEANUP: peers: remove unused "proto" and "xprt" struct members 2023-12-21 14:22:27 +01: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 BUG/MEDIUM: pool: fix releasable pool calculation when overloaded 2023-11-08 17:12:49 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
proto_rhttp-t.h MINOR: rhttp: rename proto_reverse_connect 2023-11-23 17:38:58 +01:00
proto_rhttp.h MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01:00
proto_sockpair.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
proto_tcp.h BUILD: proto_tcp: export the correct names for proto_tcpv[46] 2023-04-23 09:46:15 +02:00
proto_udp.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
proto_uxst.h 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: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
protocol-t.h MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01: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/log: remove unused proxy flag 2024-02-22 15:32:42 +01:00
proxy.h OPTIM: server: ebtree lookups for findserver_unique_* functions 2023-12-21 14:22:26 +01:00
qmux_http.h MEDIUM: mux-quic: add BUG_ON if sending on locally closed QCS 2023-12-21 15:42:08 +01:00
qmux_trace.h MINOR: mux-quic: add traces for stream wake 2023-05-11 14:04:51 +02:00
qpack-dec.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01: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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
qpack-tbl.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
queue-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
queue.h CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_ack-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_ack.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_cc-t.h REORG: quic: Move QUIC path definitions/declarations to quic_cc module 2023-11-28 15:37:50 +01:00
quic_cc.h REORG: quic: Move QUIC path definitions/declarations to quic_cc module 2023-11-28 15:37:50 +01:00
quic_cid-t.h BUILD: quic: Several compiler warns fixes after retry module creation 2023-11-28 15:47:18 +01:00
quic_cid.h CLEANUP: quic_cid: remove unused listener arg 2023-11-30 15:04:27 +01: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 MINOR: quic: Dynamic packet reordering threshold 2024-02-14 11:32:29 +01:00
quic_conn.h CLEANUP: quic: Double quic_dgram_parse() prototype declaration. 2024-01-10 17:22:24 +01:00
quic_enc.h MINOR: h3: extend function for QUIC varint encoding 2023-01-19 15:09:01 +01:00
quic_fctl-t.h MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_fctl.h MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_frame-t.h MEDIUM: quic: Heavy task mode during handshake 2023-11-09 10:32:31 +01:00
quic_frame.h BUILD: quic: Missing RX header inclusions 2023-11-28 15:37:22 +01:00
quic_loss-t.h MINOR: quic: Add a counter for reordered packets 2024-02-14 11:32:29 +01:00
quic_loss.h MINOR: quic: Add a counter for reordered packets 2024-02-14 11:32:29 +01:00
quic_openssl_compat-t.h CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_openssl_compat.h BUG/MINOR: quic: Missing call to TLS message callbacks 2023-12-21 16:33:06 +01:00
quic_retransmit.h REORG: quic: Add a new module for retransmissions 2023-11-28 15:47:18 +01:00
quic_retry.h REORG: quic: Add a new module for QUIC retry 2023-11-28 15:47:18 +01:00
quic_rx-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_rx.h MINOR: quic: remove qc_treat_rx_crypto_frms() 2024-03-11 14:27:51 +01:00
quic_sock-t.h CLEANUP: fix spelling of "elemt" 2024-01-26 17:29:27 +01:00
quic_sock.h MINOR: quic: only use sendmsg() syscall variant 2024-02-20 16:42:05 +01: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: remove qc_treat_rx_crypto_frms() 2024-03-11 14:27:51 +01:00
quic_stats-t.h MINOR: quic: reduce half open counters scope 2023-11-09 16:23:52 +01:00
quic_stats.h MINOIR: quic_stats: add QUIC connection errors counters 2022-05-30 09:59:26 +02:00
quic_stream-t.h MEDIUM: quic: implement multi-buffered Tx streams 2022-04-21 12:03:20 +02:00
quic_stream.h BUG/MEDIUM: quic: remove unsent data from qc_stream_desc buf 2024-01-26 16:02:05 +01:00
quic_tls-t.h MINOR: quic: always use ncbuf for rx CRYPTO 2024-03-08 17:22:48 +01:00
quic_tls.h REORG: quic: Move qc_may_probe_ipktns() to quic_tls.h 2023-11-28 15:37:50 +01:00
quic_tp-t.h BUILD: quic: missing include for quic_tp 2024-01-12 16:08:36 +01:00
quic_tp.h MINOR: quic_tp: use in_addr/in6_addr for preferred_address 2023-11-30 15:59:45 +01:00
quic_trace-t.h REORG: quic: QUIC connection types header cleaning 2023-11-28 15:37:22 +01:00
quic_trace.h REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_tx-t.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
quic_tx.h CLEANUP: assorted typo fixes in the code and comments 2024-01-02 10:19:48 +01:00
receiver-t.h MEDIUM: udp: allow to retrieve the frontend destination address 2024-01-02 11:44:42 +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 CLEANUP: resolvers: remove some more unused RSLV_UDP flags 2024-01-02 10:29:41 +01:00
resolvers.h MINOR: resolvers: add unique numeric id to nameservers 2023-12-21 14:22:27 +01: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: add type_to_smp() helper function 2024-02-20 15:18:39 +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: Rename SE_FL_MAY_FASTFWD and reorder bitfield 2024-02-14 15:00:32 +01:00
server-t.h CLEANUP: quic: Remaining useless code into server part 2024-01-04 11:16:06 +01:00
server.h BUG/MEDIUM: server: fix dynamic servers initial settings 2024-02-27 17:02:20 +01: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 MINOR: session: add the necessary functions to update the per-session glitches 2024-02-08 15:51:49 +01:00
shctx-t.h CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
shctx.h MINOR: shctx: Remove 'use_shared_mem' variable 2023-11-16 19:35:10 +01: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 OPTIM: sink: drop the sink lock used to count drops 2024-03-09 11:23:52 +01:00
sink.h OPTIM: sink: drop the sink lock used to count drops 2024-03-09 11:23:52 +01:00
sock-t.h MINOR: sock: move the unused socket cleaning code into its own function 2022-01-28 19:04:02 +01:00
sock.h MEDIUM: tcp-act/backend: support for set-bc-{mark,tos} actions 2024-02-01 10:58:30 +01: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 CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01: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 MINOR: ssl: Call callback function after loading SSL CRL data 2024-02-23 18:12:27 +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_gencert.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
ssl_ocsp-t.h BUG/MAJOR: ssl/ocsp: crash with ocsp when old process exit or using ocsp CLI 2024-02-26 18:04:25 +01:00
ssl_ocsp.h BUG/MAJOR: ssl/ocsp: crash with ocsp when old process exit or using ocsp CLI 2024-02-26 18:04:25 +01:00
ssl_sock-t.h MEDIUM: ssl: allow to change the OpenSSL security level from global section 2024-03-12 17:37:11 +01:00
ssl_sock.h MEDIUM: ssl: implements 'default-crt' keyword for bind Lines 2024-01-12 17:40:42 +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 MEDIUM: stats: Be able to access a specific field into a stats module 2024-02-01 12:00:53 +01:00
stats.h MAJOR: stats: Send stats dump over HTTP using zero-copy forwarding 2024-02-07 15:04:48 +01:00
stconn-t.h MINOR: stconn: Add SE flag to announce zero-copy forwarding on consumer side 2024-02-14 15:09:14 +01:00
stconn.h BUG/MEDIUM: stconn/applet: Block 0-copy forwarding if producer needs more room 2024-02-14 14:22:36 +01:00
stick_table-t.h MEDIUM: stick-tables: add a new stored type for glitch_cnt and glitch_rate 2024-02-08 15:51:49 +01:00
stick_table.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
stream-t.h BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread (2nd try) 2024-03-13 09:24:46 +01:00
stream.h CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
task-t.h MINOR: task: Move wait_event in the task header file 2024-02-07 15:02:13 +01:00
task.h MINOR: task/profiling: do not record task_drop_running() as a caller 2023-11-27 11:24:52 +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 2023-11-23 16:23:14 +01:00
tcpcheck.h MINOR: tcpcheck: export proxy_parse_tcpcheck() 2024-01-02 11:44:42 +01:00
thread-t.h BUILD: thread: move lock label definitions to thread-t.h 2024-03-05 11:50:34 +01:00
thread.h BUILD: thread: move lock label definitions to thread-t.h 2024-03-05 11:50:34 +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 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 MINOR: rhttp: add count of active conns per thread 2023-11-23 17:43:01 +01: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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
tools.h BUG/MEDIUM: cli: some err/warn msg dumps add LR into CSV output on stat's CLI 2024-01-24 08:38:59 +01: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 MINOR: trace: support -dt optional format 2023-11-27 17:15:14 +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 MINOR: vars: export var_set and var_unset functions 2024-03-08 17:20:43 +01:00
version.h [RELEASE] Released version 3.0-dev0 2023-12-05 16:19:35 +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 BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
xxhash.h CLEANUP: Move XXH3 macro from haproxy/compat.h to haproxy/xxhash.h 2021-09-11 20:37:50 +02:00