usefor-usepro-01 September 2004
[< Prev]
[TOC] [ Next >]
7.9.3. Example
To illustrate the type of precautions that should be taken against
loops, here is an example of the measures taken by one particular
combination of mail-to-news and news-to-mail gateways at Stanford
University designed to handle bidirectional gatewaying between
mailing lists and unmoderated groups.
1. The news-to-mail gateway preserves the message identifier of the
news article in the generated email message. The mail-to-news
gateway likewise preserves the email message identifier provided
that it is syntactically valid for Netnews. This allows the news
system's built-in suppression of duplicates to serve as the first
line of defense against loops.
2. The news-to-mail gateway adds an X-Gateway-header to all messages
it generates. The mail-to-news gateway discards any incoming
messages containing this header. This is robust against mailing
list managers that replace the message identifier, and against any
number of email hops, provided that the other message headers are
preserved.
3. The mail-to-news gateway inserts the host name from which it
received the email message in the pre-injection region of the Path
(a-5.6.3). The news-to-mail gateway refuses to gateway any
message that contains the list server name in the pre-injection
region of its Path-header. This is robust against any amount of
munging of the message headers by the mailing list, provided that
the email only goes through one hop.
4. The mail-to-news gateway is designed never to generate bounces to
the envelope sender. Instead, articles that are rejected by the
news server (for reasons not warranting silent discarding of the
message) result in a bounce message sent to an errors address
known not to forward to any mailing lists, so that they can be
handled by the news administrators.
These precautions have proven effective in practice at preventing
loops for this particular application (bidirectional gatewaying
between mailing lists and locally distributed newsgroups where both
gateways can be designed together). General gatewaying to world-wide
newsgroups poses additional difficulties; one must be very wary of
strange configurations, such as a newsgroup gated to a mailing list
which is in turn gated to a different newsgroup.
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-usepro-00/3_Example.out August 2004
+++ ../usefor-usepro-01/3_Example.out September 2004
@@ -1,41 +1,45 @@
-7.4.1. Example
+7.9.3. Example
- Path: foo.isp.example/
- foo-server/bar.isp.example?10.123.12.2/old.site.example!
- barbaz/baz.isp.example%dialup123.baz.isp.example!not-for-mail
-
- NOTE: That article was injected into the news stream by
- baz.isp.example (complaints may be addressed to
- abuse@baz.isp.example). The injector has taken care to record
- that it got it from dialup123.baz.isp.example. "not-for-mail" is
- a dummy tail-entry, though sometimes a real userid is put there.
-
- The article was relayed, perhaps by UUCP, to the machine known,
- at least to old.site.example, as "barbaz".
-
- Barbaz relayed it to old.site.example, which does not yet
- conform to this standard (hence the '!' path-delimiter). So one
- cannot be sure that it really came from barbaz.
-
- Old.site.example relayed it to a site claiming to have the IP
- address [10.123.12.2], and claiming (by using the '/' path-
- delimiter) to have verified that it came from old.site.example.
-
- [10.123.12.2] relayed it to "foo-server" which, not being
- convinced that it truly came from [10.123.12.2], did a reverse
- lookup on the actual source and concluded it was known as
- bar.isp.example (that is not to say that [10.123.12.2] was not a
- correct IP address for bar.isp.example, but simply that that
- connection could not be substantiated by foo-server). Observe
- that foo-server has now added two entries to the Path.
-
- "foo-server" is a locally significant name within the complex
- site of many machines run by foo.isp.example, so the latter
- should have no problem recognizing foo-server and using a '/'
- path-delimiter. Presumably foo.isp.example then delivered the
- article to its direct clients.
-
- It appears that foo.isp.example and old.site.example decided to
- fold the line, on the grounds that it seemed to be getting a
- little too long.
+ To illustrate the type of precautions that should be taken against
+ loops, here is an example of the measures taken by one particular
+ combination of mail-to-news and news-to-mail gateways at Stanford
+ University designed to handle bidirectional gatewaying between
+ mailing lists and unmoderated groups.
+
+ 1. The news-to-mail gateway preserves the message identifier of the
+ news article in the generated email message. The mail-to-news
+ gateway likewise preserves the email message identifier provided
+ that it is syntactically valid for Netnews. This allows the news
+ system's built-in suppression of duplicates to serve as the first
+ line of defense against loops.
+
+ 2. The news-to-mail gateway adds an X-Gateway-header to all messages
+ it generates. The mail-to-news gateway discards any incoming
+ messages containing this header. This is robust against mailing
+ list managers that replace the message identifier, and against any
+ number of email hops, provided that the other message headers are
+ preserved.
+
+ 3. The mail-to-news gateway inserts the host name from which it
+ received the email message in the pre-injection region of the Path
+ (a-5.6.3). The news-to-mail gateway refuses to gateway any
+ message that contains the list server name in the pre-injection
+ region of its Path-header. This is robust against any amount of
+ munging of the message headers by the mailing list, provided that
+ the email only goes through one hop.
+
+ 4. The mail-to-news gateway is designed never to generate bounces to
+ the envelope sender. Instead, articles that are rejected by the
+ news server (for reasons not warranting silent discarding of the
+ message) result in a bounce message sent to an errors address
+ known not to forward to any mailing lists, so that they can be
+ handled by the news administrators.
+
+ These precautions have proven effective in practice at preventing
+ loops for this particular application (bidirectional gatewaying
+ between mailing lists and locally distributed newsgroups where both
+ gateways can be designed together). General gatewaying to world-wide
+ newsgroups poses additional difficulties; one must be very wary of
+ strange configurations, such as a newsgroup gated to a mailing list
+ which is in turn gated to a different newsgroup.