diff options
-rw-r--r-- | package/dnsmasq/Makefile | 13 | ||||
-rw-r--r-- | package/dnsmasq/files/dnsmasq.init | 10 | ||||
-rw-r--r-- | package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch | 42 | ||||
-rw-r--r-- | package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch | 18 | ||||
-rw-r--r-- | package/dnsmasq/patches/110-fix-incorrect-length-memset.patch | 13 |
5 files changed, 39 insertions, 57 deletions
diff --git a/package/dnsmasq/Makefile b/package/dnsmasq/Makefile index baa48d579e..467c93494e 100644 --- a/package/dnsmasq/Makefile +++ b/package/dnsmasq/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2012 OpenWrt.org +# Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,12 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dnsmasq -PKG_VERSION:=2.62 -PKG_RELEASE:=3 +PKG_VERSION:=2.66 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq -PKG_MD5SUM:=f47e5cb8f5bac6343f24b2dbe317ab40 +PKG_MD5SUM:=c5eb8fb88847a5e9bf18db67c74efd47 + +PKG_LICENSE:=GPLv2 +PKG_LICENSE_FILES:=COPYING PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) @@ -60,7 +63,7 @@ Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles) TARGET_CFLAGS += \ -ffunction-sections -fdata-sections \ - $(if $(CONFIG_IPV6),,-DNO_IPV6) + $(if $(CONFIG_IPV6),,-DNO_IPV6) -DNO_IPSET -DNO_AUTH ifeq ($(BUILD_VARIANT),nodhcpv6) TARGET_CFLAGS += -DNO_DHCP6 diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init index 5d5d97fe04..cc5ff7da6a 100644 --- a/package/dnsmasq/files/dnsmasq.init +++ b/package/dnsmasq/files/dnsmasq.init @@ -96,6 +96,7 @@ dnsmasq() { append_bool "$cfg" enable_tftp "--enable-tftp" append_bool "$cfg" nonwildcard "--bind-interfaces" append_bool "$cfg" fqdn "--dhcp-fqdn" + append_bool "$cfg" proxydnssec "--proxy-dnssec" append_parm "$cfg" dhcpscript "--dhcp-script" append_parm "$cfg" cachesize "--cache-size" @@ -256,10 +257,15 @@ dhcp_host_add() { config_get ip "$cfg" ip [ -n "$ip" -o -n "$name" ] || return 0 - macs="" config_get mac "$cfg" mac + [ -z "$mac" ] && { + [ -n "$name" ] || return 0 + mac="$name" + name="" + } + + macs="" for m in $mac; do append macs "$m" ","; done - [ -n "$macs" ] || return 0 config_get tag "$cfg" tag diff --git a/package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch b/package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch deleted file mode 100644 index 8ead9afa59..0000000000 --- a/package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fd05f127909bbf4f6983a4de2dcb611947488dee Mon Sep 17 00:00:00 2001 -From: Simon Kelley <simon@thekelleys.org.uk> -Date: Sun, 12 Aug 2012 17:48:50 +0100 -Subject: [PATCH] Set prefix on-link bit in RAs - ---- - CHANGELOG | 3 +++ - src/radv.c | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 8828694..e1daeef 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -45,6 +45,9 @@ version 2.63 - uk.org.thekelleys.dnsmasq. Thanks to Mathieu - Trudel-Lapierre for the patch. - -+ Set the "prefix on-link" bit in Router -+ Advertisements. Thanks to Gui Iribarren for the patch. -+ - - version 2.62 - Update German translation. Thanks to Conrad Kostecki. -diff --git a/src/radv.c b/src/radv.c -index a3e691a..d1f5268 100644 ---- a/src/radv.c -+++ b/src/radv.c -@@ -412,8 +412,8 @@ static int add_prefixes(struct in6_addr *local, int prefix, - opt->type = ICMP6_OPT_PREFIX; - opt->len = 4; - opt->prefix_len = prefix; -- /* autonomous only if we're not doing dhcp */ -- opt->flags = do_slaac ? 0x40 : 0x00; -+ /* autonomous only if we're not doing dhcp, always set "on-link" */ -+ opt->flags = do_slaac ? 0xC0 : 0x80; - opt->valid_lifetime = htonl(time); - opt->preferred_lifetime = htonl(deprecate ? 0 : time); - opt->reserved = 0; --- -1.7.10.GIT - diff --git a/package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch b/package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch index d108a7d3bc..474f62f13f 100644 --- a/package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch +++ b/package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch @@ -1,6 +1,8 @@ ---- a/src/dhcp.c -+++ b/src/dhcp.c -@@ -134,7 +134,7 @@ void dhcp_packet(time_t now, int pxe_fd) +Index: dnsmasq-2.66/src/dhcp.c +=================================================================== +--- dnsmasq-2.66.orig/src/dhcp.c 2013-04-17 14:52:49.000000000 +0200 ++++ dnsmasq-2.66/src/dhcp.c 2013-04-24 08:24:20.393711625 +0200 +@@ -140,7 +140,7 @@ struct iovec iov; ssize_t sz; int iface_index = 0, unicast_dest = 0, is_inform = 0; @@ -9,7 +11,7 @@ struct iface_param parm; #ifdef HAVE_LINUX_NETWORK struct arpreq arp_req; -@@ -246,11 +246,9 @@ void dhcp_packet(time_t now, int pxe_fd) +@@ -252,11 +252,9 @@ ifr.ifr_addr.sa_family = AF_INET; if (ioctl(daemon->dhcpfd, SIOCGIFADDR, &ifr) != -1 ) @@ -23,16 +25,16 @@ } for (tmp = daemon->dhcp_except; tmp; tmp = tmp->next) -@@ -272,7 +270,7 @@ void dhcp_packet(time_t now, int pxe_fd) +@@ -270,7 +268,7 @@ parm.current = NULL; parm.ind = iface_index; -- if (!iface_check(AF_INET, (struct all_addr *)&iface_addr, ifr.ifr_name)) -+ if (!iface_check(AF_INET, (struct all_addr *)addrp, ifr.ifr_name)) +- if (!iface_check(AF_INET, (struct all_addr *)&iface_addr, ifr.ifr_name, NULL)) ++ if (!iface_check(AF_INET, (struct all_addr *)addrp, ifr.ifr_name, NULL)) { /* If we failed to match the primary address of the interface, see if we've got a --listen-address for a secondary */ -@@ -291,7 +289,13 @@ void dhcp_packet(time_t now, int pxe_fd) +@@ -289,7 +287,13 @@ there is more than one address on the interface in the same subnet */ complete_context(match.addr, iface_index, match.netmask, match.broadcast, &parm); } diff --git a/package/dnsmasq/patches/110-fix-incorrect-length-memset.patch b/package/dnsmasq/patches/110-fix-incorrect-length-memset.patch new file mode 100644 index 0000000000..4d6159a287 --- /dev/null +++ b/package/dnsmasq/patches/110-fix-incorrect-length-memset.patch @@ -0,0 +1,13 @@ +Index: dnsmasq-2.66/src/ipset.c +=================================================================== +--- dnsmasq-2.66.orig/src/ipset.c 2013-04-17 14:52:49.000000000 +0200 ++++ dnsmasq-2.66/src/ipset.c 2013-04-24 08:25:05.905712707 +0200 +@@ -110,7 +110,7 @@ + return -1; + } + +- memset(buffer, 0, sizeof(buffer)); ++ memset(buffer, 0, BUFF_SZ); + + nlh = (struct nlmsghdr *)buffer; + nlh->nlmsg_len = NL_ALIGN(sizeof(struct nlmsghdr)); |