Document: FSC-0067 Version: 001 Date: 02-Aug-1992 A Proposal For Sensible New Kludge Lines ======================================== Mark Kimes FidoNet 1:380/16 Status of this document: This FSC suggests a proposed protocol for the FidoNet(r) community, and requests discussion and suggestions for improvements. Distribution of this document is unlimited. Fido and FidoNet are registered marks of Tom Jennings and Fido Software. MSGTO: This kludge line, together with a MSGID: kludge (see FTS-0009), would provide full address specs for both the originating and destination nodes of a netmail message (MSGTO should _not_ be used in echo mail). Its format is simple: ^aMSGTO: MSGTO (coupled with MSGID) would eliminate the need for the INTL, FMPT, TOPT and DOMAIN kludges. A MSGTO kludge line should go just below any MSGID and REPLY kludge lines. See also discussion on FTN address representation below. ASSOC: ASSOC introduces a filename that should follow the message (is associated with the message). Format is, again, simple: ^aASSOC: A message tosser would forward the file along with the message, if so configured for the AREA: of the message (assuming echomail) or other criteria. Paths would probably not be useful in the field and should not normally be included or used if found to be present. ASSOC kludge lines should go below any addressing kludge lines. SPTH: Clint Adams described this as a "5D, sensible order, top-of-the-message path" line. I like that. Stands for "Sticky PaTH." SPTH displaces the current PATH line. Instead of being located at the bottom of the message, it's located at the top of the message. Instead of being 2-D (net/node), it's 5-D (domain#zone:net/node.point). It's sticky like a normal PATH line so that the size doesn't get outrageous. Because it's 5-D instead of 2-D it can be used for dupe checking (which a normal 2-D PATH line cannot; is 1/1 Fidonet#1:1/1 or Dufusnet#2:1/1?). Because it's 5-D we would no longer have to go through hideous gyrations when gating echo mail from one domain to another; just let it flow. Using SPTH it becomes trivial to cut SEEN-BYs down to Tiny Seenbys (only required for backward compatibility with old mail processors that barf without some SEEN-BYs, and to protect fully enclosed polygon topology). SPTH is to be used only in echo mail. It's format is basically: ^aSPTH:
...
SPTH lines, like PATH lines, contain only addresses of mail processors that actually processed the message. SPTH lines are specifically not sorted and are "sticky" so that they carry the least amount of information that will convey a full address when coupled with preceding addresses. For example, if 1:380/16.0@Fidonet, 1:380/16.1@Fidonet, 1:380/100.0@Fidonet, 1:396/100.0@Fidonet, 2:4177/1.0@Fidonet and 2:4177/1.0@Othernet processed a message, in that order, you'd have: ^aSPTH: Fidonet#1:380/16 .1 100 :396 #2:4177/1 Othernet Note that point 0 is assumed if missing and that punctuation *precedes* an address element except in the case of a domain change (and when the net element is the first change -- this dictates that domain names begin with an alphabetical character). This compacts SPTH entries as much as possible for most typical topologies. When an SPTH-aware processor forwards a message containing (a) PATH line(s) but no SPTH line(s), it should create a new SPTH line (or lines as required; SPTH lines shouldn't get longer than 80 characters, including terminating carriage return) containing "fleshed-out" addresses from the PATH line(s), then add itself. If this is done at all zone/domain gates, the SPTH will always be current even if intermediate nodes are not SPTH-aware. In the event an SPTH-aware processor receives a message containing both SPTH line(s) and PATH line(s), it should concatenate the "fleshed-out" addresses from the PATH line(s) to the SPTH line(s), then add itself. The PATH line(s) may then be discarded from the message. When exporting new messages, only a SPTH line should be created; no PATH line should be generated. Tiny Seenbys should be added at the end of the message for the reasons noted above. Note that all the kludge lines above are in actual use and have been for some time; they do work, and work as presented. Code is available on request, but implementation is trivial (only SPTH takes any real work at all). FTN address representation: ========================== The current convention for representing an FTN address has become: zone:net/node[.point]@domain I propose we change this to: domain#zone:net/node[.point] Why? It's all in one order, highest to lowest; it's consistent. "@" is used, in the former method, in a way rather opposed to normal usage in network addressing. While we're on the subject of domains, let's knock off using "fidonet.org" in FTN addresses. That only means something in Internet. It's going to gum up the works for FTN domains, where we'll want things like "fidonet.eu" to mean Fidonet Europe some day. I'm done now. Mark Kimes Fidonet#1:380/16 (318)222-3455 data