1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
#!/usr/local/bin/perl
#----------------------------------------------------------------------
# variables you should change:
$dblookupcmd = "/home/mudhoney/netfind/nf/dblookup";
$netfindcmd = "/home/mudhoney/netfind/nf/netfind";
#----------------------------------------------------------------------
# gateway from gopher to netfind, requires netfind 3.46 or above
if ($0 =~ /.gpd/) {
# We have gopher+ directory...
$gplus = 1;
}
if ($#ARGV > 0) {
$name = shift;
$domain = join(" ", @ARGV);
} else {
$name = <>; chop($query);
$domain = <>; chop($domains);
}
if ((length($name) < 1) || (length($domain) < 1) ) {
print "+INFO: " if ($gplus);
print "0Please fill in both fields...\tmoo\tmoo\t70\n";
}
print "$name, $domain\n";
if ($name =~ /^\@\@/) {
$cmd = "netfind";
$name = substr($name, 2);
} else {
$cmd = "dblookup";
}
print "$name, $domain\n";
# Filter out naughtyness that might subvert security
if ($cmd =~ /^dblookup/) {
$name =~ s/([^A-Za-z0-9])//g;
$domain =~ s/([^A-Za-z0-9 ])//g;
$dbcmd = "$dblookupcmd \"$domain\"";
open(Dbfd, "$dbcmd |");
while (<Dbfd>) {
chop;
$title = $_;
/^([^ ]+) .*/;
$domain = $1;
print "+INFO: " if ($gplus);
print "0$title\texec:@@@$name $domain:/bin/gateways/g2netfind.gd\t$Ghost\t$Gport\n";
}
close(Dbfd);
}
if ($cmd =~ /^netfind/) {
$brokendomain = $domain;
$brokendomain =~ s/\./ /g;
print "Domain is $domain.., user is $name\n";
$nfcmd = "$netfindcmd -L $domain $name $brokendomain </dev/null 2>&1";
open(nffd, "$nfcmd|");
while (<nffd>) {
chop;
print "$_\r\n";
}
print "\r\n";
close(nffd);
}
|