Bug 15408 - xinetd hoses cvs pserver
xinetd hoses cvs pserver
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: xinetd (Show other bugs)
7.0
i386 Linux
high Severity medium
: ---
: ---
Assigned To: Trond Eivind Glomsrxd
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2000-08-04 12:29 EDT by Philip Long
Modified: 2008-05-01 11:37 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2000-09-07 15:11:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Philip Long 2000-08-04 12:29:22 EDT
I had cvs pserver up and running great.  After zoot -> pinstripe, cvs
stopped working

client cvs reports Connection Refued

The configuration for cvspserver (seems) fine, but I  don't have lots of
xinetd experience. I did try to change the nowait parameter; still no joy
but at least it doesn't loop.

nmap reports 2401 not open; xinetd seems to initialize it; 

reverting to inetd fixes the problem

/etc/xinietd.d/cvspserver is as follows:

# Converted by inetdconvert
service cvspserver
{
	socket_type		= stream
	protocol		= tcp
	wait			= yes
	user			= root
	server			= /usr/bin/cvs
	server_args		= cvs -f --allow-root=/home/cvsroot pserver 
	disable			= no
}

xinetd -d reports the following

[root@lyta plong]# xinetd -d
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/bpcd [line=14]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/bpjava-msvc [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/cvspserver [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/finger [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/linuxconf-web [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/ntalk [line=13]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/rexec [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/rlogin [line=14]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/rsh [line=13]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/swat [line=14]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/talk [line=14]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/telnet [line=11]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/tftp [line=13]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/vopied [line=16]
00/8/4@12:24:10: ERROR: {server_parser} Server
/usr/openv/netbackup/bin/vopied is not executable [line=8]
00/8/4@12:24:10: DEBUG: {handle_includedir} Reading included configuration
file: /etc/xinetd.d/wu-ftpd [line=11]
00/8/4@12:24:10: ERROR: {attr_check} Service vopied missing attribute
server
Service defaults
	Instances = 60
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: bpcd
	id = bpcd
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/openv/netbackup/bin/bpcd
	Server argv = bpcd bpcd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: bpjava-msvc
	id = bpjava-msvc
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/openv/netbackup/bin/bpjava-msvc
	Server argv = bpjava-msvc bpjava-msvc -transient
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: cvspserver
	id = cvspserver
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/bin/cvs
	Server argv = cvs cvs -f --allow-root=/home/cvsroot pserver
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: finger
	id = finger
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/sbin/in.fingerd
	Server argv = in.fingerd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: ftp
	id = ftp
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Nice = 10
	Groups = 0
	Server = /usr/sbin/in.ftpd
	Server argv = in.ftpd -l -a
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST DURATION PID USERID
	Log_on_failure flags = HOST RECORD USERID

Service configuration: ntalk
	id = ntalk
	socket_type = dgram
	Protocol (name,number) = (udp,17)
	Groups = 0
	Server = /usr/sbin/in.ntalkd
	Server argv = in.ntalkd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

Service configuration: telnet
	id = telnet
	flags = REUSE
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/sbin/in.telnetd
	Server argv = in.telnetd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD USERID

Service configuration: login
	id = login
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/sbin/in.rlogind
	Server argv = in.rlogind
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID USERID
	Log_on_failure flags = HOST RECORD USERID

Service configuration: shell
	id = shell
	socket_type = stream
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/sbin/in.rshd
	Server argv = in.rshd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID USERID
	Log_on_failure flags = HOST RECORD USERID

Service configuration: swat
	id = swat
	socket_type = stream
	port = 901
	Protocol (name,number) = (tcp,6)
	Groups = 0
	Server = /usr/sbin/swat
	Server argv = swat
	Only from:  127.0.0.1(HOST)
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD USERID

Service configuration: talk
	id = talk
	socket_type = dgram
	Protocol (name,number) = (udp,17)
	Groups = 0
	Server = /usr/sbin/in.talkd
	Server argv = in.talkd
	Logging to syslog. Facility = authpriv, level = info
	Log_on_success flags = HOST PID
	Log_on_failure flags = HOST RECORD

00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: bpcd
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: bpjava-msvc
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: cvspserver
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: finger
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: ftp
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: ntalk
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: telnet
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: login
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: shell
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: swat
00/8/4@12:24:10: DEBUG: {cnf_start_services} Started service: talk
00/8/4@12:24:10: DEBUG: {cnf_start_services} mask_max = 15,
services_started = 11
00/8/4@12:24:10: NOTICE: {main} Started working: 11 available services
00/8/4@12:24:10: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:13: NOTICE: {general_handler} Unexpected signal 28 (Window
changed)
00/8/4@12:24:13: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3859
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3859 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3860
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3860 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3861
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3861 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3862
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3862 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3863
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3863 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:17: DEBUG: {exec_server} duping 7
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = 3864
00/8/4@12:24:17: DEBUG: {server_end} cvspserver server 3864 exited
00/8/4@12:24:17: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:17: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:17: DEBUG: {main_loop} select returned 1
00/8/4@12:24:17: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:17: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:18: DEBUG: {exec_server} duping 7
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = 3865
00/8/4@12:24:18: DEBUG: {server_end} cvspserver server 3865 exited
00/8/4@12:24:18: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:18: DEBUG: {main_loop} select returned 1
00/8/4@12:24:18: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:18: DEBUG: {exec_server} duping 7
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = 3866
00/8/4@12:24:18: DEBUG: {server_end} cvspserver server 3866 exited
00/8/4@12:24:18: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:18: DEBUG: {main_loop} select returned 1
00/8/4@12:24:18: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:18: DEBUG: {exec_server} duping 7
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = 3867
00/8/4@12:24:18: DEBUG: {server_end} cvspserver server 3867 exited
00/8/4@12:24:18: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:18: DEBUG: {main_loop} select returned 1
00/8/4@12:24:18: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 10
00/8/4@12:24:18: DEBUG: {exec_server} duping 7
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = 3868
00/8/4@12:24:18: DEBUG: {server_end} cvspserver server 3868 exited
00/8/4@12:24:18: DEBUG: {svc_resume} Resumed service cvspserver
00/8/4@12:24:18: DEBUG: {child_exit} waitpid returned = -1
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 11
00/8/4@12:24:18: DEBUG: {main_loop} select returned 1
00/8/4@12:24:18: DEBUG: {svc_suspend} Suspended service cvspserver
00/8/4@12:24:18: ERROR: {svc_looping} cvspserver service was deactivated
because of looping
00/8/4@12:24:18: DEBUG: {main_loop} active_services = 10
Comment 1 Alan Cox 2000-08-06 10:56:21 EDT
cvs pserver shouldnt be  wait=yes surely ?
Comment 2 Trond Eivind Glomsrxd 2000-08-06 14:18:37 EDT
Are you sure it should be wait=yes? (there was a bug in the convertscript on
this...)  Also, the newest xinetd fixes problems with wait = yes  -
http://people.redhat.com/teg/xi/ - try installing that and reconverting the
service.
Comment 3 Philip Long 2000-08-07 11:37:25 EDT
alan:  

From inetd(8), wait should only be used on datagram sockets.  All others should
be nowait.  Also,  cvs instructions (Karl Fogel's book, for example) specify
nowait.  My inetd.conf has tcp nowait, and it worked.  Presumably, if one user
is engaged in a CVS transactions, others would not be blocked.

teg:
No, I wasn't sure wait should be yes.  I tried wait=no, and it still did not
work, though it did not loop.
I'll download the new xi and get back to you.
Comment 4 Philip Long 2000-08-07 11:45:32 EDT
on xinetd-2.1.8.9pre9-2.i386.rpm, you need to add an action to the script to
halt inetd before getting rid of /etc/rc.d/init.d/inetd ...

Comment 5 Philip Long 2000-08-07 11:46:52 EDT
Ok I tried the new xinetd.  2401 shows up on nmap, but cvspserver clinet
authentication still fails,  with both wait and nowait.
Comment 6 Trond Eivind Glomsrxd 2000-08-08 15:36:17 EDT
Any clues from the logs what causes the authentication failures?
Comment 7 Philip Long 2000-08-09 11:27:38 EDT
I posted everything I could think of before;

I don't think it is authentication; I don't think it even gets to authentication
before barfing.

 I recall (not 100%, but 90% sure) checking /var/log/messages for an auth
failure.  There wasn't one.

Also other services (ssh, etc) authenticated fine.  Of course ssh, doesn't use
inet ...

I believe wu-ftpd authed fine as well.  Speaking of which, isn't it time to
stick a fork in that turkey and go pro-ftpd?

I'm a bit overwhelmed with work and life this week, so I'm not going to be
really useful (I spent my free time figuring out the hard way why you don't
include dri ...), but if there are some things you would like me to try, I can
do that.
Comment 8 Trond Eivind Glomsrxd 2000-08-09 11:30:13 EDT
Does /var/log/secure say anything?
Comment 9 Philip Long 2000-08-09 18:14:24 EDT
/var/log/secure shows the (multiple) attempts to use cvspserver, but nothing
interesting except that the remote ip address is logged when request comes from
remote machine, but not from local machine.
Comment 10 Trond Eivind Glomsrxd 2000-08-15 15:53:55 EDT
What is the working inetd.conf line?  I don't really know this setup, but are
you sure "cvs" shoulde be the first of the server arguments? (isn't that the
program itself?)
Comment 11 Philip Long 2000-08-16 11:12:21 EDT
That is what the cvs documentation says.  And it works under inet, so I'm pretty
sure.
Comment 12 Nalin Dahyabhai 2000-09-07 15:11:09 EDT
Trond is correct.  The extra "cvs" at the beginning of the server_args is not
supposed to be there.
Comment 13 Trond Eivind Glomsrxd 2000-09-26 12:43:28 EDT
Closed - user error.

Note You need to log in before you can comment on or make changes to this bug.