This patch disables IPv6 on Darwin.  I think it is needed until there
is a fix from Apple or we figure out that we're doing something wrong.

This patch manages to avoid screwing up IPv6 detection on Linux, but
that is about all I can say about it.

Index: configure.in
===================================================================
RCS file: /home/cvs/apr/configure.in,v
retrieving revision 1.483
diff -u -r1.483 configure.in
--- configure.in        22 Sep 2002 19:26:41 -0000      1.483
+++ configure.in        3 Oct 2002 13:39:44 -0000
@@ -1748,6 +1748,17 @@
     fi ],
   [ user_disabled_ipv6=0 ] )
 
+case $host in
+  *apple-darwin*)
+    dnl # It appears that Jaguar has all the right features, but
+    dnl # getnameinfo() fails to find the hostname for a mapped
+    dnl # address.
+    broken_ipv6=1
+    ;;
+  *)
+    broken_ipv6=0
+esac
+
 AC_SEARCH_LIBS(getaddrinfo, inet6)
 AC_SEARCH_LIBS(gai_strerror, inet6)
 AC_SEARCH_LIBS(getnameinfo, inet6)
@@ -1762,19 +1773,23 @@
 if test "$user_disabled_ipv6" = 1; then
     AC_MSG_RESULT("no -- disabled by user")
 else
-    if test "x$have_sockaddr_in6" = "x1"; then
-        if test "x$ac_cv_working_getaddrinfo" = "xyes"; then
-            if test "x$ac_cv_working_getnameinfo" = "xyes"; then
-                have_ipv6="1"
-                AC_MSG_RESULT("yes")
+    if test "x$broken_ipv6" = "x0"; then
+        if test "x$have_sockaddr_in6" = "x1"; then
+            if test "x$ac_cv_working_getaddrinfo" = "xyes"; then
+                if test "x$ac_cv_working_getnameinfo" = "xyes"; then
+                    have_ipv6="1"
+                    AC_MSG_RESULT("yes")
+                else
+                    AC_MSG_RESULT("no -- no getnameinfo")
+                fi
             else
-                AC_MSG_RESULT("no -- no getnameinfo")
+                AC_MSG_RESULT("no -- no working getaddrinfo")
             fi
         else
-            AC_MSG_RESULT("no -- no working getaddrinfo")
+            AC_MSG_RESULT("no -- no sockaddr_in6");
         fi
     else
-        AC_MSG_RESULT("no -- no sockaddr_in6");
+        AC_MSG_RESULT("no -- the platform has problems supporting IPv6");
     fi
 fi


-- 
Jeff Trawick | [EMAIL PROTECTED]
Born in Roswell... married an alien...

Reply via email to