X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;h=8a35bbbf137c47369637619354823928618a9637;hb=61fe8f951eba89d430046d23bca9d65b30561578;hp=a6668a36db0daeef1752d86b796d4dcaf7d82e18;hpb=61a666ccf108505f0cec2e5c682fde019fc3a051;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index a6668a36..8a35bbbf 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -89,16 +89,6 @@ sub handle_10 return; } - # will we allow it at all? - if ($censorpc) { - my @bad; - if (@bad = BadWords::check($pc->[3])) { - my $bw = join ', ', @bad; - dbg($line) if isdbg('nologchan'); - dbg("PCPROT: Badwords: '$bw', dropped"); - return; - } - } # is it for me or one of mine? my ($from, $to, $via, $call, $dxchan); @@ -133,6 +123,17 @@ sub handle_10 return; } } + + # will we allow it at all? + if ($censorpc) { + my @bad; + if (@bad = BadWords::check($pc->[3])) { + my $bw = join ', ', @bad; + dbg($line) if isdbg('nologchan'); + dbg("PCPROT: Badwords: '$bw', dropped"); + return; + } + } # convert this to a PC93, coming from mycall with origin set and process it as such $main::me->normal(pc93($to, $from, $via, $pc->[3], $pc->[6])); @@ -200,7 +201,8 @@ sub handle_11 $ip =~ s/,/:/g; $ip =~ s/^::ffff://; if (DXCIDR::find($ip)) { - + dbg("DXProt: Spot ignore $pc->[8] in badip list") if dbg('badip'); + return; } } @@ -213,10 +215,8 @@ sub handle_11 } # is it 'baddx' - if ($baddx->in($pc->[2]) || (my @bad = BadWords::check($pc->[2]))) { - my $bw = join ', ', @bad; - $bw = qq{ '$bw'} if $bw; - dbg("PCPROT: Bad DX spot$bw, ignored"); + if ($baddx->in($pc->[2])) { + dbg("PCPROT: Bad DX spot '$pc->[2]', ignored"); return; } @@ -227,15 +227,6 @@ sub handle_11 dbg("PCPROT: useless 'BUSTED' spot") if isdbg('chanerr'); return; } - if ($censorpc) { - my @bad; - if (@bad = BadWords::check($pc->[5])) { - my $bw = join ', ', @bad; - dbg($line) if isdbg('nologchan'); - dbg("PCPROT: Badwords: '$bw', dropped"); - return; - } - } my @spot = Spot::prepare($pc->[1], $pc->[2], $d, $pc->[5], $nossid, $pc->[7], $pc->[8]); @@ -334,6 +325,18 @@ sub handle_11 } } +# we until here to do any censorship to try and reduce the amount of noise that repeated copies +# from other connected nodes cause + if ($censorpc) { + my @bad; + if (@bad = BadWords::check($pc->[5])) { + my $bw = join ', ', @bad; + dbg($line) if isdbg('nologchan'); + dbg("PCPROT: Badwords: '$bw', dropped"); + return; + } + } + # If is a new PC11, store it, releasing the one that is there (if any), # if a PC61 comes along then dump the stored PC11 # If there is a different PC11 stored, release that one and store this PC11 instead, @@ -448,16 +451,6 @@ sub handle_12 # announce duplicate checking $pc->[3] =~ s/^\s+//; # remove leading blanks - if ($censorpc) { - my @bad; - if (@bad = BadWords::check($pc->[3])) { - my $bw = join ', ', @bad; - dbg($line) if isdbg('nologchan'); - dbg("PCPROT: Badwords: '$bw', dropped"); - return; - } - } - # if this is a 'nodx' node then ignore it if ($badnode->in($pc->[5])) { dbg($line) if isdbg('nologchan'); @@ -481,6 +474,17 @@ sub handle_12 return; } + if ($censorpc) { + my @bad; + if (@bad = BadWords::check($pc->[3])) { + my $bw = join ', ', @bad; + dbg($line) if isdbg('nologchan'); + dbg("PCPROT: Badwords: '$bw', dropped"); + return; + } + } + + my $dxchan; if ((($dxchan = DXChannel::get($pc->[2])) && $dxchan->is_user) || $pc->[4] =~ /^[\#\w.]+$/){ @@ -2268,17 +2272,6 @@ sub handle_93 my $s = "ANNTALK: $from\@$onode$vs -> $to '$text' route: $origin"; dbg($s); } - - # will we allow it at all? - if ($censorpc) { - my @bad; - if (@bad = BadWords::check($text)) { - my $bw = join ', ', @bad; - dbg($line) if isdbg('nologchan'); - dbg("PCPROT: Badwords: '$bw', dropped"); - return; - } - } # if this is a 'bad spotter' user then ignore it my $nossid = $from; @@ -2295,6 +2288,17 @@ sub handle_93 return; } + # will we allow it at all? + if ($censorpc) { + my @bad; + if (@bad = BadWords::check($text)) { + my $bw = join ', ', @bad; + dbg($line) if isdbg('nologchan'); + dbg("PCPROT: Badwords: '$bw', dropped"); + return; + } + } + # if it is routeable then then treat it like a talk my $ref = Route::get($to); if ($ref) {