Stages & jobs

  1. Default Stage

  2. Deploy

Code commits

Smack (4.3)

  • Georg Lukas <georg@op-co.de>

    Georg Lukas <georg@op-co.de> e5bbd19ef11e4111d8927f44be5061e765975962

    StanzaDroppedListener for XEP-0198 resumption failures
    If a stream resume fails, smack will re-send all queued stanzas after a
    reconnect. However, it does not make sense to re-send them:

    * IQs / IQ responses have probably timed out
    * MUC messages and PMs will be rejected as you haven't rejoined yet
    * regular messages should be amended with a <delay> element

    This patch adds a StanzaDroppedListener interface to the
    XMPPTCPConnection. If at least one StanzaDroppedListener is provided,
    all queued messages will be drained into the StanzaDroppedListener(s).
    Otherwise, the original behavior of attempting to transmit them will be
    followed.

    Discussion: https://discourse.igniterealtime.org/t/xep-0198-resume-failure-reconnect-resending-of-muc-messages/83510/3

    Signed-off-by: Georg Lukas <georg@op-co.de>

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version e5bbd19ef11e4111d8927f44be5061e765975962)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> c4289b2c1819bd7b62dca9ed7743410b19665296

    Add AbstractXMPPConnection.initState()
    and init/reset the sychronization points there.

    This method is called right at the beginning of connect() and at the
    end of shutdown().

    • smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java (version c4289b2c1819bd7b62dca9ed7743410b19665296)
    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version c4289b2c1819bd7b62dca9ed7743410b19665296)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 7518bf9a25a8c8ac7e25fa5daff9d50ab4801bd7

    Add descriptive text to StanzaError.toString()

    • smack-core/src/main/java/org/jivesoftware/smack/packet/StanzaError.java (version 7518bf9a25a8c8ac7e25fa5daff9d50ab4801bd7)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 569f7417a8e2bc59462f0112334ae1cddab73dde

    Add AuthenticatedConnectionInitiallyEstablished timestamp

    • smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java (version 569f7417a8e2bc59462f0112334ae1cddab73dde)
    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 569f7417a8e2bc59462f0112334ae1cddab73dde)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 5da6dea138cf57a96e6bd4d9298fdb497be5b64a

    Throw exception to reduce call sites of notifyConnectionError()
    in XMPPTCPConnection.

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 5da6dea138cf57a96e6bd4d9298fdb497be5b64a)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 7d2c3ac9f9ca28b172b3acb41d95ba9aa2583a63

    Do not call synchronized methods in reader/writer thread
    This may cause deadlocks with a call to acquire(2) on the introduced
    readerWriterSemaphore in initConnection(), which is also synchronized.

    • smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java (version 7d2c3ac9f9ca28b172b3acb41d95ba9aa2583a63)
    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 7d2c3ac9f9ca28b172b3acb41d95ba9aa2583a63)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 3d1a781a2228d9d2fe31f6b8c96687ca3dc56eb5

    Show correct reply timeout value in StanzaCollector's NoResponseException

    • smack-core/src/main/java/org/jivesoftware/smack/SmackException.java (version 3d1a781a2228d9d2fe31f6b8c96687ca3dc56eb5)
    • smack-core/src/main/java/org/jivesoftware/smack/StanzaCollector.java (version 3d1a781a2228d9d2fe31f6b8c96687ca3dc56eb5)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 7f0932a481016505d58daf6cc4dbcbd5991573e0

    Reset the MUC self-presence collector on presence stanzas on join
    To prevent timeouts when joining very large MUCs we now reset the
    self-presence collector's timeout for every other (occupant) presence
    we receive.

    Fixes SMACK-859.

    • smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java (version 7f0932a481016505d58daf6cc4dbcbd5991573e0)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> f602de8771db507f4538a60302a0f2d2bca218f6

    Call shutdown() in connect() on exception
    to clean up the state build up by connect().

    Related to SMACK-855 there is the possiblitiy of a stray (writer)
    thread if, for example, tlsHandled.checkifSuccessOrWaitorThrow() in
    XMPPTCPConnection.connectInternal() throws. This commit should prevent
    that.

    • smack-bosh/src/main/java/org/jivesoftware/smack/bosh/XMPPBOSHConnection.java (version f602de8771db507f4538a60302a0f2d2bca218f6)
    • smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java (version f602de8771db507f4538a60302a0f2d2bca218f6)
    • smack-core/src/test/java/org/jivesoftware/smack/DummyConnection.java (version f602de8771db507f4538a60302a0f2d2bca218f6)
    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version f602de8771db507f4538a60302a0f2d2bca218f6)