pf-handler: Accept loopback interfaces as packet source
In some setups the responses from the DHCP server are sent via lo, which
does not have an address of type `ARPHRD_ETHER` (the address length is
the same, though, just all zeros, by default). Note that the dhcp plugin
doesn't actually care for the MAC address or interface details, that's
only used by the farp plugin.
Fixes: 187c72d1af ("dhcp: Port the plugin to FreeBSD/macOS")
This commit is contained in:
1 parent
543a4c86f9
commit
abbf9d28b0
1 file changed
+2
-1
@@ -176,7 +176,8 @@ static cached_iface_t *find_interface(private_pf_handler_t *this, int fd,
|
||||
|
||||
if (ioctl(fd, SIOCGIFNAME, &req) == 0 &&
|
||||
ioctl(fd, SIOCGIFHWADDR, &req) == 0 &&
|
||||
req.ifr_hwaddr.sa_family == ARPHRD_ETHER)
|
||||
(req.ifr_hwaddr.sa_family == ARPHRD_ETHER ||
|
||||
req.ifr_hwaddr.sa_family == ARPHRD_LOOPBACK))
|
||||
{
|
||||
idx = find_least_used_cache_entry(this);
|
||||
|
||||
|
||||
Reference in new issue
Block a user