summaryrefslogtreecommitdiffstats
path: root/contrib/traceroute/traceroute.c
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2009-08-23 17:00:16 +0000
committerume <ume@FreeBSD.org>2009-08-23 17:00:16 +0000
commite9fb7bf28d0712b4366f9f39010c865c03853ac6 (patch)
treeed9630d75b8bf64e28c5ab5abefdd3666898f3d8 /contrib/traceroute/traceroute.c
parent5868b7c961bb6a513bde2e133aaeae679b9cb648 (diff)
downloadFreeBSD-src-e9fb7bf28d0712b4366f9f39010c865c03853ac6.zip
FreeBSD-src-e9fb7bf28d0712b4366f9f39010c865c03853ac6.tar.gz
- Add AS lookup functionality to traceroute6(8) as well.
- Support for IPv6 transport for AS lookup. - Introduce $RA_SERVER to set whois server. - Support for 4 byte ASN. - ANSIfy function declaration in as.c. Tested by: IHANet folks.
Diffstat (limited to 'contrib/traceroute/traceroute.c')
-rw-r--r--contrib/traceroute/traceroute.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/contrib/traceroute/traceroute.c b/contrib/traceroute/traceroute.c
index a4bce61..120d1cd 100644
--- a/contrib/traceroute/traceroute.c
+++ b/contrib/traceroute/traceroute.c
@@ -1477,19 +1477,21 @@ print(register u_char *buf, register int cc, register struct sockaddr_in *from)
{
register struct ip *ip;
register int hlen;
+ char addr[INET_ADDRSTRLEN];
ip = (struct ip *) buf;
hlen = ip->ip_hl << 2;
cc -= hlen;
+ strlcpy(addr, inet_ntoa(from->sin_addr), sizeof(addr));
+
if (as_path)
- Printf(" [AS%d]", as_lookup(asn, &from->sin_addr));
+ Printf(" [AS%u]", as_lookup(asn, addr, AF_INET));
if (nflag)
- Printf(" %s", inet_ntoa(from->sin_addr));
+ Printf(" %s", addr);
else
- Printf(" %s (%s)", inetname(from->sin_addr),
- inet_ntoa(from->sin_addr));
+ Printf(" %s (%s)", inetname(from->sin_addr), addr);
if (verbose)
Printf(" %d bytes to %s", cc, inet_ntoa (ip->ip_dst));
OpenPOWER on IntegriCloud