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
_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs