BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 10 Mar 2021 14:39:16 +0000 (15:39 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 18 Mar 2021 08:23:21 +0000 (09:23 +0100)
When an error is received for a DNS resolution, for instance a NXDOMAIN
error, the server must be considered to have no address when its status is
updated, not the opposite.

Concretly, because this parameter is not used on error path in
snr_update_srv_status(), there is no impact.

This patch must be backported as far as 1.8.

(cherry picked from commit bd0227c1096ecc9e11da315c399b178b16ad7a9d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit e260a5892df52015fef2849766feae60942480a8)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit cf57e76bb64b137041b7dd0d3935460d0b35d6af)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

src/server.c

index 932249e..ea28f8a 100644 (file)
@@ -4256,7 +4256,7 @@ int snr_resolution_error_cb(struct dns_requester *requester, int error_code)
        if (!s)
                return 1;
        HA_SPIN_LOCK(SERVER_LOCK, &s->lock);
-       snr_update_srv_status(s, 0);
+       snr_update_srv_status(s, 1);
        memset(&s->addr, 0, sizeof(s->addr));
        HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);
        return 1;