braden@VENERA.ISI.EDU (05/11/89)
Without detracting from the significant effort that Rick has put into improving the BSD ftp client and server programs, I want to clarify the situation on FTP restart in his new versions. The standard FTP restart mechanism defined in RFC-959 requires block mode, and is NOT implemented in the new ftpd. Instead, Rick has defined and implemented a stream-mode restart mechanism, that is not defined in either RFC-959 or the Host Requirements Draft. It is possible that this "stream mode restart" will be added to a future version of the FTP specification, however it is not currently a part of any standard. Bob Braden Annette DeSchon
rick@UUNET.UU.NET (Rick Adams) (05/11/89)
The standard FTP restart mechanism defined in RFC-959 requires block mode, and is NOT implemented in the new ftpd. Instead, Rick has defined and implemented a stream-mode restart mechanism, that is not defined in either RFC-959 or the Host Requirements Draft. It is possible that this "stream mode restart" will be added to a future version of the FTP specification, however it is not currently a part of any standard. Those waiting for block mode or block mode restart in ftpd are advised not to hold their breath. (The "standard" FTP restart mechanism is clearly inadequate.) In the mean time, restart works fine in stream mode for both image and ascii. I expect it to be running on most of the major unix based sites providing anonymous ftp access. You can think of it as another non-standard service that everyone provides (e.g. rlogin, rsh, rcp) --rick (Following are my proposed changes to rfc959. They have been submitted as suggested changes, but have not been officially approved in any way.) Change section 3.5 ERROR RECOVERY AND RESTART From: The restart procedure is defined only for the block and compressed mode of data transfer. It requires the sender... To: The restart procedure is defined only for the block, compressed and stream mode of data transfer. Block and compressed mode require the sender... Insert into section 3.5 ERROR RECOVERY AND RESTART STREAM MODE transfers with FILE STRUcture may be restarted even though no restart marker has been transfered in addition to the data itself. This is done by using the SIZE command followed by the RESTART (REST) command. When using TYPE ASCII or IMAGE, the SIZE command will return the number of bytes that would actually be transferred if the file were to be sent between the two systems. I.e. with type IMAGE, the SIZE normally would be the number of octets in the file. With type ASCII, the SIZE would be the number of characters in the file INCLUDING any characters that would be inserted during the CR-LF expansion. Insert into Section 4.1.3 FTP Service Commands MODIFCATION TIME (MDTM) This command returns the time the file named in its argument field was last modified. The time is returned in ISO 3307 "Representation of the Time of Day" format. This format is YYYYMMDDHHmmSS or YYYYMMDDHHmmSS.xxx, where YYYY is the year MM is the month (01-12) DD is the day of the month (01-31) HH is the hour of the day (00-23) mm is the minute of the hour (00-59) SS is the second of the hour (00-59) xxx if present, is a fractional second and may be any length Time is expressed in UTC (GMT), not local time. SIZE OF FILE (SIZE) This command returns the size of the file named in its argument field. The value returned is in a format suitable for use with the RESTART (REST) command. This format will change depending on the current MODE and TYPE of the connection. E.g. For mode stream and type image, it would be a count of the number of octets that would be transferred with the RETREIVE (RETR) command. This command is normally used in conjunction with the RESTART (REST) command.
nelson@sun.soe.clarkson.edu (Russ Nelson) (05/15/89)
In article <8905102222.AA17256@uunet.UU.NET> rick@UUNET.UU.NET (Rick Adams) writes:
Those waiting for block mode or block mode restart in ftpd are
advised not to hold their breath. (The "standard" FTP restart mechanism
is clearly inadequate.)
You can start breathing again. I have such a beast, hacked into the
BSD4.3 Tahoe ftpd. I looked at hacking block mode into the client,
but the client's code is a real mess.
Why bother if I don't have a client? Because I have convinced Phil
Karn's TCP/IP client and server to do block mode restart.
Send mail if you're insterested (as my daughter pronounces it :-).
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
I'm a right-to-lifer -- everyone has a right to earn a living sufficient to
feed himself and his family.