From 7541d30c9c2946fe112d7966f9d1e7456725c324 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Mon, 17 Dec 2018 16:36:44 +0000 Subject: dnsmasq: backport latest pre2.81 patches f52bb5b fix previous commit 18eac67 Fix entries in /etc/hosts disabling static leases. f8c77ed Fix removal of DHCP_CLIENT_MAC options from DHCPv6 relay replies. 4bf62f6 Tidy cache_blockdata_free() 9c0d445 Fix e7bfd556c079c8b5e7425aed44abc35925b24043 to actually work. 2896e24 Check for not(DS or DNSKEY) in is_outdated_cname_pointer() a90f09d Fix crash freeing negative SRV cache entries. 5b99eae Cache SRV records. 2daca52 Fix typo in ra-param man page section. 2c59473 File logic bug in cache-marshalling code. Introduced a couple of commits back. cc921df Remove nested struct/union in cache records and all_addr. ab194ed Futher address union tidying. 65a01b7 Tidy address-union handling: move class into explicit argument. bde4647 Tidy all_addr union, merge log and rcode fields. e7bfd55 Alter DHCP address selection after DECLINE in consec-addr mode. Avoid offering the same address after a recieving a DECLINE message to stop an infinite protocol loop. This has long been done in default address allocation mode: this adds similar behaviour when allocaing addresses consecutively. The most relevant fix for openwrt is 18eac67 (& my own local f52bb5b which fixes a missing bracket silly) To quote the patch: It is possible for a config entry to have one address family specified by a dhcp-host directive and the other added from /etc/hosts. This is especially common on OpenWrt because it uses odhcpd for DHCPv6 and IPv6 leases are imported into dnsmasq via a hosts file. To handle this case there need to be separate *_HOSTS flags for IPv4 and IPv6. Otherwise when the hosts file is reloaded it will clear the CONFIG_ADDR(6) flag which was set by the dhcp-host directive. Signed-off-by: Kevin Darbyshire-Bryant --- ...-failure-on-master-with-NO_DHCPv6-and-fix.patch | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 package/network/services/dnsmasq/patches/0016-build-failure-on-master-with-NO_DHCPv6-and-fix.patch (limited to 'package/network/services/dnsmasq/patches/0016-build-failure-on-master-with-NO_DHCPv6-and-fix.patch') diff --git a/package/network/services/dnsmasq/patches/0016-build-failure-on-master-with-NO_DHCPv6-and-fix.patch b/package/network/services/dnsmasq/patches/0016-build-failure-on-master-with-NO_DHCPv6-and-fix.patch new file mode 100644 index 0000000000..ac13de4a99 --- /dev/null +++ b/package/network/services/dnsmasq/patches/0016-build-failure-on-master-with-NO_DHCPv6-and-fix.patch @@ -0,0 +1,50 @@ +From b683cf37f9f3dd3dc5d95d621ee75850d559b2e4 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +Date: Mon, 10 Dec 2018 10:34:35 +0000 +Subject: [PATCH 16/30] build failure on master with NO_DHCPv6 and fix.... + +Hi Simon, + +master has a build error when building without HAVE_DHCPv6 + +option.c: In function 'dhcp_context_free': +option.c:1042:15: error: 'struct dhcp_context' has no member named 'template_interface' + free(ctx->template_interface); + +Sadly, need to put in a little conditional compilation ifdef'erey + +Simplest patch in the world attached + +Cheers, + +Kevin D-B + +012C ACB2 28C6 C53E 9775 9123 B3A2 389B 9DE2 334A + +From 061eb8599636bb360e0b7fa5986935b86db39497 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +Date: Mon, 10 Dec 2018 10:07:33 +0000 +Subject: [PATCH] option: fix non DHCPv6 build error + +option.c: In function 'dhcp_context_free': +option.c:1042:15: error: 'struct dhcp_context' has no member named 'template_interface' + free(ctx->template_interface); + ^~ + +Signed-off-by: Kevin Darbyshire-Bryant +--- + src/option.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/src/option.c ++++ b/src/option.c +@@ -1039,7 +1039,9 @@ static void dhcp_context_free(struct dhc + { + dhcp_netid_free(ctx->filter); + free(ctx->netid.net); ++#ifdef HAVE_DHCP6 + free(ctx->template_interface); ++#endif + free(ctx); + } + } -- cgit v1.2.3