From 24611cf5ed0f34edc6b843a621b63b710f51570a Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 10 Jul 2018 19:57:55 +0200 Subject: ndb/cs: add -6 flag for v6 only lookups and "ipv4" control message to toggle v4 lookups. --- sys/man/8/ndb | 12 ++++++++++-- sys/src/cmd/ndb/cs.c | 14 +++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/sys/man/8/ndb b/sys/man/8/ndb index 52fa8a009..6cf2405ba 100644 --- a/sys/man/8/ndb +++ b/sys/man/8/ndb @@ -35,7 +35,7 @@ query, ipquery, mkhash, mkdb, mkhosts, cs, csquery, dns, dnstcp, dnsquery, dnsde .br .B ndb/cs [ -.B -4n +.B -46n ] [ .B -f .I dbfile @@ -257,10 +257,18 @@ The options are: Only look up IPv4 addresses (A records) when consulting DNS. The default is to also look up v6 addresses (AAAA records). Writing +.L ipv4 +to +.B /net/cs +will toggle IP v4 look-ups. +.TP +.B -6 +Only look up IPv6 addresses in DNS. +Writing .L ipv6 to .B /net/cs -will toggle IP v6 look-ups. +toggles v6 lookups. .TP .B -f supplies the name of the data base file to use, diff --git a/sys/src/cmd/ndb/cs.c b/sys/src/cmd/ndb/cs.c index ba3d5e622..3fc9d0b3e 100644 --- a/sys/src/cmd/ndb/cs.c +++ b/sys/src/cmd/ndb/cs.c @@ -196,7 +196,7 @@ nstrcpy(char *to, char *from, int len) void usage(void) { - fprint(2, "usage: %s [-dn] [-f ndb-file] [-x netmtpt]\n", argv0); + fprint(2, "usage: %s [-46dn] [-f ndb-file] [-x netmtpt]\n", argv0); exits("usage"); } @@ -238,6 +238,9 @@ main(int argc, char *argv[]) case '4': lookipvers = V4; break; + case '6': + lookipvers = V6; + break; case 'd': debug = 1; break; @@ -799,6 +802,15 @@ rwrite(Job *job, Mfile *mf) goto send; } + /* + * toggle ipv4 lookups + */ + if(strncmp(job->request.data, "ipv4", 4)==0){ + lookipvers ^= V4; + syslog(1, logfile, "ipv4lookups %d", (lookipvers & V4) != 0); + goto send; + } + /* * toggle ipv6 lookups */ -- cgit v1.2.3