File: g2netfind

package info (click to toggle)
gopher 2.3-2
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 2,364 kB
  • ctags: 2,030
  • sloc: ansic: 22,451; perl: 1,950; sh: 1,510; makefile: 397; asm: 1
file content (74 lines) | stat: -rw-r--r-- 1,688 bytes parent folder | download | duplicates (3)
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);
}