haproxy/src
Willy Tarreau e9cdedb39b MINOR: mux-h2: try to clear DEM_MROOM and MUX_MFULL at more places
The code leading to H2_CF_MUX_MFULL and H2_CF_DEM_MROOM being cleared
is quite complex and assumptions about its state are extremely difficult
when reading the code. There are indeed long sequences where the mux might
possibly be empty, still having the flag set until it reaches h2_send()
which will clear it after the last send. Even then it's not obviour whether
it's always guaranteed to release the flag when invoked in multiple passes.
Let's just simplify the conditionnn so that h2_send() does not depend on
"sent" anymore and that h2_timeout_task() doesn't leave the flags set on
the buffer on emptiness. While it doesn't seem to fix anything, it will
make the code more robust against future changes.
2024-09-03 14:39:04 +02:00
..
acl.c BUG/MINOR: acl: support built-in ACLs with acl() sample 2024-05-06 18:42:54 +02:00
action.c MINOR: support for http-request set-timeout client 2023-09-28 08:49:22 +02:00
activity.c BUG/MINOR: activity: fix Delta_calls and Delta_bytes count 2024-05-28 19:25:08 +02:00
applet.c MINOR: stconn: Use a dedicated function to get the opposite sedesc 2024-07-12 15:27:04 +02:00
arg.c
auth.c
backend.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
base64.c
cache.c MINOR: applet: set the blocking flag in the buffer allocation function 2024-05-10 17:18:13 +02: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 BUG/MINOR: cfgparse-global: remove tune.fast-forward from common_kw_list 2024-08-20 19:16:34 +02:00
cfgparse-listen.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
cfgparse-quic.c BUILD: quic: fix build errors on FreeBSD since recent GSO changes 2024-08-30 18:53:49 +02:00
cfgparse-ssl.c MINOR: ssl: relax the 'ssl.default-dh-param' keyword parsing 2024-06-14 11:36:52 +02:00
cfgparse-tcp.c MINOR: capabilities: add cap_sys_admin support 2024-04-30 21:40:17 +02:00
cfgparse-unix.c
cfgparse.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
channel.c MINOR: channel: implement ci_insert() function 2024-08-08 17:29:37 +02:00
check.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
chunk.c MEDIUM: init: initialize the trash earlier 2023-09-08 16:25:19 +02:00
cli.c BUG/MEDIUM: cli: Always release back endpoint between two commands on the mcli 2024-09-02 18:31:35 +02:00
clock.c BUILD: clock: improve check for pthread_getcpuclockid() 2024-05-06 08:25:17 +02:00
compression.c MINOR: dynbuf: pass a criticality argument to b_alloc() 2024-05-10 17:18:13 +02:00
connection.c MEDIUM: proxy/spoe: Add a SPOP mode 2024-07-12 15:27:04 +02:00
cpuset.c CLEANUP: Reapply xalloc_cast.cocci 2024-04-02 07:27:33 +02:00
debug.c MINOR: debug: keep runtime limits in postmortem 2024-07-16 14:04:41 +02: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_ring.c MAJOR: import: update mt_list to support exponential back-off (try #2) 2024-07-09 16:46:38 +02:00
dns.c MEDIUM: socket: always properly use the sock_domain for requested families 2024-08-21 17:36:58 +02:00
dynbuf.c MINOR: quic: define sbuf pool 2024-08-20 18:12:27 +02:00
eb32sctree.c
eb32tree.c
eb64tree.c
ebimtree.c
ebistree.c
ebmbtree.c
ebpttree.c
ebsttree.c
ebtree.c
errors.c DEBUG: errors: add name hint for startup-logs memory area 2024-05-21 17:55:20 +02:00
ev_epoll.c DEBUG: pollers/fd: add thread id suffix to per-thread memory areas name hints 2024-05-24 12:07:18 +02:00
ev_evports.c Revert: MEDIUM: evports: permit to report multiple events at once" 2024-05-17 15:57:18 +02:00
ev_kqueue.c
ev_poll.c DEBUG: pollers/fd: add thread id suffix to per-thread memory areas name hints 2024-05-24 12:07:18 +02:00
ev_select.c DEBUG: pollers/fd: add thread id suffix to per-thread memory areas name hints 2024-05-24 12:07:18 +02:00
event_hdl.c MAJOR: import: update mt_list to support exponential back-off (try #2) 2024-07-09 16:46:38 +02:00
extcheck.c MEDIUM: proxy/spoe: Add a SPOP mode 2024-07-12 15:27:04 +02:00
fcgi-app.c BUG/MINOR: fcgi-app: handle a possible strdup() failure 2024-08-06 08:21:49 +02:00
fcgi.c
fd.c MINOR: fd: don't scan the full fdtab on all threads 2024-07-15 19:19:13 +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 MEDIUM: bwlim: Use a read-lock on the sticky session to apply a shared limit 2024-09-02 15:50:25 +02:00
flt_http_comp.c MINOR: dynbuf: pass a criticality argument to b_alloc() 2024-05-10 17:18:13 +02:00
flt_spoe.c MINOR: startup: rename readcfgfile in parse_cfg 2024-08-07 18:41:41 +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: log: provide sending log context to process_send_log() when available 2024-06-13 15:43:09 +02:00
guid.c MINOR: guid: define guid_is_valid_fmt() 2024-04-26 11:29:25 +02:00
h1_htx.c BUG/MINOR: h1: do not forward h2c upgrade header token 2024-08-01 18:23:32 +02:00
h1.c BUG/MINOR: h1: do not forward h2c upgrade header token 2024-08-01 18:23:32 +02:00
h2.c BUG/MEDIUM: h2: Only report early HTX EOM for tunneled streams 2024-08-02 08:42:28 +02:00
h3_stats.c MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
h3.c MINOR: mux-quic: retry after small buf alloc failure 2024-08-20 18:12:27 +02:00
haproxy.c CLEANUP: haproxy: fix typos in code comment 2024-08-30 14:58:59 +02:00
hash.c
hlua_fcn.c MAJOR: import: update mt_list to support exponential back-off (try #2) 2024-07-09 16:46:38 +02:00
hlua.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
hpack-dec.c
hpack-enc.c
hpack-huff.c
hpack-tbl.c
hq_interop.c MINOR: quic: support sbuf allocation in quic_stream 2024-08-20 18:12:27 +02:00
http_acl.c
http_act.c MAJOR: log: implement proper postparsing for logformat expressions 2024-04-04 19:10:01 +02:00
http_ana.c BUG/MEDIUM: http-ana: Report error on write error waiting for the response 2024-08-02 08:42:28 +02:00
http_client.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
http_conv.c MINOR: sample: date converter takes HTTP date and output an UNIX timestamp 2024-06-20 16:38:48 +02:00
http_ext.c OPTIM: http_ext: avoid useless copy in http_7239_extract_{ipv4,ipv6} 2024-03-25 16:24:15 +01:00
http_fetch.c MEDIUM: tree-wide: add logformat expressions wrapper 2024-04-04 19:10:01 +02:00
http_htx.c BUG/MINOR: http-htx: Support default path during scheme based normalization 2024-05-24 16:17:24 +02:00
http_rules.c MAJOR: log: implement proper postparsing for logformat expressions 2024-04-04 19:10:01 +02:00
http.c MEDIUM: http: add the ability to redefine http-err-codes and http-fail-codes 2024-01-11 15:10:08 +01:00
htx.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
init.c
jwt.c BUG/MEDIUM: jwt: Clear SSL error queue on error when checking the signature 2024-07-26 16:59:00 +02:00
lb_chash.c MEDIUM: lb-chash: Deterministic node hashes based on server address 2024-04-02 07:00:10 +02:00
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
lb_ss.c MINOR: lbprm: implement true "sticky" balance algo 2024-03-29 17:08:37 +01:00
limits.c MINOR: debug: use LIM2A to show limits 2024-07-16 14:04:41 +02:00
linuxcap.c MINOR: capabilities: use _LINUX_CAPABILITY_VERSION_3 2024-06-26 07:38:21 +02:00
listener.c MINOR: quic/config: adapt settings to new conn buffer limit 2024-08-20 17:59:35 +02:00
log.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
lru.c BUG/MINOR: lru: fix the standalone test case for invalid revision 2024-04-13 08:43:12 +02:00
mailers.c BUG/MINOR: proxy: fix email-alert leak on deinit() (2nd try) 2024-06-17 19:37:29 +02:00
map.c MEDIUM: cli/applet: Stop to test opposite SC in I/O handler of CLI commands 2024-03-28 17:28:20 +01:00
mjson.c BUILD: mjson: Fix warning about unused variables 2023-05-11 09:22:46 +02:00
mqtt.c CLEANUP: mqtt: fix typo in MQTT_REMAINING_LENGHT_MAX_SIZE 2024-08-30 14:58:59 +02:00
mux_fcgi.c MINOR: connection: No longer include stconn type header in connection-t.h 2024-07-12 15:27:04 +02:00
mux_h1.c BUG/MEDIUM: mux-h1: Properly handle empty message when an error is triggered 2024-09-03 14:28:42 +02:00
mux_h2.c MINOR: mux-h2: try to clear DEM_MROOM and MUX_MFULL at more places 2024-09-03 14:39:04 +02:00
mux_pt.c BUG/MEDIUM: mux-pt: Never fully close the connection on shutdown 2024-09-02 15:50:25 +02:00
mux_quic.c MINOR: mux-quic: correct qcc_bufwnd_full() documentation 2024-08-23 16:25:04 +02:00
mux_spop.c MINOR: spoe: export the list of SPOP error reasons 2024-07-24 14:19:10 +02:00
mworker-prog.c MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02:00
mworker.c REORG: init: encapsulate 'reload' sockpair and master CLI listeners creation 2024-06-27 16:08:42 +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/MINOR: pattern: pat_ref_set: return 0 if err was found 2024-08-13 16:13:43 +02: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 BUG/MEDIUM: peer: Notify the applet won't consume data when it waits for sync 2024-08-02 08:42:29 +02:00
pipe.c
pool.c OPTIM: pool: improve needed_avg cache line access pattern 2024-07-09 16:46:38 +02:00
proto_quic.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
proto_rhttp.c MINOR: protocol: add the real address family to the protocol 2024-08-21 17:37:46 +02:00
proto_sockpair.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
proto_tcp.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
proto_udp.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
proto_uxdg.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
proto_uxst.c CLEANUP: protocol: no longer initialize .receivers nor .nb_receivers 2024-08-21 17:37:46 +02:00
protocol.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
proxy.c MINOR: proxy: Add support of 429-Too-Many-Requests in retry-on status 2024-08-28 10:05:34 +02:00
qmux_http.c MEDIUM: mux-quic: add BUG_ON if sending on locally closed QCS 2023-12-21 15:42:08 +01:00
qmux_trace.c MINOR: mux-quic: add buf_in_flight to QCC debug infos 2024-08-22 17:48:23 +02:00
qpack-dec.c MINOR: h3/qpack: adjust naming for errors 2024-05-16 10:31:17 +02:00
qpack-enc.c BUG/MEDIUM: qpack: allow 6xx..9xx status codes 2024-01-29 15:40:19 +01:00
qpack-tbl.c
queue.c MINOR: queue: add a function to check for TOCTOU after queueing 2024-07-29 09:27:01 +02:00
quic_ack.c BUILD: quic: Variable name typo inside a BUG_ON(). 2024-02-05 14:31:21 +01:00
quic_cc_cubic.c BUILD: quic: 32bits build broken by wrong integer conversions for printf() 2024-08-26 11:21:48 +02:00
quic_cc_newreno.c MINOR: quic: Avoid cc priv buffer overflow. 2024-07-24 11:07:19 +02:00
quic_cc_nocc.c REORG: quic: Move QUIC path definitions/declarations to quic_cc module 2023-11-28 15:37:50 +01:00
quic_cc.c
quic_cid.c REORG: quic: remove quic_cid_trees reference from proto_quic 2024-07-03 15:02:40 +02:00
quic_cli.c BUILD: quic: 32bits build broken by wrong integer conversions for printf() 2024-08-26 11:21:48 +02:00
quic_conn.c BUG/MEDIUM: quic: always validate sender address on 0-RTT 2024-08-30 17:04:09 +02:00
quic_fctl.c MINOR: mux-quic: define a flow control related type 2024-01-31 16:28:54 +01:00
quic_frame.c MINOR: quic: Modify NEW_TOKEN frame structure (qf_new_token struct) 2024-08-30 17:04:09 +02:00
quic_loss.c MINOR: quic: store the lost packets counter in the quic_cc_event element 2024-08-21 08:02:44 +02:00
quic_openssl_compat.c BUG/MEDIUM: quic: keylog callback not called (USE_OPENSSL_COMPAT) 2024-01-16 10:17:27 +01:00
quic_retransmit.c BUG/MINOR: quic: unexploited retransmission cases for Initial pktns. 2024-09-03 11:47:51 +02:00
quic_retry.c BUG/MEDIUM: quic: always validate sender address on 0-RTT 2024-08-30 17:04:09 +02:00
quic_rules.c MINOR: quic: implement send-retry quic-initial rules 2024-07-25 15:39:39 +02:00
quic_rx.c BUG/MEDIUM: quic: always validate sender address on 0-RTT 2024-08-30 17:04:09 +02:00
quic_sock.c BUILD: quic: fix build errors on FreeBSD since recent GSO changes 2024-08-30 18:53:49 +02:00
quic_ssl.c BUG/MINOR: quic: Crash from trace dumping SSL eary data status (AWS-LC) 2024-09-02 10:01:41 +02:00
quic_stats.c MINOR: stats: introduce a more expressive stat definition method 2024-04-26 10:20:57 +02:00
quic_stream.c MINOR: mux-quic: retry after small buf alloc failure 2024-08-20 18:12:27 +02:00
quic_tls.c MINOR: quic: Implement quic_tls_derive_token_secret(). 2024-08-30 17:04:09 +02:00
quic_token.c MINOR: quic: Token for future connections implementation. 2024-08-30 17:04:09 +02:00
quic_tp.c BUG/MEDIUM: quic: don't blindly rely on unaligned accesses 2024-04-06 00:07:49 +02:00
quic_trace.c BUG/MINOR: quic: Crash from trace dumping SSL eary data status (AWS-LC) 2024-09-02 10:01:41 +02:00
quic_tx.c MINOR: quic: implement function to check if STREAM is fully acked 2024-08-07 10:57:10 +02: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
resolvers.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
ring.c MINOR: ring: count processed messages in ring_dispatch_messages() 2024-07-24 17:59:03 +02:00
sample.c BUG/MINOR: jwt: fix variable initialisation 2024-07-08 14:23:14 +02:00
server_state.c BUILD: tree-wide: cast arguments to tolower/toupper to unsigned char (2) 2024-07-18 13:29:52 +02:00
server.c MINOR: server: add a alt_proto field for server 2024-08-30 18:53:49 +02:00
session.c MINOR: session/trace: enable very minimal session tracing 2024-08-07 16:02:59 +02:00
sha1.c
shctx.c DEBUG: shctx: name shared memory using vma_set_name() 2024-05-21 17:55:03 +02:00
signal.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
sink.c MEDIUM: sink: assume sft appctx stickiness 2024-07-25 14:56:19 +02:00
slz.c IMPORT: slz: implement a synchronous flush() operation 2023-06-30 16:12:36 +02:00
sock_inet.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
sock_unix.c MINOR: protocol: add the real address family to the protocol 2024-08-21 17:37:46 +02:00
sock.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
ssl_ckch.c MINOR: ssl: change issuers-chain for show_cert_detail() 2024-07-17 16:52:06 +02:00
ssl_clienthello.c BUILD: ssl: replace USE_OPENSSL_AWSLC by OPENSSL_IS_AWSLC 2024-07-30 18:53:08 +02:00
ssl_crtlist.c MEDIUM: ssl: don't load file by discovering them in crt-store 2024-05-21 18:30:45 +02:00
ssl_gencert.c MEDIUM: ssl: allow to change the OpenSSL security level from global section 2024-03-12 17:37:11 +01:00
ssl_ocsp.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
ssl_sample.c MEDIUM: ssl/sample: add ssl_fc_sigalgs_bin sample fetch 2024-08-26 15:17:40 +02:00
ssl_sock.c MEDIUM: ssl: capture the signature_algorithms extension from Client Hello 2024-08-26 15:17:40 +02: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-file.c BUILD: stats: remove non portable getline() usage 2024-05-17 14:53:19 +02:00
stats-html.c BUG/MINOR: stats: add lang attribute to html tag 2024-08-20 15:55:45 +02:00
stats-json.c MINOR: stats: update ambiguous "metrics" naming to "stat_cols" 2024-04-26 10:20:57 +02:00
stats-proxy.c MINOR: stats-html: Display reuse ratio for spop connections 2024-07-12 15:27:05 +02:00
stats.c CLEANUP: assorted typo fixes in the code and comments 2024-05-03 09:01:36 +02:00
stconn.c MINOR: stconn: add a new pair of sf functions {bs,fs}.debug_str 2024-08-07 14:07:41 +02:00
stick_table.c MEDIUM: stick-table: Add support of a factor for IN/OUT bytes rates 2024-09-02 15:50:25 +02:00
stream.c BUG/MEDIUM: stream: Prevent mux upgrades if client connection is no longer ready 2024-08-28 16:38:20 +02:00
systemd.c MEDIUM: mworker: get rid of libsystemd 2024-04-03 15:53:18 +02:00
task.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
tcp_act.c MINOR: server: define pool-conn-name keyword 2024-05-24 14:36:31 +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: tcp_sample: Move TCP low level sample fetch function to control layer 2024-07-31 10:29:42 +02:00
tcpcheck.c MINOR: tools: extend str2sa_range to add an alt parameter 2024-08-30 18:53:49 +02:00
thread.c MINOR: config: add thread-hard-limit to set an upper bound to nbthread 2024-05-24 09:46:49 +02:00
time.c
tools.c MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
trace.c MINOR: trace: add a per-source helper to pre-fill the context 2024-08-07 16:02:59 +02:00
uri_auth.c MINOR: stats: use STAT_F_* prefix for flags 2024-04-22 16:25:18 +02:00
uri_normalizer.c BUILD: tree-wide: cast arguments to tolower/toupper to unsigned char (2) 2024-07-18 13:29:52 +02:00
vars.c MEDIUM: vars: Be able to retrieve variable of the parent stream, if any 2024-07-18 17:06:12 +02:00
version.c
wdt.c
xprt_handshake.c
xprt_quic.c MINOR: quic: dump quic_conn debug string for logs 2024-08-07 15:40:52 +02:00