ihave/sendme syntax (was: draft-allbery-usefor-usepro-00 errata)

Russ Allbery <rra@stanford.edu> Fri, 29 December 2006 19:25 UTC

Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H0NM4-00087X-4b for usefor-archive@lists.ietf.org; Fri, 29 Dec 2006 14:25:24 -0500
Received: from balder-227.proper.com ([192.245.12.227]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H0NM2-0003m7-Mv for usefor-archive@lists.ietf.org; Fri, 29 Dec 2006 14:25:24 -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 kBTJLsIt062972; Fri, 29 Dec 2006 12:21:54 -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 kBTJLs4v062971; Fri, 29 Dec 2006 12:21:54 -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.13.5/8.13.5) with ESMTP id kBTJLqXZ062965 for <ietf-usefor@imc.org>; Fri, 29 Dec 2006 12:21:52 -0700 (MST) (envelope-from rra@stanford.edu)
Received: from smtp3.stanford.edu (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id E3FFF4C5E0 for <ietf-usefor@imc.org>; Fri, 29 Dec 2006 11:21:51 -0800 (PST)
Received: from windlord.stanford.edu (windlord.Stanford.EDU [171.64.19.147]) by smtp3.stanford.edu (Postfix) with ESMTP id DA0164C192 for <ietf-usefor@imc.org>; Fri, 29 Dec 2006 11:21:49 -0800 (PST)
Received: by windlord.stanford.edu (Postfix, from userid 1000) id D07B0E7C2B; Fri, 29 Dec 2006 11:21:49 -0800 (PST)
From: Russ Allbery <rra@stanford.edu>
To: ietf-usefor@imc.org
Subject: ihave/sendme syntax (was: draft-allbery-usefor-usepro-00 errata)
In-Reply-To: <87fybia0bw.fsf@windlord.stanford.edu> (Russ Allbery's message of "Thu, 14 Dec 2006 08:50:27 -0800")
Organization: The Eyrie
References: <87fybia0bw.fsf@windlord.stanford.edu>
Date: Fri, 29 Dec 2006 11:21:49 -0800
Message-ID: <87k60aik36.fsf@windlord.stanford.edu>
User-Agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.19 (linux)
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>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 9ed51c9d1356100bce94f1ae4ec616a9

Russ Allbery <rra@stanford.edu> writes:

>  * We need some resolution of the different conflicting syntaxes for ihave
>    and sendme control messages.  Path of least resistance is probably to
>    revert to the current USEPRO tactic of two separate ABNFs.

I've since reviewed RFC 1036 and Son-of-1036.  The former makes the
relayer name optional and requires that the message IDs be in the control
header field.  The latter makes the relayer name mandatory and RECOMMENDS
that the message IDs be put in the body.  I think the following is the
most reasonable compromise; it makes the relayer-name mandatory if there
are no message IDs (the form never allowed in RFC 1036 but according to
Son-of-1036 the most widely used in practice), and if there are message
IDs, permits the same syntax as RFC 1036.

Let me know if anything looks wrong.

   ihave and sendme control messages share similar syntax for their
   Control header fields and bodies:

       control-command     =/ Ihave-command
       Ihave-command       = "ihave" Ihave-arguments
       Ihave-arguments     = 1*WSP relayer-name
                             / 1*( 1*WSP msg-id ) [ 1*WSP relayer-name ]
       control-command     =/ Sendme-command
       Sendme-command      = "sendme" Sendme-arguments
       Sendme-arguments    = Ihave-arguments
       relayer-name        = path-identity  ; see 3.1.5 of [USEFOR]
       ihave-body          = *( msg-id CRLF )
       sendme-body         = ihave-body

   The body of the article consists of a list of <msg-id>s, one per
   line.  The message identifiers SHOULD be put in the body of the
   article, not in the Control header field, but news servers MAY
   recognize and process message identifiers in the Control header field
   for backward compatibility.  Message identifiers MUST NOT be put in
   the Control header field if they are present in the body of the
   control message.

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