From 4bb68866a8aeb31db8100492bceae051e33be5d0 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 15 Jun 2017 23:18:44 +0100 Subject: [PATCH] Tweak ICMP ping check logic for DHCPv4. --- src/rfc2131.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rfc2131.c b/src/rfc2131.c index 1c850e5..75792da 100644 --- a/src/rfc2131.c +++ b/src/rfc2131.c @@ -1040,7 +1040,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, else if (have_config(config, CONFIG_DECLINED) && difftime(now, config->decline_time) < (float)DECLINE_BACKOFF) my_syslog(MS_DHCP | LOG_WARNING, _("not using configured address %s because it was previously declined"), addrs); - else if (!do_icmp_ping(now, config->addr, 0, loopback)) + else if ((!lease || lease->addr.s_addr != config->addr.s_addr) && !do_icmp_ping(now, config->addr, 0, loopback)) my_syslog(MS_DHCP | LOG_WARNING, _("not using configured address %s because it is in use by another host"), addrs); else conf = config->addr; -- 1.9.1