Run manually for releases

Build: #18 was successful Rebuilt by daryl herzmann

Code commits

Openfire (master)

  • Guus der Kinderen

    Guus der Kinderen d8f479c87b0502a3bb28a3a5bcbf71816b44f04a

    Using unique values to prevent inter-test interference
    By using different values for username and address, there's less of a chance of individual tests affecting the others (like what we've seen happen in Github Actions).

    • xmppserver/src/test/java/org/jivesoftware/admin/LoginLimitManagerTest.java (version d8f479c87b0502a3bb28a3a5bcbf71816b44f04a)
  • Hamza Öztürk <hamza.ozturk@busoft.com.tr>

    Hamza Öztürk <hamza.ozturk@busoft.com.tr> 278e6e530f26381f7406c4b8efa802769349671f

    Consider using OfflineMessage instead of Message in OfflineMessageListener

    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageListener.java (version 278e6e530f26381f7406c4b8efa802769349671f)
    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageStore.java (version 278e6e530f26381f7406c4b8efa802769349671f)
    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageStrategy.java (version 278e6e530f26381f7406c4b8efa802769349671f)
  • Hamza Öztürk <hamza.ozturk@busoft.com.tr>

    Hamza Öztürk <hamza.ozturk@busoft.com.tr> 6c616819f6da5ea1648ef9f498c8d0ef351ec946

    Do not store offline messages that are already stored

    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageStore.java (version 6c616819f6da5ea1648ef9f498c8d0ef351ec946)
  • Guus der Kinderen

    Guus der Kinderen 632767eac3eb6ad2754587f33b7d970367cdf1fa

    OF-2265: Websocket delivery should not depend on XmppSession being present
    Although normally, an XmppSession will be available, that won't be the case when, for example, sending an error about the XmppSession not being available.

    Not doing packet accounting (and resetting an idle time) is preferable to not delivering the message due to a NullPointerException.

    • xmppserver/src/main/java/org/jivesoftware/openfire/websocket/XmppWebSocket.java (version 632767eac3eb6ad2754587f33b7d970367cdf1fa)
  • Guus der Kinderen

    Guus der Kinderen 374b81095aecc853e1b90dcdd4b3db260ab95571

    OF-2263: Use ListPager in MUC summary admin page
    This prevents the page from listing every page number, when there are many pages.

    Instead of listing every page number between `1` and `35781` (taking up a considerable amount of space on the page), the page now shows what will be a single line in most browsers:

        Pages: [ 1 2 3 ... 5779 5780 5781 5782 5783 ... 35779 35780 35781 ]

    • xmppserver/src/main/webapp/muc-room-summary.jsp (version 374b81095aecc853e1b90dcdd4b3db260ab95571)
  • Guus der Kinderen

    Guus der Kinderen 7c1cb30c6bde5709464780fdfb296bc83c5ae247

    OF-2259: Allow pre-load of MUC rooms to be configurable
    Up until this commit, Openfire would always, when it started, load in memory all MUC rooms for which activity was recorded in the last X days. On instances with large amounts of rooms, this leads to a significant delay in boot time.

    This commit makes this pre-loading behavior configurable. The amount of days can be configured (independently from the 'cleanup' duration, which it was previously tied to) but the behavior can also be disabled completely.

    • i18n/src/main/resources/openfire_i18n.properties (version 7c1cb30c6bde5709464780fdfb296bc83c5ae247)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 7c1cb30c6bde5709464780fdfb296bc83c5ae247)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 7c1cb30c6bde5709464780fdfb296bc83c5ae247)
    • xmppserver/src/main/webapp/muc-service-edit-form.jsp (version 7c1cb30c6bde5709464780fdfb296bc83c5ae247)
  • Guus der Kinderen

    Guus der Kinderen 9d1ee0a006bf445bcb4730138951dec90f571a5b

    OF-2259: Re-use XML parser when loading messages from database.
    When profiling Openfire that was starting up from a database that contained a lot of MUC rooms with a lot of messages (ofMucConversationLog), a hotspot was identified in the code that parses the database content into XMPP messages. The parser that is used was recreated for every message, which added considerable overhead.

    This commit ensures that the parser that parses database content into messages (as used during the initial load at boot-time) is re-used.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoomHistory.java (version 9d1ee0a006bf445bcb4730138951dec90f571a5b)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 9d1ee0a006bf445bcb4730138951dec90f571a5b)
  • Guus der Kinderen

    Guus der Kinderen e1d8ffb360ce72a44a61be7dac9beda1880193f5

    OF-2261: Re-word MUC room memory management
    The admin console used wording that suggested that MUC rooms were destroyed after a certain amount of inactivity. That's misleading, as they're only
    unloaded from memory. This commit re-organizes the corresponding admin console page, and improves wording.

    • i18n/src/main/resources/openfire_i18n.properties (version e1d8ffb360ce72a44a61be7dac9beda1880193f5)
    • xmppserver/src/main/webapp/muc-service-edit-form.jsp (version e1d8ffb360ce72a44a61be7dac9beda1880193f5)
  • Guus der Kinderen

    Guus der Kinderen 5e2cd03996ed4240a4a0262de75f5149f0798a22

    OF-2262: Take unloaded rooms into account
    Openfire can unload rooms that are inactive from memory. Those rooms remain valid, and will be loaded on-demand.

    This commit ensures that these rooms are:
    - listed on the admin console
    - shown in search results
    - are added to room counts

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MultiUserChatService.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/cluster/GetNewMemberRoomsRequest.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/cluster/ServiceInfo.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/FMUCHandler.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMUCSearchHandler.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMuclumbusSearchHandler.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCRoomSearchInfo.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/webapp/muc-room-summary.jsp (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
    • xmppserver/src/main/webapp/muc-service-delete.jsp (version 5e2cd03996ed4240a4a0262de75f5149f0798a22)
  • Dan Caseley <dan@caseley.me.uk>

    Dan Caseley <dan@caseley.me.uk> f0ddcf59b8bc7cc17024089fd1536ad896ec30b1

    OF-2240: Add self-presence status to kick presence to "kickee"
    Openfire has specific logic for detecting when self-presence needs to occur on a broadcast. Kick works by sending a specific presence to the kicked user, removing them from the MUC, then sending the broadcast - the logic is never invoked.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoom.java (version f0ddcf59b8bc7cc17024089fd1536ad896ec30b1)
  • dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c06ac07a68926804092f466ef41abb9bab1d7421

    Bump commons-io from 2.6 to 2.7 in /xmppserver
    Bumps commons-io from 2.6 to 2.7.

    Signed-off-by: dependabot[bot] <support@github.com>

    • xmppserver/pom.xml (version c06ac07a68926804092f466ef41abb9bab1d7421)
  • Guus der Kinderen

    Guus der Kinderen 780eee353bba5861ba14a33300f91156d1b41ffa

    OF-2260: Add user's name to listing of group members
    When looking at the members of a group, it's handy to have listed the (full) name of each member, instead of only its username.

    • i18n/src/main/resources/openfire_i18n.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_de.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_es.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_fr.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_sk.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 780eee353bba5861ba14a33300f91156d1b41ffa)
    • xmppserver/src/main/webapp/group-edit.jsp (version 780eee353bba5861ba14a33300f91156d1b41ffa)
  • Guus der Kinderen

    Guus der Kinderen e6f89370446e75c92e2a787c2adc85c7ef766880

    OF-2243: Version check task should not be busy doing nothing
    Instead of scheduling an immediate task that does nothing for X seconds, schedule a task that will start in X seconds, that immediately does something.

    This prevents using up a thread from the TaskEngine that's not doing anything for a significant amount of time.

    • xmppserver/src/main/java/org/jivesoftware/openfire/session/SoftwareVersionManager.java (version e6f89370446e75c92e2a787c2adc85c7ef766880)
  • Guus der Kinderen

    Guus der Kinderen 47474c46eee11627e49408ac821ab43e69aa1a07

    OF-2258: Make thread pool for archive manager configurable.
    This replaces the hard-coded configuration of the thread pool in the archive manager with properties that can be modified by an admin.

    - `xmpp.archivemanager.threadpool.size.core`: The number of threads to keep in the thread pool that writes messages to the database, even if they are idle.
    - `xmpp.archivemanager.threadpool.size.max`: The maximum number of threads to allow in the thread pool that writes messages to the database.
    - `xmpp.archivemanager.threadpool.keepalive`: The number of threads in the thread pool that writes messages to the database is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.

    • i18n/src/main/resources/openfire_i18n.properties (version 47474c46eee11627e49408ac821ab43e69aa1a07)
    • xmppserver/src/main/java/org/jivesoftware/openfire/archive/ArchiveManager.java (version 47474c46eee11627e49408ac821ab43e69aa1a07)
  • Guus der Kinderen

    Guus der Kinderen 21abf5eac12d6b130c9112019777a18a9958d029

    OF-2258: Make thread pool for PEP notifications configurable.
    This replaces the hard-coded configuration of the thread pool in IQPEPHandler with properties that can be modified by an admin.

    - `xmpp.pep.threadpool.size.core`: The number of threads to keep in the thread pool used to send PEP notifications, even if they are idle.
    - `xmpp.pep.threadpool.size.max`: The maximum number of threads to allow in the thread pool used to send PEP notifications.
    - `xmpp.pep.threadpool.keepalive`: The number of threads in the thread pool used to send PEP notifications is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.

    • i18n/src/main/resources/openfire_i18n.properties (version 21abf5eac12d6b130c9112019777a18a9958d029)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 21abf5eac12d6b130c9112019777a18a9958d029)
  • Guus der Kinderen

    Guus der Kinderen 3cc5f2c70d7169b04feee6c782289fae73d5dc98

    OF-2258: Make thread pool for roster manager configurable.
    This replaces the hard-coded configuration of the thread pool in the roster manager with properties that can be modified by an admin.

    - `xmpp.client.roster.threadpool.size.core`: The number of threads to keep in the thread pool that is used to invoke roster event listeners, even if they are idle.
    - `xmpp.client.roster.threadpool.size.max`: The maximum number of threads to allow in the thread pool that is used to invoke roster event listeners.
    - `xmpp.client.roster.threadpool.keepalive`: The number of threads in the thread pool that is used to invoke roster event listeners is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.

    • i18n/src/main/resources/openfire_i18n.properties (version 3cc5f2c70d7169b04feee6c782289fae73d5dc98)
    • xmppserver/src/main/java/org/jivesoftware/openfire/roster/RosterManager.java (version 3cc5f2c70d7169b04feee6c782289fae73d5dc98)
  • Guus der Kinderen

    Guus der Kinderen 4e0d14266f7eef7013ff2f6234747f2109548084

    OF-2258: Make thread pool for proxy connection manager configurable.
    This replaces the hard-coded configuration of the thread pool in the proxy connection manager with properties that can be modified by an admin.

    - `provider.transfer.proxy.threadpool.size.core`: The number of threads to keep in the thread pool that powers proxy (SOCKS5) connections, even if they are idle.
    - `provider.transfer.proxy.threadpool.size.max`: The maximum number of threads to allow in the thread pool that powers proxy (SOCKS5) connections.
    - `provider.transfer.proxy.threadpool.keepalive`: The number of threads in the thread pool that powers proxy (SOCKS5) connections is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.

    • i18n/src/main/resources/openfire_i18n.properties (version 4e0d14266f7eef7013ff2f6234747f2109548084)
    • xmppserver/src/main/java/org/jivesoftware/openfire/filetransfer/proxy/ProxyConnectionManager.java (version 4e0d14266f7eef7013ff2f6234747f2109548084)
  • Guus der Kinderen

    Guus der Kinderen b2d48d1265339804d3956c03233afb1f8c6db970

    OF-2258: Make thread pool in TaskEngine configurable.
    This replaces the hard-coded configuration of the thread pool in TaskEngine with properties that can be modified by an admin.

    - `xmpp.taskengine.threadpool.size.core`: The number of threads to keep in the thread pool that is used to execute tasks of Openfire's TaskEngine, even if they are idle.
    - `xmpp.taskengine.threadpool.size.max`: The maximum number of threads to allow in the thread pool that is used to execute tasks of Openfire's TaskEngine.
    - `xmpp.taskengine.threadpool.keepalive`: The number of threads in the thread pool that is used to execute tasks of Openfire's TaskEngine is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.

    • i18n/src/main/resources/openfire_i18n.properties (version b2d48d1265339804d3956c03233afb1f8c6db970)
    • xmppserver/src/main/java/org/jivesoftware/util/TaskEngine.java (version b2d48d1265339804d3956c03233afb1f8c6db970)
    • xmppserver/src/test/java/org/jivesoftware/admin/LoginLimitManagerTest.java (version b2d48d1265339804d3956c03233afb1f8c6db970)
  • Guus der Kinderen

    Guus der Kinderen c9d630105a8d298de5c226dcefab918bc60f10ab

    OF-2257: Expose stats for all ThreadPoolExecutors via JMX
    In this commit, all (non-short-lived) ThreadPoolExecutors that are used in Openfire have their statistics exposed via XMPP.

    The rationale here is that it is desirable to be able to determine when a particular thread pool is being used at its maximum capacity (in which case slowdowns could occur).

    • xmppserver/src/main/java/org/jivesoftware/openfire/archive/ArchiveManager.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/filetransfer/proxy/ProxyConnectionManager.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSessionManager.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/mbean/ThreadPoolExecutorDelegate.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/mbean/ThreadPoolExecutorDelegateMBean.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/roster/RosterManager.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/MINAConnectionAcceptor.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
    • xmppserver/src/main/java/org/jivesoftware/util/TaskEngine.java (version c9d630105a8d298de5c226dcefab918bc60f10ab)
  • Guus der Kinderen

    Guus der Kinderen f1a7a58042024e1249ba257026b36871dbbdec3b

    OF-2257: Replace usage of TaskEngine prior to server initialization
    Prioer to Openfire being initialized, TaskEngine should not be used. This prevents issues with TaskEngine using properties that are yet to be initialized. Although TaskManager does not currently do that in its present state, it will, when support for JMX is added (OF-2257).

    This commit replaces the usage of TaskEngine with a generic Timer.

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

    Guus der Kinderen d3742290f72190e096466243d047e810036b747b

    OF-2257: Enhance JMX Manager
    JMX Manager's configuration should be based on SystemProperties, which add improved configuration functionality.

    New methods added to JMX Manager that allow MBeans to be registered with its MBeanPlatform.

    • i18n/src/main/resources/openfire_i18n.properties (version d3742290f72190e096466243d047e810036b747b)
    • xmppserver/src/main/java/org/jivesoftware/openfire/JMXManager.java (version d3742290f72190e096466243d047e810036b747b)
  • Guus der Kinderen

    Guus der Kinderen 2fd0e23f21dd258c4db5e2ba915532ca26525678

    OF-2253: Improve handling of stanzas sent by non-authenticated clients

    • xmppserver/src/main/java/org/jivesoftware/openfire/IQRouter.java (version 2fd0e23f21dd258c4db5e2ba915532ca26525678)
  • Guus der Kinderen

    Guus der Kinderen 9ef2639142a8992b49fa2f992d480cb90743bda6

    Applying some minor fixes as suggested by IDE

    • xmppserver/src/main/java/org/jivesoftware/openfire/IQRouter.java (version 9ef2639142a8992b49fa2f992d480cb90743bda6)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 09859110685da35716da2d3a08b2770d2a9f333b

    remove non-existant job from 4.6 GHA CI

    • .github/workflows/continuous-integration-workflow.yml (version 09859110685da35716da2d3a08b2770d2a9f333b)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 69c4b57c63620d3b018b0638e0064b0078ec0287

    publish maven artifacts on master or release branches X.Y

    • .github/workflows/continuous-integration-workflow.yml (version 69c4b57c63620d3b018b0638e0064b0078ec0287)
  • mightymop <totzkotz@gmail.com>

    mightymop <totzkotz@gmail.com> 6aa4c1fa7143ac7ff669f1cb3915c3d1c800269e

    OF-2241: handle result packets in IQVersionHandler (#1792)
    * fix: handle result packets in IQVersionHandler
    result packets coming through BOSH (may websocket too) were not processed by IQVersionHandler.
    On TCP Connection theese results are being processed in org.jivesoftware.openfire.net.SocketRead.java - getIQ()

    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQVersionHandler.java (version 6aa4c1fa7143ac7ff669f1cb3915c3d1c800269e)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> f05393bc88d60b14b40b786f3d411fc7654e0047

    march 4.6 branch toward 4.6.4-SNAPSHOT

    • distribution/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • i18n/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • plugins/openfire-plugin-assembly-descriptor/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • plugins/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • starter/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • xmppserver/pom.xml (version f05393bc88d60b14b40b786f3d411fc7654e0047)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/XMPPServerInfoImpl.java (version f05393bc88d60b14b40b786f3d411fc7654e0047)