Document: FSC-0043 Version: 002 Date: 30-Aug-90 Some Hints on Recognizing Control Lines in FidoNet(r) Message Text FSC-0043 1990 August 30 Status of this document: This FSC contains information of value to the general FidoNet(r) community. Distribution of this document is subject to the restrictions listed in the copyright paragraph below. Fido and FidoNet are registered marks of Tom Jennings and Fido Software. Copyright 1989-90, Randy Bush. All rights reserved. A right to distribute only without modification and only at no charge is granted. Under no circumstances is this document to be reproduced or distributed as part of or packaged with any product or other sales transaction for which any fee is charged. Any and all other reproduction or excerpting requires the explicit written consent of the author. Implementors have had problems interpreting message text, both in netmail and echomail. While the clues are usually to be found in some doucment or another, there seems to be a need to collect hints for some confusing aspects. This informal documents attempts to address that need. Filter out all s and 'soft' s and s. They are surplus and will only confuse the rest of your code. All control lines have their sentinels at the beginning of a line. [ Note that an * Origin: line has a leading significant blank. ] Do not process quoted control lines or control sentinels preceeded by blanks, tabs, ... If you become confused, then bounce or sidetrack the message to a hold area for human intervention. Don't try to rescue the situation. None will notice when you succeed, and many will flame whan you fail. A message is either netmail or echomail. I.e. no ^aINTL, ^aFMPT, or ^aTOPT controls should be found or generated when there is an AREA: line or when in an echo area. Thus, echomail can not be routed across zones, but this is not a big loss. Private netmail replies to echomail are netmail, i.e. may have ^aINTL etc., and may not have AREA: line, SEEN-BY:, or ^aPATH: lines. They may have a tear line and an origin line. ^aEID lines are as in Opus 1.03. Other forms are not to be generated, and, if found, may be safely disgarded. An AREA: line must be the first non ^a line in the text. The echomail control info is a four-part package at the end of the text. It should not be, but occasionally is, followed by one or more ^a control lines. The four parts of an echomail trailer are: o a tear line, "---" and some very short text identifying the original echo processor. Eg. --- Brag 3.14 * note that some internetworking gateware may place a # Origin: line between the tear line and the * Origin: line to indicate the true other network address, whatver that may be. The content of a # Origin: line is free to be specified by the other network(s). An example might be as follows: # Origin: Political Statement (FishNet:914@201) o one * Origin: line, being " * Origin: " ends in "(" [Z:] N "/" N [.P] ")" of FidoNet node of origin or the gate from FidoNet to another network * Origin: (1:105/301) o as many SEEN-BY: lines as necessary, each being "SEEN-BY:" followed by one or more " " "/" sequences. Note that SEEN-BY: lines do not end in . The net/node numbers in SEEN-BY: lines are sorted net major. Within a single SEEN-BY: line, net numbers are sticky, so the N/N is usually abbreviated to N, Eg. SEEN-BY: 105/6 10 15 16 27 41 42 300 301 141/42 491 o as many ^aPATH: lines as necessary, each being "PATH:" followed by one or more " " "/" sequences. The N/N in ^aPATH: lines are specifically not sorted. Net numbers are also sticky in ^aPATH: lines, eg. PATH: 105/301 6 42 Remember that traffic costs much money, and do not create text unnecessary to FidoNet as a whole. I did not invent this, so don't blame me. I'm just trying to write it down. And, lastly, try not to be inventive. While the free-form syntax of this embedded stuff does provide fleibility and power, it also leaves a lot of room to make disgusting messes. Compromise, cooperation, and a minimizalist touch are essential. Randy Bush FidoNet: 1:105/6 1:105/42 Internet: randy@psg.com randy@m2xenix.uucp uucp: { uunet, qiclab, bucket }!m2xenix!randy --- Fido and FidoNet are registered marks of Tom Jennings and Fido Software.