include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
-PKG_UPSTREAM_VERSION:=2.81rc1
+PKG_UPSTREAM_VERSION:=2.81rc2
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/release-candidates
-PKG_HASH:=47afc967fb3d673d1700ebfa2192ab1436197fa6e135e335f0d0ef17cdb2f0fc
+PKG_HASH:=218a5414836c0a553b57f5506d001f48b5eadc869d0fa21499ab1cdca75c1912
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
--- /dev/null
+From e68b7bee24bb04c32554e153fea2cffd69437b65 Mon Sep 17 00:00:00 2001
+From: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+Date: Fri, 6 Mar 2020 10:15:20 +0000
+Subject: [PATCH 1/2] suppress non linux network unused var warnings
+
+Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+---
+ src/dnsmasq.c | 4 +++-
+ src/network.c | 3 +++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+--- a/src/dnsmasq.c
++++ b/src/dnsmasq.c
+@@ -1860,7 +1860,8 @@ static void check_dns_listeners(time_t n
+ if (daemon->tcp_pids[i] == 0 && daemon->tcp_pipes[i] == -1)
+ {
+ char a;
+-
++ (void)a; /* suppress potential unused warning */
++
+ daemon->tcp_pids[i] = p;
+ daemon->tcp_pipes[i] = pipefd[0];
+ #ifdef HAVE_LINUX_NETWORK
+@@ -1911,6 +1912,7 @@ static void check_dns_listeners(time_t n
+ if (!option_bool(OPT_DEBUG))
+ {
+ char a = 0;
++ (void)a; /* suppress potential unused warning */
+ alarm(CHILD_LIFETIME);
+ close(pipefd[0]); /* close read end in child. */
+ daemon->pipe_to_parent = pipefd[1];
+--- a/src/network.c
++++ b/src/network.c
+@@ -785,6 +785,8 @@ int set_ipv6pktinfo(int fd)
+ /* Find the interface on which a TCP connection arrived, if possible, or zero otherwise. */
+ int tcp_interface(int fd, int af)
+ {
++ (void)fd; /* suppress potential unused warning */
++ (void)af; /* suppress potential unused warning */
+ int if_index = 0;
+
+ #ifdef HAVE_LINUX_NETWORK
+@@ -1187,6 +1189,7 @@ int local_bind(int fd, union mysockaddr
+ #endif
+ }
+
++ (void)intname; /* suppress potential unused warning */
+ #if defined(SO_BINDTODEVICE)
+ if (intname[0] != 0 &&
+ setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, intname, IF_NAMESIZE) == -1)
--- /dev/null
+From 84fe908e64a6e904166f728860ab8dfaa47850d2 Mon Sep 17 00:00:00 2001
+From: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+Date: Fri, 6 Mar 2020 10:28:09 +0000
+Subject: [PATCH 2/2] rfc3315: fix incorrect logical '&&' warning
+
+rfc3315.c:1711:28: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
+ if (!(addr_list->flags && ADDRLIST_DECLINED) ||
+ ^ ~~~~~~~~~~~~~~~~~
+
+It's a flag bit so should be bitwise '&' operator
+
+Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+---
+ src/rfc3315.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/rfc3315.c
++++ b/src/rfc3315.c
+@@ -1708,7 +1708,7 @@ static int config_valid(struct dhcp_conf
+ return 0;
+
+ for (addr_list = config->addr6; addr_list; addr_list = addr_list->next)
+- if (!(addr_list->flags && ADDRLIST_DECLINED) ||
++ if (!(addr_list->flags & ADDRLIST_DECLINED) ||
+ difftime(now, addr_list->decline_time) >= (float)DECLINE_BACKOFF)
+ {
+ addrpart = addr6part(&addr_list->addr.addr6);