- 26 Apr, 2017 1 commit
-
-
Guus der Kinderen authored
Javadoc comment are dangling if they don't belong to any class, method or field. For example a Javadoc comment in between method declarations that have their own javadoc comments. These generate needless warnings, which are in most instances easily solved. By far most problems occur in the license block that's in most files.
-
- 04 Jan, 2017 1 commit
-
-
daryl herzmann authored
-
- 18 Mar, 2016 1 commit
-
-
akrherz authored
Since the release of Openfire 3.9.3, users have reported problems with "ghost" sessions left on the server. After reviewing the changes that went into the 3.9.3 release, it seemed the fix for OF-464 may have had some side effect causing this. Since Igniterealtime's Openfire was reproducing OF-829, I did a test whereby the functional changes of Igniterealtime/Openfire#ad08cae9 were reverted. After 36 hours, there were no ghosts! This will likely necessitate reopening OF-464.
-
- 28 Nov, 2015 1 commit
-
-
Guus der Kinderen authored
-
- 25 Nov, 2015 6 commits
-
-
Guus der Kinderen authored
-
Guus der Kinderen authored
This commit (which is compilable, but breaks some important functionality - work in progess) aims to centralize the configuration for connections. "Connections" are used in a broad sense here, and includes socket-based (TLS and legacy-mode SSL) client connections, BOSH-based client connections, component connections, connectionmanager (multiplexer) connections, but also connections to the admin panel.
-
Guus der Kinderen authored
-
Guus der Kinderen authored
This commit: - Refactors SSL-related code to reduce complexity and deprecate unused code - Adds factory methods to obtain SSL/TLS engine / contexts, to replace all code duplication that was going on before.
-
Guus der Kinderen authored
Two out of three arguments in the constructor of the Server Trust Manager are unused. By deprecating them, calling code can be simplified.
-
Guus der Kinderen authored
The code to get an instance of SSLContext is duplicated all over the codebase. Code gets more maintainable by replacing all duplicate code blocks with one utility method. This already fixes an issue where Clearspace integration used a SSL instead of TLS algorithm.
-
- 21 Nov, 2015 2 commits
-
-
Christian Schudt authored
I feel the language (the stream's "xml:lang" attribute) should be in the Session interface rather than the Connection (similar as the stream id), because it's unrelated to the session's transport. The HttpSession already did that. Otherwise the used language is not easy to retrieve, e.g. when using SessionManager to get the session and OF-208 is hard to solve. Alternatively we can expose the Connection in the Session interface, but this approach feels wrong to me. Also use `java.util.Locale` rather than String, because it better reflects what can be in `xml:lang` (it can also have country codes, e.g. "de-CH")
-
Christian Schudt authored
For every packet being delivered the `ByteBufferWriter` creates a new String for every few chars written and puts it to the buffer. According to my tests it is more efficient to create only one string and put it into the buffer once. (10-20% better performance)
-
- 16 Nov, 2015 1 commit
-
-
Tom Evans authored
- Use AtomicReference instead of synchronized block - Extend java.io.Closeable; document contract - Consolidate close/state transition logic
-
- 13 Nov, 2015 1 commit
-
-
Tom Evans authored
Avoid recursion and synchronization issues
-
- 09 Nov, 2015 1 commit
-
-
Christian Schudt authored
There were still ~1500 missing annotations! This time fixed with IntelliJ ;-)
-
- 29 Oct, 2015 1 commit
-
-
Christian Schudt authored
- Use String.getBytes(Charset) instead of String.getBytes(String) - Use new String(byte[], Charset) instead of new String(byte[], String) -> Get rid of UnsupportedEncodingException. -> Less try-catch blocks.
-
- 13 Oct, 2015 1 commit
-
-
Guus der Kinderen authored
-
- 28 Jul, 2015 1 commit
-
-
Tom Evans authored
Original issue (OF-857) has been addressed by providing an alternate packet deliverer (to offline storage). This additional logic was an ill-advised "belt-and-suspenders" attempt to prevent the recursion which was occurring before the backup deliverer was implemented.
-
- 08 Jul, 2015 1 commit
-
-
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.
-
- 10 Jun, 2015 2 commits
-
-
Dave Cridland authored
Addressing DIRMINA-1012
-
Dave Cridland authored
Where ioSession.getRemoteAddress() returns null, this can cause an NPE.
-
- 29 May, 2015 3 commits
-
-
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.
-
Guus der Kinderen authored
The close listeners should not be called from within a synchronized block.
-
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.
-
- 28 May, 2015 1 commit
-
-
Guus der Kinderen authored
MINA 2.0.8 introduces support for half-duplex close of TCP channels (see DIRMINA-785). As part of this change, IoHandlers got a new method. The default behavior of the IoHandlerAdapter closes the MINA session when this handler is triggered. However, without an Openfire-specific extension (in ConnectionHandler), this fails to close Openfire-maintained resources. As a result, CPUs could start to spin in NIO code, resulting in 100% CPU cycles. To fix this issue, ConnectionHandler now overrides the default functionality and triggers a normal closure of the session (both in Openfire as well as MINA context). Additionally, to prevent the CPU spin, MINA sessions need to be closed synchronously (as opposed to the async closure Openfire had up until now). I cannot quite explain the need for this change, other than a suspision of race conditions in the async setup.
-
- 26 May, 2015 2 commits
-
-
Guus der Kinderen authored
-
Guus der Kinderen authored
-
- 01 May, 2015 1 commit
-
-
Dave Cridland authored
-
- 14 Feb, 2015 1 commit
-
-
test@test.com authored
OF-881: NIOConnection Thread Deadlock when two clients in each others roster simultaneously disconnect
-
- 13 Jan, 2015 2 commits
-
-
Tom Evans authored
When a connection is closed, any further packets to be delivered need to be handled by the "backup" packet deliverer. The original implementation simply tried to reuse the primary delivery/routing mechanism, which resulted in a recursive call. This has been replaced with a packet deliverer that will route undeliverable message packets into the offline store.
-
Tom Evans authored
The connection close listener initiates a presence broadcast to advertise its "unavailable" status. The current connection must be marked closed before this occurs, so the presence stanza will not be delivered to the newly closed connection. Note that the synchronized block alone does not accomplish this because the presence broadcast is delivered via that same thread that is currently closing the connection, thus it already possesses the sync object lock. Also, note that the SessionManager should exclude the originating JID when sending presence broadcasts to the user's other available session(s).
-
- 12 Jan, 2015 1 commit
-
-
Tom Evans authored
This patch is to prevent a stack overflow in certain exception cases where a connection has been closed, but its corresponding session is still present in the routing table.
-
- 11 Jan, 2015 2 commits
-
-
Florian Schmaus authored
Also decrease the size of the critical section the lock protects. Related to OF-857.
-
Tom Evans authored
Use a lock to ensure the integrity of IoSession (MINA), especially when using compression or TLS filters
-
- 17 Dec, 2014 1 commit
-
-
Christian Schudt authored
-
- 09 Dec, 2014 1 commit
-
-
Tom Evans authored
Updates the MINA 2.0.9 core to fix a locking issue documented here: https://issues.apache.org/jira/browse/DIRMINA-995 Also updates connection manager and thread pool configurations to better allocate resources within the JVM.
-
- 07 Aug, 2014 1 commit
-
-
jackrabbit128 authored
- install ReadThrottleFilterBuilder into filter chains - adjust SSLFilter positioning in chain so that ReadThrottleFilter works correctly
-
- 31 May, 2014 1 commit
-
-
André Berenguel authored
-
- 26 Apr, 2014 1 commit
-
-
Tom Evans authored
Ensure that async packets are not lost when a connection is dropped/reset by peer.
-
- 19 Feb, 2012 1 commit
-
-
guus authored
git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@13001 b35dd754-fafc-0310-a699-88a17e54d16e
-