X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;fp=perl%2FDXProtHandle.pm;h=6dc13795deccd8ff99c2c8530e961536155baec9;hb=f18ba64dd93bbf7c47e6b5143bfc99af817888e8;hp=0c71e5900d96d3fb5ebd3a01360993d92be8ba05;hpb=a8231fd4a9b0626eaa5ec376a3fb0ee371854649;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 0c71e590..6dc13795 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -232,16 +232,18 @@ sub handle_11 my $ip = $spot[14] if exists $spot[14]; my $implied = ''; if ($ip) { - $user->ip($ip), $user->put if !$user->ip || $user->ip ne $ip; - $r->ip($ip) if $r && !$r->ip; + $ip =~ s/[\(\)\*]+//g; # strip these off :-) + $user->ip($spot[7], $ip); + $user->put; + $r->ip($spot[7], $ip) if $r; } else { - $ip ||= $r->ip if $r; - $ip ||= $user->ip; + $ip ||= $r->ip($spot[7]) if $r; + $ip ||= $user->ip($spot[7]); $implied = '*' if $ip; } if (isdbg('progress')) { - my $sip = $ip ? sprintf "($ip$implied)" : '' unless $ip =~ m|[\(\)\*]|; + my $sip = $ip ? sprintf "($ip$implied)" : ''; my $s = sprintf "SPOT: $spot[1] on $spot[0] \@ %s by $spot[4]$sip\@$spot[7]", cldatetime($spot[2]); $s .= " '$spot[3]'" if $spot[3]; dbg($s); @@ -1521,10 +1523,11 @@ sub _add_thingy $user->sort('U') unless $user->sort; } } - $ip ||= $user->ip; + $ip ||= $user->ip($ncall); if ($ip) { - $user->ip($ip); - $r->ip($ip); + $ip =~ s/^::ffff://; # remove ipv6 stuff from the front of an ipv4 address + $user->ip($ncall, $ip); + $r->ip($ncall, $ip); my $s = "PC92A $call -> $ip on $ncall"; Log('DXProt', $s); dbg($s) if isdbg('routelow');