From: minima Date: Thu, 13 Sep 2001 23:15:51 +0000 (+0000) Subject: fix intermittant bulletin mail forwarding? X-Git-Tag: R_1_48~21 X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=commitdiff_plain;h=f4f8550d98c41dc69643c701a442016777561902;p=spider.git fix intermittant bulletin mail forwarding? --- diff --git a/Changes b/Changes index d57dc730..cc0bae52 100644 --- a/Changes +++ b/Changes @@ -10,6 +10,7 @@ one in the announce. 5. Change the badwords interface to be the same as baddx, badspotter et al. added set/badword, unset/badword and show/badword. This routine will auto convert (and delete afterwards) the old badwords file. +6. fix intermittant bullitin mail forwarding? 11Sep01======================================================================= 1. added IP address logging of connections 10Sep01======================================================================= diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index b4470f66..5f9ebc32 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -587,7 +587,6 @@ sub send_tranche sub queue_msg { my $sort = shift; - my $call = shift; my $ref; my $clref; @@ -641,23 +640,23 @@ sub queue_msg 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 + $ref->start_msg($dxchan) if !get_busy($call) && $dxchan->state eq 'normal'; + } } # if all the available nodes are busy then stop