mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Cope with multiple interfaces with the same LL address.
This commit is contained in:
@@ -50,6 +50,10 @@ version 2.73
|
|||||||
To avoid misuse, there's a hard limit on the TTL
|
To avoid misuse, there's a hard limit on the TTL
|
||||||
floor of one hour. Thansk to RinSatsuki for the patch.
|
floor of one hour. Thansk to RinSatsuki for the patch.
|
||||||
|
|
||||||
|
Cope with multiple interfaces with the same link-local
|
||||||
|
address. (IPv6 addresses are scoped, so this is allowed.)
|
||||||
|
Thanks to Cory Benfield for help with this.
|
||||||
|
|
||||||
|
|
||||||
version 2.72
|
version 2.72
|
||||||
Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
|
Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
|
||||||
|
|||||||
@@ -413,7 +413,10 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
|
|||||||
peer_addr->in.sin_port = 0;
|
peer_addr->in.sin_port = 0;
|
||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
else
|
else
|
||||||
peer_addr->in6.sin6_port = 0;
|
{
|
||||||
|
peer_addr->in6.sin6_port = 0;
|
||||||
|
peer_addr->in6.sin6_scope_id = 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (peers = daemon->auth_peers; peers; peers = peers->next)
|
for (peers = daemon->auth_peers; peers; peers = peers->next)
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ int sockaddr_isequal(union mysockaddr *s1, union mysockaddr *s2)
|
|||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
if (s1->sa.sa_family == AF_INET6 &&
|
if (s1->sa.sa_family == AF_INET6 &&
|
||||||
s1->in6.sin6_port == s2->in6.sin6_port &&
|
s1->in6.sin6_port == s2->in6.sin6_port &&
|
||||||
|
s1->in6.sin6_scope_id == s2->in6.sin6_scope_id &&
|
||||||
IN6_ARE_ADDR_EQUAL(&s1->in6.sin6_addr, &s2->in6.sin6_addr))
|
IN6_ARE_ADDR_EQUAL(&s1->in6.sin6_addr, &s2->in6.sin6_addr))
|
||||||
return 1;
|
return 1;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user