RFC 479

Use of FTP by the NIC Journal

๐Ÿ“… published March 1973, from ietf

Use of FTP by the NIC Journal ๐Ÿ’–

Bestie, okay, this is an RFC from March 8, 1973, written by James E. White (JEW) at SRI-ARC, and it's tagged NIC 14948. It's basically a little brainstorm doc about how the NIC's Journal system should send and receive mail over FTP. No obsoletes or updates here, it's just vibes and proposals. ๐Ÿงš

At the Network Mail Meeting (see -- 14317,) the NIC outlined its requirements for implementing FTP Journal delivery and submission. ๐ŸŽ€

We always thought both of those services should rely on the File Transfer Protocol's MLFL command. ๐Ÿฆ‹

Before the meeting, we'd pictured the submission case like this: the user would sneak whatever parameters the NIC needed (like "yes, journalize this mail," or a list of NIC idents) into the USERNAME field of the MLFL command. It would be totally invisible to their FTP user process, and SRI-ARC's FTP server would parse that "user name" for the parameters, then internally call the Journal System with them and the mail text. ๐Ÿซถ

Our goal was to get the services we wanted while keeping all the software changes inside our own system. The big thing was avoiding any need to modify user FTP processes or the File Transfer Protocol itself. ๐Ÿ’…

Everyone at the meeting agreed it was better to modify FTP so all the required parameters could be declared out loud, instead of hiding them inside what was pretending to be a simple user name. ๐Ÿ‘‘

So this RFC lists the new FTP commands the group agreed should exist for mail submission and delivery, as the NIC sees them. We did some massaging after thinking about it for a while, so this is really what we'd like to see added to the File Transfer Protocol, following the ideas from the meeting, plus a short note on how the NIC would use them. โœจ

Some of these commands only make sense when they're sent TO the NIC's FTP server process, and others only make sense when they're sent BY the NIC's FTP user process. That's because right now only the NIC plans to offer mail forwarding and recording (the Journal System) as a service. Other hosts might want something similar later, and then these special commands will get wider use. ๐ŸŒˆ

Conceptually, all of these commands are sub-commands of a new MAIL command. For now, we're not nailing down where they sit in the FTP dialogue or their exact syntax. We're just describing them conceptually. The details of syntax and use are left to the FTP Interest Group, which meets 16-MAR-73 in Boston (see -- 14333,). ๐Ÿงš

The new sub-commands are below. Bracketed fields are optional, and a slash means a choice between two or more alternatives. ๐Ÿ“

(1) TITLE title

TITLE title

Here, 'title' is a character string that describes the contents of the mail for the human reader. ๐Ÿ“

(2) USER-READABLE-AUTHOR author

USER-READABLE-AUTHOR author

Here, 'author' identifies the mail's author to the human reader. It can be a nickname, or any other identifier the human sender decides to sign their mail with. ๐Ÿ™ˆ

(3) PROCESS-READABLE-AUTHOR last, first initial (ident)

PROCESS-READABLE-AUTHOR last, first initial (ident)

This one makes the author's name (and ident, if known) available to the server in a form it has a shot at parsing, if needed. ๐Ÿ”ฅ

This sub-command matters a lot to the NIC, because it gives them a way to find the author in the NIC's Ident files. ๐ŸŒธ

(4) FOR-ACKNOWLEDGMENT-AUTHOR username hostname

FOR-ACKNOWLEDGMENT-AUTHOR username hostname

Here, 'username' and 'hostname' define the sender in a way that's useful for acknowledging delivery (of forwarded mail). ๐Ÿ’œ

The acknowledgment will itself be a piece of mail, sent from the NIC to 'username' at 'hostname'. ๐Ÿ“ฌ

The NIC's unique role here is the big deal. Normally, the server accepting the mail would count as acknowledging delivery. But with Journal submission, the NIC is only acting as a forwarding agent. So the sender handing mail to SRI-ARC isn't really delivery at all, just submission. Final delivery happens when the NIC sends a copy of the mail to each of its addressees, and that's why this special kind of acknowledgment is needed. ๐Ÿ˜ญ

Note that this sub-command and the previous two are different ways of writing the sender's name. ๐ŸŽ€

(5) ACKNOWLEDGMENT-DETAILS

ACKNOWLEDGMENT-DETAILS
   DEFAULT / (COMPLETION / FAILURE / PERIODIC interval
              GIVEUP time
              TERSE / VERBOSE)

The first parameter (ignoring 'DEFAULT' for now) decides when the sender gets an acknowledgment:

