haproxy/src
Willy Tarreau 8ff5a8d87f BUG/MINOR: stream-int: don't check the CO_FL_CURR_WR_ENA flag
The stream interface chk_snd() code checks if the connection has already
subscribed to write events in order to avoid attempting a useless write()
which will fail. But it used to check both the CO_FL_CURR_WR_ENA and the
CO_FL_DATA_WR_ENA flags, while the former may only be present without the
latterif either the other side just disabled writing did not synchronize
yet (which is harmless) or if it's currently performing a handshake, which
is being checked by the next condition and will be better dealt with by
properly subscribing to the data events.

This code was added back in 1.5-dev20 to limit the number of useless calls
to splice() but both flags were checked at once while only CO_FL_DATA_WR_ENA
was needed. This bug seems to have no impact other than making code changes
more painful. This fix may be backported down to 1.5 though is unlikely to
be needed there.
2017-08-30 07:03:34 +02:00
..
51d.c CLEANUP: 51d: move global settings out of the global section 2016-12-21 21:30:54 +01:00
acl.c BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
applet.c MAJOR: applet: applet scheduler rework. 2017-06-27 14:38:02 +02:00
arg.c BUG/MEDIUM: arg: ensure that we properly unlink unresolved arguments on error 2017-04-13 12:20:52 +02:00
auth.c CLEANUP: auth: use the build options list to report its support 2016-12-21 21:30:54 +01:00
backend.c MINOR: backends: Change get_server_sh/get_server_uh into private function 2017-06-27 14:38:02 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c CLEANUP: buffers: Remove buffer_bounce_realign function 2017-03-31 14:38:22 +02:00
cfgparse.c BUG/MEDIUM: dns: fix accepted_payload_size parser to avoid integer overflow 2017-08-22 12:03:46 +02:00
channel.c BUG/MEDIUM: buffers: Fix how input/output data are injected into buffers 2017-03-31 14:36:04 +02:00
checks.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
chunk.c MINOR: chunks: implement a simple dynamic allocator for trash buffers 2017-02-08 11:16:29 +01:00
cli.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
compression.c MINOR: compression: fix -vv output without zlib/slz 2017-01-11 16:11:11 +01:00
connection.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
da.c CLEANUP: da: move global settings out of the global section 2016-12-21 21:30:54 +01:00
dns.c BUG/MINOR: dns: wrong resolution interval lead to 100% CPU 2017-08-22 11:40:00 +02:00
ev_epoll.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
ev_kqueue.c MEDIUM: kqueue: only set FD_POLL_IN when there are pending data 2017-03-21 16:35:17 +01:00
ev_poll.c OPTIM: poll: enable support for POLLRDHUP 2017-03-21 16:30:44 +01:00
ev_select.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
fd.c MINOR: proxy: Don't close FDs if not our proxy. 2017-04-13 19:15:17 +02:00
filters.c BUG/MEDIUM: filters: Be sure to call flt_end_analyze for both channels 2017-07-06 23:07:36 +02:00
flt_http_comp.c MINOR: compression: Use a memory pool to allocate compression states 2017-06-30 14:05:29 +02:00
flt_spoe.c BUG/MINOR: Wrong type used as argument for spoe_decode_buffer(). 2017-08-22 11:27:20 +02:00
flt_trace.c MINOR: filters: Add check_timeouts callback to handle timers expiration on streams 2016-11-21 15:29:58 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
haproxy.c MINOR: init: Fix CPU affinity setting on FreeBSD. 2017-08-17 18:39:52 +02:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
hlua_fcn.c BUG/MINOR: lua: Fix bitwise logic for hlua_server_check_* functions. 2017-07-28 15:24:57 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MINOR: hash-balance-factor isn't effective in certain circumstances 2017-04-26 15:45:27 +02:00
lb_fas.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwlc.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwrr.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_map.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
listener.c MEDIUM: mworker: replace systemd mode by master worker mode 2017-06-02 10:56:32 +02:00
log.c BUG/MINOR: log: pin the front connection when front ip/ports are logged 2017-06-23 11:34:57 +02:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUG/MAJOR: map: fix segfault during 'show map/acl' on cli. 2017-06-30 06:49:42 +02:00
memory.c MINOR: memory: remove macros 2017-07-21 09:54:03 +02:00
namespace.c CLEANUP: namespaces: use the build options list to report it 2016-12-21 21:30:54 +01:00
pattern.c BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
payload.c BUG: payload: fix payload not retrieving arbitrary lengths 2017-03-20 07:25:37 +01:00
peers.c MINOR: stream: link the stream to its session 2017-08-18 13:26:35 +02:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
proto_tcp.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c MINOR: dns: Handle SRV records. 2017-08-09 16:32:49 +02:00
queue.c MINOR: queue: Change pendconn_from_srv/pendconn_from_px into private functions 2017-06-27 14:38:02 +02:00
raw_sock.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c MEDIUM: regex: pcre2 support 2016-12-28 12:51:51 +01:00
sample.c MINOR: samples: Handle the type SMP_T_METH when we duplicate a sample in smp_dup 2017-07-24 17:15:47 +02:00
server.c BUG/MINOR: dns: server set by SRV records stay in "no resolution" status 2017-08-22 11:34:49 +02:00
session.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
shctx.c MEDIUM: ssl: Add support for OpenSSL 1.1.0 2016-11-08 20:54:41 +01:00
signal.c MEDIUM: mworker: handle reload and signals 2017-06-02 10:56:32 +02:00
ssl_sock.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
standard.c MINOR: tools: add a portable timegm() alternative 2017-07-19 19:15:06 +02:00
stats.c MINOR: cli: add ACCESS_LVL_MASK to store the access level 2017-05-27 07:02:06 +02:00
stick_table.c CLEANUP: task: remove all initializations to TICK_ETERNITY after task_new() 2017-07-24 17:55:20 +02:00
stream.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
stream_interface.c BUG/MINOR: stream-int: don't check the CO_FL_CURR_WR_ENA flag 2017-08-30 07:03:34 +02:00
task.c MAJOR: task: task scheduler rework. 2017-06-27 14:38:02 +02:00
tcp_rules.c MINOR: tcp-rules: check that the listener exists before updating its counters 2016-12-22 23:26:37 +01:00
time.c CLEANUP: time: curr_sec_ms doesn't need to be exported 2017-03-29 15:24:33 +02:00
trace.c BUG/MEDIUM: trace.c: rdtsc() is defined in two files 2016-04-09 22:27:01 +02:00
uri_auth.c CLEANUP: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
vars.c MINOR: samples: Don't allocate memory for SMP_T_METH sample when method is known 2017-07-24 17:16:11 +02:00
wurfl.c CLEANUP: wurfl: move global settings out of the global section 2016-12-21 21:30:54 +01:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00