This is only a rough draft - Megan 04/20/92

Minutes of the FTP Extensions BOF at IETF 23
Jordan Brown, 16 April 1992

The mail traffic and discussion at the meeting basically involved people's
wish lists for the protocol.  Topics included:

       . passing "auxiliary" information about files - dates, etc.
       . automatic authentication
       . encryption
       . on-the-fly compression
       . checkpointing/restart
       . language selection for messages
       . message digest calculation
       . atomic store (FTP your nuclear waste to...)
       . various protocol cleanups/clarifications
       . more sophisticated conversions - character set, app, etc.
       . should write both a spec and an "implementor's guide"
       . time conversion issues - time zones, DST, etc.

There was consensus that a Working Group should be formed, and when a
deafening silence resulted from a call for volunteers to chair it, I
agreed to.  (Volunteers are still solicited!)  Russ Hobby offered to
host the mailing list and archives.  The initial mailing list is the
BOF attendees.

Mailing list:      [email protected]
Requests:          [email protected]
Archive:           ucdavis.edu: /archive/ftpext-archive

No date was set for the next meeting.

Detailed comments:

passing "auxiliary" information about files - dates, etc.
       The goal would be to build an extensible mechanism allowing a
       client and server to pass "auxiliary" information about files.
       Extended versions of LIST, RETR, STOR, etc would pass this
       information, and a new command would be added to change it.
       Matching client and server should be able to pass all of the
       information their native system supports; non-matching pairs
       would pass as much as they have in common.  A major open issue
       is whether the data should be passed in binary as type-length-value
       or in some printable-ASCII form.
automatic authentication
       There are two basic ways in which authentication data might be
       passed at present - using FTP commands or, relaxing the spec
       a bit, using TELNET options on the control connection.  It was
       suggested that authentication and encryption are big complex
       issues on their own, and that they be split off from the rest
       of the items on the wish lists.
encryption
       There was interest in encryption of both the data and the
       control channel.  Encryption is tightly tied to authentication,
       and the two should probably be treated as a unit.
on-the-fly compression
       Some servers already implement on-the-fly compression triggered
       by variations in the file name.  The patent status of LZW is an
       issue which needs to be researched and resolved.
checkpointing/restart
       Some attendees sought official blessing for Rick Adams' stream
       mode restart capability (present in some BSD clients and
       servers).  It was noted that it is unclear whether or not this
       mechanism truly works for NVT-ASCII mode transfers.  It was clear
       that the restart marker for this mechanism should be measured in
       data-connection octets.  Implementing such a restart mechanism
       might be tricky on systems where the local<->network translation
       is not strictly invertible.
language selection for messages
       Seems pretty self-explanatory; obviously no system will support
       all languages, but support for multiple languages seems
       reasonable.  This issue will come up in other contexts (SMTP,
       etc); perhaps there should be a more global framework.
message digest calculation
       The goal is to allow automatic mirroring of archives without
       having to transfer all of the data.
atomic store
       The disposition of the file resulting from a failing STOR is
       unspecified; a new command would require that the file be
       deleted if the transfer was not completed successfully.
various protocol cleanups/clarifications
       RFC 1127 lists several response code cleanups and
       clarifications.  Experience with newer servers which make more
       extensive use of multiline responses indicates that not all
       clients can handle them.  The syntax for multiline responses
       is apparently not clear enough; there has been confusion.
       Note that FTP multiline responses are more liberal than SMTP
       multiline responses.
more sophisticated conversions - character set, app, etc.
       An extended version of NVT-ASCII mode would allow for
       transmission of non-USASCII characters; a mechanism would be
       needed to specify what character set is in use and what
       translations should be applied.  This issue has already been
       addressed in Kermit and the lessons learned there should be
       applied.  A still more sophisticated mechanism to automatically
       do application-level transformation (eg Microsoft Word to TeX)
       would certainly be useful, but is obviously a very complex
       topic.
should write both a spec and an "implementor's guide"
       It was mentioned that FTP has numerous common pitfalls, and an
       informational document pointing out these pitfalls and suggesting
       implementation schemes would help implementors and improve
       interoperability.
time conversion issues - time zones, DST, etc.
       Once FTP is passing around time information (file modification
       times, mostly), it becomes important to know what the times
       really mean, so that meaningful comparisons and conversions can
       be done.  One obvious answer is to require that all times be
       expressed in GMT, but that is awkward for the large (and ever-
       increasing) number of machines which don't know what time zone
       they're in.  One scheme for dealing with this would be to
       provide a command which gives the server's current time with
       respect to whatever TZ it finds convenient; the client can
       compare this with its current time to determine the offset to be
       applied to other times.  This requires very loosely synchronized
       clocks - less than 15 minutes difference.  It's not clear
       whether DST confuses this issue - a file stored under DST and
       later retrieved under ST might have its times mistranslated.
       (Portable computers make time issues a nightmare.)