-- upon completion, whether delivery was successful or timed
   out for one or more addressees,

-- only if delivery failed for one or more addressees, or

-- periodically until delivery is complete.

The second parameter sets the time after which delivery attempts stop. โฐ

The third parameter sets how detailed the acknowledgment is. The exact meaning of "detailed" is still unspecified, so this one's a little mysterious. ๐Ÿ”ฎ

A verbose acknowledgment might, in the case of delivery
failure, include a copy of the text of the message, or, for
mail sent by citation (see item 10 below), a pointer to it.

If DEFAULT is specified (in which case FOR-ACKNOWLEDGMENT-AUTHOR should not be specified, and 'DEFAULT' applies to it too), the NIC will pull a set of default values from its Ident files. That only works if a PROCESS-READABLE-AUTHOR sub-command is present and the sender's NIC Ident can be figured out from it. If not, the NIC falls back to a set of system defaults that are still unspecified. ๐Ÿง

The NIC's Ident files will be modified to contain, for each
user known to it, the kind of acknowledgment the user
usually wants (i.e., his default) and the username and
hostname that define the destination for such
acknowledgments.  These last two pieces of information will
also be used in delivering mail to the user if he has
requested Network delivery (as opposed to Online (at the
NIC) or hardcopy).

(6) ADDRESSEES-ARE name1, name2, ...

ADDRESSEES-ARE name1, name2, ...

This sub-command says who the recipients are. Generally, 'namei' is the name the recipient goes by locally, inside the server's system. ๐Ÿฆ‹

The NIC's server FTP process will accept 'namei' as any of these:

-- a NIC Ident (designating either an individual or a
   group),

-- username hostname, where 'username' is the name by which
   the addressee is known at host 'hostname', or

-- lastname, firstname initial , which the NIC will attempt
   to parse and then locate in its Ident files.

Multiple addressees are officially allowed by the Protocol now, but what 'useri' means to the server is left up to each server. ๐ŸŒŸ

(7) MAIL-CLASS

MAIL-CLASS
   BULK/POSTCARD
   SPECIAL-DELIVERY/FIRST-CLASS

The first parameter says something about the size of the mail. The server may use it to decide how and where to store the mail for the addressee. ๐Ÿ“ฆ

The second parameter says something about how important the mail is. The server may choose to speed up delivery (for example, interrupting the user if they're logged in) for SPECIAL-DELIVERY mail. ๐Ÿšจ

(8) RECORD [identifier] [miscellaneous]

RECORD [identifier] [miscellaneous]

This is the command that tells the server to record the mail. 'Identifier' lets the sender specify a pre-assigned identifier if they have one. If this field isn't there, the server assigns one. ๐Ÿชช

'Miscellaneous' holds any server-dependent parameters the server may require or allow. ๐Ÿงฉ

When this command is sent to the NIC, it's taken as a command to Journalize the mail, and 'identifier' may be:

NIC number [RFC number]

The NIC may allow 'miscellaneous' to contain things like comments, keywords, and so on. ๐Ÿ’…

(9) PRESERVED-AT hostname AS identifier

PRESERVED-AT hostname AS identifier

This one isn't really a command. It's a statement of fact that the FTP server will presumably pass along to the user, the same way it does with info from something like the TITLE command. ๐Ÿ“œ

It implies that a copy of this mail has been preserved at 'hostname' and can be retrieved, on a long-term basis, using 'identifier'. In general, 'identifier' might be a pathname. ๐Ÿ—‚๏ธ

When the NIC delivers Journal articles through the Net, it'll include this sub-command. 'Identifier' will be a NIC number, and 'hostname' will of course be 'SRI-ARC' or 'NIC'. ๐Ÿซง

(10) TEXT text / FILE pathname hostname

TEXT text
FILE pathname hostname

One of these two sub-commands is used to actually send the mail. The first sends the text of the mail. The second sends a pointer to it, which leaves it up to the FTP server (or its user) whether to fetch the mail text from the specified host. ๐Ÿš€

The NIC will send mail written inside NLS with 'Submit File' using the FILE command, and mail written with 'Submit Message' using the TEXT command. For mail entering the SRI-ARC system through its FTP server process, the NIC will use the same command for delivery that was used for submission. ๐ŸŽ‰


[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by Hannes Faestermann 12/97 ]

Thanks for reading, bestie. You're literally the best. ๐ŸŒˆ๐Ÿ’–

๐Ÿ“ฆ where this page comes from