Hello,
I’m trying to update my smack client from 4.0.3 to 4.1.0, however I’m seeing some difference in the XMPP stream when trying to re-authenticate (i.e. login again without disconnecting the subscriber):
The older version of smack has this stream (I’ve bolded the difference with the new stream):
- Accepted connection server:port -> xmpp_server:5222
- Received XML on stream = <<"<stream:stream to=“server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘fake_id’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<"<starttls xmlns=“urn:ietf:params:xml:ns:xmpp-tls”/>">>
- Received XML on stream = <<"<stream:stream to=“server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘1432685044’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<"</stream:stream>">>
- Send XML on stream = <<"</stream:stream>">>
- Accepted connection server:port -> xmpp_server:5222
- Received XML on stream = <<"<stream:stream to=“server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘fake_id’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<"<starttls xmlns=“urn:ietf:params:xml:ns:xmpp-tls”/>">>
- Received XML on stream = <<"<stream:stream to=“server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘3939343755’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<"<auth mechanism=“PLAIN” xmlns=“urn:ietf:params:xml:ns:xmpp-sasl”>MjM0NTU1MzAxMgAyMzQ1NTUzMDEyADcyODQ= ">>
- Send XML on stream = <<"">>
- Received XML on stream = <<"<stream:stream to=“server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘fake_id’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:features</stream:features>”>>
- Closing former stream of resumed session for number2@server/resource2
- Send XML on stream = <<"">>
- Send XML on stream = <<"">>
- Resumed session for number2@server/resource2
- Received XML on stream = <<"<a xmlns=“urn:xmpp:sm:2” h=“1”/>">>
New stream using smack 4.1.0:
- Received XML on stream = <<"<stream:stream xmlns=‘jabber:client’ to=‘server’ xmlns:stream=‘http://etherx.jabber.org/streams’ version=‘1.0’ from=‘number1@server’ xml:lang=‘en’>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘2395068889’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<"">>
- Received XML on stream = <<"<stream:stream xmlns=‘jabber:client’ to=‘server’ xmlns:stream=‘http://etherx.jabber.org/streams’ version=‘1.0’ from=‘number1@server’ xml:lang=‘en’>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘3615464713’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:featuresPLAIN</mechanis ms></stream:features>”>>
- Received XML on stream = <<“ADIzNDU1NTUwMDAAc2Vzc2lvbi5hY2Nlc3Npb24ubWV0YXN3aXRjaC5jb209M jg3MDJiMzZjZGZkYmI5Zg==”>>
- Send XML on stream = <<"">>
- Received XML on stream = <<"<stream:stream xmlns=‘jabber:client’ to=‘server’ xmlns:stream=‘http://etherx.jabber.org/streams’ version=‘1.0’ from=‘number1@server’ id=‘3615464713’ xml:lang=‘en’>">>
- Send XML on stream = <<"<?xml version='1.0'?><stream:stream xmlns=‘jabber:client’ xmlns:stream=‘http://etherx.jabber.org/streams’ id=‘1353794583’ from=‘server’ version=‘1.0’ xml:lang=‘en’>">>
- Send XML on stream = <<“stream:features</stream:features>”>>
- Received XML on stream = <<"Smack ">>
- Send XML on stream = <<“number1@server/Smack”>>
- Received XML on stream = <<"">>
- Send XML on stream = <<"">>
- Send XML on stream = <<“stream:errorReplaced by new connection</stream:error>”>>
- Send XML on stream = <<"</stream:stream>">>
- Received XML on stream = <<"">>
- Send XML on stream = <<"">>
- Received XML on stream = <<"">>
- Send XML on stream = [<<"">>,<<"">>]
- Send XML on stream = [<<"">>,<<"">>]
- Received XML on stream = <<"">>
- Send XML on stream = [<<"">>,<<"">>]
- Received XML on stream = <<"">>
- Received XML on stream = <<"">>
Does anyone know why I’m getting this difference? Are there any parameters I can set so that I get the same flow as before when re-authenticating the subscriber? Any help you can provide will be greatly appreciated.