On 02/06/2013 05:05 PM, Stefan Strigler wrote:

Hi!

> regarding the issue listed at
> 
> http://wiki.xmpp.org/web/BoshIssues#Stream_Creation:_missing_.3Cstream:features.2F.3E
>
>  I'd propose sth the lines of
> 
> %<==========
> 
> If no <stream:features/> element is included in the connection
> manager's session creation response, then the client SHOULD send
> empty request elements until it receives a response containing a
> <stream:features/> element. Legacy server implementations that are
> using aforementioned Non-SASL Authentication [8] might not send any
> <stream:features/> element at all. Client implementations not
> supporting legacy authentication therefor are advised to interpret
> the SHOULD above as a MUST and wait for a <stream:features/> element.
> Otherwise they shouldn't wait at all or wait until a timeout occurs.
> This timeout should not occur much later than within some seconds.
> 
> %<==========
> 
> But still I'm not really happy about it. For supporting some kind of
> mixed mode or both, legacy auth and SASL based authentication there
> is no real good advice to give if you don't know whether the service
> in question supports stream:features or not other the one from above,
> waiting for a timeout to occur. But that'd mean to wait every time
> you're talking to a server that has legacy auth only. Well, just
> wanted to point this out. If everybody else is happy with my proposal
> then lets just go with it.
> 
> .Steve

Is it correct you are addressing an issue that was not mentioned before
here, or do my notes of the BOSH sprint at summit 13 fail on this one?

Then, if you are referring to xep-0078 with legacy auth, it is my
understanding that first a <stream> is opened and the server still has
to send a stream features with <auth
xmlns='http://jabber.org/features/iq-auth'/> in it. Then over that
stream auth is done by <iq> stanza's. So in that case, the client still
will get a stream features before authing. So I see no potential
confusion here.

The only (minor) issue I might see here, is related to this statement in
section 4:

"Note: The same procedure applies to the obsolete XMPP-specific 'authid'
attribute of the BOSH <body/> element, which contains the value of the
XMPP stream ID generated by the XMPP server. This value is needed only
by legacy XMPP clients in order to complete digest authentication using
the obsolete Non-SASL Authentication [6] protocol. [7]"

And note 7:

"7. Separate 'sid' and 'authid' attributes are required because the
connection manager is not necessarily part of a single XMPP server
(e.g., it may handle HTTP connections on behalf of multiple XMPP servers)."

Starting at rfc3920bis the inclusion of a stream id in the initial
stream response is mandated (it was a bit impicit in rfc3920). So I see
no reason to have the BOSH connection manager include the authid
attribute to the body element.

And because legacy auth is depreciated from BOSH on 2007-02-28, I
seriously doubt if there is still any implementation that needs the
presence of 'authid' in the body element.

Winfried

Reply via email to