On 2012/09/26 16:44, Matthew Seaman wrote:
On 26/09/2012 07:27, Kevin Lo wrote:
On 2012/09/25 14:03, Matthew Seaman wrote:
On 24/09/2012 22:29, Jerry wrote:
Is there any specific reason that this PR: 161548 is still marked as
open?

o 2011/10/13 bin/161548 [patch] getent(1) inconsistent treatment of
IPv6 host data
It simply hasn't attracted the attention of anyone with a src commit
bit. Yet.
There's no need to declare he4 and he6 as struct hostent,
the original declaration of he is fine. So here is patch.

Index: usr.bin/getent/getent.c
===================================================================
--- usr.bin/getent/getent.c     (revision 240947)
+++ usr.bin/getent/getent.c     (working copy)
@@ -285,6 +285,7 @@ hosts(int argc, char *argv[])
         assert(argv != NULL);

         sethostent(1);
+       he = NULL;
         rv = RV_OK;
         if (argc == 2) {
                 while ((he = gethostent()) != NULL)
@@ -295,8 +296,9 @@ hosts(int argc, char *argv[])
                                 he = gethostbyaddr(addr, IN6ADDRSZ,
AF_INET6);
                         else if (inet_pton(AF_INET, argv[i], (void
*)addr) > 0)
                                 he = gethostbyaddr(addr, INADDRSZ,
AF_INET);
-                       else
-                               he = gethostbyname(argv[i]);
+                       else if ((he = gethostbyname2(argv[i],
AF_INET6)) ==
+                           NULL)
+                               he = gethostbyname2(argv[i], AF_INET);
                         if (he != NULL)
                                 hostsprint(he);
                         else {

Not so.  Hosts frequently have both IPv6 and IPv4 addresses: your patch
would print only the IPv6 address in that case.

Err, right. I committed your patch, thanks.

        Cheers,

        Matthew




    Kevin

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"

Reply via email to