On Sun, Mar 23, 2008 at 05:39:03PM +0000, Darrell Blake wrote:
> Hmm. Ok, I'll give it a go.
>
> One thing I would meniton though is that in the first link you
> provided the poster states that everything works with 1.4 and it's 1.5
> where the bug exists.
>
> As I'm using 1.4 I would assume this isn't the problem... or am I
> missing something? =o)
The bug is present in 1.4.
See the make_connection function in
http://svn.collab.net/repos/svn/branches/1.4.x/subversion/libsvn_ra_svn/client.c
It just tries the first address given to it by APR.
After the call to apr_sockaddr_info_get, the sa variable may be
the head of a *list* to addres*ses*, not just a single address.
1.4 isn't walking the list.
Trunk is now walking the list, see the same function in
http://svn.collab.net/repos/svn/trunk/subversion/libsvn_ra_svn/client.c
However, the APR version Stefan Küng linked his 1.4 binaries with may
have no IPv6 support, in which case the bug isn't triggered.
Well, unless you want to connect to an IPv4 host with multiple DNS
A records (i.e. the hostname resolves to more than one IP).
In this case the bug is also triggered, since only the first IPv4 address
is tried. If the server isn't configured to accept connections on the
svnserve port on that IP, you can't connect. This is arguably a server
setup error though, so in practice the bug bites IPv4/IPv6 dual stack
servers connecting to themselves the most, because there 'localhost'
always resolves to two IPs, one for IPv4 and one for IPv6.
--
Stefan Sperling <stsp_at_elego.de> Software Developer
elego Software Solutions GmbH HRB 77719
Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96
13355 Berlin Fax: +49 30 23 45 86 95
http://www.elego.de Geschaeftsfuehrer: Olaf Wagner
- application/pgp-signature attachment: stored
Received on 2008-03-23 18:55:03 CET