[thelist] CVS Desperation

Burhan Khalid thelist at meidomus.com
Sun Oct 12 17:13:05 CDT 2003


Peter Smulders wrote:

> Hi Burhan,
> 
> Burhan Khalid wrote:
> 
>> ... headache trying to setup CVS for remote logins on a linux system.
>> CVS works fine locally, I can checkout and commit changes, but
>> whenever I try to login remotely, the server responds with "directory
>> not found" or "client closed connection".  I can checkout files fine
>> with cvs (from a SSH), but when I try to logon to the server itself
>> (from the same machine, using the IP), it doesn't work.
> 
> 
>> Checked permissions (cvs user, cvs group) Edited the passwd file
>> under CVSROOT Created a separate cvs-only user and added that to
>> passwd file
> 
> 
>> Read the manual at cvshome.org and the "The CVS Handbook" Tried
>> logging in as my normal user (member of cvs group), cvs-only user,
>> even root.
> 
> 
> Shooting from the hip: have you pre-endcoded the password in the passwd
> file? Entering the password in plaintext will not work.

No its encoded. Just like /etc/passwd.

> 
> Second shot: if you are using an empty password (as you may very well
> have tried), you may need to enter th
> at empty password at the connection prompt (if you get that far) by
> entering a space (or any character, in fact), followed by CTRL+U (which
> is the 'delete-to-beginning-of-line' terminal command). This makes the
> client think you entered a password, with the password being the empty
> one. I have seen cases where not entering a password was just not good
> enough for the client, even though the server would happily accept it.

Well, I didn't try the empty password thing. But all accounts have 
passwords on them (even the cvs-only account). There are 4 accounts on 
the system, root, my personal account (member of cvs group), cvs (member 
of cvs group, what all the files are owned by), and cvs_user (member of 
cvs group, just a test account). All except for cvs have passwords. The 
cvs account is just so I can isolate permissions for the cvs files.

> 
> Other than that, I am more than happy to debug with you. Can you tell me:
> 
> - Server OS, cvs version?

Server is a gentoo box, running 2.4.30-gentoo-r6 kernel.
CVS is (direct from cvs -v) :
Concurrent Versions System (CVS) 1.11.6 (client/server)

> - Client OS, cvs version and flavour? (graphical, command line, etc)

Client is WinCVS on Windows (GUI), I have also used the cvs command line 
via SSH (which works).

> - Connection details? Something like:
> 
> 'Server, Solaris, cvs accessed through inetd, user/passwd internal to
> cvs setup (as opposed to hitchiking on system/host usernames, as in
> /etc/passwd ), client on Linux, plain TCP/IP connection to server'

Server is a gentoo box, static IP address on a local net. CVS is using 
the passwd files under the CVSROOT directory for each repository. I am 
adding the users via a script (cvsd-passwd) that is provided with the 
package.  CVS is not running under a jailed shell.

Client is on Windows XP box, same local net. I am connecting via IP and 
not the hostname. There are no proxies to the linux box. SSH (using 
Putty) works from the Windows XP computer.

> - Transcript (copy and paste, please, rather than paraphrasing) of a
> sample session.

Output from WinCVS :

cvs -d :pserver:burhankh at 192.168.1.102:/home/projects login
Logging in to :pserver:burhankh at 192.168.1.102:2401:/home/projects
cvs [login aborted]: Error reading from server 192.168.1.102: -1: No 
such file or directory

***** CVS exited normally with code 1 *****

However, this works fine (PuTTY output) :

burhankh at sandbox burhankh $ export CVSROOT="/home/projects"
burhankh at sandbox burhankh $ cvs -Q co weather_server

And, after making a few modifications, I can also commit the changes :

burhankh at sandbox weather_server $ cvs ci -m "added a few things"
cvs commit: Examining .
Checking in index.php;
/home/projects/weather_server/index.php,v  <--  index.php
new revision: 1.3; previous revision: 1.2
done

However, trying to access the server like so doesn't work :

burhankh at sandbox weather_server $ cvs -d 
:pserver:burhankh at 192.168.1.102:/home/projects login
Logging in to :pserver:burhankh at 192.168.1.102:2401/home/projects
CVS password:
cvs [login aborted]: reading from server: Connection reset by peer

> As an aside: given you ask detailed and polite questions (like the one
> you asked here, enriched with answers to my questions above) you can get
> very good results from the cvs-users mailing list. Dig around on the
> cvshome.org site for details; I haven't been around that place for
> almost a year. It is (or at least used to be) an open forum, so you can
> ask questions without being a member.

I'll look into it, thanks. I just want to try out everything I can 
possibly locally so that I can ask a "better" question at the mailing list.

> 
> Having said that: if you have a learning curve to go with CVS, enduring
> the high list volume and (for some strange reason) high flamability of
> some members for a while can be very instructive. Last time I checked,
> the FAQ was of very little use, but the list archives are a real
> treasure trove. (since there is some cross-fertilisation with a usenet
> group, Google groups might also help)

Yes I read the FAQ, that didn't seem to get anywhere. Then I remembered 
I had a PDF version of "The CVS Book" using which I was able to setup 
the repository, and do some local cvs work.

Thanks for your response,
-- 
Burhan Khalid
thelist[at]meidomus[dot]com
http://www.meidomus.com



More information about the thelist mailing list