milis/talimatname/genel/d/dhcp/dhcp-4.3.3-missing_ipv6-1.p...

49 lines
1.3 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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