[Standards] XEP-0115 redux

Joe Hildebrand hildjj at gmail.com
Wed Jan 9 17:30:51 CST 2008


On Jan 9, 2008, at 4:14 PM, Peter Saint-Andre wrote:

> OK folks, it seems that we're not quite there on XEP-0115 (Entity  
> Capabilities), or at least that some people (especially important  
> people with votes on the XMPP Council ;-) don't quite understand the  
> logic behind certain aspects of what we agreed to on the list.

It seems as if they might have posted to the list as a part of that  
discussion, then.

> ISSUE #1: Do we need a new namespace?
>
> My conclusion: I am opposed to defining a new namespace.

As am I.

> ISSUE #2: Should the 'v' attribute be REQUIRED?
>
> My conclusion: Leave version 1.5 [4] as it is now, with 'v'  
> RECOMMENDED but *not* REQUIRED. (In fact I would not object to  
> making it OPTIONAL, but RECOMMENDED seems closest to the prior list  
> consensus.)

I don't care about this, unless we want to use the presence of the v  
attribute to denote that we're doing new-style, and we hard-code the  
hash algorithm.  That's not going to happen, so RECOMMENDED is fine;  
it would make me happy if there was a sentence like:

"If the v= attribute is not present, the receiver MUST assume that the  
version is intended to be private, and MUST NOT send any other version- 
discovery protocol to the sender automatically."

> ISSUE #3: Which hashing algorithms?
>
> Discussion: As far as I can see, we had consensus not to mandate any  
> particular hashing algorithm, but instead to allow any algorithm  
> that is registered with the IANA [5]. Currently the registered  
> algorithms are md2, md5, sha-1, sha-224, sha-256, sha-384, and  
> sha-512. However, we seemed to have list consensus that most people  
> would use SHA-1 at the beginning (SHA-1 is the default value of the  
> 'hash' algorithm in the currently-approved version 1.4 [3] of the  
> spec), and perhaps switch to SHA-256 in the future if it is shown  
> that pre-image attacks (see RFC 4270) are likely against SHA-1. That  
> said, people *could* implement MD5 if they want to because it is  
> registered with the IANA.

Oh, goodness.  I didn't notice that anything from IANA was allowable.   
That's really an issue for me, because testing this is going to be a  
major hassle.

> So I see several questions:
>
> 3a. Do we specify an MTI algorithm or let the market decide?

If we don't specify MTI, I predict very low interoperability on this  
feature, which is a fundamental building block for a lot of other  
protocols.  Anything more than 2 MTI algorithms will have a major  
adverse effect on interop, and exactly one MTI algorithm would be  
optimal for these purposes.

> 3b. If we specify an MTI algorithm, do we specify MD5 or SHA-1 or  
> something else?

Frankly, I don't care.  MD5 is smaller, and probably more secure, but  
has marketing issues, particularly with a vocal minority on this  
list.  We all have SHA-1 implementations for other things.  Flip a  
coin, for all I care.

> My conclusion: Specify an MTI algorithm and say it is SHA-1, but  
> allow other algorithms as registered with the IANA. If the market  
> leans heavily toward MD5 or SHA-256, consider (in the future!) a  
> change to the MTI algorithm by issuing an updated version of the  
> spec (after proper list discussion etc.).

Fine.  With the additional caveat that anyone who uses a algorithm  
that isn't MTI isn't likely to be able to interoperate.

> On a more general note, I think we have had list consensus on Issue  
> #3 for at least a few weeks now, on Issue #2 for about 2 months, and  
> on Issue #1 for 6+ months. Not everyone was happy with the  
> consensus, but everyone who participated in the list discussion  
> agreed to give a little bit in order to reach consensus.
>
> My final conclusion is that we need to accept the list consensus and  
> move on. We have ensured backwards-compatibility, minimized network  
> impact, improved security, and met the other requirements of the  
> specification. You may not be in love with the final product, but  
> sometimes consensus is rougher than others. Let's get this done, and  
> soon, because people need to code against these specs (e.g., for  
> compliance with the "XMPP Basic Client 2008" level specified in  
> XEP-0211).

+1.  Anyone that wants to take issue with the list consensus should do  
so loudly, publicly, and expeditiously.

-- 
Joe Hildebrand



More information about the Standards mailing list