Document: FSC-0052
Version:  001
Date:     23-Sep-90


                    A proposal for making the PATH zone aware

                               Gerard van der Land
                                FidoNet 2:283/1.5

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

           The PATH line can be a more accurate source of  information than
     the SEEN-BY  line to determine  if a message  is a duplicate.  TosScan
     with Circular  PATH Protection  (CPP) enabled  will consider  messages
     that already have your address in  them as duplicates. This works fine
     in  conferences  that  are  distributed   within  one  zone,  but   in
     conferences spread across zones it can cause problems.

           Unlike SEEN-BY lines,  PATH lines are  not stripped at the  zone
     gate,  because  they have  a very  important  purpose: to  be  able to
     determine the used echomail topology and troubleshooting, like finding
     the cause of duplicate messages. Unfortunately this also means that if
     a message is entered  at 1:283/1 and my boss would  be running TosScan
     with CPP  enabled, the  message would  be considered  as a  duplicate,
     because "283/1" is already in the PATH lines.

           If  such  messages are  not deleted  but  stored in  a duplicate
     directory, you will of course notice this happen and  disable CPP, but
     you can't know  if messages never reach your  system because they were
     deleted for the same reason by another node that had CPP enabled.

            That's why I have the following  proposal. If a message travels
     from one zone to another, the zone gateway should move all information
     in the current PATH lines to kludge lines with the following format:

           ^aZPTH: <origin zone>:<old path info>

           The receiving system in the destination  zone creates a new PATH
     with his address in it.

           There is no need  to support or allow 4D addresses  in the ZPTH,
     since it is only supplements the existing PATH lines.

     Simple sample

           A message originating at 1:154/40 arrives at 1:260/340...

     ^aPATH: 154/40 970 9 157/200 265/7 13/13 260/340

           ...and is sent to Europe. This is how I would see it:

     ^aZPTH: 1:154/40 970 9 157/200 265/7 13/13 260/340
     ^aPATH: 310/11 507/1 512/0 280/0 283/1

           Now suppose that  283/1 would gate it  to zone 3, it  would look
     like this when it gets there:

     ^aZPTH: 1:154/40 970 9 157/200 265/7 13/13 260/340
     ^aZPTH: 2:310/11 507/1 512/0 280/0 283/1

           The receiving node  in zone 3 now  creates a new PATH  line with
     his address in it.


       1) It enables  Circular PATH  Protection (CPP)  on conferences  that
          travel  across  zones  without  the  risk  of messages  that  are
          erroneous considered as duplicates and deleted.

       2) A  zone gate can  optionally parse the  ZPTH lines to  see if his
          zone or the destination  zone has already seen the  message (CZP,
          Circular ZPATH Protection), which means  a duplicate message will
          never go to another zone. Ofcourse this could only be used  if it
          sure that messages shouldn't re-enter a zone.

       3) You  get  a  much better  view  on  the  used echomail  topology,
          sometimes it is  very hard to see  where a message goes  from one
          zone to another.

       4) It will not screw up with any  echomail processor as long as they
          ignore unknown kludges. Only nodes gating echomail from  one zone
          to another would need to have a processor that supports the  ZPTH

       5) It will hardly increase the size of compressed mail archives.