svn commit: r259931 - user/ae/inet6/usr.sbin/jail
Andrey V. Elsukov
ae at FreeBSD.org
Fri Dec 27 02:49:57 UTC 2013
Author: ae
Date: Fri Dec 27 02:49:56 2013
New Revision: 259931
URL: http://svnweb.freebsd.org/changeset/base/259931
Log:
Use struct sockaddr_in6 instead of in6_addr in jail(8).
Modified:
user/ae/inet6/usr.sbin/jail/config.c
Modified: user/ae/inet6/usr.sbin/jail/config.c
==============================================================================
--- user/ae/inet6/usr.sbin/jail/config.c Fri Dec 27 02:49:04 2013 (r259930)
+++ user/ae/inet6/usr.sbin/jail/config.c Fri Dec 27 02:49:56 2013 (r259931)
@@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <arpa/inet.h>
+#include <net/if.h>
#include <netinet/in.h>
#include <err.h>
@@ -456,9 +457,8 @@ check_intparams(struct cfjail *j)
char avalue4[INET_ADDRSTRLEN];
#endif
#ifdef INET6
- struct in6_addr addr6;
int ip6ok;
- char avalue6[INET6_ADDRSTRLEN];
+ char avalue6[INET6_ADDRSTRLEN + IF_NAMESIZE + 1];
#endif
error = 0;
@@ -556,14 +556,11 @@ check_intparams(struct cfjail *j)
#endif
#ifdef INET6
case AF_INET6:
- memcpy(&addr6,
- &((struct sockaddr_in6 *)
- (void *)ai->ai_addr)->
- sin6_addr, sizeof(addr6));
- if (inet_ntop(AF_INET6,
- &addr6, avalue6,
- INET6_ADDRSTRLEN) == NULL)
- err(1, "inet_ntop");
+ if (getnameinfo(ai->ai_addr,
+ ai->ai_addrlen, avalue6,
+ sizeof(avalue6), NULL, 0,
+ NI_NUMERICHOST) != 0)
+ err(1, "getnameinfo");
add_param(j, NULL, KP_IP6_ADDR,
avalue6);
break;
More information about the svn-src-user
mailing list