Issues with krb.1.4.3 build on hpux 11.00

Dave Brown David.W.Brown at davita.com
Thu Apr 20 13:21:35 EDT 2006


Hello,

I was compiling the code tree for Kerberos 1.4.3 on HPUX 11.00 without IPv6 and discovered that localaddr.c parses INET6 address even though it is not supposed to do so for IPv4, which generates a build failure. I had to add if statements in the c code to get around the failure, and I thought that you would like to know, since there really is not any other way to fix it. 

<snip>
    #if defined(KRB5_USE_INET6)
    case AF_INET6:
        return CMPTYPE (struct sockaddr_in6, sin6_addr);
    #endif

<snip>

   /* Okay, this is kind of odd.  We have to use each of the address
       families we care about, because with an AF_INET socket, extra
       interfaces like hme0:1 that have only AF_INET6 addresses will
       cause errors.  Similarly, if hme0 has more AF_INET addresses
       than AF_INET6 addresses, we won't be able to retrieve all of
       the AF_INET addresses if we use an AF_INET6 socket.  Since
       neither family is guaranteed to have the greater number of
       addresses, we should use both.

       If it weren't for this little quirk, we could use one socket of
       any type, and ask for addresses of all types.  At least, it
       seems to work that way.  */

    #if defined(KRB5_USE_INET6)
    static const int afs[] = { AF_INET, AF_NS, AF_INET6 };
    #else
    static const int afs[] = { AF_INET, AF_NS };
    #endif

<snip>

Regards,

Dave Brown 
Senior UNIX Systems Administrator 
DaVita Inc.
Lakewood CO 80215 
Phone: 303-626-6221 
Email: david.w.brown at davita.com 





More information about the Kerberos mailing list