Build: #2370 was successful Changes by daryl herzmann <akrherz@iastate.edu>
Code commits
Openfire (master)
-
daryl herzmann <akrherz@iastate.edu> 7c563f57b188df71db5e67fcc857821470d73439
Merge pull request #2169 from guusdk/OF-2566_StreamManagement-resumption-for-websockets
Refactor WebSocket implementation -
Guus der Kinderen e111c7d063151557245346925a335d939972e9bc m
OF-2566: Revoke workaround for OF-2473
With the refactoring of the websocket implementation in the previous commit, the workaround that addressed the threading issue (OF-2473) does no longer seem to be needed. I've executed the Tsung-based reproduction from that issue on the new code repeatedly, without reproducing the issue. This commit removes the work-around.- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketClientConnectionHandler.java (version e111c7d063151557245346925a335d939972e9bc)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketConnection.java (version e111c7d063151557245346925a335d939972e9bc)
-
Guus der Kinderen 230762cb7e878ae4a303ffb76ca743d883c24bfb m
OF-2566: Refactor WebSockets to reinstate Stream Management
With OF-963, the 'resume' feature of Stream Management (XEP-0198) was disabled, as it was buggy. The purpose of this commit is to reinstate this feature.
To do this, the implementation of WebSockets has been refactored to more closely resemble the implementation of the standard (socket/NIO-based) client
connection handling. It does so by introducing a `WebSocketClientConnectionHandler` and a `WebSocketClientStanzaHandler` that mimics the application of
`ClientConnectionHandler` and `ClientStanzaHandler` respectively, used for NIO/TCP sockets.
The motivation to make the WebSocket handling more similar to that of NIO/TCP sockets is two-fold:
- the latter is does not suffer from the Stream Management issue - it apparently does something better.
- maintenance of the code will be simplified, by having the same approach being re-used.- i18n/src/main/resources/openfire_i18n.properties (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- i18n/src/main/resources/openfire_i18n_nl.properties (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/ClientStanzaHandler.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/StanzaHandler.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalIncomingServerSession.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalOutgoingServerSession.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/session/Session.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/streammanagement/StreamManager.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/OpenfireWebSocketServlet.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketClientConnectionHandler.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketClientStanzaHandler.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketConnection.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/XmppWebSocket.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/SessionTest.java (version 230762cb7e878ae4a303ffb76ca743d883c24bfb)
-
Guus der Kinderen 08220e8cfe4d118ad054b79ab733c7b3b21136e7 m
Refactor StanzaHandler: introduce StreamErrorException
When validating a stream that is being set up, using a dedicated Exception instead of booleans will improve readability of the code, and will make it easier to extend the class.
This commit introduces a StreamErrorException and uses that when validating a new stream.
No functional changes are intended to be introduced by this commit.- xmppserver/src/main/java/org/jivesoftware/openfire/net/ClientStanzaHandler.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/ComponentStanzaHandler.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/MultiplexerStanzaHandler.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/ServerStanzaHandler.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)
- xmppserver/src/main/java/org/jivesoftware/openfire/net/StanzaHandler.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)
- xmppserver/src/main/java/org/jivesoftware/util/StreamErrorException.java (version 08220e8cfe4d118ad054b79ab733c7b3b21136e7)