[PATCH] use ipv4 if the ipv6 address cant be reached
From: Olaf Hering <olh_at_suse.de>
Date: Wed, 23 Jan 2008 16:06:47 +0100
Fall back to ipv4 if the host has an ipv6 address,
https://bugzilla.novell.com/show_bug.cgi?id=193350
---
subversion/libsvn_ra_svn/client.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
--- a/subversion/libsvn_ra_svn/client.c
+++ b/subversion/libsvn_ra_svn/client.c
@@ -145,10 +145,30 @@ static svn_error_t *make_connection(cons
return svn_error_wrap_apr(status, _("Can't create socket"));
status = apr_socket_connect(*sock, sa);
+ if (!status)
+ goto out;
+ if (sa->family == APR_INET6) {
+ status = apr_sockaddr_info_get(&sa, hostname, APR_INET, port, 0, pool);
+ if (status)
+ return svn_error_createf(status, NULL, _("Unknown hostname '%s'"),
+ hostname);
+#ifdef MAX_SECS_TO_LINGER
+ /* ### old APR interface */
+ status = apr_socket_create(sock, sa->family, SOCK_STREAM, pool);
+#else
+ status = apr_socket_create(sock, sa->family, SOCK_STREAM, APR_PROTO_TCP,
+ pool);
+#endif
+ if (status)
+ return svn_error_wrap_apr(status, _("Can't create socket"));
+
+ status = apr_socket_connect(*sock, sa);
+ }
if (status)
return svn_error_wrap_apr(status, _("Can't connect to host '%s'"),
hostname);
+out:
return SVN_NO_ERROR;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-01-23 16:06:57 CET
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.