- 07 Jan, 2016 1 commit
-
-
Guus der Kinderen authored
-
- 06 Jan, 2016 21 commits
-
-
Guus der Kinderen authored
-
Guus der Kinderen authored
This commit notifies all users that are in a MUC on the local server node of a shut down of the service. The notification conforms to XEP-0045. In order to prevent a prolonged shut down, this commit: - ensures that a shutdown routine is executed just once (instead of for each type of interface being shut down: module,component and listener) - the presence stanza that is sent is constructed using in-memory objects only (no database lookups) - all notification occurs in a thread pool, which will concurrently process them, but will terminate forcibly after a certain amount of time.
-
Dave Cridland authored
OF-1028 Stream Management refactoring
-
Guus der Kinderen authored
-
Guus der Kinderen authored
Instead of rerequesting ack for every unack'ed stanza over the threshold, do this only for every few stanzas. This prevents a storm of ack-requests when data is transmitted to the client faster than it can respond.
-
Guus der Kinderen authored
When a peer refuses to ack data, we should not keep it in memory indefinately. This commit introduces a configurable upper bound, and when reached causes the queue to be cleared (dropped silently) while disabling the functionality for that connection.
-
Guus der Kinderen authored
The peer might send unsollicited acks. Instead of requesting ack after every so many stanzas that we send out, only request ack if we have unack'ed stanzas.
-
Guus der Kinderen authored
This commit fixes an overflow issue.
-
Guus der Kinderen authored
To safely determine what stanza has and has not been ack'ed by the peer, store the current value of 'x' with each stanza that's kept. This also allows for proper handling when the peer rolls over X (at x=2^32).
-
Guus der Kinderen authored
Previous commits have applied enough refactoring that it is now no longer needed to expose internal state. This saves on complexity and potential concurrency issues.
-
Guus der Kinderen authored
The 'enabled' field is unneeded - the presence of a namespace also indicates if SM is enabled. Reduces code, saves a little on memory.
-
Guus der Kinderen authored
By moving the processing of Stream Management elements into the StreamManager implementation, duplicated code can be removed.
-
Guus der Kinderen authored
To reduce the chance of lock contention, locks should only be put in effect when the code accesses data that is sensitive to concurrent access.
-
Guus der Kinderen authored
Prevent exposing access to a field that we're careful to modify under lock. Again, a defensive copy is a suitable alternative, but seems unneeded.
-
Guus der Kinderen authored
Do not expose the collection of packets that our implementation modifies only under a mutex (alternatively, we could return a defensive copy instead, but there does not seem to be a need to expose the collection in the first place).
-
Guus der Kinderen authored
Stream (debug) logging is very verbose, but does not provide any context. This commit adds the address of the peer to each log message. Additionally, some javadoc fixes were applied.
-
Guus der Kinderen authored
Don't add multiple delayed delivery extension to resent messages.
-
Dave Cridland authored
WebSocket plugin: Fix wrong namespace adding to empty elements
-
Christian Schudt authored
The issue is that messages, which get resent from offline storage already have an older timestamp. There should not be another delayed delivery extension, which "overwrites" the old one. Messages looked like that: <message><body>...</body><delay xmlns="urn:xmpp:delay" stamp="2016-01-06T13:48:45.312Z"></delay><delay xmlns="urn:xmpp:delay" stamp="2016-01-06T13:49:56.674Z"></delay></message> Instead the original timestamp should be preserved.
-
Christian Schudt authored
The old logic produced XML like: <presence xmlns="jabber:client" from="..." to="..."><show xmlns="">xa</show><status xmlns=""/></presence> This is basically the same fix as in 6965c13e. Relates to OF-938.
-
Dave Cridland authored
Remove verbose logging
-
- 05 Jan, 2016 17 commits
-
-
Tom Evans authored
OF-1009: Allow non-TLS dialback
-
Guus der Kinderen authored
When a TLS failure occurs during dialback, allow for a non-TLS based fallback.
-
Guus der Kinderen authored
This class logged to debug on any property change (including properties that do not relate to the class itself).
-
Dave Cridland authored
S2S logging
-
Dave Cridland authored
OF-1023: Fire contactChanged/Deleted events
-
Dave Cridland authored
OF-999: Allow configuration of BOSH worker thread pool
-
Dave Cridland authored
OF-998: Ant should resolve DTDs locally
-
Dave Cridland authored
OF-1025: Restore web-custom.xml functionality
-
Tom Evans authored
OF-1000 Prevent NPE and improve logging
-
Tom Evans authored
Fixed group population for colliding full names.
-
Tom Evans authored
OF-122: MUC subject change policy
-
Tom Evans authored
MUC Invitation rejection delegate call
-
Guus der Kinderen authored
For some reason, XPath-based selection of nodes no longer works. Traversing the Dom4j object resolves that problem.
-
Dave Cridland authored
Improve quality of random data generation.
-
Guus der Kinderen authored
Ant (or rather, the XMLTask in our build) attempts to lookup DTDs online. The build (of plugins) will fail if no internet connectivity is available. This commit references DTDs locally, allowing Ant to skip the online lookup.
-
Guus der Kinderen authored
When a log directory cannot be created, a warning should be logged, and null pointers should be prevented when the directory is being referenced.
-
Guus der Kinderen authored
The thread pool that performs processing of data received through the HTTP-based connections of BOSH (as provided by Jetty) should not have a hardcoded upper bound. Instead, the pool size should be configurable. For other connection types, this is managed by properties named as such: - xmpp.client.processing.threads (client sockets) - xmpp.multiplex.processing.threads (connection managers) - xmpp.component.processing.threads (components) BOSH does have a similar property: httpbind.client.processing.threads It's value however is not used to configure the amount of worker threads. It is used to configure the amount of (NIO) acceptors instead. In NIO, acceptor threads handle network IO, and hand off processing to the worker threads. There's little benefit in being able to configure the amount of acceptors, as Jetty will default to a platform-specific default (based on the number of CPUs that are available). There is greater benefit in being able to configure the amount of worker threads (as that's more likely to affect throughput).
-
- 04 Jan, 2016 1 commit
-
-
Tom Evans authored
Per PR feedback, default to a strict (conforming) policy when detecting MUC room subject change requests. Additional work could be done to add a corresponding configuration option to the MUC service admin console, but is not included in the scope of this PR.
-