summaryrefslogtreecommitdiffstats
path: root/sbin/route/route.c
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2005-05-23 14:12:32 +0000
committerume <ume@FreeBSD.org>2005-05-23 14:12:32 +0000
commit428418e43b9a401c09bb331a3486ff6f755dde73 (patch)
tree70d2d7884e906bc3e087b4c50911e94075096885 /sbin/route/route.c
parent54d1472c805931ef6bd7861df22da4b71d77514a (diff)
downloadFreeBSD-src-428418e43b9a401c09bb331a3486ff6f755dde73.zip
FreeBSD-src-428418e43b9a401c09bb331a3486ff6f755dde73.tar.gz
- do DNS lookup for symbolic names specified for a destination
or gateway. - improves error reporting using gai_strerror(3) instead of printing "bad value". - remove "0" for servname argument for getaddrinfo(3). Submitted by: Andreas Kohn <andreas __at__ syndrom23.de> MFC after: 1 week
Diffstat (limited to 'sbin/route/route.c')
-rw-r--r--sbin/route/route.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c
index 0ae44e6..265a03f 100644
--- a/sbin/route/route.c
+++ b/sbin/route/route.c
@@ -963,18 +963,19 @@ getaddr(which, s, hpp)
case AF_INET6:
{
struct addrinfo hints, *res;
+ int ecode;
q = NULL;
if (which == RTA_DST && (q = strchr(s, '/')) != NULL)
*q = '\0';
memset(&hints, 0, sizeof(hints));
hints.ai_family = afamily; /*AF_INET6*/
- hints.ai_flags = AI_NUMERICHOST;
hints.ai_socktype = SOCK_DGRAM; /*dummy*/
- if (getaddrinfo(s, "0", &hints, &res) != 0 ||
- res->ai_family != AF_INET6 ||
+ ecode = getaddrinfo(s, NULL, &hints, &res);
+ if (ecode != 0 || res->ai_family != AF_INET6 ||
res->ai_addrlen != sizeof(su->sin6)) {
- (void) fprintf(stderr, "%s: bad value\n", s);
+ (void) fprintf(stderr, "%s: %s\n", s,
+ gai_strerror(ecode));
exit(1);
}
memcpy(&su->sin6, res->ai_addr, sizeof(su->sin6));
OpenPOWER on IntegriCloud