Re: CVS /etc/inetd.conf question

2001-05-02 Thread David D. Hagood



 Instead of:
 
 env = HOME=/home/cvs
 
 it is much better is to specify:
 
 passenv = PATH
 
 (i.e., don't pass $HOME to the server at all).
 

  The daemon is running as root when it starts. Then it drops priviledge 
to the user's level. Unfortunately, it still trys to look in root's home 
directory for .cvsignore, but as it is now running as a normal user, it 
cannot.

The PATH has nothing at all to do with this problem.


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-05-02 Thread Larry Jones

David D. Hagood writes [quoting me]:
 
  Instead of:
  
  env = HOME=/home/cvs
  
  it is much better is to specify:
  
  passenv = PATH
  
  (i.e., don't pass $HOME to the server at all).
 
   The daemon is running as root when it starts. Then it drops priviledge 
 to the user's level. Unfortunately, it still trys to look in root's home 
 directory for .cvsignore, but as it is now running as a normal user, it 
 cannot.
 
 The PATH has nothing at all to do with this problem.

You misunderstand -- when you don't specify passenv, xinetd passes the
entire environment to the child process.  When you *do* specify
passenv, only the environment variables listed there are passed.  So
the critical part is that HOME is *not* listed, not that PATH is. 
This results in $HOME not being set at all in the server's environment
(which will cause CVS to compute it correctly) rather than being set to
a bogus value.

-Larry Jones

That's the problem with nature.  Something's always stinging you
or oozing mucus on you. -- Calvin

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-05-02 Thread David D. Hagood

[EMAIL PROTECTED] (Larry Jones) wrote:


 This results in $HOME not being set at all in the server's environment
 (which will cause CVS to compute it correctly) rather than being set to
 a bogus value.


  So, when the CVS server drops priv, it will correctly set the HOME 
variable to the user's home dir, or will it leave it blank?And if it is 
left blank, will the server correctly not look for the file, or will is 
look in the current working directory.

Actually, the point is largely moot, since the latest versions of CVS 
don't check for those files if running in server mode...



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-05-02 Thread Larry Jones

David D. Hagood writes:
 
   So, when the CVS server drops priv, it will correctly set the HOME 
 variable to the user's home dir, or will it leave it blank?And if it is 
 left blank, will the server correctly not look for the file, or will is 
 look in the current working directory.

It leaves $HOME unset (which is different than being set to blank).  If
it wants to know the user's home directory, it will look it up in
/etc/passwd (since $HOME isn't set) and get the right answer.

-Larry Jones

OK, there IS a middle ground, but it's for sissy weasels. -- Calvin

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-05-01 Thread Larry Jones

David D. Hagood writes:

 service cvspserver
 {
  disable = no
  id  = cvspserver
  env = HOME=/home/cvs
  socket_type = stream
  protocol= tcp
  port= 2401
  wait= no
  user= root
  log_on_failure  += USERID
  server  = /usr/bin/cvs
  server_args = -f --allow-root=your root here pserver
 }
 
 The /home/cvs dirctory created to work around CVS bug #1, the cannot 
 access /root/.cvsignore error: create this directory, make it owned by 
 root, readable by all, and not writable by anybody, and CVS will be happy.

Instead of:

env = HOME=/home/cvs

it is much better is to specify:

passenv = PATH

(i.e., don't pass $HOME to the server at all).

-Larry Jones

Please tell me I'm adopted. -- Calvin

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-04-30 Thread Larry Jones

John Hsieh writes:
 
 But in the RedHat 7.0 version software, there is no /etc/inetd.conf 

man xinetd.

And if you need more help, ask Linux people who will know about xinetd,
not CVS people who generally will not.

-Larry Jones

I don't need to improve!  Everyone ELSE does! -- Calvin

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS /etc/inetd.conf question

2001-04-30 Thread David D. Hagood

John Hsieh wrote:

 In order to configure the CVS server, modify the /etc/inetd.conf
 is necessary.
 
 But in the RedHat 7.0 version software, there is no /etc/inetd.conf 
 
 Where is the file of /etc/inetd.conf or similar configuration file in RedHat
 7.0?

RH7.0 uses xinetd, which stores its configuration in 
/etc/xinetd.d/servicename

You add files to that directory to add services: create a file 
cvspserver there and fill this in:

# default: on
#
# service cvspserver
#
service cvspserver
{
 disable = no
 id  = cvspserver
 env = HOME=/home/cvs
 socket_type = stream
 protocol= tcp
 port= 2401
 wait= no
 user= root
 log_on_failure  += USERID
 server  = /usr/bin/cvs
 server_args = -f --allow-root=your root here pserver
}

The /home/cvs dirctory created to work around CVS bug #1, the cannot 
access /root/.cvsignore error: create this directory, make it owned by 
root, readable by all, and not writable by anybody, and CVS will be happy.



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs