Re: #1416

Russ Allbery <rra@stanford.edu> Fri, 08 August 2008 01:36 UTC

Return-Path: <owner-ietf-usefor@mail.imc.org>
X-Original-To: ietfarch-usefor-archive@core3.amsl.com
Delivered-To: ietfarch-usefor-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7481128C1BD for <ietfarch-usefor-archive@core3.amsl.com>; Thu, 7 Aug 2008 18:36:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.046
X-Spam-Level:
X-Spam-Status: No, score=-2.046 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_MISMATCH_COM=0.553]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2TpvqFHu0YCO for <ietfarch-usefor-archive@core3.amsl.com>; Thu, 7 Aug 2008 18:36:54 -0700 (PDT)
Received: from balder-227.proper.com (Balder-227.Proper.COM [192.245.12.227]) by core3.amsl.com (Postfix) with ESMTP id 11AEF3A68C0 for <usefor-archive@ietf.org>; Thu, 7 Aug 2008 18:36:53 -0700 (PDT)
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id m781V85S028135 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 7 Aug 2008 18:31:08 -0700 (MST) (envelope-from owner-ietf-usefor@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.14.2/8.13.5/Submit) id m781V8jj028134; Thu, 7 Aug 2008 18:31:08 -0700 (MST) (envelope-from owner-ietf-usefor@mail.imc.org)
X-Authentication-Warning: balder-227.proper.com: majordom set sender to owner-ietf-usefor@mail.imc.org using -f
Received: from smtp3.stanford.edu (smtp3.Stanford.EDU [171.67.20.26]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id m781V6n2028126 for <ietf-usefor@imc.org>; Thu, 7 Aug 2008 18:31:07 -0700 (MST) (envelope-from eagle@windlord.stanford.edu)
Received: from smtp3.stanford.edu (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id 6A52960FB89 for <ietf-usefor@imc.org>; Thu, 7 Aug 2008 18:31:06 -0700 (PDT)
Received: from windlord.stanford.edu (windlord.Stanford.EDU [171.64.19.147]) by smtp3.stanford.edu (Postfix) with ESMTP id 2805E60E770 for <ietf-usefor@imc.org>; Thu, 7 Aug 2008 18:31:05 -0700 (PDT)
Received: by windlord.stanford.edu (Postfix, from userid 1000) id B5696E794C; Thu, 7 Aug 2008 18:31:05 -0700 (PDT)
To: ietf-usefor@imc.org
Subject: Re: #1416
In-Reply-To: <Pine.LNX.4.64.0808071551120.20320@shell.peak.org> (stanley@peak.org's message of "Thu\, 7 Aug 2008 16\:14\:26 -0700 \(PDT\)")
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)
References: <Pine.LNX.4.64.0808071551120.20320@shell.peak.org>
From: Russ Allbery <rra@stanford.edu>
Organization: The Eyrie
Date: Thu, 07 Aug 2008 18:31:05 -0700
Message-ID: <87prokxpgm.fsf@windlord.stanford.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-ietf-usefor@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-usefor/mail-archive/>
List-Unsubscribe: <mailto:ietf-usefor-request@imc.org?body=unsubscribe>
List-ID: <ietf-usefor.imc.org>

stanley@peak.org writes:

> I don't think I understand the issue, because I don't see the reason for
> the exemption of "has date and message id" from insertion of Injection
> Date.

Briefly: the Message-ID plus the Date is the unique identifier for the
message.  If you allow an injecting agent to change one or the other (and
adding an Injection-Date is effectively changing the Date), you break
uniqueness.  This creates the possibility of duplicates.

In this case, the scenario under which duplicates arise is possible but
unlikely.  It requires, if I remember correctly, badly-timed multiple
injection of the message such that it expires on the basis of its original
Date and is then reaccepted on the basis of the modified Injection-Date.

> Russ writes:
>
> * The Injection-Date feature will not realistically be able to be used to
>   allow for articles with very old Date headers for the forseeable future,
>   possibly ever.  It will require upgrading all servers to use
>   Injection-Date rather than Date, which I think is very unlikely to
>   happen.
>
> Isn't the benefit of the Injection-Date header available to any server
> that is updated to read it, regardless of any other transport server?

Assuming that the message ever gets to you, yes.  However, unless enough
other servers implement Injection-Date to allow flood-fill to reach you, a
message that benefits from this feature won't get to you for you to be
able to benefit.

> The comment about servers detecting duplicates by Injection-Date is
> confusing. Injection-Date isn't how duplicates are supposed to be
> detected. Yes, I see section 3.3 in the draft, but that section is
> incorrectly combining duplicate suppression and old-article prevention.
> An injection date of 20 days ago doesn't mean the article is a
> duplicate; it means the article is simply old. The assumption is that
> "older than history" means "appeared in history", which is not a bad
> assumption, but mixes two different issues.

Our protocol, as currently documented in -10, contains nothing about old
article prevention except at the injecting agent point (see below).  There
are no requirements that relaying agents or serving agents reject old
articles, only a requirement that servers reject articles that they've
already seen.

Date or Injection-Date is a way to avoid having to keep perpetual history
to satisfy this requirement.

Individual sites can of course reject old articles, as well as anything
else they don't want to carry, but it's not a protocol requirement.  The
only protocol function (from a USEPRO, not a USEFOR, perspective) of the
Date and Injection-Date header is to enable the normal history mechanism
to function.

> An article with a Date header 20 days in the past and a current
> Injection Date is just as old, and 3.3 allows either or both to be used
> in rejecting "duplicates". Un-updated servers will use Date. Updated
> servers should be using both. Problem solved.

If updated relaying or serving agents use both when both are present, it
completely defeats the point of having Injection-Date and we should just
remove it.  If that's the implication that you got from 3.3, the wording
is buggy.  That was supposed to be covered by this:

   (In the following discussion, the "date" of an article is defined to be
   the date represented by its Injection-Date header field if present,
   otherwise its Date header field.)

implying that if Injection-Date is present, Date is ignored.

Injection agents are encouraged to check for stale Dates due to the
problem of silent discards of those messages from un-updated agents, but
the threshold they use is expected to be long enough that articles with
less stale Dates may still potentially benefit from Injection-Date at
later points in their propagation.

> Now, if a posting agent is handing an injection agent an article with a
> CURRENT date header and message id and is truly a delayed (by twenty
> days?) multiple injection attempt, the problem is a broken posting
> agent, and leaving out the Injection Date header is not going to assist
> anyone in rejecting the article.

Yes.  This isn't the scenario.

> As a side note, I'm a bit dissappointed that IETF will grab an
> unfinished work and publish it as the product of this group, as if it
> were the completed, consensus product. If a group cannot reach consensus
> on a draft, and simply stops working on it (as this group appears to
> have), then the product is not ready for publication.

I generally agree with this.  I'm not willing to see -10 published; the
current text is not a particularly useful direction to go, and I think we
reached a consensus on that a long time ago.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>