Author: ed
Date: Thu Mar 18 20:13:04 2010
New Revision: 205296
URL: http://svn.freebsd.org/changeset/base/205296

Log:
  Properly progress through the list of IPv6 addresses using in6_addr size.
  
  Right now if a jail has multiple IPv6 addresses, it will print them
  shifting only 4 bytes at a time. Example:
  
        2001:4dd0:ff41::b23f:a9
        2001:4dd0:ff41::b23f:aa
  
  Becomes:
  
        2001:4dd0:ff41::b23f:a9
        ff41::b23f:a9:2001:4dd0
  
  By casting to in6_addr, it uses the correct offsets.
  
  MFC after:    1 week

Modified:
  head/usr.sbin/jls/jls.c

Modified: head/usr.sbin/jls/jls.c
==============================================================================
--- head/usr.sbin/jls/jls.c     Thu Mar 18 19:10:03 2010        (r205295)
+++ head/usr.sbin/jls/jls.c     Thu Mar 18 20:13:04 2010        (r205296)
@@ -355,7 +355,7 @@ print_jail(int pflags, int jflags)
                        count = params[7].jp_valuelen / sizeof(struct in6_addr);
                        for (ai = 0; ai < count; ai++)
                                if (inet_ntop(AF_INET6,
-                                   &((struct in_addr *)params[7].jp_value)[ai],
+                                   &((struct in6_addr 
*)params[7].jp_value)[ai],
                                    ipbuf, sizeof(ipbuf)) == NULL)
                                        err(1, "inet_ntop");
                                else
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to