If a client tries to resume a session that was previously cleanly disconnected, i.e. sending unavailable presence and closing stream tag, then prosody will not send 'failed' or 'resumed' after the client sent 'resume'. Established TCP connection to mate.geekplace.eu/37.221.197.223 at port 5222 SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' xml:lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='1352cb7d-9e27-4530-9e1c-38d8112eca8a' xml:lang='en' xmlns='jabber:client'><stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features> SENT (0): <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'></starttls> RECV (0): <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' xml: lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='8cd58123-09ff-4e68-9638-bc917500dc32' xml:lang='en' xmlns='jabber:client'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechani sm></mechanisms></stream:features> XMPPConnection connected (0) SENT (0): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'>biwsbj1mbG8ta2ZpcmUscj0pXytkdiEwRStMQTlvXTlIPmE+ekM4N1xXRSFbfFsyfg==</auth> RECV (0): <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>XXX</challenge> SENT (0): <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>XXX</response> RECV (0): <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>dj1KVVFCK0hsV2dHUjhyWDFxUE5WMWFmUjBKa289</success> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' id='8cd58123-09ff-4e68-9638-bc917500dc32' xml:lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='c345a0fa-1ad2-4466-bf56-b69fa9dd2d17' xml:lang='en' xmlns='jabber:client'><stream:features><ver xmlns='urn:xmpp:features:rosterver'/><c hash='sha-1' ver='cew1vWzQejQVOpsqnJ74kQoXCYk=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression></stream:features> SENT (0): <compress xmlns='http://jabber.org/protocol/compress'><method>zlib</method></compress> RECV (0): <compressed xmlns='http://jabber.org/protocol/compress'/> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' id='c345a0fa-1ad2-4466-bf56-b69fa9dd2d17' xml:lang='en'> SENT (0): <resume xmlns='urn:xmpp:sm:3' h='18' previd='ecf387c5-9192-4e32-8e0f-b6c580a27c6d'/> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='a86a4751-fd79-4758-95ba-fe41d1297d78' xml:lang='en' xmlns='jabber:client'><stream:features><ver xmlns='urn:xmpp:features:rosterver'/><c hash='sha-1' ver='cew1vWzQejQVOpsqnJ74kQoXCYk=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm></stream:features> 02-08 13:12:45.816 E/MAXS/XMPPService(22807): tryToConnect: Exception from connect() 02-08 13:12:45.816 E/MAXS/XMPPService(22807): org.jivesoftware.smack.SmackException$NoResponseException: No response received within packet reply timeout. Timeout was 120000ms (~120s) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.SynchronizationPoint.checkForResponse(SynchronizationPoint.java:192) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.SynchronizationPoint.sendAndWaitForResponse(SynchronizationPoint.java:79) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginNonAnonymously(XMPPTCPConnection.java:349) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:489) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:447) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:805) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:397) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.tryToConnect(XMPPService.java:655) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.changeState(XMPPService.java:554) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.connect(XMPPService.java:225) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.TransportService.onHandleIntent(TransportService.java:102) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.shared.transport.MAXSTransportService$ServiceHandler.handleMessage(MAXSTransportService.java:67) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.Handler.dispatchMessage(Handler.java:102) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.Looper.loop(Looper.java:136) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.HandlerThread.run(HandlerThread.java:61)
I'm unable to reproduce this, however I did not use compression.
Can you reproduce this with server debug logs enabled?
If a client tries to resume a session that was previously cleanly disconnected, i.e. sending unavailable presence and closing stream tag, then prosody will not send 'failed' or 'resumed' after the client sent 'resume'. Established TCP connection to mate.geekplace.eu/37.221.197.223 at port 5222 SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' xml:lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='1352cb7d-9e27-4530-9e1c-38d8112eca8a' xml:lang='en' xmlns='jabber:client'><stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features> SENT (0): <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'></starttls> RECV (0): <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' xml: lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='8cd58123-09ff-4e68-9638-bc917500dc32' xml:lang='en' xmlns='jabber:client'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechani sm></mechanisms></stream:features> XMPPConnection connected (0) SENT (0): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'>biwsbj1mbG8ta2ZpcmUscj0pXytkdiEwRStMQTlvXTlIPmE+ekM4N1xXRSFbfFsyfg==</auth> RECV (0): <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>XXX</challenge> SENT (0): <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>XXX</response> RECV (0): <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>dj1KVVFCK0hsV2dHUjhyWDFxUE5WMWFmUjBKa289</success> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' id='8cd58123-09ff-4e68-9638-bc917500dc32' xml:lang='en'> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='c345a0fa-1ad2-4466-bf56-b69fa9dd2d17' xml:lang='en' xmlns='jabber:client'><stream:features><ver xmlns='urn:xmpp:features:rosterver'/><c hash='sha-1' ver='cew1vWzQejQVOpsqnJ74kQoXCYk=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression></stream:features> SENT (0): <compress xmlns='http://jabber.org/protocol/compress'><method>zlib</method></compress> RECV (0): <compressed xmlns='http://jabber.org/protocol/compress'/> SENT (0): <stream:stream xmlns='jabber:client' to='geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='flo-kfire@geekplace.eu' id='c345a0fa-1ad2-4466-bf56-b69fa9dd2d17' xml:lang='en'> SENT (0): <resume xmlns='urn:xmpp:sm:3' h='18' previd='ecf387c5-9192-4e32-8e0f-b6c580a27c6d'/> RECV (0): <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='geekplace.eu' id='a86a4751-fd79-4758-95ba-fe41d1297d78' xml:lang='en' xmlns='jabber:client'><stream:features><ver xmlns='urn:xmpp:features:rosterver'/><c hash='sha-1' ver='cew1vWzQejQVOpsqnJ74kQoXCYk=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm></stream:features> 02-08 13:12:45.816 E/MAXS/XMPPService(22807): tryToConnect: Exception from connect() 02-08 13:12:45.816 E/MAXS/XMPPService(22807): org.jivesoftware.smack.SmackException$NoResponseException: No response received within packet reply timeout. Timeout was 120000ms (~120s) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.SynchronizationPoint.checkForResponse(SynchronizationPoint.java:192) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.SynchronizationPoint.sendAndWaitForResponse(SynchronizationPoint.java:79) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginNonAnonymously(XMPPTCPConnection.java:349) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:489) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:447) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:805) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:397) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.tryToConnect(XMPPService.java:655) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.changeState(XMPPService.java:554) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.connect(XMPPService.java:225) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.transport.xmpp.TransportService.onHandleIntent(TransportService.java:102) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at org.projectmaxs.shared.transport.MAXSTransportService$ServiceHandler.handleMessage(MAXSTransportService.java:67) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.Handler.dispatchMessage(Handler.java:102) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.Looper.loop(Looper.java:136) 02-08 13:12:45.816 E/MAXS/XMPPService(22807): at android.os.HandlerThread.run(HandlerThread.java:61)
I'm unable to reproduce this, however I did not use compression.
Can you reproduce this with server debug logs enabled?
Changes