dnsmasq: bump to 2.81rc2 + 2 local
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Fri, 6 Mar 2020 11:23:34 +0000 (11:23 +0000)
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Fri, 6 Mar 2020 15:47:56 +0000 (15:47 +0000)
Bump to dnsmasq 2.81rc2.  In the process discovered several compiler
warnings one with a logical error.

2 relevant patches sent upstream, added as 2 local patches for OpenWrt

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
package/network/services/dnsmasq/Makefile
package/network/services/dnsmasq/patches/0001-suppress-non-linux-network-unused-var-warnings.patch [new file with mode: 0644]
package/network/services/dnsmasq/patches/0002-rfc3315-fix-incorrect-logical-warning.patch [new file with mode: 0644]

index b6d7071ab0a1804a3552725fc029c08cc73698a4..c6f0bc33e58f3f40027832a5a4e1db1a0cf54972 100644 (file)
@@ -8,13 +8,13 @@
 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
diff --git a/package/network/services/dnsmasq/patches/0001-suppress-non-linux-network-unused-var-warnings.patch b/package/network/services/dnsmasq/patches/0001-suppress-non-linux-network-unused-var-warnings.patch
new file mode 100644 (file)
index 0000000..97c1cfa
--- /dev/null
@@ -0,0 +1,50 @@
+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)
diff --git a/package/network/services/dnsmasq/patches/0002-rfc3315-fix-incorrect-logical-warning.patch b/package/network/services/dnsmasq/patches/0002-rfc3315-fix-incorrect-logical-warning.patch
new file mode 100644 (file)
index 0000000..da10322
--- /dev/null
@@ -0,0 +1,27 @@
+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);