BUG/MEDIUM: resolvers: Reset address for unresolved servers

If the DNS resolution failed for a server, its ip address must be
removed. Otherwise, the server is stopped but keeps its ip. This may be
confusing when the servers state are retrieved on the CLI and it may lead to
undefined behavior if HAproxy is configured to load its servers state from a
file.

This patch should be backported as far as 2.0.
This commit is contained in:
Christopher Faulet 2021-02-23 12:33:17 +01:00
parent 52d4d30109
commit d127ffa9f4
1 changed files with 1 additions and 0 deletions

View File

@ -4162,6 +4162,7 @@ int snr_resolution_error_cb(struct resolv_requester *requester, int error_code)
return 1;
HA_SPIN_LOCK(SERVER_LOCK, &s->lock);
snr_update_srv_status(s, 0);
memset(&s->addr, 0, sizeof(s->addr));
HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);
return 1;
}