49 lines
1.3 KiB
Diff
49 lines
1.3 KiB
Diff
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
|
||
Date: 2011-11-23
|
||
Initial Package Version: 4.2.2
|
||
Upstream Status: unknown
|
||
Origin: found at fedora
|
||
Tanım: 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
|