12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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
|