X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;h=54ae90e59d57a0cf8c3816298ac8923801d4bb05;hb=6311e8b178d0aeee984865fbd0446885c85b2f53;hp=2b0a491ba6d983eaffc08d81de5a3f1c949866f1;hpb=727a4af5991d69cca9f80fdab123ead06c3d6492;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 2b0a491b..54ae90e5 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -93,7 +93,8 @@ sub handle_10 if ($censorpc) { my @bad; if (@bad = BadWords::check($pc->[3])) { - dbg("PCPROT: Bad words: @bad, dropped") if isdbg('chanerr'); + my $bw = join ', ', @bad; + dbg("PCPROT: Bad words: '$bw', dropped"); return; } } @@ -205,8 +206,10 @@ sub handle_11 } # is it 'baddx' - if ($baddx->in($pc->[2]) || BadWords::check($pc->[2])) { - dbg("PCPROT: Bad DX spot, ignored") if isdbg('chanerr'); + 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 isdbg('chanerr'); return; } @@ -220,7 +223,8 @@ sub handle_11 if ($censorpc) { my @bad; if (@bad = BadWords::check($pc->[5])) { - dbg("PCPROT: Bad words: @bad, dropped") if isdbg('chanerr'); + my $bw = join ', ', @bad; + dbg("PCPROT: Bad words: '$bw', dropped"); return; } } @@ -439,7 +443,8 @@ sub handle_12 if ($censorpc) { my @bad; if (@bad = BadWords::check($pc->[3])) { - dbg("PCPROT: Bad words: @bad, dropped") if isdbg('chanerr'); + my $bw = join ', ', @bad; + dbg("PCPROT: Bad words: '$bw', dropped"); return; } } @@ -1578,13 +1583,16 @@ sub _decode_pc92_call $version = 0; } $version =~ s/\D//g; + $version = 0 unless $version && $version =~ /^[0-9]+$/; $build =~ s/^0\.//; $build =~ s/\D//g; + $build = 0 unless $build && $build =~ /^[0-9]+$/; if ($ip) { $ip =~ s/,/:/g; $ip =~ s/^::ffff://i; + $ip = '' unless is_ipaddr($ip); } - dbg("$icall = '" . join("', '", $call, $is_node, $is_extnode, $here, $version, $build, $ip) . "'") if isdbg('pc92'); + dbg("'$icall' = '" . join("', '", $call, $is_node, $is_extnode, $here, $version, $build, $ip) . "'") if isdbg('pc92'); return ($call, $is_node, $is_extnode, $here, $version+0, $build+0, $ip); } @@ -1666,9 +1674,9 @@ sub _add_thingy $user->sort('S'); dbg("PCProt::_add_thingy node $call v: $version b: $build sort ($old) updated to " . $user->sort); } elsif ($user->is_spider && ($version < 3000 || ($version > 4000 && $version < 5455))) { - unless ($version == 5000 && $build == 0) { + unless ($version > 0 && $build == 0) { $user->sort('A'); - $build //= 0; + $build ||= 0; dbg("PCProt::_add_thingy node $call v: $version b: $build sort ($old) downgraded to " . $user->sort); } } @@ -2254,7 +2262,8 @@ sub handle_93 if ($censorpc) { my @bad; if (@bad = BadWords::check($text)) { - dbg("PCPROT: Bad words: @bad, dropped") if isdbg('chanerr'); + my $bw = join ', ', @bad; + dbg("PCPROT: Bad words: '$bw', dropped"); return; } }