RFC 479
Use of FTP by the NIC Journal
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
- ietf: rfc479 1973-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms