Tweak ICMP ping check logic for DHCPv4.
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 @@
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;