Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jun 1999 12:33:04 +1000
From:      Gregory Bond <gnb@itga.com.au>
To:        mwlucas@exceptionet.com
Cc:        boing@kusanagi.boing.com (Geff Hanoian), freebsd-stable@FreeBSD.ORG
Subject:   Re: ftpd: some clients can list, some cannot 
Message-ID:  <199906250233.MAA13250@lightning.itga.com.au>
In-Reply-To: Your message of Thu, 24 Jun 1999 22:05:55 -0400.

next in thread | raw e-mail | index | archive | help
> I tried both ls and dir.  Neither worked.

Perhaps I wasn't clear enough.

There were some situations where the Solaris ftpd would need to use an external
ls, even if built with the internal ls.  One of those situations was asking for
'ls -l' or even (IIRC) "dir *.c".  Some ftp clients will secretly change an
"ls" or "dir" request into something like "ls -l", forcing the ftpd to use the
external ls without the user really knowing or doing anything unusual.  

The short answer is that ftpd probably needs the external ls, even if compiled
with the internal ls.  If your external ls is not set up right in the chroot'd 
environment (and it was a PITA to get right under Solaris, fsking shared 
libraries for -everything-) then this could be the cause of the symptoms you 
are seeing.

The way I diagnosed the problem under Solaris was to connect to the ftpd, then 
once the user was logged in, attach to the ftpd process with "truss -f -p <pid>
" so that it also trussed forked child processes.  Then I ran "dir" from the 
client and looked at what ftpd and its attempted fork of ls was doing.  

[Ain't truss/strace/etc just the koolest thing?!?]

I don't know if FreeBSD's truss is clever enough to follow forks, you might
need to use ktrace instead.





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906250233.MAA13250>