This seems quite a useful database now that there are 500+ TLDs,
OK to add a flag to use it more easily from whois(1)?

Index: whois.1
===================================================================
RCS file: /cvs/src/usr.bin/whois/whois.1,v
retrieving revision 1.33
diff -u -p -r1.33 whois.1
--- whois.1     9 Apr 2015 19:29:53 -0000       1.33
+++ whois.1     2 Nov 2015 18:12:34 -0000
@@ -38,7 +38,7 @@
 .Nd Internet domain name and network number directory service
 .Sh SYNOPSIS
 .Nm whois
-.Op Fl AadgilmPQRr
+.Op Fl AadgIilmPQRr
 .Oo
 .Fl c Ar country-code | Fl h Ar host
 .Oc
@@ -156,6 +156,11 @@ or
 to the
 .Tn NIC
 handle in the query.)
+.It Fl I
+Use the Internet Assigned Numbers Authority
+.Pq Tn whois.iana.org
+root zone database.
+It contains information about top-level domains.
 .It Fl l
 Use the Latin American and Caribbean IP address Regional Registry
 .Pq Tn LACNIC
Index: whois.c
===================================================================
RCS file: /cvs/src/usr.bin/whois/whois.c,v
retrieving revision 1.51
diff -u -p -r1.51 whois.c
--- whois.c     2 Nov 2015 17:16:35 -0000       1.51
+++ whois.c     2 Nov 2015 18:12:34 -0000
@@ -58,6 +58,7 @@
 #define        AFNICHOST       "whois.afrinic.net"
 #define BNICHOST       "whois.registro.br"
 #define        PDBHOST         "whois.peeringdb.com"
+#define        IANAHOST        "whois.iana.org"
 #define        QNICHOST_TAIL   ".whois-servers.net"
 
 #define        WHOIS_PORT      "whois"
@@ -82,7 +83,7 @@ main(int argc, char *argv[])
 
        country = host = NULL;
        flags = rval = 0;
-       while ((ch = getopt(argc, argv, "aAc:dgh:ilmp:PqQrR")) != -1)
+       while ((ch = getopt(argc, argv, "aAc:dgh:iIlmp:PqQrR")) != -1)
                switch (ch) {
                case 'a':
                        host = ANICHOST;
@@ -105,6 +106,9 @@ main(int argc, char *argv[])
                case 'i':
                        host = INICHOST;
                        break;
+               case 'I':
+                       host = IANAHOST;
+                       break;
                case 'l':
                        host = LNICHOST;
                        break;
@@ -343,7 +347,7 @@ usage(void)
        extern char *__progname;
 
        fprintf(stderr,
-           "usage: %s [-AadgilmPQRr] [-c country-code | -h host] "
+           "usage: %s [-AadgIilmPQRr] [-c country-code | -h host] "
                "[-p port] name ...\n", __progname);
        exit(1);
 }

Reply via email to