X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FExtMsg.pm;h=78daffe263483b32d53a405c154ee696adadac47;hb=21ee7b1845f8fc5ab10c6a33a058cfbd11d7a705;hp=ae0e218b25c8575a73b71efeb0d4ed2cffbd3a56;hpb=72568e838d146250a78fea19bd4bbafc760e6a49;p=spider.git diff --git a/perl/ExtMsg.pm b/perl/ExtMsg.pm index ae0e218b..78daffe2 100644 --- a/perl/ExtMsg.pm +++ b/perl/ExtMsg.pm @@ -60,6 +60,12 @@ sub send_raw Msg::set_event_handler ($sock, "write" => sub {$conn->_send(0)}); } +sub echo +{ + my $conn = shift; + $conn->{echo} = shift; +} + sub dequeue { my $conn = shift; @@ -95,7 +101,7 @@ sub dequeue &{$conn->{rproc}}($conn, "I$conn->{call}|$msg"); } elsif ($conn->{state} eq 'WL' ) { $msg = uc $msg; - if (is_callsign($msg)) { + if (is_callsign($msg) && $msg !~ m|/| ) { my $sort = $conn->{csort}; $sort = 'local' if $conn->{peerhost} eq "127.0.0.1"; $conn->to_connected($msg, 'A', $sort); @@ -160,6 +166,7 @@ sub new_client { $conn->_send_file("$main::data/issue"); $conn->send_raw("login: "); $conn->_dotimeout(60); + $conn->{echo} = 1; } else { &{$conn->{eproc}}() if $conn->{eproc}; $conn->disconnect();