1. 30 Jul, 2015 2 commits
  2. 22 Jun, 2015 5 commits
  3. 19 Jun, 2015 2 commits
  4. 17 Jun, 2015 1 commit
  5. 16 Jun, 2015 2 commits
  6. 15 Jun, 2015 1 commit
  7. 11 Jun, 2015 1 commit
  8. 10 Jun, 2015 3 commits
  9. 09 Jun, 2015 1 commit
  10. 08 Jun, 2015 1 commit
    • Dave Cridland's avatar
      Do not synchronize on isClosed() · 389c17c7
      Dave Cridland authored
      There is a deadlock while reading the state variable if close() is running.
      
      This switches the state to be volatile instead - it's only written to inside
      the lengthy close() lock, so this should be reasonable.
      389c17c7
  11. 31 May, 2015 2 commits
  12. 29 May, 2015 5 commits
    • Guus der Kinderen's avatar
      OF-883: Prevent sending data to known disconnected peers. · 3e54c820
      Guus der Kinderen authored
      By closing a session when the new MINA inputClosed() handler is triggered, we run
      the risk of sending data to the peer. As that peer is known to be dead, this is
      pointless (and potentially dangerous - deadlocks have been observed that are likely
      related to this scenario).
      
      To prevent sending data during session closure, the close() method has been
      overloaded with an argument that indicates if the peer is known to be dead. When
      set, its implementation will not attempt to send data.
      3e54c820
    • Dave Cridland's avatar
      OF-910 - Error stanzas to MUC room should remove occupants · b0a11dae
      Dave Cridland authored
      Currently, only stanzas containing errors of type cancel will cause the
      occupant to be removed, however this doesn't appear to catch and remove many
      occupants in practise.
      
      This patch therefore removes occupants from the service on any message or
      presence error stanza, irrespective of the error type. IQ stanzas do not
      trigger the same response, as these may be due to lack of client support
      rather than a vanished occupant.
      b0a11dae
    • Guus der Kinderen's avatar
      OF-883 & OF-881: Avoid potential deadlock with close listeners. · 9e95c34f
      Guus der Kinderen authored
      The close listeners should not be called from within a synchronized block.
      9e95c34f
    • Guus der Kinderen's avatar
      OF-883: Prevent multiple closes of the same connection. · 0cd1edef
      Guus der Kinderen authored
      When a connection is closed, several events can be involved (and can be triggered).
      Some of these events will attempt to close the connection (if it hadn't been already).
      This, at best, least to multiple invocations of close-listeners. At worst, a loop of
      close-calls is created.
      
      This commit replaces the two-way boolean that guards closure (isClosed) with a
      three-way guard. Now, a distinction is made between between a connection that is
      closed, and one that is closing.
      
      Additionally, some null pointer guards have been added, as I've seen those pop up in
      my local logs during development.
      0cd1edef
    • Guus der Kinderen's avatar
  13. 28 May, 2015 3 commits
  14. 01 May, 2015 3 commits
  15. 29 Apr, 2015 2 commits
  16. 26 Apr, 2015 1 commit
  17. 25 Apr, 2015 1 commit
  18. 21 Apr, 2015 1 commit
  19. 20 Apr, 2015 1 commit
  20. 10 Apr, 2015 2 commits