haproxy/src
Willy Tarreau f983d00a1c BUG/MINOR: mux-h2: make the do_shut{r,w} functions more robust against retries
These functions may fail to emit an RST or an empty DATA frame because
the mux is full or busy. Then they subscribe the h2s and try again.
However when doing so, they will already have marked the error state on
the stream and will not pass anymore through the sequence resulting in
the failed frame to be attempted to be sent again nor to the close to
be done, instead they will return a success.

It is important to only leave when the stream is already closed, but
to go through the whole sequence otherwise.

This patch should ideally be backported to 1.9 though it's possible that
the lack of the WANT_SHUT* flags makes this difficult or dangerous. The
severity is low enough to avoid this in case of trouble.
2019-05-14 11:13:06 +02:00
..
51d.c BUG/MINOR: 51d: Get the request channel to call CHECK_HTTP_MESSAGE_FIRST() 2019-04-19 15:53:23 +02:00
acl.c BUG/MINOR: acl: properly detect pattern type SMP_T_ADDR 2019-04-19 11:45:20 +02:00
action.c MINOR: stick-tables: Add peers process binding computing. 2019-05-07 06:54:07 +02:00
activity.c MINOR: activity: enable automatic profiling turn on/off 2019-04-25 17:26:46 +02:00
applet.c MEDIUM: appctx/debug: force a crash if an appctx spins over itself forever 2019-04-26 13:15:56 +02:00
arg.c MINOR: sample: Rework gRPC converter code. 2019-03-05 11:04:23 +01:00
auth.c
backend.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
base64.c
buffer.c
cache.c BUILD: cache: avoid a build warning with some compilers/linkers 2019-03-29 21:03:24 +01:00
cfgparse-global.c MINOR: threads: flatten the per-thread cpu-map 2019-05-03 09:46:45 +02:00
cfgparse-listen.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
cfgparse.c BUG/MINOR: peers: Fix memory leak in cfg_parse_peers 2019-05-13 10:10:01 +02:00
channel.c
checks.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
chunk.c
cli.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
compression.c MEDIUM: compression: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
connection.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
da.c MEDIUM: da: HTX mode support. 2019-04-26 17:06:32 +02:00
dns.c MINOR: action: new '(http-request|tcp-request content) do-resolve' action 2019-04-23 11:41:52 +02:00
ev_epoll.c MEDIUM: pollers: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
ev_kqueue.c MEDIUM: pollers: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
ev_poll.c MEDIUM: pollers: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
ev_select.c MEDIUM: pollers: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
fd.c BUILD: threads: fix again the __ha_cas_dw() definition 2019-05-11 18:13:29 +02:00
filters.c MINOR: filters/htx: Use stream flags instead of px mode to instanciate a filter 2019-04-12 22:06:53 +02:00
flt_http_comp.c MEDIUM: compression: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
flt_spoe.c MINOR: spoe: Set the argument chunk size to 0 when SPOE variables are checked 2019-05-13 11:07:00 +02:00
flt_trace.c
freq_ctr.c
frontend.c
h1.c MEDIUM: h1: Add an option to sanitize connection headers during parsing 2019-04-12 22:06:53 +02:00
h2.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
haproxy.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
hash.c
hathreads.c MINOR: threads: Implement thread_cpus_enabled() for FreeBSD. 2019-04-11 00:09:22 +02:00
hdr_idx.c
hlua_fcn.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
hlua.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
hpack-dec.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-enc.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-huff.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-tbl.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
http_acl.c
http_act.c MEDIUM: streams: Add a new http action, disable-l7-retry. 2019-05-10 17:49:09 +02:00
http_conv.c
http_fetch.c BUG/MINOR: htx: make sure to always initialize the HTTP method when parsing a buffer 2019-05-13 10:10:44 +02:00
http_htx.c BUG/MINOR: htx: Exclude TCP proxies when the HTX mode is handled during startup 2019-04-24 15:40:02 +02:00
http_msg.c BUG/MEDIUM: http: Use pointer to the begining of input to parse message headers 2019-05-10 11:47:00 +02:00
http_rules.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
http.c BUILD: do not specify "const" on functions returning structs or scalars 2019-04-15 21:55:48 +02:00
htx.c MINOR: htx: Remove support for unused OOB HTX blocks 2019-05-07 22:16:41 +02:00
i386-linux-vsys.c
lb_chash.c
lb_fas.c
lb_fwlc.c
lb_fwrr.c BUG/MAJOR: lb/threads: fix AB/BA locking issue in round-robin LB 2019-04-24 14:23:40 +02:00
lb_map.c MEDIUM: lb/threads: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
listener.c BUG/MEDIUM: listener: Fix how unlimited number of consecutive accepts is handled 2019-04-30 15:28:29 +02:00
log.c BUG/MINOR: log: Wrong log format initialization. 2019-05-14 11:12:00 +02:00
lru.c
mailers.c
map.c BUG/MEDIUM: maps: only try to parse the default value when it's present 2019-04-19 11:35:22 +02:00
memory.c BUILD: threads: fix again the __ha_cas_dw() definition 2019-05-11 18:13:29 +02:00
mux_h1.c CLEANUP: connection: remove the handle field from the wait_event struct 2019-05-13 19:14:52 +02:00
mux_h2.c BUG/MINOR: mux-h2: make the do_shut{r,w} functions more robust against retries 2019-05-14 11:13:06 +02:00
mux_pt.c MEDIUM: connections: Provide a xprt_ctx for each xprt method. 2019-04-18 14:56:24 +02:00
mworker-prog.c CLEANUP: mworker: remove the type field in mworker_proc 2019-04-16 13:26:43 +02:00
mworker.c MINOR: mworker: support a configurable maximum number of reloads 2019-05-07 19:09:01 +02:00
namespace.c
pattern.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
payload.c
peers.c MINOR: peers: Do not emit global stick-table names. 2019-05-07 06:54:07 +02:00
pipe.c BUILD: address a few cases of "static <type> inline foo()" 2019-04-15 21:55:48 +02:00
proto_http.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
proto_htx.c BUG/MEDIUM: streams: Make sur SI_FL_L7_RETRY is set before attempting a retry. 2019-05-10 17:48:59 +02:00
proto_sockpair.c MEDIUM: proto: Change the prototype of the connect() method. 2019-05-06 22:12:57 +02:00
proto_tcp.c MEDIUM: tcp: add the "tfo" option to support TCP fastopen on the server 2019-05-06 22:29:39 +02:00
proto_udp.c
proto_uxst.c MEDIUM: proto: Change the prototype of the connect() method. 2019-05-06 22:12:57 +02:00
protocol.c
proxy.c MINOR: streams: Introduce a new retry-on keyword, all-retryable-errors. 2019-05-10 18:05:35 +02:00
queue.c MEDIUM: queues: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
raw_sock.c MEDIUM: tcp: add the "tfo" option to support TCP fastopen on the server 2019-05-06 22:29:39 +02:00
regex.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
sample.c MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
server.c CLEANUP: ssl: remove 57 occurrences of useless tests on LIBRESSL_VERSION_NUMBER 2019-05-09 14:26:39 +02:00
session.c CLEANUP: task: remove unneeded tests before task_destroy() 2019-05-07 19:08:16 +02:00
sha1.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
shctx.c
signal.c
ssl_sock.c BUG/MAJOR: ssl: segfault upon an heartbeat request 2019-05-13 16:03:44 +02:00
standard.c CLEANUP: standard: use proper const to addr_to_str() and port_to_str() 2019-04-25 17:48:16 +02:00
stats.c CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
stick_table.c BUG/MEDIUM: stick-table: fix regression caused by a change in proxy struct 2019-05-07 14:56:59 +02:00
stream_interface.c MEDIUM: streams: Add the ability to retry a request on L7 failure. 2019-05-04 10:19:56 +02:00
stream.c MEDIUM: streams: Add a new http action, disable-l7-retry. 2019-05-10 17:49:09 +02:00
task.c MINOR: activity: report context switch counts instead of rates 2019-04-30 14:55:18 +02:00
tcp_rules.c MEDIUM: tcp_rules: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:38 +01:00
time.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
trace.c
uri_auth.c
vars.c BUG/MINOR: vars: Fix memory leak in vars_check_arg 2019-05-13 11:09:12 +02:00
version.c
wurfl.c MINOR: wurfl: enabled multithreading mode 2019-04-23 11:00:23 +02:00
xxhash.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00