     | Document: FSC-0092
     | Version:  001
     | Date:     September 12th 1996
     | Author:   Michael Hohner

                                     New control lines
                                  for forwarded messages

                                            by
                                      Michael Hohner
                                      2:2490/2520.17

                                      September 1996

       Status of this document:

             This document proposes a standard for the Fidonet(tm) community
             and for other networks using Fido technology. It may be freely
             distributed if unchanged.

             You can reach the author at one of the addresses listed at the end
             of the document.

       Abstract:

             Most fidonet message editors offer a "forward" function. Using
             this function a user A can sort of "redirect" a message from user B
             to another user C, maybe because A is not the correct recipient or
             because C is a better person to answer the message. The name and
             address of B are usually included in the forward in free-text format.
             The message text is included in non-quoted format.

             A problem arises when the final recipient C wants to reply to sender B
             of the forwarded message. The forward contains the intermediate user A
             as the sender. So user C must insert the name and address of B
             manually, using the information contained in the message text. The
             message editor of C can't do this automatically because of the
             free-text format. The editor will also use incorrect quote initials,
             which is at least irritating.

             This document introduces 6 new control lines which contain the header
             information of the original message. With these control lines the
             message editor can use the original header information automatically.

       Specifications:

             There are 7 new control lines: FWDFROM, FWDTO, FWDORIG, FWDDEST,
             FWDSUBJ, FWDAREA, FWDMSGID. As all control lines they start with an
             ASCII 01 character followed by the control line name followed by
             whitespace followed by the control line's content followed by ASCII 13.

             Please note that all these control lines do not have a colon (like the
             control lines in FTS-0001). This would be just waste of space.

             FWDFROM
             -------

             This control line contains the name of the original sender as found in
             the FROM field of the original message. Leading and trailing
             whitespace should be removed. This control line should be omitted
             altogether if the FROM field is empty.

             FWDTO
             -----

             This control line contains the name of the original recipient as found
             in the TO field of the original message. Leading and trailing
             whitespace should be removed. This control line should be omitted
             altogether if the TO field is empty.

             FWDORIG
             -------

             This control line contains the address of the original sender as found
             in the ORIG field of the original message. The usual 5D ASCII notation
             (zone:net/node.point@domain) should be used. This control line should
             be omitted altogether if the address is not known.

             FWDDEST
             -------

             This control line contains the address of the original recipient as
             found in the DEST field of the original message. The usual 5D ASCII
             notation (zone:net/node.point@domain) should be used. This control line
             should be omitted altogether if the address is not known or unsure
             (as it is the case with forwarded echomail messages).

             FWDSUBJ
             -------

             This control line contains the subject line of the original message.
             This control line should be omitted altogether if the SUBJ field is
             empty.
             This control line should by made optional for security reasons. Echo
             manager passwords are too easily revealed with it.

             FWDAREA
             -------

             This control line contains the name of the echomail area where the
             original message was forwarded from. It should be omitted altogether
             if the original message was not forwarded from an echomail area.

             FWDMSGID
             --------

             This control line contains the MSGID control line of the original
             message. It should be omitted altogether if a MSGID control line is not
             present in the original message.

       Usage:

             When the "forward" function of the message editor is invoked, the
             editor program should generate the proposed control lines from the
             header of the original message. If the original message already was
             a forwarded one (indicated by the presence of at least a FWDORIG
             control line), the editor should keep all FWD* control lines and should
             not add any FWD* control lines. This preserves the FWD* control lines
             of the first forwarder, containing the header data of the author of
             the original message.

             The editor should not generate FWD* control lines, if the message isn't
             to be forwarded. A mail forwarding robot may also generate these
             control lines, if it not just readdresses the message.

             When the "reply" function of the editor is invoked the program should
             use the control lines' contents instead of the header information. The
             control lines should not be included in the reply.

             Since it may not be immediately clear whether the user wants to reply
             to the forwarder or to the original sender, the editor should offer a
             means to ignore the proposed control lines and start a "normal" reply
             instead, e.g. by two distinct functions, user preference or dialog.

             Pseudo code:

             forwarding_message:
                if is_forwarded_message then
                   don't change FWD* control lines
                else
                   add FWD* control lines

             quoting_message:
                if is_forwarded_message then
                   if reply_to_forwarder then
                      use header data (normal quoting)
                   else
                      use FWD* control lines
                   remove FWD* control lines from reply
                else
                   use header data (normal quoting)

             other_functions:
                remove/ignore FWD* control lines

       Example:

             Message from Joe User to my boss node:

                From: Joe User 1:234/567
                To:   Harry Herrmannsdoerfer 2:2490/2520
                Subj: Some questions
                @MSGID: 1:234/567 12345678
                Text: Hello Harry!
                      ...

             Harry forwards the message to me:

                From: Harry Herrmannsdoerfer 2:2490/2520
                To:   Michael Hohner 2:2490/2520.17
                Subj: Joe's message
                @FWDFROM Joe User
                @FWDORIG 1:234/567
                @FWDTO   Harry Herrmannsdoerfer
                @FWDDEST 2:2490/2520
                @FWDSUBJ Some questions
                @FWDMSGID 1:234/567 12345678
                Text: Hi Michael!
                      ...

             My answer using the new control lines:

                From: Michael Hohner 2:2490/2520.17
                To:   Joe User 1:234/567
                Subj: Some questions
                @REPLY: 1:234/567 12345678
                Text: Hi Joe!

                      JU> ...
                      ...

       Compatiblity:

             Editor programs which are not prepared for the proposed control lines
             usually just ignore them and remove them from a reply. A reply goes
             to the forwarder. Nothing gained and nothing lost.

       Implementations:

             This proposal is implemented in the author's Fidonet editor
             "FleetStreet for OS/2" (versions 1.17 and above).

       Contacting the author:

             The author may be contacted electronically at the following addresses:

             Fidonet:    2:2490/2520.17
             Internet:   miho@osn.de
             CompuServe: 100425,1754

             Suggestions, comments and corrections are always welcome.

Go Back