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>