Comment #29 on issue 12711 by [email protected]: Unable to view sites  
for which both IPv6 and IPv4 addresses are published when only IPv4 is  
available, "Page not found - connection failure"
http://code.google.com/p/chromium/issues/detail?id=12711

The following revision refers to this bug:
     http://src.chromium.org/viewvc/chrome?view=rev&revision=26051

------------------------------------------------------------------------
r26051 | [email protected] | 2009-09-11 16:53:14 -0700 (Fri, 11 Sep 2009) |  
27 lines
Changed paths:
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/net/base/host_resolver_proc.cc?r1=26051&r2=26050
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/net/socket/tcp_client_socket_libevent.cc?r1=26051&r2=26050

Non-blocking connect() attempts may fail synchronously in some cases.  When
this occurs, connect() should be retried with another address if possible  
and
appropriate.

On Mac OS X 10.6 ("Snow Leopard"), getaddrinfo() returns IPv6 addresses even
when inappropriate due to the use of AI_ADDRCONFIG.  connect() fails
immediately when trying to connect to an IPv6 address from a system that  
only
has IPv4 connectivity.  The existing net::TCPClientSocketLibevent is not
prepared to deal with immediate connect() failures, so it fails without
trying additional addresses.  Some sites, such as python.org, publish both
IPv4 and IPv6 addresses.  On Snow Leopard, name resolution always returns
the IPv6 addresses first, rendering such sites impossible to connect to  
unless
reachable by IPv6.

This change restores the previous behavior of setting AI_ADDRCONFIG when
calling getaddrinfo() on Mac OS X.  AI_ADDRCONFIG was removed in a previous
attempt to fix this bug.  AI_ADDRCONFIG is now documented in Snow Leopard.
The associated comment, written for Mac OS X 10.5 ("Leopard"), is no longer
correct.  In most cases, the presence or absence of this flag seems to have  
no
impact on the system resolver's behavior, but I believe that its presence is
correct per the documentation.  A separate bug will be filed with Apple.

BUG=12711
TEST=http://python.org/ on Snow Leopard should load on a machine where only
      IPv4 is available; it (and all other sites) should continue to function
      properly on Leopard
Review URL: http://codereview.chromium.org/196094
------------------------------------------------------------------------


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to