Submitted By: Ken Moffat Date: 2011-11-23 Initial Package Version: 4.2.2 Upstream Status: unknown Origin: found at fedora Description: Allow dhcp4 to work even if the kernel doesn't support ipv6. Fixed up by hand to apply to 4.2.2 (to me, it looks identical to the 4.2.0 version, but patch failed in one hunk when I tried to apply that one). --- dhcp-4.2.2/common/discover.c.orig 2011-07-19 23:22:48.000000000 +0100 +++ dhcp-4.2.2/common/discover.c 2011-09-06 01:28:15.000000000 +0100 @@ -455,7 +455,7 @@ } #ifdef DHCPv6 - if (local_family == AF_INET6) { + if ((local_family == AF_INET6) && !access("/proc/net/if_inet6", R_OK)) { ifaces->fp6 = fopen("/proc/net/if_inet6", "r"); if (ifaces->fp6 == NULL) { log_error("Error opening '/proc/net/if_inet6' to " @@ -466,6 +466,8 @@ ifaces->fp = NULL; return 0; } + } else { + ifaces->fp6 = NULL; } #endif @@ -733,7 +735,7 @@ return 1; } #ifdef DHCPv6 - if (!(*err)) { + if (!(*err) && ifaces->fp6) { if (local_family == AF_INET6) return next_iface6(info, err, ifaces); } @@ -752,7 +754,8 @@ ifaces->sock = -1; #ifdef DHCPv6 if (local_family == AF_INET6) { - fclose(ifaces->fp6); + if (ifaces->fp6) + fclose(ifaces->fp6); ifaces->fp6 = NULL; } #endif