From 5f18e6a46558e9b1e4eeb2227dcfac6917b629fe Mon Sep 17 00:00:00 2001 From: Dirk Koopman Date: Sat, 11 Dec 2021 23:32:13 +0000 Subject: [PATCH] Now (apparent) apparently working --- cmd/dx.pl | 3 ++- perl/DXCommandmode.pm | 8 +++++--- perl/DXProtHandle.pm | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmd/dx.pl b/cmd/dx.pl index 27099f24..17fd97b7 100644 --- 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 { diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index f36f266f..cf745c4f 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -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 diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index c4344339..86811344 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -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) -- 2.43.0