    **********************************************************************
    FTSC                             FIDONET TECHNICAL STANDARDS COMMITTEE
    **********************************************************************

    Publication:    FSP-1008
    Revision:       2
    Title:          New control lines for forwarded messages
    Author:         Michael Hohner, 2:2490/2520.17
    Revision Date:  29 December 1997
    Expiry Date:    29 December 1999
    ----------------------------------------------------------------------
    Contents:
                    1. Specifications
                    2. Usage
                    3. Compatiblity
                    4. Known implementations
    ----------------------------------------------------------------------

    Status of this document
    -----------------------

      This document is a Fidonet Standards Proposal (FSP).

      This document specifies an optional Fidonet standard protocol for
      the Fidonet community, and requests discussion and suggestions for
      improvements.

      This document is released to the public domain, and may be used,
      copied or modified for any purpose whatever.

      This revision is an update to FRL-0092.001. The basic specifications
      are unchanged.

    Abstract
    --------

      Most fidonet message editors offer a "forward" function. Using this
      function a user A ("forwarder") can sort of "redirect" a message
      from user B ("author") to another user C ("final recipient"), maybe
      because the forwarder is not the correct recipient, or because the
      final recipient is a better person to answer the message. The name
      and address of the author 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 wants to reply to the
      author of the forwarded message. The forward contains the forwarder
      as the sender. So the final recipient must insert the name and
      address of the author manually, using the information contained in
      the message text. The message editor of the final recipient 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 7 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.

    1. 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 (SOH) followed by the control line name followed
      by whitespace followed by the control line's content followed by
      ASCII 13 (CR).

      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.

    2. 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, by user
      preference or a 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> ...
               ...

    3. Compatiblity
    ---------------

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

    4. Known implementations
    ------------------------

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

      Also implemented in Odinn Sorensens Fidonet editor "GoldED"
      (versions 3.00.Alpha5 and newer).

    A. Contacting the author
    ------------------------

      The author may be contacted electronically at the following
      addresses:

      Fidonet:    2:2490/2520.17
      Internet:   miho@osn.de

      Suggestions, comments and corrections are always welcome.

    B. History
    ----------

      Rev.1, 19960912: First release as FSC-0092.001.
      Rev.2, 19971229: Submitted as FSP.

    **********************************************************************

Go Back