AA: dnsmasq: backport latest version from trunk
authorLuka Perkov <luka@openwrt.org>
Sun, 9 Jun 2013 13:02:27 +0000 (13:02 +0000)
committerLuka Perkov <luka@openwrt.org>
Sun, 9 Jun 2013 13:02:27 +0000 (13:02 +0000)
SVN-Revision: 36887

package/dnsmasq/Makefile
package/dnsmasq/files/dnsmasq.init
package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch [deleted file]
package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch
package/dnsmasq/patches/110-fix-incorrect-length-memset.patch [new file with mode: 0644]

index baa48d579e5fee4707519967467a282afe0fc820..467c93494ea45d291714cbe4aac74971395316a6 100644 (file)
@@ -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
index 5d5d97fe04e26b32d66b859046d55addba7cfdce..cc5ff7da6a639dad74d10477b657197d80d6707e 100644 (file)
@@ -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 (file)
index 8ead9af..0000000
+++ /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
-
index d108a7d3bc9fc1d0bd287abd94e3466afc2d401d..474f62f13ff167ceb17683d10886aa1919f7d303 100644 (file)
@@ -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 )
      }
    
    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 (file)
index 0000000..4d6159a
--- /dev/null
@@ -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));