diff options
| author | Ken Raeburn <raeburn@mit.edu> | 1999-10-17 07:34:05 +0000 |
|---|---|---|
| committer | Ken Raeburn <raeburn@mit.edu> | 1999-10-17 07:34:05 +0000 |
| commit | e3a442c7e74814977c99c677215f0519ac84b92e (patch) | |
| tree | 8360b3e8360b9554e7896d6e7baa195240d4f2f0 /src/lib | |
| parent | 318df69439fc0c25de8c598b684206384b1c9355 (diff) | |
If INET6 support is built in but the socket creation fails, fall back to INET
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11865 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/os/ChangeLog | 3 | ||||
| -rw-r--r-- | src/lib/krb5/os/localaddr.c | 9 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index fb2461596..118c17afd 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -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> diff --git a/src/lib/krb5/os/localaddr.c b/src/lib/krb5/os/localaddr.c index c4d4986e3..6a9acdc4e 100644 --- a/src/lib/krb5/os/localaddr.c +++ b/src/lib/krb5/os/localaddr.c @@ -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; |
