X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=5bf0d1f935f367fe3dfdc110b3986706bc90a0be;hb=be587fd8dade028c10545ffff4be13b0a18f3f91;hp=a3150ceeb6d2f069e3fbc5d3d5ac194ad01955de;hpb=70d6fc010dd321598034d08907d3dfc98414cfca;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index a3150cee..5bf0d1f9 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -249,7 +249,10 @@ sub start 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 @@ -1231,6 +1234,16 @@ sub handle_23 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; @@ -1836,7 +1849,7 @@ sub wwv 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)