X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fping.pl;h=89f43a0bb86144eb90284d0e1ed087f7dd0b221a;hb=5094a0b55d903d344277adf9d26b5af8e37247d8;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hpb=8a0f0fc3c54895f0ce8b0207e42af1f693d757f6;p=spider.git diff --git a/cmd/ping.pl b/cmd/ping.pl index e69de29b..89f43a0b 100644 --- a/cmd/ping.pl +++ b/cmd/ping.pl @@ -0,0 +1,48 @@ +# +# ping command +# +# Copyright (c) 1998 Dirk Koopman G1TLH +# +# +# + +my $counter; + +sub init +{ + $counter = 0; +} + +sub handle +{ + my $self = shift; + my $line = uc shift; # only one callsign allowed + my ($call) = $line =~ /^\s*(\S+)/; + +# $DB::single = 1; + + if ($self->{priv} < 1) { + if ($call) { + return (1, "PONG $call"); + } + ++$counter, return (1, "PONG $counter") + } + + # is there a call? + return (1, $self->msg('e6')) if !$call; + + # is it me? + return (1, $self->msg('pinge1')) if $call eq $main::mycall; + + # can we see it? Is it a node? + my $noderef = Route::Node::get($call); + + return (1, $self->msg('e7', $call)) unless $noderef; + + # ping it + DXXml::Ping::add($self, $call); + + return (1, $self->msg('pingo', $call)); +} + +