Subject: Re: pkg/12052: Mozilla 0.7 can't display or fetch web-pages
To: Mario Kemper <magick@bundy.lip.owl.de>
From: None <itojun@iijlab.net>
List: netbsd-bugs
Date: 01/28/2001 21:13:28
>The next problem was with my proxy. I have a local squid. When i used 
>localhost:3128 a the proxy i got this connection refused. After i changed it 
>to 127.0.0.1:3128 it worked.
>
>Maybe it's a problem with IPv6 enabled NetBSD without IPv6.
>When i telnet to my squid i get the following:
>
>magick@bundy:~>telnet localhost 3128
>Trying ::1...
>telnet: connect to address ::1: Connection refused
>Trying 127.0.0.1...
>Connected to localhost.
>
>Maybe the IPv6 try confuses Mozilla.

	this is because of Mozilla's internal coding mistake.
	if Mozilla is compiled with IPv6 support, it will do:
		hp = gethostbyname2(host, AF_INET6);
		if (!hp)
			hp = gethostbyname2(host, AF_INET);
	for host lookup.  It means:
	- if the destination host is IPv6 only, IPv6 addresses will be tried.
	- if the destination host is IPv4 only, IPv4 addresses will be tried.
	- if the destination host is IPv4/v6 dual stack, only IPv6 addresses
	  will be tried (Mozilla should try both!)

	now, in case of localhost:3128, since localhost is listed in /etc/hosts
	list as being dual stack host (::1 and 127.0.0.1), it falls into the
	3rd bullet.  since Mozilla tries ::1 port 3128 only, it cannot
	contact IPv4 squid waiting at 127.0.0.1 port 3128.

	someone needs to convince Mozilla guys to use getaddrinfo properly.

itojun