Generates the latest/greatest Maven-based artifacts for the Openfire project, every night.

Build: #227 was successful Scheduled with changes by 3 people

Stages & jobs

  1. Build and Package

Code commits

Openfire (main)

  • daryl herzmann

    daryl herzmann d0a505217fdafd2ab776e9750bafcf8be10780bc

    Merge pull request #3188 from igniterealtime/backport-3112-to-5.0
    [Backport 5.0] OF-3161: Upgrade Netty from 4.1.118.Final to 4.1.131.Final

  • Guus der Kinderen

    Guus der Kinderen 35d439bcb8a72a6fa48c9fa6c43db7150429fe4f

    OF-3161: Upgrade Netty from 4.1.130.Final to 4.1.131.Final

    • pom.xml (version 35d439bcb8a72a6fa48c9fa6c43db7150429fe4f)
  • daryl herzmann

    daryl herzmann eab3666320be54de4e8f5a30e8c6048bb39c3a82

    Merge pull request #3189 from igniterealtime/backport-3122-to-5.0
    [Backport 5.0] OF-3164: Avoid user lookup for JIDs without node to reduce exception overhead

  • Guus der Kinderen

    Guus der Kinderen e2f0dd5faf2cae77f69549b7829ef1c0b69a03c8

    OF-3164: Avoid user lookup for JIDs without node to reduce exception overhead
    Prevent execution of user lookup logic when the provided JID has no node. JIDs without a node part cannot represent a local user, yet currently flow through UserManager.isRegisteredUser(), which relies on exception-based control flow when the user does not exist.

    Thread dumps show significant CPU time spent constructing UserNotFoundException instances (Throwable.fillInStackTrace) on this hot path.

    This change short-circuits the lookup for node-less JIDs, avoiding the exception-heavy path and reducing unnecessary CPU usage under load.

    Note: This is a partial workaround. A full fix should refactor user existence checks to avoid exceptions for normal control flow.

    Additionally, more unit tests were added.

    (cherry picked from commit 3c55066eb3b9b57f9709f1f21fc533817045a06b)

    • xmppserver/src/main/java/org/jivesoftware/openfire/user/UserManager.java (version e2f0dd5faf2cae77f69549b7829ef1c0b69a03c8)
    • xmppserver/src/test/java/org/jivesoftware/openfire/user/UserManagerTest.java (version e2f0dd5faf2cae77f69549b7829ef1c0b69a03c8)
  • daryl herzmann

    daryl herzmann 120b8af81ebe05def35d47d3af6bfd6c68f97290

    Merge pull request #3195 from akrherz/of3132_backport_50
    [5.0 branch] OF-3132: Improve iteration over ClientSessions of a user

  • Guus der Kinderen

    Guus der Kinderen f20f1667f8e328f70badb571bbef03e8f93c68a2

    OF-3132: Improve iteration over ClientSessions of a user
    Previously, when iterating over all ClientSessions of a particular user, only those sessions that are 'avialable' were returned. This caused sessions that were not (yet) available to be missed.

    This in turn is the source of various race conditions, where a session would be excluded because it wasn't done sending initial presence yet.

    In this commit, an additional method in SessionManager is implemented, that allows for _all_ sessions of a particular client to be returned.

    Additionally, the ClientSession-count, that had a 'todo' for this, now correctly returns the count for _all_ (rather than just available) sessions.

    Finally, some usage of the old method (that only returned 'available' sessions for a client) have been replaced with the new method.

    • xmppserver/src/main/java/org/jivesoftware/openfire/SessionManager.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/commands/admin/user/DisableUser.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/commands/admin/user/EndUserSession.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQBlockingHandler.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQPrivacyHandler.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQRegisterHandler.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/PresenceManagerImpl.java (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/webapp/session-details.jsp (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/webapp/user-delete.jsp (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/webapp/user-lockout.jsp (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
    • xmppserver/src/main/webapp/user-message.jsp (version f20f1667f8e328f70badb571bbef03e8f93c68a2)
  • Guus der Kinderen

    Guus der Kinderen fbea7a1a55b27186da04c975aaa28bddd31ea15f

    OF-3132: Improve iteration over ClientSessions of a user
    Additional fixes for iterations over sessions of a user.

    Broadcast data to _all_ sessions of a particular user, including those that are not yet available (fixing TODO's from @gdombiak as if its 2007!)

    When iterating over one's own sessions, provide the owning JID as the 'requestor' which theoretically maybe includes sessions that have send directed presence.

    • xmppserver/src/main/java/org/jivesoftware/openfire/SessionManager.java (version fbea7a1a55b27186da04c975aaa28bddd31ea15f)
  • Guus der Kinderen

    Guus der Kinderen 4e35d556480837e0333814a42ce2da7e85a429d9

    CI: Disable 'ServiceAdministrationIntegrationTest' from Interop Tests
    This test inexplicitly fails on the 5.0 branch. As it doesn't on Main, it's likely fixed in a later release of Openfire.

    • .github/workflows/continuous-integration-workflow.yml (version 4e35d556480837e0333814a42ce2da7e85a429d9)
  • Guus der Kinderen

    Guus der Kinderen 18eb343afc9edd38732fd43f0b2388dcff64fa9b

    OF-3184: Add a basic Docker healthcheck
    This is useful to determine if a particular container is available to accept client connections.

    • Dockerfile (version 18eb343afc9edd38732fd43f0b2388dcff64fa9b)
  • Guus der Kinderen

    Guus der Kinderen 7f63919eef3f3247596adf95587a9d0ec7c58ea4

    Revert "Add unit tests for NettyXMPPDecoder and additional XMLLightweightParser coverage"
    This reverts commit dbad67622253e93b39e50412305e7aded99c3ace.

    • xmppserver/src/test/java/org/jivesoftware/openfire/nio/NettyXMPPDecoderTest.java (version 7f63919eef3f3247596adf95587a9d0ec7c58ea4)
    • xmppserver/src/test/java/org/jivesoftware/openfire/nio/XMLLightweightParserTest.java (version 7f63919eef3f3247596adf95587a9d0ec7c58ea4)
  • Guus der Kinderen

    Guus der Kinderen de00cfe265de6a698ce650093b4a0347a7de3aa2

    Copy continuous-integration-workflow.yml from Main to 5.0 branch

    • .github/workflows/continuous-integration-workflow.yml (version de00cfe265de6a698ce650093b4a0347a7de3aa2)
  • Guus der Kinderen

    Guus der Kinderen acd66e565e9711fe0953bc8e73832ca4a1f3c09c

    CI: exclude 'test_security_layer' from aioxmpp pending issues in aioxmpp
    A recent code change in aioxmpp seems to have broken this test. Exclude it for the time being. See https://codeberg.org/jssfr/aioxmpp/pulls/417 for details.

    • .github/workflows/continuous-integration-workflow.yml (version acd66e565e9711fe0953bc8e73832ca4a1f3c09c)
  • copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

    copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> dbad67622253e93b39e50412305e7aded99c3ace

    Add unit tests for NettyXMPPDecoder and additional XMLLightweightParser coverage
    Co-authored-by: akrherz <210858+akrherz@users.noreply.github.com>
    (cherry picked from commit 7fa46f86a561831be3f7697a5bad6941ac882ea7)

    • xmppserver/src/test/java/org/jivesoftware/openfire/nio/NettyXMPPDecoderTest.java (version dbad67622253e93b39e50412305e7aded99c3ace)
    • xmppserver/src/test/java/org/jivesoftware/openfire/nio/XMLLightweightParserTest.java (version dbad67622253e93b39e50412305e7aded99c3ace)