[Jabber-IETF] Agenda items

Robert Norris rob at cataclysm.cx
Wed Oct 9 19:22:01 CDT 2002


> Right; the XML is well-formed.  Similarly it is not an error to write 
> "typedef int foo" in your C program, then not use foo.  However, IMHO it 
> is inelegant.

Agreed :)

> The other problem is that namespaces can be declared on any tag.  This 
> means that (from an XML point of view) it would be legitimate to delay 
> declaring the SASL namespace until it is used.  For example:
> 
> <stream xmlns:sasl=...>
> ....
> <sasl:sasl ...>
> 
> versus
> 
> <stream ...>
> ....
> <sasl:sasl xmlns:sasl=...>

Also agreed - I would like to offer this kind of flexibility.

> >I needed a way for the client to flag to the server that it
> >wanted to do a SASL auth, without breaking existing implementations.
> 
> I agree that this is a problem.  Would adding an attribute to the 
> <stream> tag break existing applications?  For example, we could write:
> 
> <stream version="1.0" ...>

I just tested against the open source server (1.4.2) and the commercial
server (whatever is running on jabber.com at the time of writing), and
both silently ignore this attribute. That should be fine.

> That would allow us to split off older software from software that 
> complies with the draft we're writing.  Another possibility would be 
> explicit declaration of the schema that the stream conforms too; see:
> 
> http://www.w3.org/TR/xmlschema-1/#schema-loc
> 
> If we went this way, we would have two options.  We could have a schema 
> declared as, for example, "http://jabber.org/xmpp-1.0".  The other 
> communicating party would then know that the features given in the XMPP 
> core draft are supported.  This might include some kind of EHLO mechanism.

I'm read through this reference, but I'm still a little confused. Do you
mean using a different namespace for the stream?

> Just a few ideas, I'd be interested in hearing people's thoughts.

Based on discussions so far, how does this look?

C: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='jabber.org' version='1.0'>

S: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='jabber.org' version='1.0'>
     <stream:capabilities>
       <mechanism xmlns='http://www.iana.org/assignments/sasl-mechanisms'>DIGEST-MD5</mechanism>
       <mechanism xmlns='http://www.iana.org/assignments/sasl-mechanisms'>PLAIN</mechanism>
       <starttls xmlns='http://blah'/>
     </stream:capabilities>

If the client doesn't specify the version attribute, then the server
doesn't return any capabilities. This won't break compatibility, AFAICT.

Rob.

-- 
Robert Norris                                       GPG: 1024D/FC18E6C2
Email+Jabber: rob at cataclysm.cx                Web: http://cataclysm.cx/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://jabber.org/pipermail/xmppwg/attachments/20021010/6f07acca/attachment.pgp


More information about the xmppwg mailing list