use Fcntl;
use strict;
+
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
use vars qw(%work @msg $msgdir %valid %busy $maxage $last_clean
@badmsg @swop $swopfn $badmsgfn $forwardfn @forward $timeout $waittime
$queueinterval $lastq $importfn $minchunk $maxchunk $bulltopriv);
sub queue_msg
{
my $sort = shift;
- my $call = shift;
my $ref;
my $clref;
dbg("Route: No dxchan for $ref->{to} " . ref($clref) ) if isdbg('msg');
}
}
- }
-
- # otherwise we are dealing with a bulletin or forwarded private message
- # compare the gotit list with
- # the nodelist up above, if there are sites that haven't got it yet
- # then start sending it - what happens when we get loops is anyone's
- # guess, use (to, from, time, subject) tuple?
- foreach $dxchan (@nodelist) {
- my $call = $dxchan->call;
- next unless $call;
- next if $call eq $main::mycall;
- next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}};
- next unless $ref->forward_it($call); # check the forwarding file
-
- # if we are here we have a node that doesn't have this message
- $ref->start_msg($dxchan) if !get_busy($call) && $dxchan->state eq 'normal';
- last;
+ } else {
+
+ # otherwise we are dealing with a bulletin or forwarded private message
+ # compare the gotit list with
+ # the nodelist up above, if there are sites that haven't got it yet
+ # then start sending it - what happens when we get loops is anyone's
+ # guess, use (to, from, time, subject) tuple?
+ foreach $dxchan (@nodelist) {
+ my $call = $dxchan->call;
+ next unless $call;
+ next if $call eq $main::mycall;
+ next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}};
+ next unless $ref->forward_it($call); # check the forwarding file
+
+ # if we are here we have a node that doesn't have this message
+ if (!get_busy($call) && $dxchan->state eq 'normal') {
+ $ref->start_msg($dxchan);
+ last;
+ }
+ }
}
# if all the available nodes are busy then stop