From: Todd C. Miller Subject: whois: minor cleanup To: tech@openbsd.org Date: Tue, 26 Mar 2024 11:52:35 -0600 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 #include #include +#include #include -#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++) {