Build: #2483 was successful Manual run by Guus der Kinderen
Code commits
Openfire (master)
-
Guus der Kinderen 9dddd3d8ce81839f2d5ae5702254700ea6825562
OF-3031: LocalSession isClosed 'old' implementation through configuration
The change made to `LocalSession#isClosed()` under OF-3031 seems to be the 'correct' change, but this change is likely to introduce issues with code that depends on the old behavior.
To allow for backwards compatibility, this commit introduces a configuration property `xmpp.session.isclose.connectionbased` that can be used to restore the old behavior. By default, the old behavior will be disabled, but this can be changed by changing the value of this property to `true`.- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java (version 9dddd3d8ce81839f2d5ae5702254700ea6825562)
-
Guus der Kinderen 0d809b9e8a0e95c12ca2b3c03456d7e035551ad5
OF-3031: Session's 'close' state no longer based on its backing connection
In the early days, a Session was always backed by a (socket) connection. When the connection was closed, so was the session, and vice versa.
With Stream Management, this no longer is the case. A session can remain unclosed (detached) while its connection is closed.
This commit changes the behavior of `LocalSession#isClosed()` to be based on the session's `status` field, and no longer on the connection's connectivity state.- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java (version 0d809b9e8a0e95c12ca2b3c03456d7e035551ad5)
-
Guus der Kinderen 926a26a514b39b48a5f612830f54990e5e6c558f
OF-3031: Update Javadoc to distinguish between session and connection.
- xmppserver/src/main/java/org/jivesoftware/openfire/session/Session.java (version 926a26a514b39b48a5f612830f54990e5e6c558f)
-
Guus der Kinderen 510c8429ca51f5fd80e952a6901dac9abf85c188
OF-3030: Adjust log level of "setting locale to"
It's not something that needs to be warned about, it's informational.- xmppserver/src/main/java/org/jivesoftware/openfire/XMPPServer.java (version 510c8429ca51f5fd80e952a6901dac9abf85c188)
-
Guus der Kinderen 1f1bc62a01c3e6067c53f4198db4df600701a610
OF-3029: Prevent false warnings about data inconsistency
It appears that this warning is also logged (incorrectly) in a scenario where user has a session that relates to a different route (in other words: when the user is using more than one device / the addressing uses different resource-parts in their JIDs). Openfire should not be logging that warning in such cases.- xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version 1f1bc62a01c3e6067c53f4198db4df600701a610)
-
Guus der Kinderen fceb3651929f9e40796b5e59d09b03c83d22a4f8
OF-2811 / OF-2808: Return error when terminating resumption attempt.
- xmppserver/src/main/java/org/jivesoftware/openfire/streammanagement/StreamManager.java (version fceb3651929f9e40796b5e59d09b03c83d22a4f8)
-
Guus der Kinderen e69241b733bc989f5a1ad7de6515d84c719955c8
OF-2811: Must not block on eventloop
OF-2808 describes an issue in which a session that is resumed gets closed. This is caused by the asynchronous 'close' operation to execute 'connection close' listeners on a session that, in another thread, has already been resumed.
The fix for OF-2808 introduces a Latch, that causes a thread to block. If that thread is one of a Netty EventLoop, all processing stops (possibly leading to the latch never be released, as the connection close listeners cannot operate).
This commit reverts the change for OF-2808, and applies a new fix for that issue: disallow a session that's already in the process of being closed from resumed.- xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettyConnection.java (version e69241b733bc989f5a1ad7de6515d84c719955c8)
- xmppserver/src/main/java/org/jivesoftware/openfire/streammanagement/StreamManager.java (version e69241b733bc989f5a1ad7de6515d84c719955c8)