s-o-1036 June 1994

[< Prev] [TOC] [ Next >]
10.3. Message ID Mapping

This  section, like the previous one, is phrased in terms of
mail being gatewayed into news, but most of  the  discussion
should be more generally applicable.

A  particularly  sticky problem of gatewaying mail into news
is supplying legal news message IDs.  Note,  in  particular,
that  not  all  MAIL message IDs are legal in news; the news
syntax (specified in section 5.3, with related  material  in
5.2)  is  more  restrictive.   Generating a fully-conforming
news article from a mail message  may  require  transforming

INTERNET DRAFT to be        NEWS                   sec. 10.3


the message ID somewhat.

Generation and transformation of message IDs assumes partic-
ular importance if a given mailing  list  (or  whatever)  is
being handled by more than one gateway.  It is highly desir-
able that the same article contents not appear twice in  the
same  newsgroup,  which  requires that they receive the same
message ID from all gateways.  Gateways SHOULD use the  fol-
lowing  algorithm (possibly modified by the later discussion
of gatewaying into more than  one  newsgroup)  unless  local
considerations dictate another:

     1. Separate message ID from surroundings, if necessary.
        A plausible method for this is to start at the first
        "<",  end at the next ">", and reject the message if
        no ">" is found or a second "<" is seen  before  the
        ">".  Also reject the message if the message ID con-
        tains no "@" or more than one "@", or if it contains
        no  ".".   Also reject the message if the message ID
        contains non-ASCII characters, ASCII control charac-
        ters, or white space.

          NOTE:  Any  legitimate domain will include at
          least one ".".  RFC 822 section 6.2.2 forbids
          white space in this context when passing mail
          on to non-MAIL software.

     2.   Delete the leading "<" and trailing ">".  Separate
          message  ID into local part and domain at the "@".

     3.   In both  components,  transliterate  leading  dots
          (".", ASCII 46), trailing dots, and dots after the
          first in sequences  of  two  or  more  consecutive
          dots, into underscores (ASCII 95).

     4.   In both components, transliterate disallowed char-
          acters other than  dots  (see  the  definition  of
          <unquoted-char>  in  section  5.2)  to underscores
          (ASCII 95).

     5.   Form the message ID as

               "<" local-part "@" domain ">"


     NOTE: This algorithm is approximately that of Rich
     Salz's successful gatewaying package.

Despite  the  desire  to  keep message IDs consistent across
multiple gateways, there is also a more  subtle  issue  that
can  require a different approach.  If the same articles are
being gatewayed into more than one newsgroup, and it is  not
possible  to  arrange  that all gateways gateway them to the
same cross-posted set of newsgroups, then the message IDs in

INTERNET DRAFT to be        NEWS                   sec. 10.3


the different newsgroups MUST be DIFFERENT.

     NOTE:  Otherwise,  arrival  of  an  article in one
     newsgroup  will  prevent  it  from  appearing   in
     another,  and which newsgroup a particular article
     appears in will be an accident of which  direction
     it  arrives  from  first.  It is very difficult to
     maintain a coherent discussion when each  partici-
     pant  sees a randomly-selected 50% of the traffic.
     The fundamental problem here  is  that  the  basic
     assumption  behind  message IDs is being violated:
     the gateways are assigning the same message ID  to
     articles  that  differ  in  an  important  respect
     (Newsgroups header).

In such cases, it is suggested that the newsgroup  name,  or
an agreed-on abbreviation thereof, be prepended to the local
part of the message ID (with a separating ".") by the  gate-
way.   This  will ensure that multiple gateways generate the
same message ID, while also ensuring  that  different  news-
groups can be read independently.

     NOTE:  It  is  preferable  to  have the gateway(s)
     cross-post the article, avoiding the  issue  alto-
     gether,  but  this may not be feasible, especially
     if one newsgroup is widespread and  the  other  is
     purely local.
[< Prev] [TOC] [ Next >]
#Diff to first older
NewerOlder



Documents were processed to this format by Forrest J. Cavalier III