Hello,

it appears that gssapi(32/64).dll and their dependencies aren't part 
of TortoiseSVN distribution. These files are needed for Kerberos 
authentication to work when using svn:// protocol.
http(s):// protocol handled by serf library seems to be using different 
code path for Kerberos authentication and it works there without any 
additional dependencies.
Unforatunately svn:// authentication for Kerberos goes through

<tortoise_source_root>\ext\gssapi\gssapi.cpp:159

where

#ifdef _WIN64
#define GSSAPI_DLL "gssapi64.dll"
#else
#define GSSAPI_DLL "gssapi32.dll"
#endif

static HINSTANCE hinstLib = LoadLibrary(TEXT(GSSAPI_DLL)); // Will let 
Windows automatically call FreeLibrary. This is for speed-sake

the LoadLibrary call will fail, because the DLL isn't part of standard 
Windows intallation, neither part of TortoiseSVN installation. Error 
message in such case doesn't really help with identifying where the problem 
is, if I didn't debug the program I'd still be in the blind, as it gives a 
generic "Cannot negotiate authentication mechanism." error message when the 
DLLs are missing.
The DLLs can be obtained by installing Heimdal from 
https://www.secure-endpoints.com/heimdal/.

Since TortoiseSVN is not only GUI for SVN, but also the primary source of 
Subversion binaries and their dependencies for Windows users, I'd argue 
that GSSAPI libraries belong to the TortoiseSVN distribution as well.

Thank You for reading and considering this proposal.
Marek

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/57cf69cb-e55b-413f-8f1a-2e8bf6ef4151n%40googlegroups.com.

Reply via email to