Take off rspf checks on announces and spots and allow the dupe filters
authorminima <minima>
Sun, 2 Dec 2001 20:28:20 +0000 (20:28 +0000)
committerminima <minima>
Sun, 2 Dec 2001 20:28:20 +0000 (20:28 +0000)
to take the strain.
Move the dupe checking AFTER the input filtering for announces and spots.

Changes
perl/DXProt.pm

diff --git a/Changes b/Changes
index f15cb3c1ed99d125f3bcb6e57860d154c94a87d0..23f9bbc56196e6d7d1f9eb4b95d692e893d4739c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,9 @@
 unread.
 2. stop remote passive nodes (those with version numbers of 0000) from
 poluting the nodes table. Maybe this will make things slightly more stable.
 unread.
 2. stop remote passive nodes (those with version numbers of 0000) from
 poluting the nodes table. Maybe this will make things slightly more stable.
+3. Take off rspf checks on announces and spots and allow the dupe filters
+to take the strain.
+4. Move the dupe checking AFTER the input filtering for announces and spots.
 26Nov01=======================================================================
 1. Make changes to the installation manual to show making the client before
 actually trying to use it!  Thanks to oz1lqh.  Also add a line for SuSE
 26Nov01=======================================================================
 1. Make changes to the installation manual to show making the client before
 actually trying to use it!  Thanks to oz1lqh.  Also add a line for SuSE
index 7a39bb3ac81a1e2d2ed0eb161fdd7c4c861f79c1..bd34278f6485310d5c928f410978c43813ae6f17 100644 (file)
@@ -396,7 +396,7 @@ sub normal
                        }
                        
                        # rsfp check
                        }
                        
                        # rsfp check
-                       return if $rspfcheck and !$self->rspfcheck(1, $field[7], $field[6]);
+#                      return if $rspfcheck and !$self->rspfcheck(1, $field[7], $field[6]);
 
                        # if this is a 'nodx' node then ignore it
                        if ($badnode->in($field[7])) {
 
                        # if this is a 'nodx' node then ignore it
                        if ($badnode->in($field[7])) {
@@ -431,10 +431,6 @@ sub normal
                                dbg("PCPROT: useless 'BUSTED' spot") if isdbg('chanerr');
                                return;
                        }
                                dbg("PCPROT: useless 'BUSTED' spot") if isdbg('chanerr');
                                return;
                        }
-                       if (Spot::dup($field[1], $field[2], $d, $field[5])) {
-                               dbg("PCPROT: Duplicate Spot ignored\n") if isdbg('chanerr');
-                               return;
-                       }
                        if ($censorpc) {
                                my @bad;
                                if (@bad = BadWords::check($field[5])) {
                        if ($censorpc) {
                                my @bad;
                                if (@bad = BadWords::check($field[5])) {
@@ -453,6 +449,11 @@ sub normal
                                }
                        }
                        
                                }
                        }
                        
+                       if (Spot::dup($field[1], $field[2], $d, $field[5])) {
+                               dbg("PCPROT: Duplicate Spot ignored\n") if isdbg('chanerr');
+                               return;
+                       }
+
                        # add it 
                        Spot::add(@spot);
 
                        # add it 
                        Spot::add(@spot);
 
@@ -528,14 +529,10 @@ sub normal
                
                if ($pcno == 12) {              # announces
 
                
                if ($pcno == 12) {              # announces
 
-                       return if $rspfcheck and !$self->rspfcheck(1, $field[5], $field[1]);
+#                      return if $rspfcheck and !$self->rspfcheck(1, $field[5], $field[1]);
 
                        # announce duplicate checking
                        $field[3] =~ s/^\s+//;  # remove leading blanks
 
                        # announce duplicate checking
                        $field[3] =~ s/^\s+//;  # remove leading blanks
-                       if (AnnTalk::dup($field[1], $field[2], $field[3])) {
-                               dbg("PCPROT: Duplicate Announce ignored") if isdbg('chanerr');
-                               return;
-                       }
 
                        if ($censorpc) {
                                my @bad;
 
                        if ($censorpc) {
                                my @bad;
@@ -1451,6 +1448,11 @@ sub send_announce
                }
        }
 
                }
        }
 
+       if (AnnTalk::dup($_[0], $_[1], $_[2])) {
+               dbg("PCPROT: Duplicate Announce ignored") if isdbg('chanerr');
+               return;
+       }
+
        Log('ann', $target, $_[0], $text);
 
        # send it if it isn't the except list and isn't isolated and still has a hop count
        Log('ann', $target, $_[0], $text);
 
        # send it if it isn't the except list and isn't isolated and still has a hop count