continue;
}
if ((ifp = init_interface(p))) {
+ /* Don't allow loopback unless explicit */
+ if (ifp->flags & IFF_LOOPBACK &&
+ argc == 0 &&
+ ifdc == 0)
+ {
+ free_interface(ifp);
+ continue;
+ }
if (ifl)
ifl->next = ifp;
else
iface->hwlen = INFINIBAND_ADDR_LEN;
break;
default:
- /* Don't needlessly spam console on startup */
- if (!(options & DHCPCD_MASTER &&
- !(options & DHCPCD_DAEMONISED) &&
- options & DHCPCD_QUIET))
- syslog(LOG_ERR, "%s: unsupported media family",
- iface->name);
- goto eexit;
+ iface->hwlen = 0;
}
- memcpy(iface->hwaddr, ifr.ifr_hwaddr.sa_data, iface->hwlen);
iface->family = ifr.ifr_hwaddr.sa_family;
+ if (iface->hwlen != 0)
+ memcpy(iface->hwaddr, ifr.ifr_hwaddr.sa_data, iface->hwlen);
#endif
if (ioctl(s, SIOCGIFMTU, &ifr) == -1)