Re: [xmpp] <optional> and <required/>

Peter Saint-Andre <stpeter@stpeter.im> Wed, 16 March 2011 01:38 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: xmpp@core3.amsl.com
Delivered-To: xmpp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 804623A6A26 for <xmpp@core3.amsl.com>; Tue, 15 Mar 2011 18:38:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.605
X-Spam-Level:
X-Spam-Status: No, score=-102.605 tagged_above=-999 required=5 tests=[AWL=-0.006, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 SNpc18hbr4be for <xmpp@core3.amsl.com>; Tue, 15 Mar 2011 18:38:41 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 44AF43A68CE for <xmpp@ietf.org>; Tue, 15 Mar 2011 18:38:41 -0700 (PDT)
Received: from squire.local (dsl-251-69.dynamic-dsl.frii.net [216.17.251.69]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id B3ABB40022 for <xmpp@ietf.org>; Tue, 15 Mar 2011 19:40:34 -0600 (MDT)
Message-ID: <4D8014EA.3060702@stpeter.im>
Date: Tue, 15 Mar 2011 19:39:54 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: xmpp@ietf.org
References: <1299638843.18776.76.camel@spinachia> <4D76EE02.2010807@stpeter.im> <AANLkTi=S7v4UjH+LVxUT_LaBR_20Jocye=pve41mS+UF@mail.gmail.com> <4D7FE877.8050505@stpeter.im>
In-Reply-To: <4D7FE877.8050505@stpeter.im>
X-Enigmail-Version: 1.1.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms050901010504040106010104"
Subject: Re: [xmpp] <optional> and <required/>
X-BeenThere: xmpp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: XMPP Working Group <xmpp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/xmpp>, <mailto:xmpp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/xmpp>
List-Post: <mailto:xmpp@ietf.org>
List-Help: <mailto:xmpp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xmpp>, <mailto:xmpp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Mar 2011 01:38:42 -0000

On 3/15/11 4:30 PM, Peter Saint-Andre wrote:
> On 3/13/11 12:54 PM, Waqas Hussain wrote:
>> On Wed, Mar 9, 2011 at 8:03 AM, Peter Saint-Andre <stpeter@stpeter.im> wrote:
>>> On 3/8/11 7:47 PM, Kim Alvefur wrote:
>>>> Hi!
>>>>
>>>> Just to point out that these sections[1][2] seems to conflict with this
>>>> tread[3]. Otherwise, how does it make sense for roster versioning to be
>>>> required?
>>>>
>>>> [1]: http://tools.ietf.org/html/draft-ietf-xmpp-3920bis-22#section-4.9.3.23
>>>> [2]: http://tools.ietf.org/html/draft-ietf-xmpp-3921bis-20#section-2.6.1
>>>> [3]: http://www.ietf.org/mail-archive/web/xmpp/current/msg01125.html
>>>
>>> There are two different topics here:
>>>
>>> 1. Whether any given feature is mandatory-to-negotiate or
>>> voluntary-to-negotiate.
>>>
>>> 2. Whether to define a generalized mechanism for such signalling, which
>>> would apply to all features.
>>>
>>> The mailing list post you've cited applies to #2. Section 2.6.1 of
>>> 3921bis applies to #1.
>>>
>>> I see your point about the <unsupported-feature/> stream error: it might
>>> not make much sense to define such an error condition if there is no
>>> generalized mechanism for signalling that any given feature is
>>> mandatory-to-negotiate...
>>>
>>> Peter
>>>
>>
>> I think the <optional/> in 3921bis should go.
>>
>> 3921bis defines two stream features. Both are optional. One wants
>> <optional/> inside, the other doesn't. I think this <optional/> is a
>> leftover from when we tried having a generalized mechanism for
>> required features, and the only purpose it serves in this instance is
>> to add redundant inconsistency.
> 
> You might be correct. I will look at this during AUTH48, i.e., right now.

I've thought about this a bit more.

I agree that the <optional/> element here (copied from XEP-0237) is an
artifact of discussions ~12 months ago.

I would also assert that the roster versioning stream feature is merely
informative (as is true of the subscription pre-approval stream feature
in section 3.4), and that it would never be mandatory-to-negotiate.
Therefore I would prefer that we modify the text of Section 2.6.1 as
follows:

   If a server supports roster versioning, then it MUST advertise the
   following stream feature during stream negotiation:

      <ver xmlns='urn:xmpp:features:rosterver'/>

   The roster versioning stream feature is merely informative and
   therefore is never mandatory-to-negotiate.

(The latter sentence is copied from Section 3.4.)

Peter

-- 
Peter Saint-Andre
https://stpeter.im/