fix missing IP addresses on spots and PC92 A records
[spider.git] / perl / RBN.pm
index 9d17d33bddfd597bf6318f0e1b2ec263d2f0cf8d..e844b6d6bcba0c5597a948b2c5fc765520cd45d2 100644 (file)
@@ -172,9 +172,9 @@ sub start
        my $name = $user->{name};
                
        # log it
-       my $host = $self->{conn}->peerhost;
-       $host ||= "unknown";
-       $self->{hostname} = $host;
+       unless ($self->{hostname}) {
+               $self->{hostname} = $self->{conn}->peerhost || 'unknown';
+       }
 
        $self->{name} = $name ? $name : $call;
        $self->state('prompt');         # a bit of room for further expansion, passwords etc
@@ -259,6 +259,14 @@ sub normal
                return;
        }
 
+       # is it 'baddx'
+       if ($DXProt::baddx->in($call)) {
+               dbg("RBN: Bad DX spot '$call', ignored");
+               dbg($line) if isdbg('nologchan');
+               return;
+       }
+
+       
        # remove all extraneous crap from the origin - just leave the base callsign
        my $norigin = basecall($origin);
        unless ($norigin) {
@@ -980,7 +988,7 @@ sub del_seeme
        my $call = shift;
        my $base = basecall($call);
        my $ref = $seeme{$base};
-       return unless @$ref;
+       return unless $ref && @$ref;
        
        @$ref =  grep {$_ ne $call} @$ref;
        if (@$ref) {