[Standards] stream restarts

Stephen Pendleton stephenpendleton at hotmail.com
Wed May 7 18:16:34 UTC 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.html>


More information about the Standards mailing list