Document:   FSC-0070
Date:       15-Jul-94
Revision:   002

              Improving Fidonet/Usenet gating and Dupe Checking
                              
                    Franck Arnaud, Fidonet 2:320/213.666



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

 This FSC suggests a proposed standard for the FidoNet(r) community,
 and invites discussion and suggestions for improvements. Distribution of
 this document is unlimited.

 Fido and FidoNet are registered marks of Tom Jennings and Fido Software.
   

  Introduction
  ------------

 The complexity of Usenet/Fidonet gating and the large number of gateways
 has led to a non-negligible quantity of duplicates appearing regularly in 
 both the Usenet and Fidonet worlds. This proposal defines a standard method 
 for gateway software to deal with conversion of message identifiers between 
 both worlds, so that we can improve the reliability of Usenet/Fidonet 
 gateways.

 In this document "^" means <control-A> (character 01h).


  History
  -------

 Revision 002 adds details and makes the Fidonet to Usenet sheme FTS-0009
 compliant.


  Usenet To Fidonet Message Identifier Conversion
  -----------------------------------------------

 A major problem is preventing messages gated into Fidonet from RFC822 from
 being gated back to Usenet at another gateway with a new message id. The
 easy way to solve that is simply to store the RFC message ID in a kludge 
 line. This kludge line could also allow identifying messages gated from 
 Usenet (this could be used by message editors to allow private replies to 
 the nearest uucp gateway for example).

 It is proposed that the ^RFCID: kludge is used to store the RFC Message-ID:
 in Fidonet messages. Of course, the use of the RFCID kludge doesn't replace
 the standard fts-0009 Message-ID:.

       (Usenet)  Message-ID: <92_feb_10_19192012901@prep.ai.mit.edu>
    to (Fido)    ^MSGID: 2:300/400.5 6789fedc
                 ^RFCID: 92_feb_10_19192012901@prep.ai.mit.edu

 Note ^RFCID does not include the Message-ID enclosing "<" and ">".

 Then if a gateway finds a ^RFCID line in a Fido message, it will use it in
 the Usenet message ID, instead of converting the ^MSGID.


  Fidonet to Usenet Message Identifiers Conversion
  ------------------------------------------------

 The dupe checking in Usenet is based on the message ID. Fidonet now has its
 own standard message identification standard (fts-0009).

 So it would be interesting if the same Fidonet message gated at different
 gateways had the same ID in Usenet to help news processing programs in
 stopping dupes.

 The proposed fido ^MSGID: to RFC1036 Message-ID: conversion method is 
 defined as below:

 The ^MSGID: value (a string) is not parsed and converted as below to the ID
 part of Usenet's Message-ID. The Message-ID domain is the fidonet domain,
 "fidonet.org" if the gated echomail comes from the Fidonet(tm) network.

 To convert the MSGID string, the following rules are applied:
 - Alphanumeric (a-z,A-Z,0-9) characters are kept intact (case preserved).
 - Non-alphanumeric characters - including the space beetwen the origin
   address and the serial number - are converted to '-'.

 Some examples:

    (Fido)   ^MSGID: 2:300/400 12345AbC
 to (Usenet) Message-ID: <2-300-400-12345AbC@fidonet.org>

    (Fido)   ^MSGID: 15:300/400.50@somenet abcd6789
 to (Usenet) Message-ID: <15-300-400-50-somenet-abcd6789@fidonet.org>

    (Fido)   ^MSGID: Internet.Domain.org aBcD1234
 to (Usenet) Message-ID: <Internet-Domain-org-aBcD1234@fidonet.org>

    (Fido)   ^MSGID: "LZKkoe$1982 98a" 45678bcd
 to (Usenet) Message-ID: <-LZKkoe-1982-98a--45678bcd@fidonet.org>