1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Author: Paul Beyleveld <paul.beyleveld@gmail.com>
Bug-Debian: https://bugs.debian.org/542307
Subject: Re: farpd: refuses to run on interface with no IP address
Date: Thu, 14 Nov 2019 18:29:12 +0200
--- a/arpd.c
+++ b/arpd.c
@@ -205,13 +205,14 @@ arpd_init(char *dev, int naddresses, cha
arpd_ifent.intf_len = sizeof(arpd_ifent);
strncpy(arpd_ifent.intf_name, dev, sizeof(arpd_ifent.intf_name) - 1);
arpd_ifent.intf_name[sizeof(arpd_ifent.intf_name) - 1] = '\0';
-
+
if (intf_get(intf, &arpd_ifent) < 0)
err(1, "intf_get");
- if (arpd_ifent.intf_addr.addr_type != ADDR_TYPE_IP ||
- arpd_ifent.intf_link_addr.addr_type != ADDR_TYPE_ETH)
- errx(1, "bad interface configuration: not IP or Ethernet");
+ if (arpd_ifent.intf_addr.addr_type != ADDR_TYPE_IP &&
+ arpd_ifent.intf_link_addr.addr_type != ADDR_TYPE_ETH)
+ errx(1, "bad interface configuration: not IP or Ethernet");
+
arpd_ifent.intf_addr.addr_bits = IP_ADDR_BITS;
snprintf(filter, sizeof(filter), "arp %s%s%s and not ether src %s",
|