mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Fix problem with IPv6 in new ARP-search code.
This commit is contained in:
20
src/arp.c
20
src/arp.c
@@ -129,17 +129,17 @@ int find_mac(union mysockaddr *addr, unsigned char *mac, int lazy, time_t now)
|
|||||||
|
|
||||||
for (arp = arps; arp; arp = arp->next)
|
for (arp = arps; arp; arp = arp->next)
|
||||||
{
|
{
|
||||||
if (addr->sa.sa_family == arp->family)
|
if (addr->sa.sa_family != arp->family)
|
||||||
{
|
continue;
|
||||||
if (arp->addr.addr.addr4.s_addr != addr->in.sin_addr.s_addr)
|
|
||||||
continue;
|
if (arp->family == AF_INET &&
|
||||||
}
|
arp->addr.addr.addr4.s_addr != addr->in.sin_addr.s_addr)
|
||||||
|
continue;
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
else
|
if (arp->family == AF_INET6 &&
|
||||||
{
|
!IN6_ARE_ADDR_EQUAL(&arp->addr.addr.addr6, &addr->in6.sin6_addr))
|
||||||
if (!IN6_ARE_ADDR_EQUAL(&arp->addr.addr.addr6, &addr->in6.sin6_addr))
|
continue;
|
||||||
continue;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Only accept positive entries unless in lazy mode. */
|
/* Only accept positive entries unless in lazy mode. */
|
||||||
|
|||||||
Reference in New Issue
Block a user