[PATCH v4 1/2] dnsmasq: Update to version 2.86test3
Etan Kissling
etan.kissling at gmail.com
Sat Jun 26 16:26:12 PDT 2021
Need this version to add config option for connmark DNS filtering.
Summary of upstream CHANGELOG:
* Handle DHCPREBIND requests in the DHCPv6 server code.
* Fix bug which caused dnsmasq to lose track of processes forked.
* Major rewrite of the DNS server and domain handling code.
* Revise resource handling for number of concurrent DNS queries.
* Improve efficiency of DNSSEC.
* Connection track mark based DNS query filtering.
Signed-off-by: Etan Kissling <etan.kissling at gmail.com>
---
v3: Refreshed patches.
v4: Fix crash when running multiple dnsmasq instances.
package/network/services/dnsmasq/Makefile | 6 ++--
...00-remove-old-runtime-kernel-support.patch | 4 +--
...not-crash-when-Ubus-connection-fails.patch | 28 +++++++++++++++++++
3 files changed, 33 insertions(+), 5 deletions(-)
create mode 100644 package/network/services/dnsmasq/patches/101-Do-not-crash-when-Ubus-connection-fails.patch
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index 90a81b5f65..53080cb95b 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.85
+PKG_UPSTREAM_VERSION:=2.86test3
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
-PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
-PKG_HASH:=ad98d3803df687e5b938080f3d25c628fe41c878752d03fbc6199787fee312fa
+PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/test-releases
+PKG_HASH:=0d0b465db89390e9f518f1239dec88b458c84489e7fd38586af6a5781f85e7db
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
diff --git a/package/network/services/dnsmasq/patches/100-remove-old-runtime-kernel-support.patch b/package/network/services/dnsmasq/patches/100-remove-old-runtime-kernel-support.patch
index b601bce1a9..5670808afc 100644
--- a/package/network/services/dnsmasq/patches/100-remove-old-runtime-kernel-support.patch
+++ b/package/network/services/dnsmasq/patches/100-remove-old-runtime-kernel-support.patch
@@ -26,7 +26,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir at darbyshire-bryant.me.uk>
--- a/src/dnsmasq.h
+++ b/src/dnsmasq.h
-@@ -1144,7 +1144,7 @@ extern struct daemon {
+@@ -1185,7 +1185,7 @@ extern struct daemon {
int inotifyfd;
#endif
#if defined(HAVE_LINUX_NETWORK)
@@ -35,7 +35,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir at darbyshire-bryant.me.uk>
#elif defined(HAVE_BSD_NETWORK)
int dhcp_raw_fd, dhcp_icmp_fd, routefd;
#endif
-@@ -1326,9 +1326,6 @@ int read_write(int fd, unsigned char *pa
+@@ -1368,9 +1368,6 @@ int read_write(int fd, unsigned char *pa
void close_fds(long max_fd, int spare1, int spare2, int spare3);
int wildcard_match(const char* wildcard, const char* match);
int wildcard_matchn(const char* wildcard, const char* match, int num);
diff --git a/package/network/services/dnsmasq/patches/101-Do-not-crash-when-Ubus-connection-fails.patch b/package/network/services/dnsmasq/patches/101-Do-not-crash-when-Ubus-connection-fails.patch
new file mode 100644
index 0000000000..fad6e7d083
--- /dev/null
+++ b/package/network/services/dnsmasq/patches/101-Do-not-crash-when-Ubus-connection-fails.patch
@@ -0,0 +1,28 @@
+From c69760a3e317ab7e524bc794eac458292e683ca8 Mon Sep 17 00:00:00 2001
+From: Etan Kissling <etan.kissling at gmail.com>
+Date: Sun, 27 Jun 2021 01:04:32 +0200
+Subject: [PATCH] Do not crash when Ubus connection fails.
+
+When using multiple dnsmasq instances Ubus only connects on one of them.
+Since 3c93e8eb41952a9c91699386132d6fe83050e9be dnsmasq crashes instead.
+This change avoids the crash, leading to a graceful retry + error log.
+
+Signed-off-by: Etan Kissling <etan.kissling at gmail.com>
+---
+ src/dnsmasq.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/src/dnsmasq.c
++++ b/src/dnsmasq.c
+@@ -445,10 +445,8 @@ int main (int argc, char **argv)
+ if (option_bool(OPT_UBUS))
+ #ifdef HAVE_UBUS
+ {
+- char *err;
+ daemon->ubus = NULL;
+- if ((err = ubus_init()))
+- die(_("UBus error: %s"), err, EC_MISC);
++ (void) ubus_init(); /* Logging not set up yet. */
+ }
+ #else
+ die(_("UBus not available: set HAVE_UBUS in src/config.h"), NULL, EC_BADCONF);
--
2.30.1 (Apple Git-130)
More information about the openwrt-devel
mailing list