> Date: Wed, 7 May 2008 17:19:44 +0100> From: [EMAIL PROTECTED]> To: 
> [email protected]> 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>[EMAIL PROTECTED]/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

Reply via email to