diff --git a/dhcp-4.1.0-missing-ipv6-not-fatal.patch b/dhcp-4.1.0-missing-ipv6-not-fatal.patch index 41d8369..16524cc 100644 --- a/dhcp-4.1.0-missing-ipv6-not-fatal.patch +++ b/dhcp-4.1.0-missing-ipv6-not-fatal.patch @@ -1,21 +1,36 @@ diff -up dhcp-4.1.0/common/discover.c.noipv6 dhcp-4.1.0/common/discover.c ---- dhcp-4.1.0/common/discover.c.noipv6 2009-02-18 09:40:45.000000000 -1000 -+++ dhcp-4.1.0/common/discover.c 2009-02-18 09:43:53.000000000 -1000 -@@ -447,9 +447,11 @@ begin_iface_scan(struct iface_conf_list - if (ifaces->fp6 == NULL) { - log_error("Error opening '/proc/net/if_inet6' to " - "list IPv6 interfaces; %m"); -- close(ifaces->sock); -+ if (ifaces->sock) -+ close(ifaces->sock); - ifaces->sock = -1; -- fclose(ifaces->fp); -+ if (ifaces->fp) -+ fclose(ifaces->fp); - ifaces->fp = NULL; - return 0; +--- dhcp-4.1.0/common/discover.c.noipv6 2009-02-18 10:44:20.000000000 -1000 ++++ dhcp-4.1.0/common/discover.c 2009-02-18 10:48:27.000000000 -1000 +@@ -443,15 +443,19 @@ begin_iface_scan(struct iface_conf_list } -@@ -719,7 +721,7 @@ next_iface(struct iface_info *info, int + + #ifdef DHCPv6 +- ifaces->fp6 = fopen("/proc/net/if_inet6", "re"); +- if (ifaces->fp6 == NULL) { +- log_error("Error opening '/proc/net/if_inet6' to " +- "list IPv6 interfaces; %m"); +- close(ifaces->sock); +- ifaces->sock = -1; +- fclose(ifaces->fp); +- ifaces->fp = NULL; +- return 0; ++ if (!access("/proc/net/if_inet6", R_OK)) { ++ ifaces->fp6 = fopen("/proc/net/if_inet6", "re"); ++ if (ifaces->fp6 == NULL) { ++ log_error("Error opening '/proc/net/if_inet6' to " ++ "list IPv6 interfaces; %m"); ++ close(ifaces->sock); ++ ifaces->sock = -1; ++ fclose(ifaces->fp); ++ ifaces->fp = NULL; ++ return 0; ++ } ++ } else { ++ ifaces->fp6 = NULL; + } + #endif + +@@ -719,7 +723,7 @@ next_iface(struct iface_info *info, int return 1; } #ifdef DHCPv6 @@ -24,7 +39,7 @@ diff -up dhcp-4.1.0/common/discover.c.noipv6 dhcp-4.1.0/common/discover.c return next_iface6(info, err, ifaces); } #endif -@@ -736,7 +738,8 @@ end_iface_scan(struct iface_conf_list *i +@@ -736,7 +740,8 @@ end_iface_scan(struct iface_conf_list *i close(ifaces->sock); ifaces->sock = -1; #ifdef DHCPv6