* locate_kdc.c (add_host_to_list): If address family in sockaddr structure is
authorKen Raeburn <raeburn@mit.edu>
Sat, 29 Sep 2001 04:26:42 +0000 (04:26 +0000)
committerKen Raeburn <raeburn@mit.edu>
Sat, 29 Sep 2001 04:26:42 +0000 (04:26 +0000)
zero, copy it in from the addrinfo structure.  Bug workaround for AIX 4.3.3.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@13767 dc483132-0cff-0310-8789-dd5450dbe970

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

index cedf185ee62196a2af873090b7580d3a301bd2ae..09d59fb042bdee28c828401f751e709ac025ecd7 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-29  Ken Raeburn  <raeburn@mit.edu>
+
+       * locate_kdc.c (add_host_to_list): If address family in sockaddr
+       structure is zero, copy it in from the addrinfo structure.  Bug
+       workaround for AIX 4.3.3.
+
 2001-09-28  Ken Raeburn  <raeburn@mit.edu>
 
        * localaddr.c: Retrieve IPv6 addresses on Solaris 8.
index 52a564bd7285a62a22314b017b9aea1f38f2f4f3..9908bae687b5af2ff049b3a28c89fbdeeac12fe5 100644 (file)
@@ -279,6 +279,10 @@ add_host_to_list (struct addrlist *lp, const char *hostname,
     if (err)
        return translate_ai_error (err);
     for (a = addrs; a; a = a->ai_next) {
+       /* AIX 4.3.3 is broken.  */
+       if (a->ai_addr->sa_family == 0)
+           a->ai_addr->sa_family = a->ai_family;
+
        set_port_num (a->ai_addr, port);
        err = add_addrinfo_to_list (lp, a);
        if (err)