mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-02 01:30:16 +02:00
cf95df7f3d
http://www.thekelleys.org.uk/dnsmasq/CHANGELOG refreshed patches for new release git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18541 3c298f89-4303-0410-b956-a3cf2f4a3e73
49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
Index: dnsmasq-2.51/src/netlink.c
|
|
===================================================================
|
|
--- dnsmasq-2.51.orig/src/netlink.c
|
|
+++ dnsmasq-2.51/src/netlink.c
|
|
@@ -129,6 +129,7 @@ int iface_enumerate(void *parm, int (*ip
|
|
ssize_t len;
|
|
static unsigned int seq = 0;
|
|
int family = AF_INET;
|
|
+ int ipv4_done = 0;
|
|
|
|
struct {
|
|
struct nlmsghdr nlh;
|
|
@@ -207,9 +208,12 @@ int iface_enumerate(void *parm, int (*ip
|
|
rta = RTA_NEXT(rta, len1);
|
|
}
|
|
|
|
- if (addr.s_addr && ipv4_callback)
|
|
+ if (addr.s_addr && ipv4_callback) {
|
|
if (!((*ipv4_callback)(addr, ifa->ifa_index, netmask, broadcast, parm)))
|
|
return 0;
|
|
+ else
|
|
+ ipv4_done = 1;
|
|
+ }
|
|
}
|
|
#ifdef HAVE_IPV6
|
|
else if (ifa->ifa_family == AF_INET6)
|
|
@@ -225,7 +229,7 @@ int iface_enumerate(void *parm, int (*ip
|
|
|
|
if (addrp && ipv6_callback)
|
|
if (!((*ipv6_callback)(addrp, ifa->ifa_index, ifa->ifa_index, parm)))
|
|
- return 0;
|
|
+ return ipv4_done;
|
|
}
|
|
#endif
|
|
}
|
|
Index: dnsmasq-2.51/src/network.c
|
|
===================================================================
|
|
--- dnsmasq-2.51.orig/src/network.c
|
|
+++ dnsmasq-2.51/src/network.c
|
|
@@ -302,7 +302,7 @@ static int create_ipv6_listener(struct l
|
|
bind(tcpfd, (struct sockaddr *)&addr, sa_len(&addr)) == -1 ||
|
|
listen(tcpfd, 5) == -1 ||
|
|
bind(fd, (struct sockaddr *)&addr, sa_len(&addr)) == -1)
|
|
- return 0;
|
|
+ return 1;
|
|
|
|
l = safe_malloc(sizeof(struct listener));
|
|
l->fd = fd;
|