On Sat, Nov 2, 2013, at 10:55 AM, Mark Phippard wrote:
> I believe support for IPv6 in the SVN client is based solely on how the
> APR library was compiled. It has to have IPv6 support compiled in as it
> does the TCP connections etc.
It appears to be a problem with SVN's ability to name-resolve, not
whether it's IPv6 enabled.
(1) resolv.conf -> IPv4, packaged svn co @ URL-target
====> OK
(2) resolv.conf -> IPv6, packaged svn co @ URL-target
====> FAIL
(3) resolv.conf -> IPv4, built-from-src svn co @ URL-target
====> OK
(4) resolv.conf -> IPv6, built-from-src svn co @ URL-target
====> FAIL
(5) resolv.conf -> IPv4, packaged svn co @ IPv4-address-target
====> OK
(6) resolv.conf -> IPv6, packaged svn co @ IPv4-address-target
====> OK
(7) resolv.conf -> IPv4, built-from-src svn co @ IPv6-address-target
====> OK
(8) resolv.conf -> IPv6, built-from-src svn co @ IPv6-address-target
====> OK
I.e., SVN's name-resolution of URL-targets FAILs when resolv.conf points
to IPv6 nameserver IPs. NOT an issue of whether apr's IPv6-enabled.
Details:
Building a local, known-to-be-IPv6-enabled apr instance
cd /home/darx/SVN_TEST
wget http://download.nextag.com/apache/apr/apr-1.4.8.tar.gz
wget http://download.nextag.com/apache/apr/apr-util-1.5.2.tar.gz
tar zxvf apr-1.4.8.tar.gz
tar zxvf apr-util-1.5.2.tar.gz
cd apr-1.4.8
./configure \
--prefix=/home/darx/SVN_TEST/apr1 \
--libdir=/home/darx/SVN_TEST/apr1/lib64 \
--enable-ipv6
make -j4
make install
cd ../apr-util-1.5.2
./configure \
--prefix=/home/darx/SVN_TEST/apr1 \
--libdir=/home/darx/SVN_TEST/apr1/lib64 \
--with-apr=/home/darx/SVN_TEST/apr1/bin/apr-1-config
make -j4
make install
ls -al /home/darx/SVN_TEST/apr1/lib64/*.so
lrwxrwxrwx 1 root root 17 Nov 2 11:39
/home/darx/SVN_TEST/apr1/lib64/libapr-1.so ->
libapr-1.so.0.4.8*
lrwxrwxrwx 1 root root 21 Nov 2 11:40
/home/darx/SVN_TEST/apr1/lib64/libaprutil-1.so ->
libaprutil-1.so.0.5.2*
building svn against those libs
cd /home/darx/SVN_TEST
wget
http://psg.mtu.edu/pub/apache/subversion/subversion-1.8.4.tar.gz
tar zxvf subversion-1.8.4.tar.gz
cd subversion-1.8.4
LDFLAGS="-L/home/darx/SVN_TEST/apr1/lib64
-Wl,-rpath,/home/darx/SVN_TEST/apr1/lib64 -laprutil-1 -lapr-1"
LIBS="-laprutil-1 -lapr-1"
./configure \
--prefix=/home/darx/SVN_TEST/svn184 \
--libdir=/home/darx/SVN_TEST/svn184/lib64 \
--with-apr=/home/darx/SVN_TEST/apr1/bin/apr-1-config \
--with-apr-util=/home/darx/SVN_TEST/apr1/bin/apu-1-config \
--with-gnu-ld \
--with-serf
make -j4
make install
verify libapr* link
ldd /home/darx/SVN_TEST/svn184/bin/svn | grep apr
libaprutil-1.so.0 =>
/home/darx/SVN_TEST/apr1/lib64/libaprutil-1.so.0
(0x00007f5cdec92000)
libapr-1.so.0 =>
/home/darx/SVN_TEST/apr1/lib64/libapr-1.so.0
(0x00007f5cde83b000)
with resolvers set to IPv4
cat /etc/resolv.conf
nameserver 74.207.241.5
nameserver 74.207.242.5
options rotate
checking hosts
host svn.apache.org
svn.apache.org is an alias for svn.geo.apache.org.
svn.geo.apache.org has address 140.211.11.4
host 140.211.11.4
4.11.211.140.in-addr.arpa domain name pointer
eris.apache.org.
host eris.apache.org
eris.apache.org has address 140.211.11.4
dig A eris.apache.org +short
140.211.11.4
dig AAAA eris.apache.org +short
(empty)
no problems with resolver.
testing svn w/ipv6-enabled apr when resolvers are @IPv4
rm -rf ~/svn-test*
wget http://svn.apache.org/repos/asf/subversion/trunk -O
~/svn-test.LICENSE
...
2013-11-02 12:41:34 (117 MB/s) -
‘/root/svn-test.LICENSE’ saved [1295/1295]
/home/darx/SVN_TEST/svn184/bin/svn \
co http://svn.apache.org/repos/asf/subversion/trunk
~/svn-test
...
Checked out revision 1538258.
works.
with resolvers set to IPv6
cat /etc/resolv.conf
nameserver 2600:3c01::2
nameserver 2600:3c01::3
options rotate
checking hosts
host svn.apache.org
svn.apache.org is an alias for svn.geo.apache.org.
svn.geo.apache.org has address 140.211.11.4
host 140.211.11.4
4.11.211.140.in-addr.arpa domain name pointer
eris.apache.org.
host eris.apache.org
eris.apache.org has address 140.211.11.4
dig A eris.apache.org +short
140.211.11.4
dig AAAA eris.apache.org +short
(empty)
no problems with resolver.
testing svn w/ipv6-enabled apr when resolvers are @IPv6
rm -rf ~/svn-test*
wget http://svn.apache.org/repos/asf/subversion/trunk -O
~/svn-test.LICENSE
...
2013-11-02 12:42:19 (85.8 MB/s) -
‘/root/svn-test.LICENSE’ saved [1295/1295]
/home/darx/SVN_TEST/svn184/bin/svn \
co http://svn.apache.org/repos/asf/subversion/trunk ~/svn-test
svn: E670002: Unable to connect to a repository at URL
'http://svn.apache.org/repos/asf/subversion/trunk'
svn: E670002: Name or service not known
fails.
retesting @ another URL
rm -rf ~/svn-test*
/home/darx/SVN_TEST/svn184/bin/svn \
co http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL/
~/svn-test
svn: E670002: Unable to connect to a repository at URL
'http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL'
svn: E670002: Name or service not known
also fails.
trying at numeric IPv6
dig AAAA www.nlnetlabs.nl +short
2001:7b8:206:1::1
rm -rf ~/svn-test*
/home/darx/SVN_TEST/svn184/bin/svn \
co http://[2001:7b8:206:1::1]/svn/nsd/tags/NSD_4_0_0_REL/
~/svn-test
...
Checked out revision 4089.
succeeds
and just for completeness, retesting the ORIGINAL, distro-packaged svn
bin
rm -rf ~/svn-test*
/usr/bin/svn \
co
http://[2001:7b8:206:1::1]/svn/nsd/tags/NSD_4_0_0_REL/
~/svn-test
...
Checked out revision 4089.
Received on 2013-11-02 21:07:10 CET