Subject: server gets ENOMEM, client gets no error

From: Roger Hanke <[email-masked]>
Date: Fri, 10 Apr 1998 09:53:31 -0400

Have been able to reproduce the problem, so have been
able to truss the wuftpd process to see that the execv call
in ftpd_popen routine in popen.c is getting errno 12, ENOMEM
(this is legitimate error since we are running Share II on Solaris
2.5.1 currently, with memory limits set for each customer).
The child does a _exit(1) after this failure so the parent wait
should be able to detect a error occurred. There seems to be
code to send back a failure client reply, but I never see it 
happen. I am issuing ls -l calls from the client so that the
server is trying to vfork and then execv the /bin/ls program.
The client just sees all the normal response messages except
there is no files listed in the middle. Obviously this has been
leading to customer complaints about where customer files
have gone. Turns out they can just issue a ls command,
which uses the builtin, and see their files no problem.
But would still like to know why wuftpd process is not returning
a failure message when execv fails like this. Especially since
the code appears to be trying to detect errors from the wait 
return and do the right thing. Anyone have any experience 
in this area at all? I am still working with Beta 13 since that is
what is in the field for us, but I suspect this has not changed
in the few betas since. I didnt find any mention of this in the 
archives so suspect this is still occurring with even the latest
version.
So any thoughts would be appreciated.
	Thanx,
	Roger Hanke  

---------------------------------------------------------------
 Roger A. Hanke         AT&T Web Site Services
 (732)576-5738          [email-masked]
 FAX (732)576-6041      http://lynxhub.att.com/~rah/
---------------------------------------------------------------