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

Build: #2303 was successful Scheduled with changes by Guus der Kinderen

Stages & jobs

  1. Build and Package

  2. Deploy

  3. copy nightlies to website

Code commits

Openfire (master)

  • Guus der Kinderen

    Guus der Kinderen 0c85484f62b29e13b1049034453cea6a68354b0e

    OF-2559: Replacy busy-wait with Future callback
    This intends to improve performance of outbound server session connections (and the corresponding unit tests), by replacing a busy-wait loop (is it done? sleep. is it done? sleep.) with a callback.

    • xmppserver/src/main/java/org/jivesoftware/openfire/net/RespondingServerStanzaHandler.java (version 0c85484f62b29e13b1049034453cea6a68354b0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettyOutboundConnectionHandler.java (version 0c85484f62b29e13b1049034453cea6a68354b0e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettySessionInitializer.java (version 0c85484f62b29e13b1049034453cea6a68354b0e)
  • Guus der Kinderen

    Guus der Kinderen 52919dd7d2c3295c073f5b53a79a0a11bab40be8

    OF-2559: Make Netty graceful shutdown timeouts configurable
    When shutting down Netty executors gracefully, a default set of timeout durations is used. In this commit, these durations are made configurable.

    These properties are introduced:
    - xmpp.socket.netty.graceful-shutdown.quiet-period
    - xmpp.socket.netty.graceful-shutdown.timeout

    The server-to-server unit tests make use of this to shut down Netty quickly.

    • i18n/src/main/resources/openfire_i18n.properties (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettySessionInitializer.java (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/NettyConnectionAcceptor.java (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • xmppserver/src/test/java/org/jivesoftware/Fixtures.java (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalIncomingServerSessionTest.java (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalOutgoingServerSessionTest.java (version 52919dd7d2c3295c073f5b53a79a0a11bab40be8)
  • Guus der Kinderen

    Guus der Kinderen ea1233db0942162568069c7e4535d0d7d380af0e

    OF-2611: Optimize runtime of server-to-server unit tests
    When waiting gracefully to tear down the unit test fixture, a lot of time is spent. As the fixture isn't re-used anyway, force-closing things should not have any functional effect, but is a lot faster.

    • xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version ea1233db0942162568069c7e4535d0d7d380af0e)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteReceivingServerDummy.java (version ea1233db0942162568069c7e4535d0d7d380af0e)
  • Guus der Kinderen

    Guus der Kinderen ba1c2b0a8785de611ff8fcefe31b7abf64673560

    OF-2646: Disable database interaction when running unit tests
    When running unit tests, the database isn't available. Trying to interact with it eats up resources, logs errors and throws exceptions.

    With this commit, a flag is introduced that allows database interaction to be skipped when using JiveProperties.
    Additionally, a dummy connection provider is used to initialize DbConnectionManager

    • xmppserver/src/main/java/org/jivesoftware/util/JiveProperties.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/Fixtures.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/admin/AuthCheckFilterTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/admin/SiteMinderServletRequestAuthenticatorTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/SessionPacketRouterTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/admin/GroupBasedAdminProviderTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/cluster/ClusterMonitorTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/entitycaps/EntityCapabilitiesListenerTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/group/AbstractGroupProviderTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/group/DefaultGroupProviderTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/group/GroupManagerNoMockTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/group/GroupManagerTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalIncomingServerSessionTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalOutgoingServerSessionTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/openfire/user/UserManagerTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/util/LDAPTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
    • xmppserver/src/test/java/org/jivesoftware/util/SystemPropertyTest.java (version ba1c2b0a8785de611ff8fcefe31b7abf64673560)
  • Guus der Kinderen

    Guus der Kinderen 2520f217b84239110629b5bc58761141d1600f9a

    Optimize loop in RemoteInitiatingServerDummy

    • xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version 2520f217b84239110629b5bc58761141d1600f9a)
  • Guus der Kinderen

    Guus der Kinderen a6971e197c0998c4f4f0e65bce538d4dfeec22aa

    Optimize unit tests that use certificate chains
    Instead of re-generating certificate chains for each test, re-use a static set.

    As the chains are unmodified by the test implementation this is safe.

    Generation of certificate chains is very resource intensive. Re-using them saves a significant amount of system resources when running the test.

    • xmppserver/src/test/java/org/jivesoftware/openfire/keystore/CheckChainTrustedTest.java (version a6971e197c0998c4f4f0e65bce538d4dfeec22aa)
    • xmppserver/src/test/java/org/jivesoftware/openfire/keystore/OpenfireX509TrustManagerTest.java (version a6971e197c0998c4f4f0e65bce538d4dfeec22aa)
  • Guus der Kinderen

    Guus der Kinderen 95b570fc0838fc7ac9d378b7a660e53386b41445

    OF-2611: Optimize runtime of server-to-server unit tests
    Remove a 'sleep' that delays the startup of the dummy Server Dialback acceptor. I'm unsure why the sleep is needed. Tests seem to run fine without it.

    • xmppserver/src/test/java/org/jivesoftware/openfire/session/RemoteInitiatingServerDummy.java (version 95b570fc0838fc7ac9d378b7a660e53386b41445)
  • Guus der Kinderen

    Guus der Kinderen 04b4f9a7f87e9202b54e4df45b9f6730ff599a06

    OF-2642: Remove incorrect code to prevent XEP-0084
    This code aims to prevent PEP from being used to store avatars. The existing code will not prevent this, and should be removed.

    Potentially, it is to be replaced with something that integrates the avatar upload with the VCardManager, to facilitate conversions between the various avatar-based XEPs. See OF-2034

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 04b4f9a7f87e9202b54e4df45b9f6730ff599a06)
  • Guus der Kinderen

    Guus der Kinderen 47a267315ef86e309e7577b44778f2037c3df919

    OF-1574: Delay certain stanzas for inactive clients
    When a client is marked as inactive by CSI, the changes in this commit allow unimportant stanzas to be queued, rather than delivered immediately.

    These changes are inspired by (but different from) Prosody's mod_csi_simple

    • i18n/src/main/resources/openfire_i18n.properties (version 47a267315ef86e309e7577b44778f2037c3df919)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 47a267315ef86e309e7577b44778f2037c3df919)
    • xmppserver/src/main/java/org/jivesoftware/openfire/csi/CsiManager.java (version 47a267315ef86e309e7577b44778f2037c3df919)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version 47a267315ef86e309e7577b44778f2037c3df919)
    • xmppserver/src/main/webapp/session-details.jsp (version 47a267315ef86e309e7577b44778f2037c3df919)
  • Guus der Kinderen

    Guus der Kinderen 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e

    OF-1573: Add support for XEP-0352: Client State Indication
    With this commit:
    - the 'active' and 'inactive' commands of CSI are recognized by Openfire;
    - the feature is advertised to clients;
    - the current client state is displayed on the session details in the admin console;
    - sessions that are resumed through Stream Management are automatically activated.

    No actual optimizations have been implemented as of yet.

    The implementation is loosely based on the implementation of Stream Management.

    This new feature can be disabled by setting the property `xmpp.client.csi.enabled` to `false`

    • documentation/protocol-support.html (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • i18n/src/main/resources/openfire_i18n.properties (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/csi/CsiManager.java (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/csi/package-info.java (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/net/ClientStanzaHandler.java (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/java/org/jivesoftware/openfire/websocket/StreamManagementPacketRouter.java (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
    • xmppserver/src/main/webapp/session-details.jsp (version 0efc3a9315fd4a2de31cc11e7823d66c9f005b2e)
  • Guus der Kinderen

    Guus der Kinderen a51dbbf4afe256272c4f6292e4516e2cfc56523c

    OF-2639: No longer require authzid for S2S SASL EXTERNAL
    In the old days, the 'from' attribute on a stream element was not present. This made providing an authorization identity during the SASL handshake a requirement (otherwise, you'd not know who you'd be talking to).

    Now that the 'from' attribute can be relied on to provide the identity of the peer, it does not need to be included in the SASL EXTERNAL handshake any longer.

    This commit drops this requirement, but adds a new property (`xmpp.auth.sasl.external.server.require-authzid`) that can re-introduce it.

    • i18n/src/main/resources/openfire_i18n.properties (version a51dbbf4afe256272c4f6292e4516e2cfc56523c)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version a51dbbf4afe256272c4f6292e4516e2cfc56523c)
    • xmppserver/src/main/java/org/jivesoftware/openfire/sasl/ExternalServerSaslServer.java (version a51dbbf4afe256272c4f6292e4516e2cfc56523c)
  • Guus der Kinderen

    Guus der Kinderen 17ba27b27e3334ced16e41cd446bd847303d00ff

    OF-2559: Do not assume that all connections have established TLS
    This intends to guard against null pointer exceptions.

    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettyConnection.java (version 17ba27b27e3334ced16e41cd446bd847303d00ff)