X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=3262a44df98f7c13af304c97c8ece3d735154b0c;hb=e4df86158dd5138a1fea25dd693b67fd9d78fb56;hp=94ee829850aec16bf1665fa34bbbff667bb6a0d2;hpb=f531b1f3cc4bb027b20aa17b714634de96f13e07;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index 94ee8298..3262a44d 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -44,7 +44,7 @@ $last_clean = 0; # last time we did a clean @forward = (); # msg forward table $timeout = 30*60; # forwarding timeout $waittime = 60*60; # time an aborted outgoing message waits before trying again -$queueinterval = 5*60; # run the queue every 5 minutes +$queueinterval = 2*60; # run the queue every 2 minutes $lastq = 0; @@ -186,6 +186,13 @@ sub process $busy{$f[2]} = $ref; # set interlock $self->send(DXProt::pc30($f[2], $f[1], $stream)); # send ack $ref->{lastt} = $main::systime; + + # look to see whether this is a non private message sent to a known callsign + my $uref = DXUser->get_current($ref->{to}); + if (iscallsign($ref->{to}) && !$ref->{private} && $uref && $uref->homenode) { + $ref->{private} = 1; + dbg('msg', "set bull to $ref->{to} to private"); + } last SWITCH; } @@ -581,7 +588,7 @@ sub queue_msg # ignore 'delayed' messages until their waiting time has expired if (exists $ref->{waitt}) { - next if $ref->{waitt} < $main::systime; + next if $ref->{waitt} > $main::systime; delete $ref->{waitt}; } @@ -649,6 +656,7 @@ sub start_msg $self->{fromnode} = $main::mycall; $busy{$self->{tonode}} = $self; $work{$self->{tonode}} = $self; + $self->{lastt} = $main::systime; $dxchan->send(DXProt::pc28($self->{tonode}, $self->{fromnode}, $self->{to}, $self->{from}, $self->{t}, $self->{private}, $self->{subject}, $self->{origin}, $self->{rrreq})); }