X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRBN.pm;h=ec9f39467942ef2014557938a393f44482068164;hb=eb38b7e683f110d295e49b2d1aa75cb79f56fa41;hp=0cf5c4149c4940c979280ca28eea537a89be7477;hpb=4d8e254ea4c77a348c96c24fdbc265590c75fd5c;p=spider.git diff --git a/perl/RBN.pm b/perl/RBN.pm index 0cf5c414..ec9f3946 100644 --- a/perl/RBN.pm +++ b/perl/RBN.pm @@ -252,7 +252,12 @@ sub normal } # remove all extraneous crap from the origin - just leave the base callsign - $origin =~ s|^(?:[\w\d]+/)?([\w\d]+).*$|$1|; + my $norigin = basecall($origin); + unless ($norigin) { + dbg("RBN: ERROR '$origin' is an invalid callsign, dumped"); + return; + } + $origin = $norigin; # is this callsign in badspotter list? if ($DXProt::badspotter->in($origin) || $DXProt::badnode->in($origin)) { @@ -261,7 +266,7 @@ sub normal } # is the qrg valid - unless ($qrg =~ /^\d+\.\d{1,2}$/) { + unless ($qrg =~ /^\d+\.\d{1,3}$/) { dbg("RBN: ERROR qrg $qrg from $origin invalid, dumped"); return; } @@ -535,8 +540,9 @@ sub dx_spot unless ($user->qra && is_qra($user->qra)) { $user->qra($qra); dbg("RBN: update qra on $saver->[SCall] to $qra"); - $user->put; } + # update lastseen if nothing else + $user->put; } } }