X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=3262a44df98f7c13af304c97c8ece3d735154b0c;hb=8aa1d223307c50d8bbaa0ed4ef915f8c7365bc6e;hp=2abcb55f95b2967bf21f4d26d241c7f3c5530992;hpb=4caf0d3cacae4ecb4995e7cedd725b953516792e;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index 2abcb55f..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; } @@ -346,6 +353,7 @@ sub process $ref->{stream} = $stream; $ref->{count} = 0; # no of lines between PC31s $ref->{file} = 1; + $ref->{lastt} = $main::systime; $work{"$f[2]$stream"} = $ref; # store in work $self->send(DXProt::pc30($f[2], $f[1], $stream)); # send ack @@ -580,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}; } @@ -648,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})); }