Subject: [xmpp] Mandatory Features

From: Matthew Fulmer <[email-masked]>
Date: Wed, 10 Nov 2010 16:56:44 -0500

I am confused about where the <required/> tag does and does not
belong from reading the draft-ietf-xmpp-3920bis-18 document:

TLS, SASL, and Resource Binding can all be mandatory, in the
sense that a server can requires all streams to set up these
features. 

TLS <starttls /> is mandatory only when a <required /> tag is
inside it, but SASL <mechanisms /> and Resource <bind /> are
necessary stream features just because they are listed in
<stream:features />. I think the document should be clear that
<required /> should not be in the tags for <mechanisms /> and
<bind />, or whatever the protocol policy is

Affected sections:

5.4.1 starttls
6.4.1 mechanimsm
7.3   bind
9.x   examples

-- 
Matthew Fulmer (a.k.a. Tapple)

---

From: Peter Saint-Andre <[email-masked]>
Date: Thu, 11 Nov 2010 06:18:21 +0800

> belong from reading the draft-ietf-xmpp-3920bis-18 document:

It's used for STARTTLS but not SASL or Resource Binding. IMHO this is
clear in the text right now.

> sense that a server can requires all streams to set up these

Correct.

> <stream:features />. 

Correct.

> I think the document should be clear that

The <required/> flag for STARTTLS is a kind of "legacy" element. The
other features are understood to be mandatory-to-negotiate by nature.
See Sections 4.2.1, 4.2.2, 4.2.5, 5.3.1, 6.3.1, and 7.3.1. Also, please
note that a specification positively states the nature of the protocol.
Given that <required/> is *not* defined anywhere for SASL or Resource
Binding (not in the text, not in the examples, not in the schema),
anyone who assume that <required/> might be used for those parts of the
protocol is simply making unfounded assumptions, especially because the
sections I mention above clearly state the opposite.

> 9.x   examples

I see no reason for changes to those sections.

Peter

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