Build: #1922 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. Copy to Website

Build result summary

Details

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

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> 3b5e4f038b60fd3919a2ba5ab148d64c50773e5d OF-2768: show 'Not available' for 'Registered' when date is null
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.

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