remove any leading ::ffff: on ipv4 addresses
[spider.git] / perl / Msg.pm
index 61974b962160173f02e671c7986fe1ab6dbf148c..f3642d59b79dfabd3bbe0b7f00e7d514421981ba 100644 (file)
@@ -256,7 +256,7 @@ sub disconnect
        my $dbg = isdbg('connll');
        my ($pkg, $fn, $line) = caller if $dbg;
 
-       if ($count > 2) {
+       if ($count >= 2) {
                dbg((ref $conn) . "::disconnect on call $conn->{call} attempt $conn->{disconnecting} called from ${pkg}::${fn} line $line FORCING CLOSE ") if $dbg;
                _close_it($conn);
                return;
@@ -498,6 +498,7 @@ sub new_client {
        $sock->timeout(0);
        $sock->start;
        $conn->{peerhost} = $handle->peerhost;
+       $conn->{peerhost} =~ s|^::ffff:||; # chop off leading pseudo IPV6 stuff on dual stack listeners
        $conn->{peerport} = $handle->peerport;
        dbg((ref $conn) . " accept $conn->{cnum} from $conn->{peerhost}:$conn->{peerport}") if isdbg('connll');
        my ($rproc, $eproc) = &{$server_conn->{rproc}} ($conn, $conn->{peerhost}, $conn->{peerport});