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;