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

Build: #1299 was successful Scheduled with changes by daryl herzmann <akrherz@iastate.edu> and Guus der Kinderen

Stages & jobs

  1. Build and Package

  2. Deploy

  3. copy nightlies to website

Code commits

Openfire (master)

  • daryl herzmann <akrherz@iastate.edu>

    daryl herzmann <akrherz@iastate.edu> 5b23edcf5a8716fdd4b8ec5a09b6711b4c934468

    Merge pull request #1731 from guusdk/OF-2092_PEP-memory-leak
    PEP notification rewrite

  • daryl herzmann <akrherz@iastate.edu>

    daryl herzmann <akrherz@iastate.edu> 6b702a81ca75e4fcf661582904b7a696b8cb38bb

    Merge pull request #1733 from guusdk/OF-2108_Admin-console-privacy-lists-view
    OF-2108: Admin console should show privacy lists

  • Guus der Kinderen

    Guus der Kinderen bc2f61cb69eaff7582c55a35d655e0a10569cc34 m

    OF-2108: Admin console should show privacy lists
    This adds a simple page that displays all privacy lists for users to the admin console.

    • i18n/src/main/resources/openfire_i18n.properties (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
    • xmppserver/src/main/java/org/jivesoftware/openfire/privacy/PrivacyItem.java (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
    • xmppserver/src/main/java/org/jivesoftware/openfire/privacy/PrivacyList.java (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
    • xmppserver/src/main/resources/admin-sidebar.xml (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
    • xmppserver/src/main/webapp/user-privacylists.jsp (version bc2f61cb69eaff7582c55a35d655e0a10569cc34)
  • Guus der Kinderen

    Guus der Kinderen e6d5e282e3441938d89ba61c5860b048e49cc8ee

    OF-2105: Don't depend on PEP service to be cached for removal.
    The existing implementation of removal of a PEP service (which gets triggered if the owning user gets deleted) only operates on PEP services if they're currently in a cache.

    Even if the PEP service is not currently cached, it should be deleted.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version e6d5e282e3441938d89ba61c5860b048e49cc8ee)
  • Guus der Kinderen

    Guus der Kinderen d9bc156ae986898730b4dc7584f0ff747ef76d0a

    Pubsub: add logging around lifecycle events.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version d9bc156ae986898730b4dc7584f0ff747ef76d0a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version d9bc156ae986898730b4dc7584f0ff747ef76d0a)
  • Guus der Kinderen

    Guus der Kinderen aa68522a78dabfb7d818258675f2d0f482ab9697

    OF-2039: When processing CAPS changes, consider subscribed-to PEP nodes
    Apply changes to notification filtering not only to PEP nodes that belong to the service owned by the sender, but also to those that the sender subscribes to.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CachingPubsubPersistenceProvider.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProvider.java (version aa68522a78dabfb7d818258675f2d0f482ab9697)
  • Guus der Kinderen

    Guus der Kinderen 76ec8bf41bf22d7f73d1bbb29bad80867d653c5d

    OF-2092: Unload PEPService when deleting
    This avoids the instance from being stuck in memory when the service is being deleted (typically when a user gets deleted).

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version 76ec8bf41bf22d7f73d1bbb29bad80867d653c5d)
  • Guus der Kinderen

    Guus der Kinderen 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970

    OF-2092: Fix PEP memory leak
    The original code registered a Entity Capability listener for every PEP Service. That implies that every PEPService instance for all users needs to remain in memory at all times, or at least while any of the owner or subscribers is online. If that isn't the case, then changes in notification filters (expressed through CAPS) might be missed, causing notifications to (not) be sent out when (in)appropriate.

    Also in the original code is an issue where the Entity Capability listener is evicted from its cache (which is time-limited), only to be replaced by another instance. As the original instance could still be active elsewhere, this newly added instance would add to the total memory usage, effectively causing a memory leak of sorts.

    This commit replaces the 'one-listener-for-each-pepservice' strategy with an implementation that registers one listener that's shared by all PEP services. This removes the need of complex lifecycle handling, and offers better opportunities to work with use cases that involve 'offline' PEP service owners.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceInfo.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubService.java (version 73d5a519b6b251d90fc7684f0aeabfd4e7dfb970)
  • Guus der Kinderen

    Guus der Kinderen e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73

    Rewire pluggable persistence provider for Pubsub
    The pluggable persistence provider for Pubsub that got introduced in OF-1988 has a lifecycle: it's gets started and stopped. It is crucial that users of the persistence providers do not interact with it unless it is running properly.

    This commit explicitly ties the lifecycle of persistence providers (through its manager) to the PubsubModule. This should help ensure that code won't be able to use a persistence provider unless other pubsub code has been initialized, or up until other pubsub state has been teared down.

    The changing in this commit work up towards a fix for OF-2102, which aims to fix the shutdown logic of Pubsub services.

    The this commit changes the signature of PubsubPersistenceProviderManager. As this code was not in a released version of Openfire yet, I didn't bother to deprecate methods that I've replaced/removed.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/NodeSubscription.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/FlushTask.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/ModifySubscriptionTask.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/RefreshNodeTask.java (version e29f64b4a8623f71e8cb8a5311f75b8bafeb9c73)
  • Guus der Kinderen

    Guus der Kinderen 97b6994eb248690242225daa34690c0179a62c2d

    OF-2102: Prevent incorrect shutdown of pubsub persistence provider
    Do not shut down the persistence infrastructure when just one (of potentially many) pubsub services shuts down.

    This commit depends on the previous commit, in that that commit now ensures that the persistence infrastructure is shut down when appropriate.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version 97b6994eb248690242225daa34690c0179a62c2d)