]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MAJOR: dns: dns client resolution infinite loop
authorBaptiste Assmann <bedis9@gmail.com>
Wed, 2 Sep 2015 20:15:58 +0000 (22:15 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 8 Sep 2015 08:51:50 +0000 (10:51 +0200)
commit11c4e4eefbf5b0e080e2a7993948565781b9e767
treec5e85182ed364e2586a9765cd8b970e8c0c67107
parentf0d9370f6b6696b5fdcf3e0f1741e6e4a16a7b0f
BUG/MAJOR: dns: dns client resolution infinite loop

Under certain circonstance (a configuration with many servers relying on
DNS resolution and one of them triggering the replay of a request
because of a timeout or invalid response to an ANY query), HAProxy could
end up in an infinite loop over the currently supposed running DNS
queries.

This was caused because the FIFO list of running queries was improperly
updated in snr_resolution_error_cb. The head of the list was removed
instead of the resolution in error, when moving the resolution to the
end of the list.

In the mean time, a LIST_DEL statement is removed since useless. This
action is already performed by the dns_reset_resolution function.
src/server.c