Bug 34871

Summary: xinetd (mostly) fails to start telnet server
Product: [Retired] Red Hat Linux Reporter: Mike Wilcox <mike.wilcox>
Component: xinetdAssignee: Trond Eivind Glomsrxd <teg>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-04-05 10:46:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike Wilcox 2001-04-05 10:46:04 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.2.17-14smp i686)


xinetd is configured with an enabled telnet service; chkconfig confirms
this. The configuration causes xinetd to listen to port 23 on all
interfaces (netstat -a confirms this), and has no restrictions on the
source address for the connection. Firewall rules allow the connection to
be made through any interface (for now).

After freshly restarting xinetd, I can usually succeed in getting a telnet
connection through to the host.

However, xinetd fails to start the telnet server for any subsequent
connection attempt. The error logged implies a failure in system call
execv().
 
The behaviour is consistent when attempting to use telnet from a remote
host and when attempting to connect via 127.0.0.1

Actual syslog logs (debug level) are as follows:
xinetd[905] START: telnet pid=911 from 127.0.0.1
xinetd[905] START: telnet pid=915 from 127.0.0.1
xinetd[915] execv( /usr/sbin/in.telnetd ) failed: Bad address (errno=14).

It appears (from /usr/include/asm/errno.h) that execv() is returning
EFAULT; "man execve" says EFAULT is returned when "<filename> points
outside your accessible address space."


Reproducible: Always
Steps to Reproduce:
1. enable service in /etc/xinetd.d/telnet
2. /etc/rc.d/init/xinetd restart
3. telnet 127.0.0.1
4. telnet 127.0.0.1
5. goto 2.

Actual Results:  At step 3, telnet responds with the login prompt.
At step 4, the connection is dropped "Connection closed by foreign host"

Comment 1 Nalin Dahyabhai 2001-04-05 18:20:46 UTC
This should be fixed as of xinetd-2.1.8.9pre14-4 (-5 is in Wolverine) and later.
Please reopen this bug ID if you find that this is not the case.  Thanks!