Handle case where local socket is IPv4 and remote is v6
authorJamie Cameron <jcameron@webmin.com>
Fri, 13 May 2011 15:29:05 +0000 (08:29 -0700)
committerJamie Cameron <jcameron@webmin.com>
Fri, 13 May 2011 15:29:05 +0000 (08:29 -0700)
miniserv.pl

index 98c7aff..3c909c3 100755 (executable)
@@ -430,8 +430,9 @@ if ($config{'inetd'}) {
        $acptaddr || exit;
 
        # Work out remote and local IPs
-       (undef, $peera, undef) = &get_address_ip($acptaddr, $ipv6);
+       $ipv6 = length($acptaddr) > 16;
        (undef, $locala) = &get_socket_ip(SOCK, $ipv6);
+       (undef, $peera, undef) = &get_address_ip($acptaddr, $ipv6);
 
        print DEBUG "main: Starting handle_request loop pid=$$\n";
        while(&handle_request($peera, $locala, $ipv6)) { }