Build: #2681 was successful
Job: Build was successful
Code commits
Openfire (master)
-
daryl herzmann b9f01e339ff8816ce175ae870f61a05e7d7aeba5
Merge pull request #2643 from guusdk/OF-2941_Snapshot-version-comparison
OF-2941: Improve Version comparison that involve SNAPSHOTs -
daryl herzmann 92cd5c545271b9b6cef3afbb3844d6fdf859cd4b
Merge pull request #2644 from guusdk/tests-improve-speed
Reduce runtime of long-running S2S unit tests (and fix OF-2942 as a byproduct) -
daryl herzmann cdece9b7f0ee949b3ee2a273aab646352473dfc7
Merge pull request #2635 from guusdk/OF-2921_Deadlock
OF-2921: Prevent deadlock by not broadcasting synchronously -
daryl herzmann 54992b695d676c44878a8521eae513e3047f0c98
Merge pull request #2645 from guusdk/OF-2943_Unit-test-db-update
OF-2943: Update database used by unit test -
Guus der Kinderen 697b8f452d3cb926fc885106c083e5c76919b0ad
Admin console: Hover over plugins makes background change
- xmppserver/src/main/webapp/available-plugins.jsp (version 697b8f452d3cb926fc885106c083e5c76919b0ad)
- xmppserver/src/main/webapp/plugin-admin.jsp (version 697b8f452d3cb926fc885106c083e5c76919b0ad)
-
Sergey Ponomarev <stokito@gmail.com> 8db6a1034ffd068b1e9d7e1d29b2cb781103178e
OF-2892: admin console Plugins pages: fix colspan
- xmppserver/src/main/webapp/available-plugins.jsp (version 8db6a1034ffd068b1e9d7e1d29b2cb781103178e)
-
Sergey Ponomarev <stokito@gmail.com> 70c698f961d59ebfd119a4846f7028667e1d35f4
OF-2892: admin console Available Plugins page: use plugin.available.name instead of plugin.available.open_source
And remove the unused open_source key- i18n/src/main/resources/openfire_i18n.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_de.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_es.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_fr.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_he.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_nl.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_sk.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_uk_UA.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
- xmppserver/src/main/webapp/available-plugins.jsp (version 70c698f961d59ebfd119a4846f7028667e1d35f4)
-
Sergey Ponomarev <stokito@gmail.com> bda8283b6d1ad36c7c121419904645bfeeb62810
OF-2892: admin console Plugins pages: merge version, releaseDate and changelog
- xmppserver/src/main/webapp/available-plugins.jsp (version bda8283b6d1ad36c7c121419904645bfeeb62810)
- xmppserver/src/main/webapp/plugin-admin.jsp (version bda8283b6d1ad36c7c121419904645bfeeb62810)
-
Sergey Ponomarev <stokito@gmail.com> ca79ee4dadf794f43915c4685e75494cbc6e043a
OF-2892: admin console Available Plugins page: show releaseDate in ISO and store it
- xmppserver/src/main/java/org/jivesoftware/openfire/update/AvailablePlugin.java (version ca79ee4dadf794f43915c4685e75494cbc6e043a)
- xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java (version ca79ee4dadf794f43915c4685e75494cbc6e043a)
-
Sergey Ponomarev <stokito@gmail.com> 8f7e51c6957049581fff1467ee6a40720fd82a35
OF-2892: admin console Plugins pages: use text instead of icons
- xmppserver/src/main/webapp/available-plugins.jsp (version 8f7e51c6957049581fff1467ee6a40720fd82a35)
- xmppserver/src/main/webapp/plugin-admin.jsp (version 8f7e51c6957049581fff1467ee6a40720fd82a35)
-
Sergey Ponomarev <stokito@gmail.com> 02f28ff79a6f242463613b2bace78e2dbdab2962
OF-2892: admin console plugins pages: wrap description
- xmppserver/src/main/webapp/available-plugins.jsp (version 02f28ff79a6f242463613b2bace78e2dbdab2962)
- xmppserver/src/main/webapp/plugin-admin.jsp (version 02f28ff79a6f242463613b2bace78e2dbdab2962)
-
Sergey Ponomarev <stokito@gmail.com> fe8eb02ca05cc17998d683b04397c2d2230fb8f8
OF-2892: admin console Plugins pages: fix column width
- xmppserver/src/main/webapp/available-plugins.jsp (version fe8eb02ca05cc17998d683b04397c2d2230fb8f8)
- xmppserver/src/main/webapp/plugin-admin.jsp (version fe8eb02ca05cc17998d683b04397c2d2230fb8f8)
-
Sergey Ponomarev <stokito@gmail.com> 0cd7c17d0e6f044375402d40cad39de13f2bc4c2
OF-2892: admin console Plugins pages: merge name and description
- xmppserver/src/main/webapp/available-plugins.jsp (version 0cd7c17d0e6f044375402d40cad39de13f2bc4c2)
- xmppserver/src/main/webapp/plugin-admin.jsp (version 0cd7c17d0e6f044375402d40cad39de13f2bc4c2)
-
Guus der Kinderen ab2a07eb13c97526a994c8628f8a78c25c9c7cb5
OF-2943: Update database used by unit test
By using an up-to-date database, the unit test doesn't need to perform updates when it executes.- xmppserver/src/test/resources/datasets/openfire.script (version ab2a07eb13c97526a994c8628f8a78c25c9c7cb5)
-
Guus der Kinderen 858edac4d281aac22a4784530af704bdd9ee6a23
Speed up LocalOutgoingServerSessionTest
This test uses an older SocketAcceptor, that cannot be interrupted. This means that we wait until SO_TIMEOUT before the test ends.
This commit reduces the SO_TIMEOUT value. This runs the risk of introducing instability.- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteReceivingServerDummy.java (version 858edac4d281aac22a4784530af704bdd9ee6a23)
-
Guus der Kinderen 8362724384b6b225a899c71cfd7b6963d09a9f68
Add debug logging for ServerSessionTest
No functional changes to the unit tests, but adds a simple mechanism to record how much time passed between logged statements.- xmppserver/src/test/java/org/jivesoftware/openfire/session/AbstractRemoteServerDummy.java (version 8362724384b6b225a899c71cfd7b6963d09a9f68)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalIncomingServerSessionTest.java (version 8362724384b6b225a899c71cfd7b6963d09a9f68)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalOutgoingServerSessionTest.java (version 8362724384b6b225a899c71cfd7b6963d09a9f68)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version 8362724384b6b225a899c71cfd7b6963d09a9f68)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteReceivingServerDummy.java (version 8362724384b6b225a899c71cfd7b6963d09a9f68)
-
Guus der Kinderen 2aa58ea15c5268289ef00352a6d9bf04deceb124
Speed up LocalIncomingServerSessionTest
The test teardown waits for inbound stream IDs to be registered with the session manager. Many streams (those that have errored out or have been replaced with an encrypted stream) won't ever be registered in the Session Manager. The test teardown doesn't need to wait for those.
This commit introduces a change that tracks the streams that are still in-flight. Test teardown will now only wait for those.- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version 2aa58ea15c5268289ef00352a6d9bf04deceb124)
-
Guus der Kinderen c5c1648f71e39a163846be49f1a3f97d45b8ba41
Speed up LocalIncomingServerSessionTest
This test uses an older SocketAcceptor, that cannot be interrupted. This means that we wait until SO_TIMEOUT before the test ends.
This commit reduces the SO_TIMEOUT value. This runs the risk of introducing instability.- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version c5c1648f71e39a163846be49f1a3f97d45b8ba41)
-
Guus der Kinderen d9726157f06f39b8b43f307d1f0e656f82855488
Speed up LocalIncomingServerSessionTest
By properly detecting a stream error, the test needs not to wait for proper session teardown.- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version d9726157f06f39b8b43f307d1f0e656f82855488)
-
Guus der Kinderen a340aa9c743c26b302aa94bb4eae3e80e74aa659
OF-2942: Give up S2S attempts immediately on conflicting settings
Abort outbound server-to-server attempts immediately (rather than waiting for a timeout), when:
- the remote peer requires encryption, but the local server cannot do encryption
- authentication mechanisms are exhausted (eg: no client cert for EXTERNAL, and Dialback unavailable)- xmppserver/src/main/java/org/jivesoftware/openfire/net/RespondingServerStanzaHandler.java (version a340aa9c743c26b302aa94bb4eae3e80e74aa659)
-
Guus der Kinderen d16bdf1e440cfa9097f8c85c450c7822cf403eb3
Speed up LocalIncomingServerSessionTest and LocalOutgoingServerSessionTest
Both tests use a ServerSocket that is 'slow' to shut down. By explicitly closing it, it shuts down faster, improving the duration of the test fixture teardown.- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version d16bdf1e440cfa9097f8c85c450c7822cf403eb3)
- xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteReceivingServerDummy.java (version d16bdf1e440cfa9097f8c85c450c7822cf403eb3)
-
Guus der Kinderen 72b67cb80078c1f8069ef26cdaaedbda6e0499da
OF-2941: Improve Version comparison that involve SNAPSHOTs
For certain versions of plugins, Openfire incorrectly identifies that an update is available.
When Openfire has installed `10.1.7.3-SNAPSHOT` it incorrectly identifies that version `10.1.7.2` is an update.
This seems to be caused by Openfire’s abuse of the 4th numeric value in a version. It was originally intended to be a classifier for the status (eg: ‘the second beta release’). When that 4th value is used as part of a four-digit version, things do not quite compare as expected.
To illustrate, compare these two scenarios. The numbers 3 and 2 are all stored in the same field, which gets interpreted differently.
- `10.1.7 beta 3` is older than `10.1.7 release 2`
- `10.1.7.3-SNAPSHOT` is expected to be newer than `10.1.7.2` (release).
Prior to this commit, Openfire did not flag that `10.1.7.3-SNAPSHOT` is newer than `10.1.7.2`, which was causing confusion.
In this commit, _only_ the `SNAPSHOT` release status is now compared differently (as if the 4th value is part of the version string).- xmppserver/src/main/java/org/jivesoftware/openfire/update/Update.java (version 72b67cb80078c1f8069ef26cdaaedbda6e0499da)
- xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java (version 72b67cb80078c1f8069ef26cdaaedbda6e0499da)
- xmppserver/src/main/java/org/jivesoftware/util/Version.java (version 72b67cb80078c1f8069ef26cdaaedbda6e0499da)
- xmppserver/src/test/java/org/jivesoftware/util/VersionTest.java (version 72b67cb80078c1f8069ef26cdaaedbda6e0499da)
-
Guus der Kinderen bdcf8e22cc50d228460d84f49671413f1fdc2ac6
Apply IDE hints to ProfiledConnection.java
Multiple small, non-functional changes have been applied to the code of ProfiledConnection. This class now requires Java 17.- xmppserver/src/main/java/org/jivesoftware/database/ProfiledConnection.java (version bdcf8e22cc50d228460d84f49671413f1fdc2ac6)
-
Guus der Kinderen 15831beb9364e4ac870428be7d70a1a72857e71f
Use java.time when collecting database statistics
Use the more type-safe Instant and Duration representations from `java.time` (rather than long values representing a timestamp and durations) in the code that profiles database statistics- xmppserver/src/main/java/org/jivesoftware/database/ProfiledConnection.java (version 15831beb9364e4ac870428be7d70a1a72857e71f)
- xmppserver/src/main/java/org/jivesoftware/database/ProfiledConnectionEntry.java (version 15831beb9364e4ac870428be7d70a1a72857e71f)
- xmppserver/src/main/webapp/server-db-stats.jsp (version 15831beb9364e4ac870428be7d70a1a72857e71f)
- xmppserver/src/test/java/org/jivesoftware/database/ProfiledConnectionTest.java (version 15831beb9364e4ac870428be7d70a1a72857e71f)
-
Guus der Kinderen 6bd84559332e175357b41a391ac10c4a1516f12c
Update Database Query Statistics page
Mostly converts the page from scriptlet to JSTL.
Makes the tables that contain SQL wider
Other minor CSS tweaks.- i18n/src/main/resources/openfire_i18n.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_de.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_es.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_fa_IR.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_he.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_nl.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_sk.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_uk_UA.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- xmppserver/src/main/java/org/jivesoftware/database/ProfiledConnectionEntry.java (version 6bd84559332e175357b41a391ac10c4a1516f12c)
- xmppserver/src/main/webapp/server-db-stats.jsp (version 6bd84559332e175357b41a391ac10c4a1516f12c)
-
Guus der Kinderen 2e1b7a0254d7f86d76d4c29a8c7a6dad17b720f4
OF-2913: Fix db statistics
The end-time of a profiling session is now observed when calculating rates. Prior to this change, no new data was recorded, but the end-time that was used was 'now', leading to decreasing rates over time.
When (re)starting a profiling session, all old data should be discarded, to avoid skewed averages and rates.- xmppserver/src/main/java/org/jivesoftware/database/ProfiledConnection.java (version 2e1b7a0254d7f86d76d4c29a8c7a6dad17b720f4)
- xmppserver/src/test/java/org/jivesoftware/database/ProfiledConnectionTest.java (version 2e1b7a0254d7f86d76d4c29a8c7a6dad17b720f4)
-
Guus der Kinderen d2b25dea28991d723a52a8373ff0396666092e16
OF-2717: Additional content for Plugin-to-Jetty12 upgrade guide
- documentation/plugin-dev-jetty12.html (version d2b25dea28991d723a52a8373ff0396666092e16)
-
Guus der Kinderen 350218698324c40e2fdda31d45eaa395aacc9b38
OF-2717: Rework Jetty 12 plugin documentation
This rewords the provided documentation into an upgrade guide for Openfire plugin developers.- documentation/plugin-dev-jetty12.html (version 350218698324c40e2fdda31d45eaa395aacc9b38)
- documentation/plugins-affected-by-jetty12-upgrade.html (version 350218698324c40e2fdda31d45eaa395aacc9b38)
-
Dave Cridland <dave@cridland.net> 364f44a3fa8f8023b3d668ed66c275299fd4faa4
Get mvnw working
- .dockerignore (version 364f44a3fa8f8023b3d668ed66c275299fd4faa4)
- Dockerfile (version 364f44a3fa8f8023b3d668ed66c275299fd4faa4)
-
Dan Caseley 88b10a5fbca9f2eb3a80d3a22071f1d3fa6aa845
Fix groups and missing sudo for entrypoint
- Dockerfile (version 88b10a5fbca9f2eb3a80d3a22071f1d3fa6aa845)
-
Guus der Kinderen 61e563b5a36b49978fc093a6a61e5f7bdd81bf67
Replace Fank with with Dwd and Fishbowler as maintainer of Dockerfile
- Dockerfile (version 61e563b5a36b49978fc093a6a61e5f7bdd81bf67)
-
Dave Cridland <dave+trippy@cridland.net> 08562c77d9073962591795b94a0c7bf77b286462
Don't require sudo at runtime
Or, indeed, at all.- Dockerfile (version 08562c77d9073962591795b94a0c7bf77b286462)
- build/docker/entrypoint.sh (version 08562c77d9073962591795b94a0c7bf77b286462)
-
Dave Cridland <dave@cridland.net> c835573dce03af39901fa1c8fe0606577d37fe17
Add docker building to workflow (fix)
- .github/workflows/continuous-integration-workflow.yml (version c835573dce03af39901fa1c8fe0606577d37fe17)
-
Dave Cridland <dave@cridland.net> db7b062b936e5f7bac6a8e16c075dae08d5af113
Add docker building to workflow (fix)
- .github/workflows/continuous-integration-workflow.yml (version db7b062b936e5f7bac6a8e16c075dae08d5af113)
-
Dave Cridland <dave+trippy@cridland.net> d117b35bc99fca031f80704fc111f0d8a4fafd2f
Better caching, use mvnw
- Dockerfile (version d117b35bc99fca031f80704fc111f0d8a4fafd2f)
-
Dave Cridland <dave+trippy@cridland.net> dc076a84af1f7857111015b267b670bf67cdfe9e
main:HEAD is now latest
- .github/workflows/continuous-integration-workflow.yml (version dc076a84af1f7857111015b267b670bf67cdfe9e)
-
Dave Cridland <dave@cridland.net> 84477c493e986a79b68176073602cfce909e81ab
Add docker building to workflow (fix)
- .github/workflows/continuous-integration-workflow.yml (version 84477c493e986a79b68176073602cfce909e81ab)
-
Dave Cridland <dave+trippy@cridland.net> 4635076a99c8ae076ca4bd9ac42486759fc3102a
Get offline mode to work
My word this is broken in Maven.- Dockerfile (version 4635076a99c8ae076ca4bd9ac42486759fc3102a)
- pom.xml (version 4635076a99c8ae076ca4bd9ac42486759fc3102a)
-
Dave Cridland <dave@cridland.net> 9b862792a607090b5d4818dd6676a314b6e2e200
Add docker building to workflow
- .github/workflows/continuous-integration-workflow.yml (version 9b862792a607090b5d4818dd6676a314b6e2e200)
-
Dave Cridland <dave@cridland.net> fe73ecfe53f01221584112ab979d893cd88cb8db
Switch to eclipse-temurin images
Also build skeleton runtime as a distinct stage- Dockerfile (version fe73ecfe53f01221584112ab979d893cd88cb8db)
-
Dave Cridland <dave@cridland.net> ee1a65d74b7c6c21b76be4f4bd1e5e01b526f259
Add docker building to workflow (fix)
- .github/workflows/continuous-integration-workflow.yml (version ee1a65d74b7c6c21b76be4f4bd1e5e01b526f259)
-
Dave Cridland <dave+trippy@cridland.net> b9d6417dd4e118a7102ea02cff4ad49fdab85281
Improvements to Docker file
This changes the Dockerfile quite radically, so that
Openfire is built within Docker rather than outside
of it. This should simplify building the image, and
also make the results more repeatable.
In order to maximize the use of the cache while
keeping the image size under control, this
uses three stages.
The first stage locates and extracts all the POM
files and any JAR files. This stage will be re-run on
any change, but it short.
The second stage takes the output of the first stage
and gathers dependencies. These will be cached, unless
the output of the first stage (ie, the dependency
information) changes.
Then it copies in the full source, and builds it.
Finally, the runtime container is setup much as it
was before, except that the runtime files are copied
from the build stage rather than the filesystem
directly.
The result is that a repeat build of the docker image
now takes about two minutes, but can trivially be done
on any docker platform (even without Java installed
locally).
Notes:
* The build stage should be able to run the `mvn package` in offline mode, but maven (being maven) wants to download more during this stage.
* The `.dockerignore` file has of course been changed, but someone who understands Java better than I might well improve it further.- .dockerignore (version b9d6417dd4e118a7102ea02cff4ad49fdab85281)
- Dockerfile (version b9d6417dd4e118a7102ea02cff4ad49fdab85281)
-
Guus der Kinderen 6428f385b288345f4fcbdaa1e7f06a4952508284 m
OF-2921: Don't process websocket error under mutex
When a websocket error is raised while holding another mutex (eg: when processing a MUC stanza) then having _another_ mutex introduces a deadlock risk. This has been observed to happen in the wild.
In this commit, the mutex held when processing a websocket error is removed.- xmppserver/src/main/java/org/jivesoftware/openfire/websocket/WebSocketClientConnectionHandler.java (version 6428f385b288345f4fcbdaa1e7f06a4952508284)
-
Guus der Kinderen debf053d07b363752aa421dd688e97ee830534c4 m
OF-2921: Reduce Websocket operations under mutex
When stream management is enabled, deliver and record stanzas under a mutex. If it's not enabled, don't acquire the lock to reduce lock contention.- xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version debf053d07b363752aa421dd688e97ee830534c4)
-
Guus der Kinderen b98a83d3470e06b66fbe718a304cfcf39bfba8c5 m
OF-2921: Prevent deadlock by not broadcasting synchronously
When a client drops offline, a presence update is broadcast on behalf of that client. We've observed deadlocks occurring when this happens (as the broadcast itself, especially when it occurs in context in of MUC rooms, will acquire mutexes).
There appears to be little reason for this broadcast to happen synchronous to the process of session termination process. To reduce the likelihood of deadlocks, this commit makes the broadcast happen in an asynchronous process.- xmppserver/src/main/java/org/jivesoftware/openfire/SessionManager.java (version b98a83d3470e06b66fbe718a304cfcf39bfba8c5)