Authentication Failure with NTLM Subversion Authentication

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Symptoms

Bamboo's Subversion Java client SVNKit does not work well with NTLM based Authentication.

This can be seen in the log files:

1 2 3 4 5 6 7 8 INFO [pool-17-thread-1] [DefaultErrorHandler] Recording error: Unable to detect changes : SLAPI-SLAPI2000 com.atlassian.bamboo.repository.RepositoryException: Build 'SLAPI-SLAPI2000' failed to check SVN repository at com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:219) ... Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required for '<[http://subversion:80]> (null)' at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:47) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:41) at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:202)

If the repository server only offers NTLM authentication, then SVNKit cannot connect reliably.

Cause

The SVNKit Java client does not handle NTLM authentication. It relies on Basic Authentication.

Resolution

  • Configure repository server to offer both Basic and NTLM authentication (Apache httpd only).

    Use Apache mod_auth_sspi module on the server side, and add the following option to the Subversion repository location:

    1 SSPIOfferBasic On
  • Force Bamboo to prefer Basic Authentication

    Force Bamboo/SVNKit to prefer basic authentication by adding -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM to the Java options when starting bamboo.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.