This is not a valid Subversion Repository: svn: Received fatal alert: bad_record_mac svn: OPTIONS request failed on
Symptoms
These are the steps for reproducing the problem with Bamboo 3.4.2:
- Start Bamboo server;
- Log in as admin;
- Go to the Bamboo Administration page Server Capabilities. Click the link to automatically detect server capabilities;
- Go to Dashboard, click Create a Plan;
- Click create Import Maven2 project;
- Select Subversion;
- Entered url of a Maven project in SVN repository: https://svn.your/remote/SVN/repository;
- Enter username and password;
- Click import;
- Failure:
FINE: NETWORK: Received fatal alert: bad_record_mac
javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.tmatesoft.svn.core.internal.util.SVNLogOutputStream.flush(SVNLogOutputStream.java:48)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:229)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:168)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:362)
Cause
Bamboo is failing because the SVN fails to authenticate via SSL.
Resolution
IDEA sets "svnkit.http.sslProtocols=SSLv3
" when JDK 1.6 or older is used. JDK 1.6 or older failes to work with SSLv3-only servers unless SSL socket is configured with SSLv3-only protocol.
SVNKit used by IDEA and 1.3.7 uses the same code base.
Try running Bamboo with the following option:
-Dsvnkit.http.sslProtocols=SSLv3
There is no need to set this property for all users, only for those who use JDK 1.6 and SSLv3-only servers. Setting this option will make connection fail on TLS-only servers (however, I suppose that majority of servers are configured both to support SSLv3 and TLSv1).