-Remove getifaddrs code and instead just use ioctls.
+dhcpcd-3.1.1
+Fix segfault in arp code that some users had.
+Remove getifaddrs code and instead just use ioctls so we don't break
+platforms without getifaddrs as often.
dhcpcd-3.1.0
Add new socket code to try and support InfiniBand better.
rp.c = (unsigned char *) ar_spa (reply);
rh.c = (unsigned char *) ar_sha (reply);
+
+ /* Ensure the ARP reply is for the address we asked for */
+ if (rp.a->s_addr != address.s_addr)
+ continue;
+
+ /* Some systems send a reply back from our hwaddress - weird */
+ if (reply->ar_hln == iface->hwlen &&
+ memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0)
+ continue;
+
logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)",
inet_ntoa (*rp.a),
- hwaddr_ntoa (rh.a, reply->ar_hln));
+ hwaddr_ntoa (rh.c, reply->ar_hln));
retval = -1;
goto eexit;
}