Hide Forgot
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
cvs pserver shouldnt be wait=yes surely ?
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.
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.
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 ...
Ok I tried the new xinetd. 2401 shows up on nmap, but cvspserver clinet authentication still fails, with both wait and nowait.
Any clues from the logs what causes the authentication failures?
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.
Does /var/log/secure say anything?
/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.
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?)
That is what the cvs documentation says. And it works under inet, so I'm pretty sure.
Trond is correct. The extra "cvs" at the beginning of the server_args is not supposed to be there.
Closed - user error.