From 1b53ae755a154e5d3adbcc66546eba63e0d6f178 Mon Sep 17 00:00:00 2001 From: epoch Date: Sun, 6 Oct 2013 10:21:44 +0000 Subject: whoisd... don't remember. added ipv6 address for my nameserver does anyone still use bind_tld_zonefile? upgraded bind_tld_zonefile.sh to use ipv6 in one place and rDNS in another --- contrib/whoisd/whoisd.pl | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) (limited to 'contrib/whoisd/whoisd.pl') diff --git a/contrib/whoisd/whoisd.pl b/contrib/whoisd/whoisd.pl index 5b9aa54..f0ea59d 100755 --- a/contrib/whoisd/whoisd.pl +++ b/contrib/whoisd/whoisd.pl @@ -8,6 +8,7 @@ use strict; my $RESDB = "/services/resdb/resdb"; +my $HACK=0; my $QUERY=; $QUERY =~ s/\r\n//g; my $out; @@ -16,6 +17,15 @@ my $value; my @parts; my $i; +if($QUERY eq "!!\n") { + $QUERY=; + $QUERY =~ s/^!r(.+?)[\/,].*$/\1/; + printf "A500\n"; #fake this I guess. Does it even use that number for anything? + printf "%% Looks like you're trying -A on a BSDian traceroute with this server.\n"; + printf "%% support will come soon for that.\n"; + $HACK=1; +} + # ASNs if($QUERY =~ m/^AS(.+?)$/) { printf "%% AS section for %s\n", $QUERY; @@ -39,12 +49,12 @@ if($QUERY =~ m/^AS(.+?)$/) { # IPv4 addresses if($QUERY =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/) { - printf "%% IP section for %s\n", $QUERY; + printf "%% IP section for %s", $QUERY unless $HACK; chdir("$RESDB/db/ip"); @parts=split(/\./,$QUERY); for($i=0;$i=0;$i--) { - chdir($parts[$i]); + for($i=scalar(@parts)-1;$i>scalar(@parts)-3;$i--) { + if(!chdir($parts[$i])) { + printf "%-20s %s", "warning" . ":", "domain not found."; + exit; + } } foreach(split(/\n/,`grep '' -r .`)) { $out = $_; @@ -81,7 +94,7 @@ if($QUERY =~ m/\./) { } # default to assuming it is a name. -printf "%% user section for %s\n", $QUERY; +printf "%% user section for %s\n", $QUERY unless $HACK; chdir("$RESDB/db/usr"); if(chdir($QUERY)) { @@ -90,16 +103,17 @@ if(chdir($QUERY)) { $out =~ s/^\.\///g; $out =~ m/^(.+?):(.+?)$/; ($title, $value) = ($1, $2); - printf "%-20s %s\n", $title . ":", $value; + printf "%-20s %s\n", $title . ":", $value unless $HACK; } } else { - printf "%-20s missing db/usr file.\n", "warning" . ":"; + printf "%-20s missing db/usr file.\n", "warning" . ":" unless $HACK; } chdir("$RESDB/db/as"); foreach(split(/\n/,`grep '^$QUERY\$' */owner | cut -d/ -f1`)) { $out = $_; $out =~ s/\n//g; - printf "%-20s %s\n", "ASN" . ":", $out; + printf "%-20s AS%s\n", "origin" . ":", $out if $HACK; + printf "%-20s AS%s\n", "origin" . ":", $out unless $HACK; } foreach(split(/\n/,`grep -i -e "^$QUERY\$" "$RESDB/db/dom"/*/*/owner`)) { -- cgit v1.2.3 From ada38c34846fa0da9739419e428d12fff771d3e5 Mon Sep 17 00:00:00 2001 From: epoch Date: Sun, 6 Oct 2013 11:29:47 +0000 Subject: forgot a newline --- contrib/whoisd/whoisd.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'contrib/whoisd/whoisd.pl') diff --git a/contrib/whoisd/whoisd.pl b/contrib/whoisd/whoisd.pl index f0ea59d..d865c7a 100755 --- a/contrib/whoisd/whoisd.pl +++ b/contrib/whoisd/whoisd.pl @@ -49,7 +49,7 @@ if($QUERY =~ m/^AS(.+?)$/) { # IPv4 addresses if($QUERY =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/) { - printf "%% IP section for %s", $QUERY unless $HACK; + printf "%% IP section for %s\n", $QUERY unless $HACK; chdir("$RESDB/db/ip"); @parts=split(/\./,$QUERY); for($i=0;$i Date: Sun, 6 Oct 2013 11:45:06 +0000 Subject: found a bug when sending just '.'... wasn't good. --- contrib/whoisd/whoisd.pl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'contrib/whoisd/whoisd.pl') diff --git a/contrib/whoisd/whoisd.pl b/contrib/whoisd/whoisd.pl index d865c7a..158c075 100755 --- a/contrib/whoisd/whoisd.pl +++ b/contrib/whoisd/whoisd.pl @@ -22,7 +22,6 @@ if($QUERY eq "!!\n") { $QUERY =~ s/^!r(.+?)[\/,].*$/\1/; printf "A500\n"; #fake this I guess. Does it even use that number for anything? printf "%% Looks like you're trying -A on a BSDian traceroute with this server.\n"; - printf "%% support will come soon for that.\n"; $HACK=1; } @@ -30,8 +29,8 @@ if($QUERY eq "!!\n") { if($QUERY =~ m/^AS(.+?)$/) { printf "%% AS section for %s\n", $QUERY; my $AS=$1; - chdir("$RESDB/db/as"); - if(chdir($AS)) { + chdir("$RESDB/db/as") || die "%% error"; + if(chdir($AS) || die "%% error") { foreach(split(/\n/,`grep '' -r .`)) { $out = $_; $out =~ s/^\.\///g; @@ -50,7 +49,7 @@ if($QUERY =~ m/^AS(.+?)$/) { # IPv4 addresses if($QUERY =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/) { printf "%% IP section for %s\n", $QUERY unless $HACK; - chdir("$RESDB/db/ip"); + chdir("$RESDB/db/ip") || die "%% error"; @parts=split(/\./,$QUERY); for($i=0;$iscalar(@parts)-3;$i--) { + if(!$parts[$i]) { + printf "%% error"; + exit + } if(!chdir($parts[$i])) { printf "%-20s %s", "warning" . ":", "domain not found."; exit; @@ -96,7 +99,7 @@ if($QUERY =~ m/\./) { # default to assuming it is a name. printf "%% user section for %s\n", $QUERY unless $HACK; -chdir("$RESDB/db/usr"); +chdir("$RESDB/db/usr") || die "%% error"; if(chdir($QUERY)) { foreach(split(/\n/,`grep '' -r .`)) { $out = $_; @@ -108,7 +111,7 @@ if(chdir($QUERY)) { } else { printf "%-20s missing db/usr file.\n", "warning" . ":" unless $HACK; } -chdir("$RESDB/db/as"); +chdir("$RESDB/db/as") || die "%% error"; foreach(split(/\n/,`grep '^$QUERY\$' */owner | cut -d/ -f1`)) { $out = $_; $out =~ s/\n//g; -- cgit v1.2.3 From e4734d7592a11fbb206b4da851f7b1cd8d10b7c8 Mon Sep 17 00:00:00 2001 From: epoch Date: Mon, 28 Oct 2013 04:16:16 +0000 Subject: fixed the ns.whois.ano thing... don't remember what I did to whoisd.pl. Oh well. --- contrib/whoisd/whoisd.pl | 8 +++++++- db/dom/ano/whois/ns/ns.whois.ano | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'contrib/whoisd/whoisd.pl') diff --git a/contrib/whoisd/whoisd.pl b/contrib/whoisd/whoisd.pl index 158c075..67636c9 100755 --- a/contrib/whoisd/whoisd.pl +++ b/contrib/whoisd/whoisd.pl @@ -6,11 +6,17 @@ use strict; +#maybe chroot this whoisd? my $RESDB = "/services/resdb/resdb"; my $HACK=0; my $QUERY=; $QUERY =~ s/\r\n//g; +$QUERY =~ s/\///g; +if($QUERY eq '') { + printf "%% error. no query. wtf?"; + exit 0; +} my $out; my $title; my $value; @@ -97,7 +103,7 @@ if($QUERY =~ m/\./) { } # default to assuming it is a name. -printf "%% user section for %s\n", $QUERY unless $HACK; +printf "%% user section for '%s'\n", $QUERY unless $HACK; chdir("$RESDB/db/usr") || die "%% error"; if(chdir($QUERY)) { diff --git a/db/dom/ano/whois/ns/ns.whois.ano b/db/dom/ano/whois/ns/ns.whois.ano index e69de29..cb39eef 100644 --- a/db/dom/ano/whois/ns/ns.whois.ano +++ b/db/dom/ano/whois/ns/ns.whois.ano @@ -0,0 +1 @@ +1.41.41.1 -- cgit v1.2.3