From: minima <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://dxspider.org/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