Date:2010-01-30 00:15:44 (3 years 4 months ago)
Author:hauke
Commit:8bf1bbe10d09e93e97f72d0f67bc810d581b9c03
Message:[dnsmasq] Update to version 2.52

Patch 103-ipv6_fix.patch is removed, because the problem the patch was fixing is now fixed in mainline.

Thank you Raphaƫl HUCK for your patch.
This fixes #6568.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19392 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: package/dnsmasq/Makefile (2 diffs)
package/dnsmasq/patches/101-ipv6.patch (1 diff)
package/dnsmasq/patches/103-ipv6_fix.patch (1 diff)

Change Details

package/dnsmasq/Makefile
11#
2# Copyright (C) 2006-2009 OpenWrt.org
2# Copyright (C) 2006-2010 OpenWrt.org
33#
44# This is free software, licensed under the GNU General Public License v2.
55# See /LICENSE for more information.
...... 
88include $(TOPDIR)/rules.mk
99
1010PKG_NAME:=dnsmasq
11PKG_VERSION:=2.51
12PKG_RELEASE:=3
11PKG_VERSION:=2.52
12PKG_RELEASE:=1
1313
1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
1515PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
16PKG_MD5SUM:=97465261a6de5258a3c3edfe51ca16a4
16PKG_MD5SUM:=1bb32fffdb4f977ead607802b5d701d0
1717
1818include $(INCLUDE_DIR)/package.mk
1919
package/dnsmasq/patches/101-ipv6.patch
1Index: dnsmasq-2.51/src/config.h
2===================================================================
3+++ dnsmasq-2.51/src/config.h
4@@ -270,8 +270,9 @@ NOTES:
1--- a/src/config.h
2@@ -269,8 +269,9 @@ NOTES:
53 /* We assume that systems which don't have IPv6
64    headers don't have ntop and pton either */
75
86-#if defined(INET6_ADDRSTRLEN) && defined(IPV6_V6ONLY) && !defined(NO_IPV6)
97+#if defined(INET6_ADDRSTRLEN) && !defined(NO_IPV6)
108 # define HAVE_IPV6
11+# define IPV6_V6ONLY 26
9+# define IPV6_V6ONLY 26
1210 # define ADDRSTRLEN INET6_ADDRSTRLEN
1311 # if defined(SOL_IPV6)
1412 # define IPV6_LEVEL SOL_IPV6
package/dnsmasq/patches/103-ipv6_fix.patch
1Index: dnsmasq-2.51/src/netlink.c
2===================================================================
3+++ dnsmasq-2.51/src/netlink.c
4@@ -129,6 +129,7 @@ int iface_enumerate(void *parm, int (*ip
5   ssize_t len;
6   static unsigned int seq = 0;
7   int family = AF_INET;
8+ int ipv4_done = 0;
9
10   struct {
11     struct nlmsghdr nlh;
12@@ -207,9 +208,12 @@ int iface_enumerate(void *parm, int (*ip
13             rta = RTA_NEXT(rta, len1);
14           }
15
16- if (addr.s_addr && ipv4_callback)
17+ if (addr.s_addr && ipv4_callback) {
18           if (!((*ipv4_callback)(addr, ifa->ifa_index, netmask, broadcast, parm)))
19             return 0;
20+ else
21+ ipv4_done = 1;
22+ }
23           }
24 #ifdef HAVE_IPV6
25         else if (ifa->ifa_family == AF_INET6)
26@@ -225,7 +229,7 @@ int iface_enumerate(void *parm, int (*ip
27
28         if (addrp && ipv6_callback)
29           if (!((*ipv6_callback)(addrp, ifa->ifa_index, ifa->ifa_index, parm)))
30- return 0;
31+ return ipv4_done;
32           }
33 #endif
34       }
35Index: dnsmasq-2.51/src/network.c
36===================================================================
37+++ dnsmasq-2.51/src/network.c
38@@ -302,7 +302,7 @@ static int create_ipv6_listener(struct l
39       bind(tcpfd, (struct sockaddr *)&addr, sa_len(&addr)) == -1 ||
40       listen(tcpfd, 5) == -1 ||
41       bind(fd, (struct sockaddr *)&addr, sa_len(&addr)) == -1)
42- return 0;
43+ return 1;
44
45   l = safe_malloc(sizeof(struct listener));
46   l->fd = fd;

Archive Download the corresponding diff file



interactive