# HG changeset patch # User SeekingFor # Date 1377283572 0 # Node ID f1a6de845e5dfba9c2c6c1ba61c19d43bc7aafb2 # Parent 6a55c6f6e903da467b50b2f0ebe17741d85b5a5a# Parent 97f5dc7e763c561801c6222819d4edecf2d664dc Merge git://1.41.41.1 diff -r 6a55c6f6e903 -r f1a6de845e5d contrib/whoisd/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/whoisd/README Fri Aug 23 18:46:12 2013 +0000 @@ -0,0 +1,8 @@ +RTFS + +todo: + ipv6 + more info in responses? + make it compatible with traceroute -A ? + +add any other features you'd like either in here or the source. You know perl, right? diff -r 6a55c6f6e903 -r f1a6de845e5d contrib/whoisd/whoisd.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/whoisd/whoisd.pl Fri Aug 23 18:46:12 2013 +0000 @@ -0,0 +1,112 @@ +#!/usr/bin/perl +# coded by epoch. +# use inetd or tcpserver or something else. +# waste of time to do manual sockets for something like this. +# this isn't my baby. you can murder it if you want. + +use strict; + +my $RESDB = "/services/resdb/resdb"; + +my $QUERY=; +$QUERY =~ s/\r\n//g; +my $out; +my $title; +my $value; +my @parts; +my $i; + +# ASNs +if($QUERY =~ m/^AS(.+?)$/) { + printf "%% AS section for %s\n", $QUERY; + my $AS=$1; + chdir("$RESDB/db/as"); + if(chdir($AS)) { + foreach(split(/\n/,`grep '' -r .`)) { + $out = $_; + $out =~ s/^\.\///g; + $out =~ m/^(.+?):(.+?)$/; + ($title, $value) = ($1, $2); + printf "%-20s %s\n", $title . ":", $value; + if($title eq "owner") { + $QUERY = $value; + } + } + } else { + printf "AS not found."; + } +} + +# 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; + chdir("$RESDB/db/ip"); + @parts=split(/\./,$QUERY); + for($i=0;$i=0;$i--) { + chdir($parts[$i]); + } + foreach(split(/\n/,`grep '' -r .`)) { + $out = $_; + $out =~ s/^\.\///g; + $out =~ m/^(.+?):(.+?)$/; + ($title, $value) = ($1, $2); + printf "%-20s %s\n", $title . ":", $value; + if($title eq "owner") { + $QUERY = $value; + } + } +} + +# default to assuming it is a name. +printf "%% user section for %s\n", $QUERY; + +chdir("$RESDB/db/usr"); +if(chdir($QUERY)) { + foreach(split(/\n/,`grep '' -r .`)) { + $out = $_; + $out =~ s/^\.\///g; + $out =~ m/^(.+?):(.+?)$/; + ($title, $value) = ($1, $2); + printf "%-20s %s\n", $title . ":", $value; + } +} else { + printf "%-20s missing db/usr file.\n", "warning" . ":"; +} +chdir("$RESDB/db/as"); +foreach(split(/\n/,`grep '^$QUERY\$' */owner | cut -d/ -f1`)) { + $out = $_; + $out =~ s/\n//g; + printf "%-20s %s\n", "ASN" . ":", $out; +} + +foreach(split(/\n/,`grep -i -e "^$QUERY\$" "$RESDB/db/dom"/*/*/owner`)) { + $out = $_; + $out =~ s/.*\/db\/dom\/(.+?)\/(.+?)\/owner.*/\2\.\1/; + if ($out ne "") { #fix this comparison. + printf "%-20s %s\n", "domain" . ":", $out; + } +} +#printf "%-20s %s\n", "notice:","$QUERY did not claim any domains yet"; diff -r 6a55c6f6e903 -r f1a6de845e5d db/usr/epoch/email --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/usr/epoch/email Fri Aug 23 18:46:12 2013 +0000 @@ -0,0 +1,1 @@ +epoch@hacking.allowed.ano diff -r 6a55c6f6e903 -r f1a6de845e5d db/usr/epoch/irc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/usr/epoch/irc Fri Aug 23 18:46:12 2013 +0000 @@ -0,0 +1,1 @@ +epoch in #default on hacking.allowed.ano