# if this is a 'nodx' node then ignore it
if ($badnode->in($pc->[6], $preserve_node_ssid) || ($via && $badnode->in($via, $preserve_node_ssid))) {
dbg($line) if isdbg('nologchan');
+ $via ||= '*';
dbg("PCPROT: Bad Node $pc->[6]/$via, dropped");
return;
}
}
}
+ # 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;
+ }
+ }
+
+ # this goes after the input filtering, but before the actual add
+ # of the spot so that if it is input filtered, it isn't added to the dup
+ # list. This allows it to come in from a "legitimate" source
+ #
+ ## NOTE: this is where we FINALLY insert the spot into the DXDupe cache
+ ##
+ ## Jan 2025 - I have moved this here so that ONLY potential spots for
+ ## output to users are added to the duplicate cache
+ #
+ #
+
+ if (Spot::dup_add(0, @spot[0..4,7])) {
+ dbg("PCPROT: Duplicate Spot $self->{call}: $pc->[0] $key ignored\n") if isdbg('chanerr') || isdbg('dupespot') || isdbg('pc11');
+ return;
+ }
+
# here we verify the spotter is currently connected to the node it says it is one. AKA email sender verify
# but without the explicit probe to the node. We are relying on "historical" information, but it very likely
# to be current once we have seen the first PC92C from that node.
#
- # As for spots generated from non-PC92 nodes, we'll see after about do_pc9x3h20m...
+ # As for spots generated from non-PC92 nodes, we'll see...
#
if ($senderverify || isdbg('suspicious')) {
my $sv = $senderverify;
return unless $sv < 2;
}
}
-
- # 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;
- }
- }
-
- # this goes after the input filtering, but before the actual add
- # of the spot so that if it is input filtered, it isn't added to the dup
- # list. This allows it to come in from a "legitimate" source
- #
- ## NOTE: this is where we FINALLY insert the spot into the DXDupe cache
- ##
- ## Jan 2025 - I have moved this here so that ONLY potential spots for
- ## output to users are added to the duplicate cache
- #
- #
- if (Spot::dup_add(0, @spot[0..4,7])) {
- dbg("PCPROT: Duplicate Spot $self->{call}: $pc->[0] $key ignored\n") if isdbg('chanerr') || isdbg('dupespot') || isdbg('pc11');
- return;
- }
-
#
# Now finally: save the spot itself and send it on its merry way to the users
#