summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2009-08-01 03:12:52 (GMT)
committerJames Meyer <james.meyer@operamail.com>2009-08-01 03:12:52 (GMT)
commitdb2c1433cfbd4fde1af9ffe3ad1e3d74dea8557e (patch)
treebcb58c687072dde1230fdb21c25b8af4f346345f /abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch
parentad8df64823af09c36fa9f7369bb6e70ed8f3beda (diff)
downloadlinhes_pkgbuild-db2c1433cfbd4fde1af9ffe3ad1e3d74dea8557e.zip
linhes_pkgbuild-db2c1433cfbd4fde1af9ffe3ad1e3d74dea8557e.tar.gz
linhes_pkgbuild-db2c1433cfbd4fde1af9ffe3ad1e3d74dea8557e.tar.bz2
dhcp: version 4.1
Diffstat (limited to 'abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch')
-rw-r--r--abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch b/abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch
new file mode 100644
index 0000000..ebf3865
--- /dev/null
+++ b/abs/core-testing/dhcp/dhcp-4.1.0-missing-ipv6-not-fatal.patch
@@ -0,0 +1,50 @@
+diff -Naur dhcp-4.1.0a2/common/discover.c dhcp-4.1.0a2-mcn/common/discover.c
+--- dhcp-4.1.0a2/common/discover.c 2008-08-29 18:48:57.000000000 +0100
++++ dhcp-4.1.0a2-mcn/common/discover.c 2008-10-02 13:02:06.000000000 +0100
+@@ -443,15 +443,17 @@
+ }
+
+ #ifdef DHCPv6
+- ifaces->fp6 = fopen("/proc/net/if_inet6", "r");
+- 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 (local_family == AF_INET6) {
++ ifaces->fp6 = fopen("/proc/net/if_inet6", "r");
++ 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;
++ }
+ }
+ #endif
+
+@@ -720,7 +722,8 @@
+ }
+ #ifdef DHCPv6
+ if (!(*err)) {
+- return next_iface6(info, err, ifaces);
++ if (local_family == AF_INET6)
++ return next_iface6(info, err, ifaces);
+ }
+ #endif
+ return 0;
+@@ -736,7 +739,8 @@
+ close(ifaces->sock);
+ ifaces->sock = -1;
+ #ifdef DHCPv6
+- fclose(ifaces->fp6);
++ if (local_family == AF_INET6)
++ fclose(ifaces->fp6);
+ ifaces->fp6 = NULL;
+ #endif
+ }