my $user = $self->{user};
# log it
- my $host = $self->{conn}->{peerhost} || "unknown";
+ my $host = $self->{conn}->{peerhost};
+ $host ||= "AGW Port #$self->{conn}->{agwport}" if exists $self->{conn}->{agwport};
+ $host ||= "unknown";
+
Log('DXProt', "$call connected from $host");
# remember type of connection
# this goes after the input filtering, but before the add
# 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
- if (Spot::dup(@spot[0..4])) {
+ if (Spot::dup(@spot[0..4,5])) {
dbg("PCPROT: Duplicate Spot ignored\n") if isdbg('chanerr');
return;
}
dbg("PCPROT: WWV Date ($_[1] $_[2]) out of range") if isdbg('chanerr');
return;
}
+
+ # global wwv filtering on INPUT
+ my @dxcc = ((Prefix::cty_data($_[6]))[0..2], (Prefix::cty_data($_[7]))[0..2]);
+ if ($self->{inwwvfilter}) {
+ my ($filter, $hops) = $self->{inwwvfilter}->it(@_[7,8], $origin, @dxcc);
+ unless ($filter) {
+ dbg("PCPROT: Rejected by input spot filter") if isdbg('chanerr');
+ return;
+ }
+ }
if (Geomag::dup($d,$sfi,$k,$i,$_[6])) {
dbg("PCPROT: Dup WWV Spot ignored\n") if isdbg('chanerr');
return;
my ($filter, $hops);
if ($self->{wwvfilter}) {
- ($filter, $hops) = $self->{wwvfilter}->it(@_);
+ ($filter, $hops) = $self->{wwvfilter}->it(@_[7..$#_]);
return unless $filter;
}
send_prot_line($self, $filter, $hops, $isolate, $line)