Path: utzoo!utgpu!water!watmath!clyde!att!alberta!ubc-cs!uw-beaver!cornell!mailrus!uwmcsd1!nic.MR.NET!umn-cs!bungia!datapg!sewilco
From: sewilco@datapg.MN.ORG (Scot E Wilcoxon)
Newsgroups: news.software.b
Subject: Solution to news dup site names
Message-ID: <1445@datapg.MN.ORG>
Date: 17 Aug 88 17:13:17 GMT
Reply-To: sewilco@DataPg.MN.ORG (Scot E Wilcoxon)
Distribution: na
Organization: Data Progress, Minneapolis, MN
Lines: 43

News sites with the same name are invisible to each other.
Articles from one site "xyz" are not sent to a second site "xyz" because
the first "xyz" is found in the "Path" line.  This is particularly bad
because all sites "xyz" may be hidden within private subdomains and
none can be found in public site lists.

A proposed solution:
    If the site which sent the article to this machine does not have the
    same name as the one to which the article is being sent, and the
    article was posted by a site with the same name as the one to which
    the article is being sent, force the article to be sent.
    Otherwise test Path as is currently done.

This will force all sites named "xyz" to receive articles from other "xyz"
sites, but the neighbors of an "xyz" which receive an article from that "xyz"
will not send it back to the "xyz" site which just sent it.

The existing Path tests will stop loops, as a loop requires passing through
at least one machine named differently than the posting site.  Even if two
machines of the same name are directly connected, and the history test
fails for some reason, a loop will stop at the beginning of the second
cycle when the "machine which sent the article" is detected as being the
one to which the article might be sent.


A pseudocode definition:

Definitions:
    POSTING_SITE: The ending site name in Path (...!POSTING_SITE!username).
    PREVIOUS_SITE: The site which sent article to current machine, may be
        null if article posted here (Path: current!PREVIOUS_SITE!...).
    TARGET_SITE: The name of the site which is being sent to.

    if (PREVIOUS_SITE != NULL) && (PREVIOUS_SITE != TARGET_SITE)
    && (TARGET_SITE == POSTING_SITE)
        force the article to be sent
    else
	present code for "target site in Path"
-- 
Scot E. Wilcoxon  sewilco@DataPg.MN.ORG    {amdahl|hpda}!bungia!datapg!sewilco
Data Progress 	 UNIX masts & rigging  +1 612-825-2607    uunet!datapg!sewilco
	Proud owner of a new power supply. The previous one blinked blue-white.
"Have you ever been kissed by lightning?" -- 'So you wanted to meet the wizard'