added ping and rcmd commands
[spider.git] / perl / client.pl
index 3227195747d5dcfd347cbd800bc40c957ebe71f3..b7bb5452f684becf01bc12273b1e89d37dd0ccef 100755 (executable)
@@ -52,7 +52,7 @@ sub cease
        if ($conn && $sendz) {
                $conn->send_now("Z$call|bye...\n");
        }
-       $stdout->flush;
+       $stdout->flush if $stdout;
        kill(15, $pid) if $pid;
        sleep(1);
        exit(0);        
@@ -221,7 +221,7 @@ sub dochat
        dbg('connect', "CHAT \"$expect\" -> \"$send\"");
     my $line;
        
-       #       alarm($timeout);
+       alarm($timeout);
        
     if ($expect) {
                if ($csort eq 'telnet') {
@@ -243,7 +243,7 @@ sub dochat
                        $sock->print("$send\n");
                } elsif ($csort eq 'ax25') {
                        local $\ = "\r";
-                       $wfh->print("$send\r");
+                       $wfh->print("$send");
                }
                dbg('connect', "sent \"$send\"");
        }
@@ -293,7 +293,16 @@ $call = uc $myalias if !$call;
 $connsort = lc shift @ARGV;
 $connsort = 'local' if !$connsort;
 
-$mode = ($connsort =~ /^ax/o) ? 1 : 2;
+#
+# strip off any SSID if it is a telnet connection 
+#
+# SSID's are a problem, basically we don't allow them EXCEPT for the special case
+# of local users. i.e. you can have a cluster call with an SSID and a usercall with
+# an SSID and they are different to the system to those without SSIDs
+#
+
+$call =~ s/-\d+$//o if $mode eq 'telnet';
+$mode = ($connsort eq 'ax25') ? 1 : 2;
 setmode();
 
 if ($call eq $mycall) {
@@ -395,3 +404,4 @@ for (;;) {
        }
 }
 
+exit(0);