haproxy/src
Baptiste Assmann 044fd5bc2c BUG/MINOR: dns: check and link servers' resolvers right after config parsing
On the Mailing list, Marcos Moreno reported that haproxy configuration
validation (through "haproxy -c cfgfile") does not detect when a
resolvers section does not exist for a server.
That said, this checking is done after HAProxy has started up.

The problem is that this can create production issue, since init
script can't detect the problem before starting / reloading HAProxy.

To fix this issue, this patch registers the function which validates DNS
configuration validity and run it right after configuration parsing is
finished (through cfg_register_postparser()).
Thanks to it, now "haproxy -c cfgfile" will fail when a server
points to a non-existing resolvers section (or any other validation made
by the function above).

Backport status: 1.8
2018-09-06 19:41:30 +02:00
..
51d.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
acl.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
arg.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
auth.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
backend.c MINOR: Add srv_conn_free sample fetch 2018-08-27 16:38:56 +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 MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
cache.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
cfgparse.c MINOR: mux/server: Add 'proto' keyword to force the multiplexer's protocol 2018-08-08 10:42:08 +02:00
channel.c MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
checks.c MINOR: connection: make the initialization more consistent 2018-09-06 11:45:30 +02:00
chunk.c MINOR: chunk: remove impossible tests on negative chunk->data 2018-08-22 05:28:32 +02:00
cli.c MINOR: threads: remove the previous synchronization point 2018-08-08 09:57:45 +02:00
compression.c MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
connection.c MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
da.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
dns.c BUG/MINOR: dns: check and link servers' resolvers right after config parsing 2018-09-06 19:41:30 +02:00
ev_epoll.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
ev_kqueue.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
ev_poll.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
ev_select.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
fd.c MINOR: pollers: Add a way to wake a thread sleeping in the poller. 2018-07-26 19:09:50 +02:00
filters.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
flt_http_comp.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
flt_spoe.c BUG/MINOR: build: Fix compilation with debug mode enabled 2018-07-20 10:45:20 +02:00
flt_trace.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
h1.c BUG/MINOR: h1: fix buffer shift after realignment 2018-09-06 10:48:15 +02:00
h2.c BUG/MEDIUM: h2: implement missing support for chunked encoded uploads 2018-04-26 10:20:44 +02:00
haproxy.c MAJOR: server: make server state changes synchronous again 2018-08-08 09:57:45 +02:00
hash.c MINOR: hash: add new function hash_crc32c 2018-03-21 05:04:01 +01:00
hathreads.c MINOR: threads: remove the previous synchronization point 2018-08-08 09:57:45 +02:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua_fcn.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hlua.c BUG/MEDIUM: hlua: Don't call RESET_SAFE_LJMP if SET_SAFE_LJMP returns 0. 2018-08-31 16:14:58 +02:00
hpack-dec.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hpack-enc.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c BUG/MINOR: hpack: fix harmless use of uninitialized value in hpack_dht_insert 2018-03-27 20:05:13 +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/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fas.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwlc.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwrr.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_map.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
listener.c MINOR: mux/frontend: Add 'proto' keyword to force the mux protocol 2018-08-08 10:41:11 +02:00
log.c MINOR: log: provide a function to emit a log for a session 2018-09-06 09:43:41 +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/MEDIUM: map: don't store exp_replace() result in the trash's length 2018-08-22 05:16:33 +02:00
memory.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
mux_h2.c MEDIUM: h2: produce some logs on early errors that prevent streams from being created 2018-09-06 09:43:41 +02:00
mux_pt.c BUG/MEDIUM: mux_pt: dereference the connection with care in mux_pt_wake() 2018-08-24 15:48:59 +02:00
namespace.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
pattern.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
payload.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
peers.c MINOR: connection: make the initialization more consistent 2018-09-06 11:45:30 +02:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c BUG/MINOR: stream: use atomic increments for the request counter 2018-09-05 16:30:19 +02:00
proto_tcp.c MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +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 MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c BUG/MEDIUM: dns/server: fix incomatibility between SRV resolution and server state file 2018-09-04 17:40:22 +02:00
queue.c BUG/MAJOR: queue/threads: make pendconn_redistribute not lock the server 2018-08-21 18:11:03 +02:00
raw_sock.c MINOR: connections/mux: Add a new "subscribe" method. 2018-07-19 16:23:43 +02:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
server.c BUG/MEDIUM: dns/server: fix incomatibility between SRV resolution and server state file 2018-09-04 17:40:22 +02:00
session.c MINOR: connection: make the initialization more consistent 2018-09-06 11:45:30 +02:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c BUILD: shctx: do not depend on openssl anymore 2017-11-08 14:33:36 +01:00
signal.c MINOR: signal: don't pass the signal number anymore as the wakeup reason 2018-07-26 16:12:48 +02:00
ssl_sock.c BUG/MEDIUM: ECC cert should work with TLS < v1.2 and openssl >= 1.1.1 2018-09-04 17:47:10 +02:00
standard.c MINOR: tools: make date2str_log() take some consts 2018-09-05 16:30:11 +02:00
stats.c BUG/MEDIUM: stats: don't ask for more data as long as we're responding 2018-07-24 17:13:32 +02:00
stick_table.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
stream_interface.c BUG/MEDIUM: stream_interface: try to call si_cs_send() earlier. 2018-08-28 19:46:45 +02:00
stream.c BUG/MEDIUM: session: fix reporting of handshake processing time in the logs 2018-09-05 16:30:23 +02:00
task.c MINOR: tasks: Don't special-case when nbthreads == 1 2018-08-17 14:50:37 +02:00
tcp_rules.c BUG/MINOR: build: Fix compilation with debug mode enabled 2018-07-20 10:45:20 +02:00
time.c BUG/MINOR: time/threads: ensure the adjusted time is always correct 2018-02-05 20:11:38 +01:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
wurfl.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00