Download raw body.
whois: minor cleanup
o sort NIC host defines.
o add DENICHOST instead of using whois.denic.de inline.
o make strings const where possible.
o case insensitive string comparison for host names.
- todd
Index: usr.bin/whois/whois.c
===================================================================
RCS file: /cvs/src/usr.bin/whois/whois.c,v
retrieving revision 1.64
diff -u -p -u -r1.64 whois.c
--- usr.bin/whois/whois.c 25 Mar 2024 19:11:52 -0000 1.64
+++ usr.bin/whois/whois.c 26 Mar 2024 17:50:39 -0000
@@ -42,23 +42,25 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <strings.h>
#include <unistd.h>
-#define NICHOST "whois.crsnic.net"
-#define INICHOST "whois.internic.net"
+#define AFNICHOST "whois.afrinic.net"
+#define ANICHOST "whois.arin.net"
+#define DENICHOST "whois.denic.de"
#define DNICHOST "whois.nic.mil"
#define GNICHOST "whois.nic.gov"
-#define ANICHOST "whois.arin.net"
-#define RNICHOST "whois.ripe.net"
-#define PNICHOST "whois.apnic.net"
-#define RUNICHOST "whois.ripn.net"
+#define IANAHOST "whois.iana.org"
+#define INICHOST "whois.internic.net"
#define MNICHOST "whois.ra.net"
-#define LNICHOST "whois.lacnic.net"
-#define AFNICHOST "whois.afrinic.net"
-#define BNICHOST "whois.registro.br"
+#define NICHOST "whois.crsnic.net"
#define PDBHOST "whois.peeringdb.com"
-#define IANAHOST "whois.iana.org"
+#define PNICHOST "whois.apnic.net"
#define QNICHOST_TAIL ".whois-servers.net"
+#define RNICHOST "whois.ripe.net"
+#define RUNICHOST "whois.ripn.net"
+#define BNICHOST "whois.registro.br"
+#define LNICHOST "whois.lacnic.net"
#define WHOIS_PORT "whois"
#define WHOIS_SERVER_ID "Registrar WHOIS Server:"
@@ -69,7 +71,6 @@
#define CHOPSPAM ">>> Last update of WHOIS database:"
-const char *port_whois = WHOIS_PORT;
const char *ip_whois[] = { LNICHOST, RNICHOST, PNICHOST, BNICHOST,
AFNICHOST, NULL };
@@ -80,8 +81,9 @@ char *choose_server(const char *, const
int
main(int argc, char *argv[])
{
+ const char *host, *name, *country;
+ const char *port = WHOIS_PORT;
int ch, flags, rval;
- char *host, *name, *country;
country = host = NULL;
flags = rval = 0;
@@ -118,7 +120,7 @@ main(int argc, char *argv[])
host = MNICHOST;
break;
case 'p':
- port_whois = optarg;
+ port = optarg;
break;
case 'P':
host = PDBHOST;
@@ -156,7 +158,7 @@ main(int argc, char *argv[])
char *tofree = NULL;
const char *server =
host ? host : choose_server(name, country, &tofree);
- rval += whois(name, server, port_whois, flags);
+ rval += whois(name, server, port, flags);
free(tofree);
}
return (rval);
@@ -212,12 +214,12 @@ whois(const char *query, const char *ser
}
if (!(flags & WHOIS_SPAM_ME) &&
- (strcmp(server, "whois.denic.de") == 0 ||
- strcmp(server, "de" QNICHOST_TAIL) == 0))
+ (strcasecmp(server, DENICHOST) == 0 ||
+ strcasecmp(server, "de" QNICHOST_TAIL) == 0))
fmt = "-T dn,ace -C ISO-8859-1 %s\r\n";
else if (!(flags & WHOIS_SPAM_ME) &&
- (strcmp(server, "whois.dk-hostmaster.dk") == 0 ||
- strcmp(server, "dk" QNICHOST_TAIL) == 0))
+ (strcasecmp(server, "whois.dk-hostmaster.dk") == 0 ||
+ strcasecmp(server, "dk" QNICHOST_TAIL) == 0))
fmt = "--show-handles %s\r\n";
else
fmt = "%s\r\n";
@@ -248,7 +250,7 @@ whois(const char *query, const char *ser
if ((nhost = strndup(p, len)) == NULL)
err(1, "strndup");
}
- } else if (strcmp(server, ANICHOST) == 0) {
+ } else if (strcasecmp(server, ANICHOST) == 0) {
for (p = buf; *p != '\0'; p++)
*p = tolower((unsigned char)*p);
for (i = 0; ip_whois[i] != NULL; i++) {
whois: minor cleanup