X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fdx.pl;h=3fd00e6bb1bce1a4e56169f231d3a378095f2331;hb=refs%2Fheads%2Fnewdisc;hp=1836f1fe979d7f5529c827d64c9910aec95911fb;hpb=c3505bcfc922cd712bad2c20b3479cf8d1dc54fe;p=spider.git diff --git a/cmd/dx.pl b/cmd/dx.pl index 1836f1fe..3fd00e6b 100644 --- a/cmd/dx.pl +++ b/cmd/dx.pl @@ -120,10 +120,19 @@ 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); -my @spot = Spot::prepare($freq, $spotted, $t, $line, $spotter, $main::mycall); +my @spot = Spot::prepare($freq, $spotted, $t, $line, $spotter, $main::mycall, $ipaddr); if ($freq =~ /^69/ || $localonly) { @@ -140,7 +149,11 @@ if ($freq =~ /^69/ || $localonly) { Spot::add(@spot); # send orf to the users - DXProt::send_dx_spot($self, DXProt::pc11($spotter, $freq, $spotted, $line), @spot); + if ($ipaddr) { + DXProt::send_dx_spot($self, DXProt::pc61($spotter, $freq, $spotted, $line, $ipaddr), @spot); + } else { + DXProt::send_dx_spot($self, DXProt::pc11($spotter, $freq, $spotted, $line), @spot); + } } }