From 0b84b892516942f1b78e53665168c81aaa7f5256 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Fri, 6 Mar 2020 11:23:34 +0000 Subject: [PATCH] dnsmasq: bump to 2.81rc2 + 2 local 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 --- package/network/services/dnsmasq/Makefile | 4 +- ...on-linux-network-unused-var-warnings.patch | 50 +++++++++++++++++++ ...fc3315-fix-incorrect-logical-warning.patch | 27 ++++++++++ 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 package/network/services/dnsmasq/patches/0001-suppress-non-linux-network-unused-var-warnings.patch create mode 100644 package/network/services/dnsmasq/patches/0002-rfc3315-fix-incorrect-logical-warning.patch diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile index b6d7071ab0..c6f0bc33e5 100644 --- a/package/network/services/dnsmasq/Makefile +++ b/package/network/services/dnsmasq/Makefile @@ -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 index 0000000000..97c1cfadbf --- /dev/null +++ b/package/network/services/dnsmasq/patches/0001-suppress-non-linux-network-unused-var-warnings.patch @@ -0,0 +1,50 @@ +From e68b7bee24bb04c32554e153fea2cffd69437b65 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +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 +--- + 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 index 0000000000..da1032254f --- /dev/null +++ b/package/network/services/dnsmasq/patches/0002-rfc3315-fix-incorrect-logical-warning.patch @@ -0,0 +1,27 @@ +From 84fe908e64a6e904166f728860ab8dfaa47850d2 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +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 +--- + 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); -- 2.30.2