I've setup apache to require a client cert and to do authz based on the name in
the cert. So I have a Location that includes:
AuthzSVNAccessFile ...
SSLUserName SSL_CLIENT_S_DN
When I have:
SSLVerifyClient require
at the top level, outside the Location block, everything works. If I move the
SSLVerifyClient into the Location block the 1.7/neon client still works but the
1.8/serf client hangs.
Client stack trace:
#0 0x00007f84073880b3 in __epoll_wait_nocancel ()
at ../sysdeps/unix/syscall-template.S:82
#1 0x00007f8407879f83 in ?? () from /usr/lib/libapr-1.so.0
#2 0x00007f840787ba5f in apr_pollset_poll () from /usr/lib/libapr-1.so.0
#3 0x00007f8404bd99a8 in serf_context_run (ctx=0x7f8408d5e0a0,
duration=500000, pool=0x7f8408d21028) at ./context.c:290
#4 0x00007f840680fd04 in svn_ra_serf__context_run_wait (done=0x7f8408d60494,
sess=0x7f8408d60108, scratch_pool=0x7f8408d60028)
at ../src/subversion/libsvn_ra_serf/util.c:737
#5 0x00007f840680ff41 in svn_ra_serf__context_run_one (
handler=0x7f8408d60478, scratch_pool=0x7f8408d60028)
at ../src/subversion/libsvn_ra_serf/util.c:810
#6 0x00007f84067fefcb in svn_ra_serf__exchange_capabilities (
serf_sess=0x7f8408d60108, corrected_url=0x7fff1ede4368,
pool=0x7f8408d60028) at ../src/subversion/libsvn_ra_serf/options.c:491
#7 0x00007f8406804c29 in svn_ra_serf__open (session=0x7f8408d600e0,
corrected_url=0x7fff1ede4368,
session_URL=0x7f8408d640a0 "https://localhost:8887/obj/repo/A",
callbacks=0x7f8408d640f0, callback_baton=0x7f8408d640c8,
config=0x7f8408db4c00, pool=0x7f8408d60028)
at ../src/subversion/libsvn_ra_serf/serf.c:518
#8 0x00007f840842803f in svn_ra_open4 (session_p=0x7fff1ede4610,
corrected_url_p=0x7fff1ede4500,
repos_URL=0x7f8408d640a0 "https://localhost:8887/obj/repo/A", uuid=0x0,
callbacks=0x7f8408d640f0, callback_baton=0x7f8408d640c8,
config=0x7f8408db4c00, pool=0x7f8408d64028)
at ../src/subversion/libsvn_ra/ra_loader.c:479
server stack trace:
#0 0x00007fb0b7b1ce33 in *__GI___poll (fds=<optimized out>,
nfds=<optimized out>, timeout=300000)
at ../sysdeps/unix/sysv/linux/poll.c:87
#1 0x00007fb0b801fb07 in apr_wait_for_io_or_timeout ()
from /usr/lib/libapr-1.so.0
#2 0x00007fb0b8015e8c in apr_socket_recv () from /usr/lib/libapr-1.so.0
#3 0x00007fb0b8238995 in ?? () from /usr/lib/libaprutil-1.so.0
#4 0x00007fb0b88f4b9a in ap_core_input_filter ()
#5 0x00007fb0b8903905 in ?? ()
#6 0x00007fb0b6bb9d42 in ?? () from /usr/lib/apache2/modules/mod_ssl.so
#7 0x00007fb0b664ef09 in BIO_read ()
from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#8 0x00007fb0b696bc8c in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#9 0x00007fb0b696ce75 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#10 0x00007fb0b696e8d0 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#11 0x00007fb0b695e1a9 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#12 0x00007fb0b6962be9 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#13 0x00007fb0b6bbbc2e in ?? () from /usr/lib/apache2/modules/mod_ssl.so
#14 0x00007fb0b88f1b80 in ap_run_access_checker ()
#15 0x00007fb0b88f396a in ap_process_request_internal ()
#16 0x00007fb0b89073e8 in ap_process_request ()
#17 0x00007fb0b8904328 in ?? ()
#18 0x00007fb0b88fdbd0 in ap_run_process_connection ()