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

Build: #2450 was successful Scheduled with changes by Guus der Kinderen and Joshua Sattler <34030048+jsattler@users.noreply.github.com>

Stages & jobs

  1. Build and Package

  2. Deploy

  3. copy nightlies to website

Build result summary

Details

Completed
Queue duration
12 minutes
Duration
48 minutes
Labels
None
Revision
7f3d0a18a6efdb5124c43fd06d323a2594d7475b
Total tests
1393
Successful since
#2429 ()

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen 7f3d0a18a6efdb5124c43fd06d323a2594d7475b OF-284: Additional commands for XEP-0133 (#2381)
* OF-284: Add Missing Commands for XEP-0133 "Service Administration"

This commit adds almost all ad-hoc commands that are defined in XEP-0133, but were missing in Openfire.

Notable exceptions:
- Get User Password - I deem it unsafe to store/expose plaintext credentials
- Get User Last Login Time - Openfire does not track this data
- Get User Statistics
- Set Message of the Day - MotD functionality could possibly be added in the MotD plugin
- Edit Message of the Day
- Delete Message of the Day
- Set Welcome Message - Welcome message functionality could possibly be added in the Registration plugin
- Delete Welcome Message
- Restart Service - Unsafe: what if the stop works, but the start does not?
- Shut Down Service - Unsafe: we'll end up with admins complaining about an unreachable server

* OF-284: Applied i18n to all adhoc commands

All hardcoded, human readable labels have been replaces with a translatable i18n property value.

* Update xmppserver/src/main/java/org/jivesoftware/openfire/commands/admin/EditAdminList.java

Co-authored-by: Dan Caseley <dan@caseley.me.uk>

* OF-284: Make ad-hoc 'session data' non-optional

Prior to this, an optional SessionData object was passed along when executing stages of an ad-hoc command. This object was non-null only when the command had multiple stages. The rationale for this was that only multi-staged commands needed to carry over session state.

The session data also includes a bit of metadata (the JID of the actor executing the command). This is desirable to have even when executing only a one-stage command.

This commit makes the sessionData instance a non-optional argument.

* OF-284: Ad-Hoc system properties and java.time

Replaces JiveGlobals.getProperty with SystemProperty, and long-based time computation with calls to java.time.

* OF-284: Do not error on missing optional data

* Update xmppserver/src/main/java/org/jivesoftware/openfire/commands/admin/GetListRegisteredUsers.java

Co-authored-by: Dan Caseley <dan@caseley.me.uk>

* Default email to an empty string when missing

* Reduce log level of optional database API mismatch

* OF-284: Fix XML element reuse

An XML element can only have one parent. By re-adding the same element to another parent, an error is thrown. Instead, use a copy that is detached.

* OF-284: Better error messages for invalid JIDs

* OF-284: Switch AuthenticateUser to use jid-single

To be consistent with other fields, and makes sense anyway. Was causing an issue with Spark's registry of fields when 2 fields in the same namespace had different types.

* OF-284: Fix duplicate field value setting

---------

Co-authored-by: Dan Caseley <dan@caseley.me.uk>
Guus der Kinderen Guus der Kinderen 73e0a95e7e534ea642812948d90f13ed8926aefc OF-2782: Unsure SerializingCache retains functionality after cluster state change
When a server joins or leaves a cluster, all clustered caches are recreated. SerializingCaches should be recreated as such.
Guus der Kinderen Guus der Kinderen e57845ea6e93a687ef88c9b2420719486504863f OF-2781: Prevent ClassCastException when creating SerializingCache
The newly created cache gets wrapped (so that its implementation can be changed on the fly, when clustering starts or stops). The previous implementation caused a ClassCastException that is herein prevented.
Joshua Sattler <34030048+jsattler@users.noreply.github.com> Joshua Sattler <34030048+jsattler@users.noreply.github.com> 81e465f0dd13175533d5598c5009ce71e65a7b6f OF-2768: set `creationDate` and `modificationDate` to null by default
When the implementation of the `UserProvider` does not provide a
valid `creationDate` or `modificationDate` we want to default to
null instead of setting those values to now.
Joshua Sattler <34030048+jsattler@users.noreply.github.com> Joshua Sattler <34030048+jsattler@users.noreply.github.com> 3b5e4f038b60fd3919a2ba5ab148d64c50773e5d OF-2768: show 'Not available' for 'Registered' when date is null

Jira issues

IssueDescriptionStatus
Unknown Issue TypeOF-284Could not obtain issue details from Jira
Unknown Issue TypeOF-2768Could not obtain issue details from Jira
Unknown Issue TypeOF-2781Could not obtain issue details from Jira
Unknown Issue TypeOF-2782Could not obtain issue details from Jira
Unknown Issue TypeXEP-0133Could not obtain issue details from Jira