Search
j0ke.net Open Build Service
>
Projects
>
devel
:
subversion
>
subversion
> subversion.fallback-to-ipv4.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File subversion.fallback-to-ipv4.patch of Package subversion (Revision 26)
Currently displaying revision
26
,
show latest
Fall back to ipv4 if the host has an ipv6 address, but doesnt respond to ipv6 right now. --- subversion/libsvn_ra_svn/client.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) Index: subversion-1.4.x/subversion/libsvn_ra_svn/client.c =================================================================== --- subversion-1.4.x.orig/subversion/libsvn_ra_svn/client.c +++ subversion-1.4.x/subversion/libsvn_ra_svn/client.c @@ -139,10 +139,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; }