Now (apparent) apparently working backportdxprot
authorDirk Koopman <djk@tobit.co.uk>
Sat, 11 Dec 2021 23:32:13 +0000 (23:32 +0000)
committerDirk Koopman <djk@tobit.co.uk>
Sat, 11 Dec 2021 23:32:13 +0000 (23:32 +0000)
cmd/dx.pl
perl/DXCommandmode.pm
perl/DXProtHandle.pm

index 27099f243a2a5f9dba15ec8034da0f3f1d6ca296..17fd97b799d4fd348e63962ff182c402d3703e39 100644 (file)
--- a/cmd/dx.pl
+++ b/cmd/dx.pl
@@ -83,7 +83,7 @@ if ($DXProt::badspotter->in($spotternoid)) {
        $localonly++; 
 }
 
-dbg "spotter $spotternoid/$callnoid\n";
+#dbg "spotter $spotternoid/$callnoid\n";
 
 if (($spotted =~ /$spotternoid/ || $spotted =~ /$callnoid/) && $freq < $Spot::minselfspotqrg) {
        LogDbg('DXCommand', "$spotternoid/$callnoid trying to self spot below ${Spot::minselfspotqrg}KHz ($oline) from $addr, not passed on to cluster");
@@ -168,6 +168,7 @@ if ($freq =~ /^69/ || $localonly) {
        #}
        
        $self->dx_spot(undef, undef, @spot);
+       dbg "$self->{call} islugged until " . atime($self->{isslugged}) if $self->{isslugged} && isdbg('sh/dx');
        if ($self->isslugged) {
                push @{$self->{sluggedpcs}}, [61, $spot, \@spot];
        } else {
index f36f266f4a4cbcbe8abe8bf7ed581a1b37d3dcbf..cf745c4fd6926ca9911d6fb74f3c257c5e7b3bd6 100644 (file)
@@ -92,6 +92,7 @@ sub start
        my $host = $self->{conn}->peerhost;
        $host ||= "AGW Port #$self->{conn}->{agwport}" if exists $self->{conn}->{agwport};
        $host ||= "unknown";
+       $self->{hostname} = $host;
        LogDbg('DXCommand', "$call connected from $host");
 
        $self->{name} = $name ? $name : $call;
@@ -118,6 +119,7 @@ sub start
        $self->{ann_talk} = $user->wantann_talk;
        $self->{here} = 1;
        $self->{prompt} = $user->prompt if $user->prompt;
+       $self->{lastmsgpoll} = 0;
 
        # sort out new dx spot stuff
        $user->wantdxcq(0) unless defined $user->{wantdxcq};
@@ -212,7 +214,7 @@ sub start
                }
        }
 
-       $self->lastmsgpoll($main::systime);
+       $self->{lastmsgpoll} = $main::systime;
        $self->prompt;
 }
 
@@ -563,12 +565,12 @@ sub process
        my $dxchan;
        
        foreach $dxchan (@dxchan) {
-               next if $dxchan->is_user;  
+               next unless $dxchan->is_user;  
        
                # send a outstanding message prompt if required
                if ($t >= $dxchan->lastmsgpoll + $msgpolltime) {
                        $dxchan->send($dxchan->msg('m9')) if DXMsg::for_me($dxchan->call);
-                       $dxchan->lastmsgpoll($t);
+                       $dxchan->{lastmsgpoll} = $t;
                }
                
                # send a prompt if no activity out on this channel
index c4344339f16131424117c3e1d36f6f6f9fbe5af4..8681134411b898a0c68baf0449b9d6f137eab0d8 100644 (file)
@@ -49,8 +49,8 @@ use vars qw($pc11_max_age $pc23_max_age $last_pc50 $eph_restime $eph_info_restim
 
 $pc9x_dupe_age = 60;                   # catch loops of circular (usually) D records
 $pc10_dupe_age = 45;                   # just something to catch duplicate PC10->PC93 conversions
-$pc92_slug_changes = 60*1;             # slug any changes going outward for this long
-$last_pc92_slug = 0;                   # the last time we sent out any delayed add or del PC92s
+$pc92_slug_changes = 60*2;             # slug any changes going outward for this long
+$last_pc92_slug = time;                        # the last time we sent out any delayed add or del PC92s
 $pc9x_time_tolerance = 15*60;  # the time on a pc9x is allowed to be out by this amount
 $pc9x_past_age = (122*60)+             # maximum age in the past of a px9x (a config record might be the only
 $pc9x_time_tolerance;           # thing a node might send - once an hour and we allow an extra hour for luck)