aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2017-07-18 22:55:29 +0200
committerHans Dedecker <dedeckeh@gmail.com>2017-07-18 23:17:37 +0200
commit6f133a44023e4f6941341186a0951e77dd108d50 (patch)
treeac7d3b5bd9e9b73b958d42ba751e73ae1a513d6b
parent7c727c6fa427dba9e43aaf3648d12af19a4858f1 (diff)
downloadupstream-6f133a44023e4f6941341186a0951e77dd108d50.tar.gz
upstream-6f133a44023e4f6941341186a0951e77dd108d50.tar.bz2
upstream-6f133a44023e4f6941341186a0951e77dd108d50.zip
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>
-rw-r--r--package/network/services/dnsmasq/Makefile2
-rw-r--r--package/network/services/dnsmasq/patches/011-Remove-ping-check-of-configured-DHCP-address.patch28
2 files changed, 29 insertions, 1 deletions
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index 070172464e..2db57c062b 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -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/
diff --git a/package/network/services/dnsmasq/patches/011-Remove-ping-check-of-configured-DHCP-address.patch b/package/network/services/dnsmasq/patches/011-Remove-ping-check-of-configured-DHCP-address.patch
new file mode 100644
index 0000000000..67f90e172d
--- /dev/null
+++ b/package/network/services/dnsmasq/patches/011-Remove-ping-check-of-configured-DHCP-address.patch
@@ -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
+