1. added grepdbg program (so you can search your debug files and get times
[spider.git] / perl / DXProt.pm
index d9abfad6f3a4d6f17c1ae236a61ed9557aa2687b..16b67023a7f09d579ff8bfd01ac2246f3188f74a 100644 (file)
@@ -31,7 +31,7 @@ use strict;
 use vars qw($me $pc11_max_age $pc11_dup_age $pc23_dup_age 
                        %spotdup %wwvdup $last_hour %pings %rcmds 
                        %nodehops @baddx $baddxfn $pc12_dup_age
-                       %anndup);
+                       %anndup $allowzero);
 
 $me = undef;                                   # the channel id for this cluster
 $pc11_max_age = 1*3600;                        # the maximum age for an incoming 'real-time' pc11
@@ -385,11 +385,13 @@ sub normal
                                my $call = uc $field[$i+1];
                                my $confmode = $field[$i+2];
                                my $ver = $field[$i+3];
+
+                               $ver = 5400 if !$ver && $allowzero;
                                
                                # now check the call over
                                my $node = DXCluster->get_exact($call);
                                if ($node) {
-                                       my $dxchan;
+                                       my $dxchan;
                                        if (($dxchan = DXChannel->get($call)) && $dxchan != $self) {
                                                dbg('chan', "LOOP: $call connected locally");
                                        }
@@ -661,6 +663,7 @@ sub normal
                if ($pcno == 50) {              # keep alive/user list
                        my $node = DXCluster->get_exact($field[1]);
                        if ($node) {
+                               return unless $node->isa('DXNode');
                                return unless $node->dxchan == $self;
                                $node->update_users($field[2]);
                        }