[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: draft-ietf-usefor-usepro-02



Charles Lindsey wrote:

> The best means for preventing loops is to ensure that
> Message-IDs are propagated correctly.

Unfortunately that's not the case.  Loops cause two kinds of
problems:  dupes and nopes.  Saving the Message-ID is only a
part of a possible solution.  In your examples it would be
better to have a "do NOT reimport to Usenet" flag instead of
the Message-ID.

Here's a scenario where your strategy fails miserably:

you -> A - B - C -> me
       |   |
       a   b
       |   |
       other

I never see some of your articles in group ABC.test, they do
not exist on server C (= "nope").  A, B, C, the gateways a
and b, and the other net followed your strategy, they kept
the Message-ID, but it didn't work as expected.

I always considered nopes as worse than dupes, because dupes
are at least obvious.  With nopes the only hint you might get
are replies to articles you've never seen.

> it sometimes fails because message-ids get
> lost/changed/whatever somewhere in the other medium. So we
> need a backup method.

We don't need a backup method, we need a clear understanding
why loops generally don't work.  The text about Message-IDs in
comments only helps against dupes, but not nopes.

You could use the A - a - other - b - B - C example as shown
above in the draft, and then explain both problems, dupes and
nopes.

> X-Gatewayed-By: <name of gateway>

Yes, that's a good idea, it's the "do not reimport" flag.

> we need a last-ditch backup, for use only in these really
> nasty situations.

No, the last ditch backup is "do not gateway if you don't know
what you are doing".  And for a proper understanding of these
problems dupes _and_ nopes are the very minimum.  You could
use the same example A - a - other - b - B - C example to show
other problems like lost References (if the other net has no
concept of References and cannot preserve any X-References).

"Save the Message-ID somehow, maybe in the body" is completely
misleading, because it's simply not good enough.

BTW, if I'd "demand" to save FidoNet SeenBy and Path as some
X-SeenBy, X-Path, and X-Original-Fido-Zone, then that would be
also almost useless.  In FidoNet loops are _always_ illegal,
no matter how you do it.
                         Bye, Frank