]> granicus.if.org Git - sudo/commitdiff
repair non-getifaddrs() code after ipv6 integration
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 14 Aug 2007 15:19:13 +0000 (15:19 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 14 Aug 2007 15:19:13 +0000 (15:19 +0000)
interfaces.c

index d7e777d1f02af3c3be841f2250ac796f29e8b09a..f71cb8a7a73da39c2e0e58aad9b19fbc24c51b6d 100644 (file)
@@ -256,7 +256,7 @@ load_interfaces()
                continue;
 
        sin = (struct sockaddr_in *) &ifr->ifr_addr;
-       interfaces[num_interfaces].addr.s_addr = sin->sin_addr.s_addr;
+       interfaces[num_interfaces].addr.ip4.s_addr = sin->sin_addr.s_addr;
 
        /* Stash the name of the interface we saved. */
        previfname = ifr->ifr_name;
@@ -273,17 +273,17 @@ load_interfaces()
 #endif /* _ISC */
            sin = (struct sockaddr_in *) &ifr_tmp.ifr_addr;
 
-           interfaces[num_interfaces].netmask.s_addr = sin->sin_addr.s_addr;
+           interfaces[num_interfaces].netmask.ip4.s_addr = sin->sin_addr.s_addr;
        } else {
 #else
        {
 #endif /* SIOCGIFNETMASK */
-           if (IN_CLASSC(interfaces[num_interfaces].addr.s_addr))
-               interfaces[num_interfaces].netmask.s_addr = htonl(IN_CLASSC_NET);
-           else if (IN_CLASSB(interfaces[num_interfaces].addr.s_addr))
-               interfaces[num_interfaces].netmask.s_addr = htonl(IN_CLASSB_NET);
+           if (IN_CLASSC(interfaces[num_interfaces].addr.ip4.s_addr))
+               interfaces[num_interfaces].netmask.ip4.s_addr = htonl(IN_CLASSC_NET);
+           else if (IN_CLASSB(interfaces[num_interfaces].addr.ip4.s_addr))
+               interfaces[num_interfaces].netmask.ip4.s_addr = htonl(IN_CLASSB_NET);
            else
-               interfaces[num_interfaces].netmask.s_addr = htonl(IN_CLASSA_NET);
+               interfaces[num_interfaces].netmask.ip4.s_addr = htonl(IN_CLASSA_NET);
        }
 
        /* Only now can we be sure it was a good/interesting interface. */