Re: Path header field (was: draft-allbery-usefor-usepro-00 errata)

Richard Clayton <richard@highwayman.com> Wed, 03 January 2007 13:24 UTC

Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H266n-0000UV-Ue for usefor-archive@lists.ietf.org; Wed, 03 Jan 2007 08:24:45 -0500
Received: from balder-227.proper.com ([192.245.12.227]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H266m-00046O-Es for usefor-archive@lists.ietf.org; Wed, 03 Jan 2007 08:24:45 -0500
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id l03DKKnK000744 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Jan 2007 06:20:20 -0700 (MST) (envelope-from owner-ietf-usefor@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.13.5/8.13.5/Submit) id l03DKKSu000742; Wed, 3 Jan 2007 06:20:20 -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 anchor-post-32.mail.demon.net (anchor-post-32.mail.demon.net [194.217.242.90]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id l03DKICO000718 for <ietf-usefor@imc.org>; Wed, 3 Jan 2007 06:20:19 -0700 (MST) (envelope-from richard@highwayman.com)
Received: from gti.noc.demon.net ([195.11.55.101] helo=happyday.al.cl.cam.ac.uk) by anchor-post-32.mail.demon.net with esmtp (Exim 4.42) id 1H262U-0000uR-77 for ietf-usefor@imc.org; Wed, 03 Jan 2007 13:20:18 +0000
Message-ID: <xdbvB9FYS6mFFAJ9@highwayman.com>
Date: Wed, 03 Jan 2007 12:42:00 +0000
To: ietf-usefor@imc.org
From: Richard Clayton <richard@highwayman.com>
Subject: Re: Path header field (was: draft-allbery-usefor-usepro-00 errata)
References: <87fybia0bw.fsf@windlord.stanford.edu> <87bqlmigu8.fsf@windlord.stanford.edu>
In-Reply-To: <87bqlmigu8.fsf@windlord.stanford.edu>
MIME-Version: 1.0
X-Mailer: Turnpike Integrated Version 5.03 M <nd7$+jmv77$6sOKLi+c+dO68hg>
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>
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 32b73d73e8047ed17386f9799119ce43

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In message <87bqlmigu8.fsf@windlord.stanford.edu>, Russ Allbery
<rra@stanford.edu> writes

>3.2.1.  Constructing the Path Header Field
>
>   If a relaying or serving agent receives an article from an injecting
>   or serving agent that is part of the same news server, it MAY leave
>   the Path header field of the article unchanged.  Otherwise, every
>   injecting, relaying, or serving agent that accepts an article MUST
>   update the Path header field as follows.  Note that the Path header
>   field content is constructed from right to left by prepending
>   elements.
>
>   1.  The agent MUST prepend "!" to the Path header field content.
>
>   2.  An injecting agent SHOULD prepend the <path-diagnostic>
>       "!.POSTED", optionally followed by "." and the FQDN or IP address
>       of the source, to the Path header field content.
>
>   3.  A relaying or serving agent SHOULD prepend a <path-diagnostic> to
>       the Path header field content, where the <path-diagnostic> is
>       chosen as follows:
>
>       *  If the expected <path-identity> of the source of the article
>          matches the leftmost <path-identity> of the Path header
>          field's content, use "!" (<diag-match>).

If you're not aware of the !! syntax (which is after all "new") then I
think this would confuse, and people will be able to read it so as to
miss out one of the !s

could it say

        #1   All agents MUST always first prepend "!" ..

        #2   An injecting agent SHOULD then prepend ...

        #3   A relaying or serving agent SHOULD then prepend ...

        *  If the expected <path-identity> of the source of the article
           matches the leftmost <path-identity> of the Path header
           field's content, then prepend the <diag-match> string "!". So 
           in this, hopefully most common case, two !s will appear in
           the path.

>       *  If the expected <path-identity> of the source of the article
>          does not match, use "!.MISMATCH." followed by the expected
>          <path-identity> of the source or its IP address.
>
>       *  If the relaying or serving agent is not willing or able to
>          check the <path-identity>, use "!.SEEN." followed by the FQDN,
>          IP address, or expected <path-identity> of the source.

I'd then add

        Note that previous versions of this standard did not require
        <path-diagnostics> so that conformant systems would only add
        single "!" characters between <path-identity> strings.

>   4.  The agent MUST then prepend its own <path-identity> to the Path
>       header field content.
>
>   5.  The agent MAY then prepend additional <path-identity>s for itself
>       to the Path header field content, following each <path-identity>
>       so added with either "!!" or "!".  This is permitted for agents
>       that have multiple <path-identity>s (such as during a transition
>       from one to another).  Each of these <path-identity>s MUST meet
>       the requirements set out in Section 3.2.

For !! to be of any use (which I continue to feel is entirely dubious,
but that's water under the bridge) then surely the requirement in this
last paragraph ought to be for !! (because the server must surely be
claiming that self-to-self is a "validated" transfer)

- -- 
richard @ highwayman . com                       "Nothing seems the same
                          Still you never see the change from day to day
                                And no-one notices the customs slip away"

-----BEGIN PGP SIGNATURE-----
Version: PGPsdk version 1.7.1

iQA/AwUBRZukmJoAxkTY1oPiEQKgCQCg3pGkJKhTW8gETC3ClBh/OTphCIQAoOQg
oYCWyNmegMKqpbVifVu80iZf
=7BKK
-----END PGP SIGNATURE-----