From: Dirk Koopman Date: Wed, 17 Nov 2021 22:26:00 +0000 (+0000) Subject: fix self spotting by proxy (using by command) X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?p=spider.git;a=commitdiff_plain;h=4e91a71498653a4033c42440b225245387d7f5da fix self spotting by proxy (using by command) Add ipaddr to error message --- diff --git a/cmd/dx.pl b/cmd/dx.pl index 0a790a93..919a34c0 100644 --- a/cmd/dx.pl +++ b/cmd/dx.pl @@ -55,6 +55,16 @@ if (is_freq($f[1]) && $f[0] =~ m{^[\w\d]+(?:/[\w\d]+){0,2}$}) { return (1, $self->msg('dx3')); } + +my $ipaddr; +my $addr = $self->hostname; + +if ($self->conn && $self->conn->peerhost) { + $ipaddr = $addr unless !is_ipaddr($addr) || $addr =~ /^127\./ || $addr =~ /^::[0-9a-f]+$/; +} elsif ($self->inscript) { + $ipaddr = "script"; +} + # check some other things # remove ssid from calls my $spotternoid = basecall($spotter); @@ -66,14 +76,14 @@ if ($DXProt::baddx->in($spotted)) { $localonly++; } if ($DXProt::badspotter->in($spotternoid)) { - LogDbg('DXCommand', "badspotter $spotternoid as $spotter ($oline)"); + LogDbg('DXCommand', "badspotter $spotternoid as $spotter ($oline) from $addr"); $localonly++; } dbg "spotter $spotternoid/$callnoid\n"; if (($spotted =~ /$spotternoid/ || $spotted =~ /$callnoid/) && $freq < $Spot::minselfspotqrg) { - LogDbg('DXCommand', "$spotternoid/$callnoid trying to self spot below ${Spot::minselfspotqrg}KHz ($oline), not passed on to cluster"); + LogDbg('DXCommand', "$spotternoid/$callnoid trying to self spot below ${Spot::minselfspotqrg}KHz ($oline) from $addr, not passed on to cluster"); $localonly++; } @@ -126,15 +136,6 @@ if ($spotted le ' ') { return (1, @out) unless $valid; -my $ipaddr; - -if ($self->conn && $self->conn->peerhost) { - my $addr = $self->hostname; - $ipaddr = $addr unless !is_ipaddr($addr) || $addr =~ /^127\./ || $addr =~ /^::[0-9a-f]+$/; -} elsif ($self->inscript) { - $ipaddr = "script"; -} - # Store it here (but only if it isn't baddx) my $t = (int ($main::systime/60)) * 60; return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, $t, $line, $spotter);