I beat my head on the wall for awhile with the below error because the information online was fairly limited. Let me start by saying that using TortoiseSVN as a SVN client for Windows will authenticate against a Linux server running svnserve using SASL DIGEST-MD5 encryption. This means you should be able to authenticate against svnserve set up with these options configured which are “use-sasl = true”, “min-encryption = 128″, and “max-encryption = 256″.
When all of this started my goal was to create a SVN server with one repo for testing. I upgraded from TortoiseSVN 1.5.2 to the latest stable build of TortoiseSVN which was version 18.104.22.1682. I downloaded the latest stable release from the TortoiseSVN site here. Once installed everything was going fine with my original goal until I got to checking out the repository on my local PC.
The first error I received is below:
svn: Cannot negotiate authentication mechanism
This error was received for two different reasons. The first was I had mech_list set to CRAM-MD5 in the svn.conf file located in the /etc/sasl2 directory. I changed the CRAM-MD5 setting to DIGEST-MD5. The other issue I had was that the realm was set incorrectly for the user. Once both of these were resolved I started getting the below error.
The second error:
sasl(-1): generic failure: unable to find a callback: 2
I tried everything I could think of to get SASL working but continued to receive the error above. Finally I decided to download and install the latest nightly 1.6.x build from here. Sure enough after installing the latest build I was able to checkout the repository without issue authenticatinig via SASL using the TortoiseSVN GUI.
Without doing more testinig the issue appears the be with the latest stable build available for download. I encourage you if you see the above error to install the latest nightly build to see if it resolves the problem.