From ffbd616b1664630cdc5db3e56ceda71b79f12329 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 28 May 2001 21:37:29 +0000 Subject: Direct queries for IP numbers to ARIN. It would be nice if we could send them to APNIC/RIPE intelligently, but we can't at this time so fallback to ARIN and depend on them telling the user where to look. Maybe we need a .whoisrc file... PR: 24707 Submitted by: Mike Barcroft mike@q9media.com MFC after: 1 week --- usr.bin/whois/whois.1 | 6 ++++++ usr.bin/whois/whois.c | 19 +++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) (limited to 'usr.bin/whois') diff --git a/usr.bin/whois/whois.1 b/usr.bin/whois/whois.1 index 5072473..debe3b1 100644 --- a/usr.bin/whois/whois.1 +++ b/usr.bin/whois/whois.1 @@ -86,6 +86,12 @@ of the supplied (single) argument, and appending .Qq Li .whois-servers.net . This effectively allows a suitable whois server to be selected automatically for a large number of TLDs. +.Pp +In the event that an IP +address is specified, the whois server will default to the American +Registry for Internet Numbers +.Pq Tn ARIN . +.Pp If no required .Pa whois-servers.net subdomain found, fallback to diff --git a/usr.bin/whois/whois.c b/usr.bin/whois/whois.c index af03a12..3e31a65 100644 --- a/usr.bin/whois/whois.c +++ b/usr.bin/whois/whois.c @@ -49,6 +49,7 @@ static const char rcsid[] = #include #include #include +#include #include #include #include @@ -166,13 +167,19 @@ main(argc, argv) } } if (j != 0) { - qnichost = (char *) calloc(i - j + 1 + - strlen(QNICHOST_TAIL), sizeof(char)); - if (!qnichost) { - err(1, "calloc"); + if (isdigit(*(*argv + j + 1))) { + (void) asprintf(&qnichost, "%s", + ANICHOST); + } else { + qnichost = (char *) calloc(i - j + + 1 + strlen(QNICHOST_TAIL), + sizeof(char)); + if (!qnichost) { + err(1, "calloc"); + } + strcpy(qnichost, *argv + j + 1); + strcat(qnichost, QNICHOST_TAIL); } - strcpy(qnichost, *argv + j + 1); - strcat(qnichost, QNICHOST_TAIL); memset(&hints, 0, sizeof(hints)); hints.ai_flags = 0; -- cgit v1.1