If INET6 support is built in but the socket creation fails, fall back to INET
authorKen Raeburn <raeburn@mit.edu>
Sun, 17 Oct 1999 07:34:05 +0000 (07:34 +0000)
committerKen Raeburn <raeburn@mit.edu>
Sun, 17 Oct 1999 07:34:05 +0000 (07:34 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11865 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/os/ChangeLog
src/lib/krb5/os/localaddr.c

index fb24615966174a264a6f9ed483051a4a00cef4f2..118c17afd01374e148095487006053cbcbfc8101 100644 (file)
@@ -1,7 +1,8 @@
 1999-10-17  Ken Raeburn  <raeburn@raeburn.org>
 
        * localaddr.c (krb5_os_localaddr): Raise buffer size to 10K.
-       Handle INET6 addresses.
+       Handle INET6 addresses.  If INET6 support is built in but the
+       socket creation fails, fall back to INET.
 
 1999-09-28  Ken Raeburn  <raeburn@mit.edu>
 
index c4d4986e37c0e29affa1923832541de446e24f9d..6a9acdc4ee422fa1a6854b6e86aac01e16eafd31 100644 (file)
@@ -55,7 +55,8 @@
 
 #ifndef USE_AF
 #ifdef AF_INET6
-#define USE_AF AF_INET6
+#define USE_AF  AF_INET6
+#define USE_AF2 AF_INET
 #else
 #define USE_AF AF_INET
 #endif
@@ -127,8 +128,12 @@ krb5_os_localaddr(context, addr)
     memset(buf, 0, sizeof(buf));
     ifc.ifc_len = sizeof(buf);
     ifc.ifc_buf = buf;
-    
+
     s = socket (USE_AF, USE_TYPE, USE_PROTO);
+#if defined (USE_AF2) && defined (EPROTONOSUPPORT)
+    if (s < 0 && SOCKET_ERRNO == EPROTONOSUPPORT)
+       s = socket (USE_AF2, USE_TYPE, USE_PROTO);
+#endif
     if (s < 0)
        return SOCKET_ERRNO;