WebDAV, SSL Handshake, OwnCloud, CloudFlare, and Ubuntu 12.04
Right, that's enough keyword stuffing!
I've been trying to mount an OwnCloud instance via WebDAV. I kept receiving the error
Mounting failed. SSL handshake failed: SSL error: sslv3 alert handshake failure
Or
SSL handshake failed: SSL alert received: Handshake failed
The route of this problem seems to be that the version of libneon (the WebDAVS connector library) shipped with Ubuntu 12.04 doesn't play nicely with the SSL certificates issued by CloudFlare.
Here's the solution I discovered.
Grab libneon 30.1 - and extract it to a directory.
Compile
./configure --prefix=/usr --enable-shared --with-ssl=openssl --disable-static make sudo make install
We now need to replace the old libneon-gnutls.so - and we want the end result to look like
/usr/lib/libneon-gnutls.so.27 -> /usr/lib/libneon.so.27 /usr/lib/libneon.so -> libneon.so.27.3.1 /usr/lib/libneon.so.27 -> libneon.so.27.3.1
First, back up the old version.
sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
Then, in /usr/lib/
sudo ln -s /usr/lib/libneon.so.27.3.1 libneon.so.27 sudo ln -s /usr/lib/libneon-gnutls.so.27.3.1 libneon.so sudo ln -s /usr/lib/libneon.so.27 libneon-gnutls.so.27
Then, to mount the directory.
sudo mount -t davfs -o uid=me,gid=users https://example/owncloud/remote.php/webdav/ /mount/remote
(Where "me" is your user name.)
That made everything work!