[cvsnt] How do you properly install CVSNT on Windows Server 2008?

Kristian Balinski kris at teamqsi.com
Thu Nov 6 16:32:01 GMT 2008


I have been tasked with getting CVS up and running in our Windows environments. Unfortunately the server CVS must be installed upon is Windows Server 2008 (x64). 

The CVSNT install performed without a hitch. After the machine had been rebooted we set about configuring the CVS server. When specifying the user to run the server we are using a domain user 'cvsadmin'. We are also using our domain as the default. We then restart the server. From another machine we then try to connect to the CVS repository. Password gets entered. Here is where the trouble starts. We get the infamous 'Switch to user failed due to configuration error'. Looking at the server trace file we get results similar to what another user (Arthur Barret) on the mailing list gets. Below is the server trace:

13:39:59: S -> Loading protocol pserver as pserver.dll
13:39:59: S -> CLibraryAccess::Load loading C:\PROGRA~2\CVSNT/protocols/pserver.dll
13:39:59: S -> Checking protocol pserver
13:39:59: S -> Checking key PserverProtocol
13:39:59: S -> Authentication protocol :pserver: returned user anonymous
13:39:59: S -> User in CVSROOT/passwd, password correct
13:39:59: S -> Host user is <redacted>\cvsadmin
13:39:59: S -> win32switchtouser(<redacted>\cvsadmin)
13:39:59: S -> win32getpwnam(<redacted>\cvsadmin)
13:39:59: S -> Find netapi32.dll with the symbol DsGetDcNameW
13:39:59: S -> Call GetComputerNameW
13:39:59: S -> Call DsGetDcNameW from netapi32.dll
13:39:59: S -> Authenticating server: \\<redacted>
13:39:59: S -> Trying Setuid helper... (<redacted>\cvsadmin)
13:39:59: S -> SuidGetImpersonationToken returned 00000554
13:39:59: S -> Trying NTCreateToken...
13:39:59: S -> NTCreateToken failed
13:39:59: S -> Eraseing pserver
13:39:59: S -> Freeing pserver
13:39:59: S -> Freed pserver
13:39:59: S -> Unloading pserver
13:39:59: S -> Delete pserver
13:39:59: S -> Deleted pserver

The similarity is the line:

13:39:59: S -> SuidGetImpersonationToken returned 00000554

If you go further in time in the mailing list you will see Tony Hoyle reply with the following:

> Arthur Barrett wrote:
>> 21:43:18: S -> SuidGetImpersonationToken returned 00000554
> btw. That error means that cvsnt is not correctly installed (the helper 
> is not registered with the system).  Not a lot is going to work without 
> that..
> Tony

So my question is how do you correctly install CVSNT on Windows Server 2008 machines? Or better yet how you correctly register the helper that Tony speaks of? I tried installing CVSNT with 'Run As Administrator' to no avail. I even went so far as to play with the Local Security Policy. Still no results. I believe that this configuration can work, but why does it not?

Any answers will be most appreciated. We are trying for a mixed Linux (CVS server) & Windows (File server) environment now, but that is not going as smooth as some of us planed.


Kristian Balinski

More information about the cvsnt mailing list