|
|
@@ -0,0 +1,25 @@
|
|
|
+From 4bb68866a8aeb31db8100492bceae051e33be5d0 Mon Sep 17 00:00:00 2001
|
|
|
+From: Simon Kelley <[email protected]>
|
|
|
+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
|
|
|
+
|