[Standards] stream restarts
Stephen Pendleton
stephenpendleton at hotmail.com
Wed May 7 13:16:34 CDT 2008
> Date: Wed, 7 May 2008 17:19:44 +0100> From: dave at cridland.net> To: standards at xmpp.org> Subject: Re: [Standards] stream restarts> > On Wed May 7 15:58:40 2008, Stephen Pendleton wrote:> > Will you explain why you think this?> > (I won't ask how you managed to mangle Justin's message like that).> > Assuming I grasped Justin's point correctly:> > His example is:> > <stream:stream>> <starttls/>> [TLS handshake]> <message/>> </stream:stream>> > But that ignores the fact that prior to the TLS handshake, there is > one stack, and after, a different one - so taking the binary data > stream which contains the opening <stream:stream> won't actually give > you a complete XML document.> ...> Dave.> --
Maybe I am missing something, but what do you mean by "the binary data stream which contains the opening <stream:stream>". Do you mean non-ascii? If so, isn't the opening <stream:stream> ascii?
The current stanza flow is shown below. There are currently three stream restarts, indicated by the <stream:stream> stanzas. I think what is proposed is just to eliminate the 'extra' <stream:stream> stanzas (2 from the server, 2 from the client).
Thanks
C: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='example.com' version='1.0'>S: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='c2s_123' from='example.com' version='1.0'>S: <stream:features> <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'> <required/> </starttls> </stream:features>C: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>S: <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>[TLS negotiation]C: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='example.com' version='1.0'>S: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='example.com' id='c2s_234' version='1.0'>S: <stream:features> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism>EXTERNAL</mechanism> <mechanism>DIGEST-MD5</mechanism> <mechanism>PLAIN</mechanism> <required/> </mechanisms> </stream:features>C: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>S: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> cmVhbG09InNvbWVyZWFsbSIsbm9uY2U9Ik9BNk1HOXRFUUdtMmhoIixxb3A9ImF1dGgi LGNoYXJzZXQ9dXRmLTgsYWxnb3JpdGhtPW1kNS1zZXNzCg== </challenge>C: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> dXNlcm5hbWU9InNvbWVub2RlIixyZWFsbT0ic29tZXJlYWxtIixub25jZT0i T0E2TUc5dEVRR20yaGgiLGNub25jZT0iT0E2TUhYaDZWcVRyUmsiLG5jPTAw MDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvZXhhbXBsZS5jb20i LHJlc3BvbnNlPWQzODhkYWQ5MGQ0YmJkNzYwYTE1MjMyMWYyMTQzYWY3LGNo YXJzZXQ9dXRmLTgK </response>S: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> cnNwYXV0aD1lYTQwZjYwMzM1YzQyN2I1NTI3Yjg0ZGJhYmNkZmZmZAo= </challenge>C: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>S: <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>C: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='example.com' version='1.0'>S: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='c2s_345' from='example.com' version='1.0'>S: <stream:features> <compression xmlns='http://jabber.org/features/compress'> <method>zlib</method> <required/> </compression> </stream:features>C: <compress xmlns='http://jabber.org/protocol/compress'> <method>zlib</method> </compress>S: <compressed xmlns='http://jabber.org/protocol/compress'/>C: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='example.com' version='1.0'>S: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='c2s_456' from='example.com' version='1.0'>S: <stream:features> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <required/> </bind> </stream:features>C: <iq type='set' id='bind_1'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <resource>someresource</resource> </bind> </iq>S: <iq type='result' id='bind_1'> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <jid>somenode at example.com/someresource</jid> </bind> </iq>
_________________________________________________________________
Windows Live SkyDrive lets you share files with faraway friends.
http://www.windowslive.com/skydrive/overview.html?ocid=TXT_TAGLM_WL_Refresh_skydrive_052008
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.jabber.org/pipermail/standards/attachments/20080507/e21651b5/attachment-0001.htm
More information about the Standards
mailing list