#467 Prosody does not send failed or resumed element after 'resume'

Reporter fschmaus
Owner Zash
Created
Updated
Stars ★ (1)  
Tags
  • Priority-Medium
  • Type-Defect
  • Status-NeedInfo
  1. fschmaus on

    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)

  2. Zash on

    I'm unable to reproduce this, however I did not use compression.

  3. Zash on

    Can you reproduce this with server debug logs enabled?

    Changes
    • owner Zash
    • tags Status-NeedInfo

New comment