haproxy/src
Willy Tarreau 4f86264bae BUG/MEDIUM: config: reject anything but "if" or "unless" after a use-backend rule
Adrian Fitzpatrick reported that since commit f51658d ("MEDIUM: config:
relax use_backend check to make the condition optional"), typos like "of"
instead of "if" on use_backend rules are not properly detected. The reason
is that the parser only checks for "if" or "unless" otherwise it considers
there's no keyword, making the rule inconditional.

This patch fixes it. It may reveal some rare config bugs for some people,
but will not affect valid configurations.

This fix must be backported to 1.7, 1.6 and 1.5.
2017-02-28 09:34:39 +01:00
..
51d.c CLEANUP: 51d: move global settings out of the global section 2016-12-21 21:30:54 +01:00
acl.c CLEANUP: sample: report "converter" instead of "conv method" in error messages 2016-11-25 07:36:22 +01:00
applet.c BUG/MAJOR: Fix how the list of entities waiting for a buffer is handled 2016-12-12 19:11:04 +01:00
arg.c MINOR: sample: Moves ARGS underlying type from 32 to 64 bits. 2016-03-15 22:11:52 +01:00
auth.c CLEANUP: auth: use the build options list to report its support 2016-12-21 21:30:54 +01:00
backend.c MEDIUM: server: split the address and the port into two different fields 2017-01-06 19:29:33 +01: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 BUG/MAJOR: Fix how the list of entities waiting for a buffer is handled 2016-12-12 19:11:04 +01:00
cfgparse.c BUG/MEDIUM: config: reject anything but "if" or "unless" after a use-backend rule 2017-02-28 09:34:39 +01:00
channel.c BUG/MEDIUM: channel: bad unlikely macro 2016-11-14 15:23:17 +01:00
checks.c BUG/MINOR: sendmail: The return of vsnprintf is not cleanly tested 2017-02-10 06:18:17 +01:00
chunk.c MINOR: chunks: implement a simple dynamic allocator for trash buffers 2017-02-08 11:16:29 +01:00
cli.c CLEANUP: connection: remove all direct references to raw_sock and ssl_sock 2016-12-22 23:26:38 +01:00
compression.c MINOR: compression: fix -vv output without zlib/slz 2017-01-11 16:11:11 +01:00
connection.c MINOR: connection: add sample fetch "fc_rcvd_proxy" 2017-01-06 11:59:17 +01:00
da.c CLEANUP: da: move global settings out of the global section 2016-12-21 21:30:54 +01:00
dns.c MINOR: dns: give ability to dns_init_resolvers() to close a socket when requested 2017-02-03 07:21:32 +01:00
ev_epoll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_kqueue.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
ev_poll.c BUILD: poll: remove unused hap_fd_isset() which causes a warning with clang 2016-08-10 21:23:48 +02:00
ev_select.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
fd.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
filters.c BUG/MAJOR: channel: Fix the definition order of channel analyzers 2017-01-05 17:58:22 +01:00
flt_http_comp.c OPTIM: http: move all http character classs tables into a single one 2016-11-05 15:58:08 +01:00
flt_spoe.c MEDIUM: spoe: don't create a dummy listener for outgoing connections 2016-12-22 23:26:37 +01: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 MINOR: proxy: Add fe_name/be_name fetchers next to existing fe_id/be_id 2016-12-12 15:10:43 +01:00
haproxy-systemd-wrapper.c BUG/MEDIUM: systemd-wrapper: return correct exit codes 2016-11-03 20:34:20 +01:00
haproxy.c MINOR: chunks: implement a simple dynamic allocator for trash buffers 2017-02-08 11:16:29 +01: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 BUG/MAJOR: lua segmentation fault when the request is like 'GET ?arg=val HTTP/1.1' 2017-02-23 21:52:18 +01:00
hlua_fcn.c BUILD: lua: build failed on FreeBSD. 2016-12-23 18:03:43 +01: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 MEDIUM: server: Implement bounded-load hash algorithm 2016-10-25 20:21:32 +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: move listener->frontend to bind_conf->frontend 2016-12-22 23:26:38 +01:00
log.c CLEANUP: connection: remove all direct references to raw_sock and ssl_sock 2016-12-22 23:26:38 +01: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 CLEANUP: cli: remove assignments to st0 and st2 in keyword parsers 2016-11-24 16:59:28 +01:00
memory.c CLEANUP: memory: remove the now unused cli_parse_show_pools() function 2016-12-16 19:40:13 +01:00
namespace.c CLEANUP: namespaces: use the build options list to report it 2016-12-21 21:30:54 +01:00
pattern.c BUG/MINOR: pattern: Avoid memory leak on out-of-memory condition 2016-03-13 07:47:25 +01:00
payload.c CLEANUP: ssl: Remove goto after return dead code 2016-11-14 18:15:20 +01:00
peers.c MEDIUM: move listener->frontend to bind_conf->frontend 2016-12-22 23:26:38 +01: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 BUG/MINOR: http: Return an error when a replace-header rule failed on the response 2017-02-08 19:08:38 +01:00
proto_tcp.c BUG/MEDIUM: tcp: don't poll for write when connect() succeeds 2017-01-25 18:46:01 +01: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 BUG/MINOR: unix: fix connect's polling in case no data are scheduled 2017-01-25 18:48:14 +01:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c BUG/MINOR: stream: Fix how backend-specific analyzers are set on a stream 2017-01-13 11:38:27 +01:00
queue.c MINOR: proxy: add 'served' field to proxy, equal to total of all servers' 2016-10-25 20:21:32 +02:00
raw_sock.c CLEANUP: connection: unexport raw_sock and ssl_sock 2016-12-22 23:26:38 +01: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: add xx-hash functions 2016-12-26 12:45:04 +01:00
server.c MINOR: cli: Add possiblity to change agent config via CLI/socket 2017-01-16 11:38:59 +01:00
session.c CLEANUP: connection: remove all direct references to raw_sock and ssl_sock 2016-12-22 23:26:38 +01:00
shctx.c MEDIUM: ssl: Add support for OpenSSL 1.1.0 2016-11-08 20:54:41 +01:00
signal.c MEDIUM: unblock signals on startup. 2016-04-20 10:53:12 +02:00
ssl_sock.c BUG/MAJOR: ssl: fix a regression in ssl_sock_shutw() 2017-02-13 11:15:13 +01:00
standard.c BUG/MEDIUM: tools: do not force an unresolved address to AF_INET:0.0.0.0 2017-01-11 12:44:33 +01:00
stats.c MEDIUM: server: split the address and the port into two different fields 2017-01-06 19:29:33 +01:00
stick_table.c BUG/MINOR: sample-fetches/stick-tables: bad type for the sample fetches sc*_get_gpt0 2017-01-05 16:04:05 +01:00
stream.c BUG/MAJOR: channel: Fix the definition order of channel analyzers 2017-01-05 17:58:22 +01:00
stream_interface.c BUG/MINOR: stream-int: automatically release SI_FL_WAIT_DATA on SHUTW_NOW 2016-12-14 16:48:16 +01:00
task.c MINOR: task: Rename run_queue and run_queue_cur counters 2016-12-12 19:10:54 +01: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 BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01: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 BUG/MEDIUM: variables: some variable name can hide another ones 2016-12-12 14:34:56 +01: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