dnsmasq: backport remove ping check of configured dhcp address

Remove ping check in DHCPDISCOVER case as too many buggy clients leave
an interface in configured state causing the ping check to fail.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
owl
Hans Dedecker 2017-07-18 22:55:29 +02:00
parent 7c727c6fa4
commit 6f133a4402
2 changed files with 29 additions and 1 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_VERSION:=2.77
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/

View File

@ -0,0 +1,28 @@
From 1d224949cced9e82440d00b3dbaf32c262bac2ff Mon Sep 17 00:00:00 2001
From: Simon Kelley <simon@thekelleys.org.uk>
Date: Sat, 8 Jul 2017 20:52:55 +0100
Subject: [PATCH 1/2] Remove ping-check of configured DHCP address.
This was added in 5ce3e76fbf89e942e8c54ef3e3389facf0d9067a but
it trips over too many buggy clients that leave an interface configured
even in DHCPDISCOVER case.
---
src/rfc2131.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/rfc2131.c b/src/rfc2131.c
index 86230b4..785e15c 100644
--- a/src/rfc2131.c
+++ b/src/rfc2131.c
@@ -1040,8 +1040,6 @@ 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 ((!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;
}
--
2.13.2