[Zope] ZServerFTP

rushing@nightmare.com rushing@nightmare.com
Wed, 3 Mar 1999 17:03:59 -0800 (PST)


Amos Latteier writes:
 > At 12:27 AM 2/27/99 -0800, you wrote:
 > >HomeSite's FTP mode is apparently trying to use the FTP commands "MODE S"
 > >and "STRU F" to which ZServer is responding with a "500 '%s': command not
 > >understood." % command and then HomeSite bails out and never fetches any
 > >directory listings or anything.
 > >
 > >Is there any intent to support these commands?  It sure would be nice.
 > 
 > Right now we are trying not to add a lot of FTP commands to ZServer that
 > Medusa's FTP server doesn't already support, and it seems that Medusa
 > doesn't support these right now.
 > 
 > I'll look into these commands and if they are easy to implement and make
 > sense for Zope, I'll try. Of course, patches are always welcome.

In all the world you might find 4 machines still plugged in that
support 'record' or 'page' structure.  The default is 'file', which is
what that command is trying to do.

Add these two methods to ftp_server.py::ftp_channel

    def cmd_stru (self, line):
        'obsolete - set file transfer structure'
        if line[1] in 'fF':
            # f == 'file'
            self.respond ('200 STRU F Ok')
        else:
            self.respond ('504 Unimplemented STRU type')

    def cmd_mode (self, line):
        'obsolete - set file transfer mode'
        if line[1] in 'sS':
            # f == 'file'
            self.respond ('200 MODE S Ok')
        else:
            self.respond ('502 Unimplemented MODE type')


And that should do the trick.

[these changes have just been checked into my CVS repository, too]

-Sam