1. Added msg command to allow the changing of To, From, Subject and so on the
[spider.git] / perl / DXMsg.pm
index 2abcb55f95b2967bf21f4d26d241c7f3c5530992..3262a44df98f7c13af304c97c8ece3d735154b0c 100644 (file)
@@ -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}));
 }