Mercurial > hg > anonet-resdb
diff contrib/whoisd/whoisd.pl @ 1138:c95369b825a2 draft
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
author | epoch <epoch@hacking.allowed.org> |
---|---|
date | Sun, 06 Oct 2013 10:21:44 +0000 |
parents | 1a5d655cae9c |
children | eec8e319f5bd |
line wrap: on
line diff
--- a/contrib/whoisd/whoisd.pl Fri Aug 23 13:47:37 2013 -0500 +++ b/contrib/whoisd/whoisd.pl Sun Oct 06 10:21:44 2013 +0000 @@ -8,6 +8,7 @@ my $RESDB = "/services/resdb/resdb"; +my $HACK=0; my $QUERY=<stdin>; $QUERY =~ s/\r\n//g; my $out; @@ -16,6 +17,15 @@ my @parts; my $i; +if($QUERY eq "!!\n") { + $QUERY=<stdin>; + $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 @@ # 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<scalar(@parts)-1;$i++) { - if(!chdir(sprintf("%02x",$parts[$i]))) { - printf "%-20s %s\n", "error" . ":", "IP not found."; + if(!chdir(sprintf("%02X",$parts[$i]))) { + printf "%-20s %s\n", "error" . ":", "IP not found." unless $HACK; exit; } } @@ -52,7 +62,7 @@ $out = $_; $out =~ s/^\.\///g; ($title, $value) = split(/:/,$out); - printf "%-20s %s\n", $title . ":", $value; + printf "%-20s %s\n", $title . ":", $value unless $HACK; if($title eq "owner") { $QUERY = $value; } @@ -65,8 +75,11 @@ printf "%% domain section for %s\n", $QUERY; @parts=split(/\./,$QUERY); chdir("$RESDB/db/dom"); - for($i=scalar(@parts)-1;$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 @@ } # 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 @@ $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`)) {