Index | Thread | Search

From:
Todd C. Miller <millert@openbsd.org>
Subject:
whois: minor cleanup
To:
tech@openbsd.org
Date:
Tue, 26 Mar 2024 11:52:35 -0600

Download raw body.

Thread
  • Todd C. Miller:

    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++) {