[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
get_homedir() bug
From: |
Don Burns |
Subject: |
get_homedir() bug |
Date: |
Fri, 5 Jan 2001 19:33:01 -0800 (PST) |
This is my first posting to bug-cvs and I'm not even sure if I have to
join the mailing list to do so...
I've recently set up a CVS repository and attempted to enable pserver
access. I came across an error that is mentioned in the manual
Troubleshooting section. It reads :
----------------
If you seem to be connecting but get errors like:
cvs server: cannot open /root/.cvsignore: Permission denied
cvs [server aborted]: can't chdir(/root): Permission denied
then either you haven't specified `-f' in `inetd.conf' or your system
is setting the HOME environment variable for programs being run
by inetd. In the latter case, you can either have inetd run a shell
script that unsets HOME and then runs CVS, or you can use env to run CVS
with a pristine environment.
---------------
I fixed the problem in, what seems to be a simpler way. In the CVS
source, file filesubr.c, function get_homedir() I simply commented out:
/*
if (home != NULL)
return home;
*/
The manual instructs to set up pserver access through inetd, running cvs
as root. However, cvs does a setuid() at some point before attempting to
access $HOME/.cvsignore. The above fix simply forces get_homedir() to
update the value of home everytime it is called, and therefore returns
different (and correct) values after calling setuid().
-don
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- get_homedir() bug,
Don Burns <=