From: Bruce Lilly (blilly@erols.com)
Date: Tue Feb 03 2004 - 19:30:00 CST
Russ Allbery wrote:
> Charles Lindsey <chl@clerew.man.ac.uk> writes:
>
>
>>6. I therefore propose the following:
>
>
>> Agents doing staleness checks SHOULD/MUST use either the
>> composition-date or the injection-date, WHICHEVER IS THE LATER.
>
>
> I'm reluctant to require both date headers to be parsed when it doesn't
> seem necessary. Why not say that the injection-date should/must be used
> if present, and otherwise the composition-date must be used?
I agree, for a different reason. Computer-illiterate users often have
the date set incorrectly, and it is not unknown to have forged Date
header fields. If there is an injection-date, that is what should be
used.
> If we're going to change everything, why not just require it always be
> present? Many servers are already generating NNTP-Posting-Date; we could
> just use that header as-is or just rename it to something else.
I'd prefer a more generic name, but I don't object to use of NNTP-Posting-Date
as an alternative, i.e. the order of fields to use would be <name-to-be-determined>,
NNTP-Posting-Date, Date.
>>D. What happens to articles that get injected twice? It is not supposed
>>to happen, except in some rather rare gatewaying situations, and with
>>some particular BOFHish injectors, but it needs to be covered.
>
>
> Particularly since in practice it happens all the time.
>
>>I suspect the 2nd injector needs to overwrite whatever Injection-Date
>>was present before (which is what we currently prescribe for
>>Injector-Info).
>
>
> No, if we're using injection-date for the staleness check, it may not ever
> be overwritten or modified, for the same reason that we require the server
> not modify the Date header. Doing anything else breaks Usenet's loop
> detection algorithm and potentially allows reinjection of stale messages.
>
> The choices are accepting the message with the injection-date intact or
> rejecting messages with a user-supplied injection-date.
If there is a header field with an injection date, it should be a hint
to an injection agent that re-injection may be taking place. What should
gateways do with such a field?