tiddle a bit with PC[61]1 spot validation
authorDirk Koopman <djk@tobit.co.uk>
Sat, 21 Sep 2019 14:39:22 +0000 (15:39 +0100)
committerDirk Koopman <djk@tobit.co.uk>
Sat, 21 Sep 2019 14:39:22 +0000 (15:39 +0100)
with a view toward only allowing known users spots through.

perl/DXProtHandle.pm

index d4ce6bf6e4563b4512ed52f2073cae9d2ddc28ac..e108666c9283adad0cf6e4106369a3970ed53da5 100644 (file)
@@ -158,17 +158,21 @@ sub handle_11
 
        # if this is a 'nodx' node then ignore it
        if ($badnode->in($pc->[7])) {
-               dbg("PCPROT: Bad Node, dropped") if isdbg('chanerr');
+               dbg("PCPROT: Bad Node $pc->[7], dropped") if isdbg('chanerr');
                return;
        }
 
-       # if this is a 'bad spotter' user then ignore it
+       # if this is a 'bad spotter' or an unknown user then ignore it. BUT if it's got an IP address then allow it through
        my $nossid = $pc->[6];
        $nossid =~ s/-\d+$//;
        if ($badspotter->in($nossid)) {
-               dbg("PCPROT: Bad Spotter, dropped") if isdbg('chanerr');
+               dbg("PCPROT: Bad Spotter $pc->[6], dropped") if isdbg('chanerr');
                return;
        }
+#      unless (is_ipaddr($pc->[8]) || DXUser::get_current($pc->[6])) {
+#              dbg("PCPROT: Unknown Spotter $pc->[6], dropped") if isdbg('chanerr');
+#              return;
+#      }
 
        # convert the date to a unix date
        my $d = cltounix($pc->[3], $pc->[4]);