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

Build: #2858 failed Scheduled with changes by 3 people

Stages & jobs

  1. Build and Package

Code commits

Openfire (master)

  • daryl herzmann

    daryl herzmann a4decb1af0c39f6126d4f3798380d85d6ab63ffa

    Merge pull request #2695 from guusdk/OF-3028_Netty-thread-config
    OF-3028: Netty threads from 'child' EventLoop should use Netty-default settings

  • Guus der Kinderen

    Guus der Kinderen 6d0de547f5feb4ed36d3d6e1cee2c0e8b76de6a6

    OF-3028: Netty threads from 'child' EventLoop should use Netty-default settings
    As we're overriding the thread factories used for Netty EventLoops to change the names of threads, we've also changed the default configuration of threads used by Netty.

    Netty's default configuration can be expected to be optimized for performance. Openfire should use a similar configuration.

    In this commit, the configuration is reverted back to the default configuration that's used by Netty (based on `io.netty.util.concurrent.DefaultThreadFactory`).

    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/NettyConnectionAcceptor.java (version 6d0de547f5feb4ed36d3d6e1cee2c0e8b76de6a6)
  • daryl herzmann

    daryl herzmann a3c6f662594affb2663fd93a2cc0cc6db34f0cb4

    Merge pull request #2694 from guusdk/OF-3027_Netty-parent-eventloop-threadnames
    OF-3027: Give Netty threads a recognizable name

  • Guus der Kinderen

    Guus der Kinderen 0d4a8ceb24b3bd19c512fcccb18451328f43d223

    OF-3027: Give Netty threads a recognizable name
    To facilitate debugging, the various threads used by Netty EventLoops should have names that at least contain the type of connection that they're operating for.

    This commit changes the name of threads of the
    - 'parent' eventloop from `nioEventLoopGroup-7-1` (a Netty default) to `socket_s2s_ssl-acceptor-7`
    - 'child' eventloop from `socket_s2s_ssl-thread-3` (a Netty default) to `socket_s2s_ssl-worker-3`

    To do this, a new theadpool factory is introduces for the 'parent' eventloop. The new factory is configured to use the same priorty and daemon settings as the default Netty threadpool factory.

    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/NettyConnectionAcceptor.java (version 0d4a8ceb24b3bd19c512fcccb18451328f43d223)
  • Guus der Kinderen

    Guus der Kinderen 2c431b6aac152fd1be9a491d27ff6f3c5175358c

    OF-2966: BOSH 'close' executed by worker threads
    By having the 'close' routine be executed by the same worker threads that process regular BOSH data, the processing order of all of these will make use of the FIFO mechanism introduced in the last two commits.

    This helps ensure that a 'close' (terminate) event is processed only after stanzas that were received earlier have been processed - assuming that this processing is synchronous.

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version 2c431b6aac152fd1be9a491d27ff6f3c5175358c)
  • Guus der Kinderen

    Guus der Kinderen c6c9ce751899dc921ace283a0188840f9792c9b7

    OF-2966: BOSH events should execute in-order
    BOSH related events (mostly: processing of received stanzas) are executed by a worker pool of threads.

    Events for each individual session must be processed in the same order in which they are received. Prior to this change, every event was potentially executed by a different worker thread. This can cause some events to be processed (or finish processing) before an earlier event finishes execution in another worker thread.

    This commit adds FIFO-based queuing of events, that ensures that events that belong to the same session are processed:
    - by only one thread from the worker pool;
    - in the same order in which they're received.

    The technique applied here is inspired (well, just bluntly copied) from Ben Manes' work in https://github.com/ben-manes/caffeine/blob/master/jcache/src/main/java/com/github/benmanes/caffeine/jcache/event/EventDispatcher.java

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version c6c9ce751899dc921ace283a0188840f9792c9b7)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSessionManager.java (version c6c9ce751899dc921ace283a0188840f9792c9b7)
  • Guus der Kinderen

    Guus der Kinderen c80e54bbdd240169dae334647d0d2fb957c7aa25

    OF-2966: Periodic clean-up of BOSH working thread queues
    In the previous commit, a mechanism was introduced that ensures per-session FIFO processing of events, using a queuing mechanism based on Futures.

    This commit adds a periodic check to see if any events are queued for sessions that no longer exist, discarding those events if they're found.

    The cleanup is intended as a safeguard measure against slow accumulation of non-executable events, which over time could lead to memory starvation.

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSessionManager.java (version c80e54bbdd240169dae334647d0d2fb957c7aa25)
  • Guus der Kinderen

    Guus der Kinderen da97e73361eb872f835ff14ffed73075fd8a1e3b

    BOSH: clean up logging
    Removed redundant 'if is-log-level-is-enabled' checks.
    Used parameterized logging statements when composing a log message.

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpBindServlet.java (version da97e73361eb872f835ff14ffed73075fd8a1e3b)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version da97e73361eb872f835ff14ffed73075fd8a1e3b)
  • Guus der Kinderen

    Guus der Kinderen 955439d89edc5c3fd778e033c753b6c26acf49cc

    BOSH: Applied various minor IDE suggestions

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/BoshBindingError.java (version 955439d89edc5c3fd778e033c753b6c26acf49cc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpBindManager.java (version 955439d89edc5c3fd778e033c753b6c26acf49cc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpBindServlet.java (version 955439d89edc5c3fd778e033c753b6c26acf49cc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/ResourceServlet.java (version 955439d89edc5c3fd778e033c753b6c26acf49cc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/SessionListener.java (version 955439d89edc5c3fd778e033c753b6c26acf49cc)
  • Guus der Kinderen

    Guus der Kinderen 741fc5560869663a0fe46bcb1bb565ee92f5c0dd

    Chore: when debug logging, replace string concat of message
    Instead of concatenation, use the `{}` construct will prevent building the string until it's actually logged.

    Although it's probably a performance improvement, it's mainly a readability improvement.

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version 741fc5560869663a0fe46bcb1bb565ee92f5c0dd)
  • dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

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

    Bump docker/build-push-action from 6.13.0 to 6.14.0
    Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.13.0 to 6.14.0.
    - [Release notes](https://github.com/docker/build-push-action/releases)
    - [Commits](https://github.com/docker/build-push-action/compare/ca877d9245402d1537745e0e356eab47c3520991...0adf9959216b96bec444f325f1e493d4aa344497)

    ---
    updated-dependencies:
    - dependency-name: docker/build-push-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

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

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

    Guus der Kinderen 5e8c012379d7306ec805cb231b05228b36b017b3

    OF-3026: LocalClientRoutingTable addRoute and removeRoute consistency
    The argument used to add or remove a route to/from localClientRoutingTable should be created in the same way, for consistency.

    Note that this is a non-functional change, as in practice, the `toString` and `toFullJID` invocations would have resulted in the same value. An earlier check ensures that the only difference in those two methods (checking if the resource part is not null) isn't a factor.

    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version 5e8c012379d7306ec805cb231b05228b36b017b3)
  • Guus der Kinderen

    Guus der Kinderen 0b4c855846811cd75d0c08e01d82adb9feb34e19

    OF-3026: State changes of LocalRoutingTable should happen under guard of a lock
    When modifications to a LocalRoutingTable is made, this should always happen under guard of a lock that also guards related changes to the corresponding cache.

    This commit should reduce the possibility of state inconsistencies. It does so by re-using the Cache-sourced locks that were originally introduced by the changes for issue ENT-425.

    In the past, we introduced deadlock potential by putting more operations under guard of a lock. From history, I don't think we ever attempted this change. Additionally, as the code that's now moved under guard of the pre-existing lock is not (intended to be) used by code outside of this package (the class has a corresponding access modified), this change should have minimal risks of introducing such a deadlock.

    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version 0b4c855846811cd75d0c08e01d82adb9feb34e19)
  • Guus der Kinderen

    Guus der Kinderen 790b0341d5afd17f3b9891ae289c4f882b72b79d

    OF-2973: Remove commented inline script (main decorator)
    The main decorator contained a `<script>` block that only contained commented-out code.

    This block is removed, which will prevent the 'empty' block to show up in pages. This in turn helps to allow stricter CSP settings.

    • xmppserver/src/main/webapp/decorators/main.jsp (version 790b0341d5afd17f3b9891ae289c4f882b72b79d)
  • Guus der Kinderen

    Guus der Kinderen 36e9e63115604f683d499da85ef2b663d25b7ec5

    OF-2975: Remove commented inline script (setup-datasource-jndi)
    A commented-out javascript block that appears to want to set autofocus to a HTML element has been replaced with such an autofocus.

    Various event handlers have simply been removed.

    This all helps to allow for stricter CSP settings.

    I've not tested these settings: it's highly doubtful that JNDI configuration is ever used.

    • xmppserver/src/main/webapp/setup/setup-datasource-jndi.jsp (version 36e9e63115604f683d499da85ef2b663d25b7ec5)
  • Guus der Kinderen

    Guus der Kinderen 2aa6eddbee72e3afc699905784a221398b09e79d

    OF-2982: Remove inline script (setup-host-settings.jsp)
    A script that sets autofocus to a HTML element has been replaced with an autofocus HTML attribute.

    This helps to allow for stricter CSP settings.

    • xmppserver/src/main/webapp/setup/setup-host-settings.jsp (version 2aa6eddbee72e3afc699905784a221398b09e79d)
  • Guus der Kinderen

    Guus der Kinderen 82a2e246a81c30887a3b5c57c2ff073d426aeabe

    OF-3011: Remove inline script (user-roster-add.jsp)
    A script that sets autofocus to a HTML element has been replaced with an autofocus HTML attribute.

    This helps to allow for stricter CSP settings.

    • xmppserver/src/main/webapp/user-roster-add.jsp (version 82a2e246a81c30887a3b5c57c2ff073d426aeabe)
  • Guus der Kinderen

    Guus der Kinderen 17dfe78df6f087c32766195b084762d3a7764b18

    OF-3012: Remove inline script (user-roster-add.jsp)
    A script that sets autofocus to a HTML element has been replaced with an autofocus HTML attribute.

    This helps to allow for stricter CSP settings.

    • xmppserver/src/main/webapp/user-search.jsp (version 17dfe78df6f087c32766195b084762d3a7764b18)
  • Guus der Kinderen

    Guus der Kinderen b7f6618a786ed47bfd3d7999ba2b419640918359

    OF-2974: Move script tags out of connection settings pages
    To allow for stricter CSP directives, these pages should no longer contain inline `<script>` elements.

    This commit restores broken functionality that, in older versions of Openfire, appears to have hidden certain configuration form elements based on the setting of others.

    • xmppserver/src/main/webapp/connection-settings-advanced.jsp (version b7f6618a786ed47bfd3d7999ba2b419640918359)
    • xmppserver/src/main/webapp/connection-settings-external-components.jsp (version b7f6618a786ed47bfd3d7999ba2b419640918359)
    • xmppserver/src/main/webapp/connection-settings-socket-c2s.jsp (version b7f6618a786ed47bfd3d7999ba2b419640918359)
    • xmppserver/src/main/webapp/connection-settings-socket-s2s.jsp (version b7f6618a786ed47bfd3d7999ba2b419640918359)
    • xmppserver/src/main/webapp/js/connection-settings-advanced.js (version b7f6618a786ed47bfd3d7999ba2b419640918359)
    • xmppserver/src/main/webapp/js/connection-settings.js (version b7f6618a786ed47bfd3d7999ba2b419640918359)
  • Guus der Kinderen

    Guus der Kinderen d59858181523bc077880f3c31b510bb8a5f924ba

    OF-2967: Remove newlins in toString implementations
    Where a stanza is used in a toString(), use to `toXML` rather than `toString` of the stanza, as the latter uses 'pretty print' (which introduces newlines).

    • xmppserver/src/main/java/org/jivesoftware/openfire/cluster/RemotePacketExecution.java (version d59858181523bc077880f3c31b510bb8a5f924ba)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version d59858181523bc077880f3c31b510bb8a5f924ba)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version d59858181523bc077880f3c31b510bb8a5f924ba)
  • Guus der Kinderen

    Guus der Kinderen 25162d8f4ee4a721810cfda70e1bf1d68a326bc4

    chore: replace empty string comparision with `isEmpty()`
    Various bits of automation keep insisting that using `isEmpty()` is generally more readable and efficient than comparing against an empty string (`""`). I don't particularly feel that this is a worthwhile change in itself, were it not for it being a good way to reduce the number of 'hints' that are generated from our code base. That in itself may help to reduce noise: it can make other (more important) hints stand out better.

    This should not introduce any functional change.

    • xmppserver/src/main/java/org/dom4j/io/XMPPPacketReader.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/database/JNDIDataSourceProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/database/SchemaManager.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/audit/spi/AuditManagerImpl.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/crowd/CrowdAuthProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/PresenceUpdateHandler.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpBindBody.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpBindServlet.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/ldap/LdapGroupProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/ldap/LdapManager.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/ldap/LdapUserProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/ldap/LdapVCardProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/mediaproxy/MediaProxyService.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMUCSearchHandler.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/net/ComponentStanzaHandler.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/DefaultUserProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/JDBCUserProvider.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/User.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/util/JiveGlobals.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/util/ParamUtils.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/util/XMLWriter.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/SerializingCache.java (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/import-truststore-certificate.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/log.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/login.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/loginToken.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/setup/setup-admin-settings_test.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/user-create.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/user-edit-form.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
    • xmppserver/src/main/webapp/user-groups.jsp (version 25162d8f4ee4a721810cfda70e1bf1d68a326bc4)
  • Guus der Kinderen

    Guus der Kinderen 0fea700529e340d9f42568c142107401a419dd0e

    chore: replace `!Optional#isPresent()` with `Optional.isEmpty()`
    For readability, change "Not Optional is Present" with "Optional is Empty".

    This should not introduce any functional change.

    Code changes have been applied using IDE-provided automation (rather than manual changes).

    • xmppserver/src/main/java/org/jivesoftware/admin/servlet/SecurityAuditViewerServlet.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/admin/servlet/SystemCacheDetailsServlet.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/AffiliationTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/CancelSubscriptionTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/ModifySubscriptionTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/NewSubscriptionTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/RefreshNodeTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/RemoveNodeTask.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/util/FaviconServlet.java (version 0fea700529e340d9f42568c142107401a419dd0e)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CaffeineCache.java (version 0fea700529e340d9f42568c142107401a419dd0e)
  • Guus der Kinderen

    Guus der Kinderen 2112632722e78d152710d0a979b6fdef89f76c52

    Bump Openfire version used in plugin dev guide

    • documentation/plugin-dev-guide.html (version 2112632722e78d152710d0a979b6fdef89f76c52)