Run manually for releases

Build: #12 was successful

Job: RPM Workflow was successful

Stages & jobs

  1. Build and Package

Code commits

Showing 100 of 512 code changes

Openfire (master)

  • daryl herzmann

    daryl herzmann 686013439337f83b6fbb183c36b4226825f25d09

    Merge pull request #1978 from guusdk/OF-2368_improve-muc-ghost-user-detection
    OF-2368: Improve MUC ghost user detection

  • daryl herzmann

    daryl herzmann 8fa2cf89c3c7bba6222a630c5b2c27064b79c4f8

    Merge pull request #1949 from guusdk/OF-2354_SystemProperty-lists-csv-space
    OF-2354: Allow whitespace around comma-separated string values for list

  • Guus der Kinderen

    Guus der Kinderen 1d13607de314a9b485ec4537fa88bc48e241a934

    OF-2354: Allow whitespace around comma-separated string values for list
    When reading a comma-separated string to be parsed as a list of strings, whitespace surrounding the comma's should be ignored.

    eg: "user@example.org, user@example.com" should be parsed as two values that contain no whitespace.

    • xmppserver/src/main/java/org/jivesoftware/util/SystemProperty.java (version 1d13607de314a9b485ec4537fa88bc48e241a934)
    • xmppserver/src/test/java/org/jivesoftware/util/SystemPropertyTest.java (version 1d13607de314a9b485ec4537fa88bc48e241a934)
  • daryl herzmann

    daryl herzmann befb01fe40016031d417437aee8a1a72fca99cd8

    add changelog entries from 4.5 and 4.6 branch releases

    • xmppserver/changelog.html (version befb01fe40016031d417437aee8a1a72fca99cd8)
  • daryl herzmann

    daryl herzmann e6dcdb364c84f7a321cea3cb7c71ecd1ea6b7964

    Merge pull request #1977 from guusdk/OF-2367_TCP-clients-unable-to-connect
    OF-2367: TCP clients unable to connect

  • Guus der Kinderen

    Guus der Kinderen 3595d0caa99932c6cd23c2642a34e8471757e157

    OF-2368: Improve MUC ghost user detection
    This commit combines approaches introduced by OF-910 and OF-2209 to detect a 'ghost user' in MUC.

    Per OF-910, any Presence or Message stanza that contains an error is considered indicative of a ghost.

    Per OF-2209, an IQ 'Ping' is used to determine ghosts.

    Unlike the original solution for OF-2209, not all IQ error responses should be considered as indicative of a ghost. Firstly, the IQ error must be in response to an IQ Ping that was sent by the service itself. Furthermore, 'service-unavailable' and 'feature-not-implemented' can be considered as responses sent by a client (that does not support the IQ Ping protocol).

    Finally, this commit adds a kick of users that have been pinged, but for which no response has been received at all.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 3595d0caa99932c6cd23c2642a34e8471757e157)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version 3595d0caa99932c6cd23c2642a34e8471757e157)
  • Guus der Kinderen

    Guus der Kinderen 5f8729055a5698d8ae57836144ecb2a34a71e01a

    OF-2367: Catch all Throwables in IoHandler# implementations
    Prior to this change, an Error would bubble up into MINA's OrderedThreadPoolExecutor's Worker, where it would cause the worker thread to be closed, without the count of available (idle) worker threads reflecting this. This in turn prevents MINA from creating new worker threads (as it thinks it has idle threads), effectively starving. See DIRMINA-1156.

    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/ConnectionHandler.java (version 5f8729055a5698d8ae57836144ecb2a34a71e01a)
  • Guus der Kinderen

    Guus der Kinderen 88d3161c69de9609f495c933b2969f61e45f3db4

    for OF-2367: Do not retain reference to Session for a long time
    When a client session has finished resource binding, Openfire will send a version query after some delay.

    This commit prevents a reference to the Session object to be retained while waiting for that delay to pass. Instead, the session address is stored, and used to re-obtain the session after the delay has expired.

    There is (unproven) concern that retaining a reference to the session instance is a factor of OF-2367. With this commit, this no longer is a concern.

    • xmppserver/src/main/java/org/jivesoftware/openfire/session/SoftwareVersionManager.java (version 88d3161c69de9609f495c933b2969f61e45f3db4)
  • Guus der Kinderen

    Guus der Kinderen 5385c7d86a4c9b2062cdec2e88fe5fdae6c59364

    for OF-2367: Log exception when manual session close fails
    When an admin attempts to close a session and this fails, the resulting exception should be logged.

    Ignoring exceptions assumes that a certain condition is present, which might not be the case. Without the exception being logged, there is no way to find out. Exceptions should always be logged - even if they're expected.

    • xmppserver/src/main/webapp/session-summary.jsp (version 5385c7d86a4c9b2062cdec2e88fe5fdae6c59364)
  • Guus der Kinderen

    Guus der Kinderen 2b1cc834cd1b82a9c65f16cc6e503506af2039f3

    OF-2366: Drop commons-io
    Replace the one single usage that we have with a equivalent bit of code.

    • xmppserver/pom.xml (version 2b1cc834cd1b82a9c65f16cc6e503506af2039f3)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginManager.java (version 2b1cc834cd1b82a9c65f16cc6e503506af2039f3)
    • xmppserver/src/test/java/org/jivesoftware/util/CacheableOptionalTest.java (version 2b1cc834cd1b82a9c65f16cc6e503506af2039f3)
  • Guus der Kinderen

    Guus der Kinderen e1d6b670424d3db9714781c6bfd18cc1c7219542

    OF-2365: Pubsub - limit notifications to eligible (parent) subscribers.
    When sending notifications to subscribers of a parent collection node, only include those that match the applicable AccessModel.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version e1d6b670424d3db9714781c6bfd18cc1c7219542)
  • daryl herzmann

    daryl herzmann 515d19c2f83c355d8ef6f357a3d1ab7817d89f54

    Merge pull request #1970 from Neustradamus/log4j
    OF-2355 Update log4j to 2.17.1

  • Neustradamus <104737+Neustradamus@users.noreply.github.com>

    Neustradamus <104737+Neustradamus@users.noreply.github.com> 7b8652a2aceaf529cc5d0a2441cd791212963a2a

    Update log4j to 2.17.1
    To fix https://nvd.nist.gov/vuln/detail/CVE-2021-44832
    - https://logging.apache.org/log4j/2.x/security.html

    • pom.xml (version 7b8652a2aceaf529cc5d0a2441cd791212963a2a)
  • Guus der Kinderen

    Guus der Kinderen 6ebee74aaed00b4114a55d52d483bf81412c64c5

    OF-2360: Also show plugins not installed locally
    Prior to this change, plugins that were not installed locally (only on other nodes) were not included in the report that includes plugin version differences.

    • xmppserver/src/main/java/org/jivesoftware/openfire/cluster/ClusterManager.java (version 6ebee74aaed00b4114a55d52d483bf81412c64c5)
    • xmppserver/src/main/webapp/system-clustering.jsp (version 6ebee74aaed00b4114a55d52d483bf81412c64c5)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> b1d7dc36c145c09c52329db1dab0707f9c71656d

    Fix for version not being displayed properly in jsp.

    • xmppserver/src/main/webapp/system-clustering.jsp (version b1d7dc36c145c09c52329db1dab0707f9c71656d)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4

    OF-2363 Assorted improvements to javascript files

    • xmppserver/src/main/webapp/js/behaviour.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
    • xmppserver/src/main/webapp/js/controls.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
    • xmppserver/src/main/webapp/js/cookies.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
    • xmppserver/src/main/webapp/js/effects.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
    • xmppserver/src/main/webapp/js/lightbox.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
    • xmppserver/src/main/webapp/js/setup.js (version 2a7795ee13eb07e9a6dd174c19b8baefae5aebe4)
  • Guus der Kinderen

    Guus der Kinderen 7c3ec0e469d3ba33c693ee48b9d549abaae1adb3

    Remove changelog entry added in last commit.

    • xmppserver/changelog.html (version 7c3ec0e469d3ba33c693ee48b9d549abaae1adb3)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> f04238fac01375807f3b17840916d60a25a8065a

    Fixed a small but important bug in version difference detection.

    • xmppserver/src/main/java/org/jivesoftware/openfire/cluster/ClusterManager.java (version f04238fac01375807f3b17840916d60a25a8065a)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> 8fae4138b7f51ecf3d9401b0a683b7579f64b60b

    OF-2360 Move plugin / OF version retrieval to ClusterManager so it becomes available for wider use.

    • xmppserver/changelog.html (version 8fae4138b7f51ecf3d9401b0a683b7579f64b60b)
    • xmppserver/src/main/java/org/jivesoftware/openfire/cluster/ClusterManager.java (version 8fae4138b7f51ecf3d9401b0a683b7579f64b60b)
    • xmppserver/src/main/webapp/system-clustering.jsp (version 8fae4138b7f51ecf3d9401b0a683b7579f64b60b)
  • Guus der Kinderen

    Guus der Kinderen 0afa457d8f65d13e761d09bbd3ba4936879b993c

    OF-2350: ExternalizableUtil should not ignore provided ClassLoader
    When a ClassLoader instance is provided (when reading data), this instance should actually be used.

    • xmppserver/src/main/java/org/jivesoftware/util/cache/DefaultExternalizableUtil.java (version 0afa457d8f65d13e761d09bbd3ba4936879b993c)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 69df8bd3fbf29bb81eb258125660990f66244cf4

    OF-2361 Replaces the usages of synchronized(string) with synchronized(lock object) in the GroupManager class

    • xmppserver/src/main/java/org/jivesoftware/openfire/group/GroupManager.java (version 69df8bd3fbf29bb81eb258125660990f66244cf4)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 885855a32b34f68fb5d92b7f61b83f7d60212247

    OF-2362 JDBCAdminProvider replaces sync on SQL statement with sync on methods

    • xmppserver/src/main/java/org/jivesoftware/openfire/admin/JDBCAdminProvider.java (version 885855a32b34f68fb5d92b7f61b83f7d60212247)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> c4b3c60be5cd8500b49dcb1578acb96777b7fb3c

    JDBCAdminProvider replaces sync with synchronizing on an object lock

    • xmppserver/src/main/java/org/jivesoftware/openfire/admin/JDBCAdminProvider.java (version c4b3c60be5cd8500b49dcb1578acb96777b7fb3c)
  • Guus der Kinderen

    Guus der Kinderen 2d31856d4fe551c74863875667d89b9d6068efd0

    OF-2352: Use plugin-specific servlet context
    Instead of using a generic servlet context, use a plugin-specific one when loading servlets from a plugin. This allows the init-param values from their web.xml to be processed.

    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginServlet.java (version 2d31856d4fe551c74863875667d89b9d6068efd0)
    • xmppserver/src/main/java/org/jivesoftware/util/WebXmlUtils.java (version 2d31856d4fe551c74863875667d89b9d6068efd0)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> a7c56729940631ee19a3bc3f5f7bde9c6fa791f9

    OF-2319
    Introduces system property xmpp.muc.allowpm.blockall to toggle whether all packets should be blocked, or just private messages.

    • i18n/src/main/resources/openfire_i18n.properties (version a7c56729940631ee19a3bc3f5f7bde9c6fa791f9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version a7c56729940631ee19a3bc3f5f7bde9c6fa791f9)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 9220e2546dd1cca4b276ae642653fc47185c05b1

    OF-2319
    Introduces system property xmpp.muc.allowpm.blockall to toggle whether all packets should be blocked, or just private messages.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version 9220e2546dd1cca4b276ae642653fc47185c05b1)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 09acc1bbf88d5db3e70583e01f10d8252e005005

    adds the lgtm alert [java/zipslip] for this line to be ignored from the dependency scan as a false positive

    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginMonitor.java (version 09acc1bbf88d5db3e70583e01f10d8252e005005)
  • Guus der Kinderen

    Guus der Kinderen 81096dccb85027100353fd4e88beb5254f7d54c0

    OF-2358: When room is destroyed, consider that room might be gone
    In MUC code that deals with room destruction, the 'room' instance is considered 'nullable' (in other words: it might not be there anymore).

    The same code has a fall-back routine that intends to deal with cluster-related events. Prior to this commit, this unconditionally assumes that a local copy of the room will be present.

    The former seems to contradictd the latter. This commit adds a null-check to the latter.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 81096dccb85027100353fd4e88beb5254f7d54c0)
  • Guus der Kinderen

    Guus der Kinderen 99e8b22065bb5ec08cc99193eec73a3432fe9d63

    Update changelog.html
    Using the JQL query below, I've identified a number of JIRA issues that had been closed in the past, but were not marked as 'fixed'. I've now marked those issues as resolved, and have included a reference to each of them in the changelog.

    `project = "OF" AND development[pullrequests].open = 0 AND development[pullrequests].all > 0 AND status = open`

    • xmppserver/changelog.html (version 99e8b22065bb5ec08cc99193eec73a3432fe9d63)
  • Guus der Kinderen

    Guus der Kinderen 50d560b780030c888ac226fd8fcd28e1f6bdac06

    Merge pull request #1957 from Neustradamus/slf4j
    OF-2357: Update slf4j to 1.7.32

  • Guus der Kinderen

    Guus der Kinderen ec9fbbbcc6b9da98d33d72b895fde57bec9540a7

    Merge branch 'master' into slf4j

  • Neustradamus <104737+Neustradamus@users.noreply.github.com>

    Neustradamus <104737+Neustradamus@users.noreply.github.com> f3a27bf65d774c0dfc040ba35b1410c7ea1b15eb

    Update Bouncy Castle to 1.70
    https://www.bouncycastle.org/releasenotes.html

    • pom.xml (version f3a27bf65d774c0dfc040ba35b1410c7ea1b15eb)
  • Neustradamus <104737+Neustradamus@users.noreply.github.com>

    Neustradamus <104737+Neustradamus@users.noreply.github.com> fbc4a739bb3c90fa306570fd018f9d898c42f912

    Update log4j to 2.17.0
    To fix https://nvd.nist.gov/vuln/detail/CVE-2021-45105.

    • pom.xml (version fbc4a739bb3c90fa306570fd018f9d898c42f912)
  • Neustradamus <104737+Neustradamus@users.noreply.github.com>

    Neustradamus <104737+Neustradamus@users.noreply.github.com> 1e3cf87a3345fd4e8905551c6d787146a172a6b1

    Update slf4j to 1.7.32
    http://www.slf4j.org/news.html

    • pom.xml (version 1e3cf87a3345fd4e8905551c6d787146a172a6b1)
  • Guus der Kinderen

    Guus der Kinderen c9912c91ecfdb2771bff59c2177b9bbeac0fa730

    Fix typo

    • distribution/src/installer/openfire.install4j (version c9912c91ecfdb2771bff59c2177b9bbeac0fa730)
  • Guus der Kinderen

    Guus der Kinderen 5896d329f06c66c5b1f5eea49faa14c31a3d90a9

    OF-2353: Disable lookups in log4j2 message converter
    This adds the {nolookups} directive to the log4j message directive, which disables lookups on another level (CVE-2021-44228).

    Note that after upgrading to log4j2 2.16.0, this directive will be ignored by log4j2, as the lookup functionality has been removed completely in that version. A message might be logged to that effect when starting up.

    • distribution/src/resources/log4j2.xml (version 5896d329f06c66c5b1f5eea49faa14c31a3d90a9)
    • xmppserver/src/test/resources/log4j2-test-mvn.xml (version 5896d329f06c66c5b1f5eea49faa14c31a3d90a9)
    • xmppserver/src/test/resources/log4j2-test.xml (version 5896d329f06c66c5b1f5eea49faa14c31a3d90a9)
  • Guus der Kinderen

    Guus der Kinderen 80e593fb520189ded188e9e8a95f9a3462cd9678

    OF-2353: Upgrade log4j2 from 2.15.0 to 2.16.0

    • pom.xml (version 80e593fb520189ded188e9e8a95f9a3462cd9678)
  • Guus der Kinderen

    Guus der Kinderen 5be6e08630e61a7b41d118721b79f0b668c0c0f9

    OF-2353: Add log4j2.formatMsgNoLookups system property to startup scripts
    As another mitigation for CVE-2021-4428, add the log4j2.formatMsgNoLookups system property to all Openfire start scripts that we provide.

    • build/debian/openfire.init.d (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/bin/extra/openfire-launchd-wrapper.sh (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/bin/extra/redhat/openfire (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/bin/openfire.bat (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/bin/openfire.sh (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/bin/openfirectl (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
    • distribution/src/installer/openfire.install4j (version 5be6e08630e61a7b41d118721b79f0b668c0c0f9)
  • Guus der Kinderen

    Guus der Kinderen 3d3549cf747a55d17192fdf6e5e786ef83d85a4a

    OF-2351: Update log4j to 2.15.0
    This addresses the CVE-2021-44228 "LogJam" vulnerability.

    • pom.xml (version 3d3549cf747a55d17192fdf6e5e786ef83d85a4a)
  • daryl herzmann

    daryl herzmann 9b9de2bb70e27c76b4e42f7b370b134dc72e4593

    march master branch back to 4.7.0-SNAPSHOT

    • distribution/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • i18n/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • plugins/openfire-plugin-assembly-descriptor/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • plugins/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • starter/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • xmppserver/pom.xml (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/XMPPServerInfoImpl.java (version 9b9de2bb70e27c76b4e42f7b370b134dc72e4593)
  • daryl herzmann

    daryl herzmann c4c568e13715a3cdb980e340352ec4fb30c61fae

    Merge pull request #1940 from akrherz/470beta
    denote Openfire 4.7.0 Beta release

  • daryl herzmann

    daryl herzmann fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7

    denote Openfire 4.7.0 Beta release

    • distribution/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • i18n/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • plugins/openfire-plugin-assembly-descriptor/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • plugins/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • starter/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • xmppserver/changelog.html (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • xmppserver/pom.xml (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/XMPPServerInfoImpl.java (version fa2849e2e48f593c9856e6ac8d7b44a55fbfcfc7)
  • Guus der Kinderen

    Guus der Kinderen a744c0d45d0d93b0d7521cf81e6d20ae66a8c1cd

    OF-2349: Show default value for property on admin console
    The system property page shows default values for each property, but the space for that is limited. Longer values are abbreviated, which makes it hard to determine exactly what their content is.

    This commit adds the full default value in the 'edit' form.

    • xmppserver/src/main/webapp/system-properties.jsp (version a744c0d45d0d93b0d7521cf81e6d20ae66a8c1cd)
  • Guus der Kinderen

    Guus der Kinderen 7248f8204f7a6313e95b0b0c0da60e6ed9fcd64e

    OF-2254: Admin console to show if system property was set by user
    Apart from distinghishing between a property value that is, or is not equal to the default value of the property, it is convenient to be able to tell if a property is equal to the default value (this helps to guard against property values for which the default is changed between Openfire releases). This commit adds a column that can be used to determine if the property value has been explicitly set (instead of it just being a default).

    • i18n/src/main/resources/openfire_i18n.properties (version 7248f8204f7a6313e95b0b0c0da60e6ed9fcd64e)
    • xmppserver/src/main/java/org/jivesoftware/admin/servlet/SystemPropertiesServlet.java (version 7248f8204f7a6313e95b0b0c0da60e6ed9fcd64e)
    • xmppserver/src/main/webapp/images/orange-dash_16x16.gif (version 7248f8204f7a6313e95b0b0c0da60e6ed9fcd64e)
    • xmppserver/src/main/webapp/system-properties.jsp (version 7248f8204f7a6313e95b0b0c0da60e6ed9fcd64e)
  • Anno van Vliet <anno.vanvliet@devops.ncia.nato.int>

    Anno van Vliet <anno.vanvliet@devops.ncia.nato.int> cc0b26a1802287d5f5a6f2a57a6f349715a2e4c6

    OF-2348: Fix removing jars of a plugin after destroy. A Plugin is should be 'hot' re-deployable, but this fails when jar files cannot be removed. An extra line is added to close the Plugin classloader to free the resources and jars used by the plugin.

    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginManager.java (version cc0b26a1802287d5f5a6f2a57a6f349715a2e4c6)
  • Guus der Kinderen

    Guus der Kinderen db98c1a795c84a10baf6509c0d649fa0ea4c416f

    Replace deprecated usage of Log

    • xmppserver/src/main/webapp/group-create.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/group-edit.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/http-bind.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/login.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/loginToken.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/security-certificate-store-management.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/setup/setup-datasource-standard.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/setup/setup-ldap-group_test.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/setup/setup-ldap-user_test.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/user-create.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
    • xmppserver/src/main/webapp/user-roster-add.jsp (version db98c1a795c84a10baf6509c0d649fa0ea4c416f)
  • Guus der Kinderen

    Guus der Kinderen 3f09bc4203342131fc4ff0b6b35a30af99e25b26

    OF-1840: Improve log configuration behavior
    The last change for OF-1840 didn't work well when the level for the root logger was configured to be 'debug' in the log4j2.xml file.

    This commit contains changes that:
    - Remove methods that have been deprecated for approximately 10 years.
    - Use the root logger to evaluate what is the current log level, rather than the logger that is used in the Log class
    - Rename the 'debug enabled' functionality on the admin console to 'trace enabled', as that is the lowest level available in the logging framework that's used.
    - Rework the implementation that allows admin users to toggle between levels.

    • i18n/src/main/resources/openfire_i18n.properties (version 3f09bc4203342131fc4ff0b6b35a30af99e25b26)
    • xmppserver/src/main/java/org/jivesoftware/openfire/XMPPServer.java (version 3f09bc4203342131fc4ff0b6b35a30af99e25b26)
    • xmppserver/src/main/java/org/jivesoftware/util/Log.java (version 3f09bc4203342131fc4ff0b6b35a30af99e25b26)
    • xmppserver/src/main/webapp/logviewer.jsp (version 3f09bc4203342131fc4ff0b6b35a30af99e25b26)
  • Guus der Kinderen

    Guus der Kinderen 97347750328f7f3936e87ba2f8a16e484ec22c3d

    Bump down default log level
    Having a verbose log level is convenient for development, but should not be the default level.

    • distribution/src/resources/log4j2.xml (version 97347750328f7f3936e87ba2f8a16e484ec22c3d)
  • Guus der Kinderen

    Guus der Kinderen b2dd1620047898bc3c6560c8cdb2173b0778ebbb

    OF-2340: Additional safe-guards against sending error in response to error loops

    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageStrategy.java (version b2dd1620047898bc3c6560c8cdb2173b0778ebbb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/filetransfer/proxy/FileTransferProxy.java (version b2dd1620047898bc3c6560c8cdb2173b0778ebbb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version b2dd1620047898bc3c6560c8cdb2173b0778ebbb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalOutgoingServerSession.java (version b2dd1620047898bc3c6560c8cdb2173b0778ebbb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java (version b2dd1620047898bc3c6560c8cdb2173b0778ebbb)
  • Guus der Kinderen

    Guus der Kinderen 360025a451dddb3a4421b14c580b0a180aa50a07

    OF-2340: Add missing 'return' statement.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 360025a451dddb3a4421b14c580b0a180aa50a07)
  • Guus der Kinderen

    Guus der Kinderen 559cea4267a791f1f5f95cee4c71154668c733dc

    OF-2340: send stanzas that are 'responses' through PacketRouter, not RoutingTable
    In various places in the code, Openfire generates a response to a stanza, to be delivered back to the sender of the original stanza. Typically, this involves errors, such as delivery errors.

    Some of the existing code uses the RoutingTable to deliver these stanzas. This works, but bypasses a lot of checks and flags (as well as the interceptors). For "new" stanzas, it's more appropriate to use PacketRouter, as this will more closely resemble the normal stanza processing.

    • xmppserver/src/main/java/org/jivesoftware/openfire/IQRouter.java (version 559cea4267a791f1f5f95cee4c71154668c733dc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/OfflineMessageStrategy.java (version 559cea4267a791f1f5f95cee4c71154668c733dc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 559cea4267a791f1f5f95cee4c71154668c733dc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalOutgoingServerSession.java (version 559cea4267a791f1f5f95cee4c71154668c733dc)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java (version 559cea4267a791f1f5f95cee4c71154668c733dc)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> aefb216473f67b8a7852e6a8e79f1813012f656b

    OF-2339: Ensure all rooms are properly known to the service after encountering a cluster split

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version aefb216473f67b8a7852e6a8e79f1813012f656b)
  • Guus der Kinderen

    Guus der Kinderen 3c1d5aa46e5b9fad2a4cb00b141a2e1e285a2578

    OF-2343: Consistently send 'leave' presence to leaving occupant
    When an occupant is leaving, it should probably _always_ receive a presence unavailable stanza, no matter if the user is using Multi-Session Nick or not.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version 3c1d5aa46e5b9fad2a4cb00b141a2e1e285a2578)
  • Guus der Kinderen

    Guus der Kinderen ea2c9c5e020e5df0b369f61144d9299bfc3e2f2f

    OF-2343: Use status code 110 when sending 'leave' stanza
    When sending a 'leave' stanza to no-one but the occupant that's leaving, make sure to include the 110 status code.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version ea2c9c5e020e5df0b369f61144d9299bfc3e2f2f)
  • Guus der Kinderen

    Guus der Kinderen 60b8e16c73cf5a2eea54bec0993a053b5f038707

    OF-2345: Entities of a local component should not be considered remote
    If the bare JID of a local component is not considered to be 'remote', then its entities (full JIDs) should not either.

    • xmppserver/src/main/java/org/jivesoftware/openfire/XMPPServer.java (version 60b8e16c73cf5a2eea54bec0993a053b5f038707)
    • xmppserver/src/main/java/org/jivesoftware/openfire/component/InternalComponentManager.java (version 60b8e16c73cf5a2eea54bec0993a053b5f038707)
  • Guus der Kinderen

    Guus der Kinderen 43ab0d64889dee10d0038f327928eb0195bfc0a1

    OF-2346: XMPPServer#matchesComponent shouldn't require full-JID match
    Users of this method appear to assume that only the domain-part of the provided argument is evaluated.

    • xmppserver/src/main/java/org/jivesoftware/openfire/XMPPServer.java (version 43ab0d64889dee10d0038f327928eb0195bfc0a1)
  • Guus der Kinderen

    Guus der Kinderen 1af06a973415d1245f77fc677fa6f7923ffbcafd

    OF-2344: Store defensive copy when queuing stanza in OutgoingSessionPromise
    When processing stanzas asynchronously, there's a chance of the stanza that's queued to be modified by reference after it was queued. This is typically the case for MUC broadcasts. Store a defensive copy to prevent the stanza from being modified before it is delivered.

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 1af06a973415d1245f77fc677fa6f7923ffbcafd)
  • daryl herzmann

    daryl herzmann 423c3afeae050e33e98bccd4dcebb9f868ee5e12

    Merge pull request #1932 from guusdk/OF-2341_OF-2342_deadlock-prevention-s2s-bounces
    OF-2341 / OF-2342: Process S2S 'bounces' async to prevent deadlocks

  • Guus der Kinderen

    Guus der Kinderen 2c48a7d8a817315c4e93798eac3458f3a3bff1ae

    OF-2341 / OF-2342: Process S2S 'bounces' async to prevent deadlocks
    When a stanza addressed to a remote domain cannot be processed, it is 'bounced'. Processing of these bounces has been a factor in at least two recent deadlocks on the Ignite domain.

    This commit attempts to alleviate the problem by making the processing of the 'bounce' be asynchronous to the process that leads up to sending to original stanza (that was bounced). This decoupling allows locks/mutexes kept by the 'supplying' code flow to be released, before the 'bounce' is being processed (which arguably is a completely new stanza which needs not be processed under the original locks/mutexes anyway).

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 2c48a7d8a817315c4e93798eac3458f3a3bff1ae)
    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 2c48a7d8a817315c4e93798eac3458f3a3bff1ae)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalOutgoingServerSession.java (version 2c48a7d8a817315c4e93798eac3458f3a3bff1ae)
  • daryl herzmann

    daryl herzmann 7591b23d090cb9b8206924c0ed887c9816f24da7

    OF-2199: Remove JRE bundled artifacts from install4j

    • distribution/src/installer/openfire.install4j (version 7591b23d090cb9b8206924c0ed887c9816f24da7)
  • daryl herzmann

    daryl herzmann a556b48c7506f0a3751ae7510c9a14257bc13757

    take install4j 9.0.5 schema changes verbatim

    • distribution/src/installer/openfire.install4j (version a556b48c7506f0a3751ae7510c9a14257bc13757)
  • daryl herzmann

    daryl herzmann ac5355d51a56f7914ba0c9c5a835983da556e86e

    OF-2199: Remove JRE bundling with RPMs

    • build/rpm/build_rpms.sh (version ac5355d51a56f7914ba0c9c5a835983da556e86e)
    • build/rpm/openfire.spec (version ac5355d51a56f7914ba0c9c5a835983da556e86e)
  • mightymop <totzkotz@gmail.com>

    mightymop <totzkotz@gmail.com> f8a96d172df60ca013ba18fd9f8de7cb714c56e7

    fix: fix some additional minor bugs in muc search
    1. typo nameIsExactMatch should be name_is_exact_match
    2. check subject for null value AND empty string

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMUCSearchHandler.java (version f8a96d172df60ca013ba18fd9f8de7cb714c56e7)
  • mightymop <totzkotz@gmail.com>

    mightymop <totzkotz@gmail.com> 62189e1c35a62d095549c0e31fc84a3e1d7b069e

    fix: OF-2338
    prevent using of empty/null values for muc search

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMUCSearchHandler.java (version 62189e1c35a62d095549c0e31fc84a3e1d7b069e)
  • Guus der Kinderen

    Guus der Kinderen 597f64987c2e8b01df908df0407e0d53dfb8edad

    OF-2336: Return removed value when adding oversided new value
    The javadoc contract defines that the removed value is to be returned.

    • xmppserver/src/main/java/org/jivesoftware/util/cache/DefaultCache.java (version 597f64987c2e8b01df908df0407e0d53dfb8edad)
  • Guus der Kinderen

    Guus der Kinderen a9220f1e8712b60130624d7417a031009a6b1cd6

    OF-2239: Introduce new cache to be used by plugins
    When plugins use the standard caches (in a cluster), ClassCastExceptions will occur after a plugin that has seen usage is reloaded/updated.

    To prevent these exceptions, a new cache is introduced by this commit that stores data without a reference to the classes that define the data.

    • xmppserver/src/main/java/org/jivesoftware/util/cache/Cache.java (version a9220f1e8712b60130624d7417a031009a6b1cd6)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version a9220f1e8712b60130624d7417a031009a6b1cd6)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/DefaultCache.java (version a9220f1e8712b60130624d7417a031009a6b1cd6)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/SerializingCache.java (version a9220f1e8712b60130624d7417a031009a6b1cd6)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> b902eb6002b3c9b7408ed9fd5a27dbecce62cb9b

    OF-2165 Improvements after code review: removed some debug logging that was left behind, clearer textual description of room occupants in consistency checks.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version b902eb6002b3c9b7408ed9fd5a27dbecce62cb9b)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/ConsistencyChecks.java (version b902eb6002b3c9b7408ed9fd5a27dbecce62cb9b)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> 7f678690303971c32690f33b6e922621a140dc71

    OF-2165 First setup of nickname collision handling. Work in progress.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version 7f678690303971c32690f33b6e922621a140dc71)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/ConsistencyChecks.java (version 7f678690303971c32690f33b6e922621a140dc71)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> 3f1d7e7ef957c0e8f16c3ba146ecc3641a9521a1

    OF-2165 Finished implementation of nickname clash handling.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version 3f1d7e7ef957c0e8f16c3ba146ecc3641a9521a1)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version 3f1d7e7ef957c0e8f16c3ba146ecc3641a9521a1)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java (version 3f1d7e7ef957c0e8f16c3ba146ecc3641a9521a1)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version 3f1d7e7ef957c0e8f16c3ba146ecc3641a9521a1)
  • Emiel van der Herberg <emiel.van.der.herberg@marviq.com>

    Emiel van der Herberg <emiel.van.der.herberg@marviq.com> c9619e4e28cf14a969506a65e47511a32fd5d1be

    OF-2165 Simplify registrations of occupants. OF-2165 New task for informing remote nodes about kicked room occupants.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCEventListener.java (version c9619e4e28cf14a969506a65e47511a32fd5d1be)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/cluster/OccupantKickedForNicknameTask.java (version c9619e4e28cf14a969506a65e47511a32fd5d1be)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version c9619e4e28cf14a969506a65e47511a32fd5d1be)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version c9619e4e28cf14a969506a65e47511a32fd5d1be)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java (version c9619e4e28cf14a969506a65e47511a32fd5d1be)
  • mightymop <totzkotz@gmail.com>

    mightymop <totzkotz@gmail.com> 68814df767687190b22f9aff881711c225a6694c

    fix: OF-2337
    fixes an issue where pep events were not send to contacts

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 68814df767687190b22f9aff881711c225a6694c)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 77e3ca0190e80a9288989a7f27ba6138035f111d

    OF-264
    Updates group field to only be present on creating a user if there is already an existing group

    • xmppserver/src/main/webapp/user-create.jsp (version 77e3ca0190e80a9288989a7f27ba6138035f111d)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 2ad4b01b6211f87a02a7b9292aa43239a673818e

    OF-264 Add group selection field in Create New User page
    Updates the create user page to include an option for assigning a group directly from that first page.
    This implementation uses a text field expecting the exact name of a group, could potentially be improved with a dropdown list of available groups.

    • i18n/src/main/resources/openfire_i18n.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_de.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_es.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_fr.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_sk.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
    • xmppserver/src/main/webapp/user-create.jsp (version 2ad4b01b6211f87a02a7b9292aa43239a673818e)
  • DJDANNY123 <34899057+DJDANNY123@users.noreply.github.com>

    DJDANNY123 <34899057+DJDANNY123@users.noreply.github.com> 3fc36b405b81cb960a10d9c06d617b30cd4760f8

    OF-2158 Update notifications should include cluster node reference
    Updates the updates notifications to include the hostname of the node which have plugins to be updated.

    Tidies up an iterator in the same method

    Co-authored-by: Danny Jackson <danny.jackson@surevine.com>

    • xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java (version 3fc36b405b81cb960a10d9c06d617b30cd4760f8)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 031feecae3110fde793c55fccd4aef00f566a1d2

    Trivial changes as my first contribution. Not related to a specific task.
    Various Code Quality Improvements:

    AbstractConnection - changes public constructor of abstract class to protected (Constructors of abstract classes can only be called in constructors of their subclasses. So there is no point in making them public.)

    AccessModel - switched static and final positions to fit java convention

    AuditManagerImpl - Explicitly specifies type of iterator is returned

    JDBCAdminProvider- Removes use of deprecated function and utilises the new method of doing this

    • xmppserver/src/main/java/org/jivesoftware/database/AbstractConnection.java (version 031feecae3110fde793c55fccd4aef00f566a1d2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/admin/JDBCAdminProvider.java (version 031feecae3110fde793c55fccd4aef00f566a1d2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/audit/spi/AuditManagerImpl.java (version 031feecae3110fde793c55fccd4aef00f566a1d2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/models/AccessModel.java (version 031feecae3110fde793c55fccd4aef00f566a1d2)
  • Danny Jackson <danny.jackson@surevine.com>

    Danny Jackson <danny.jackson@surevine.com> 08c7ebe14cd0cb81617842e17601711d41231738

    OF-2158 Update notifications should include cluster node reference
    Updates the updates notifications to include the hostname of the node which have plugins to be updated.

    Tidies up an iterator in the same method

    • xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java (version 08c7ebe14cd0cb81617842e17601711d41231738)
  • Dan Caseley

    Dan Caseley ad3cc55414a1410ef58933af79482652592e987c

    OF-2330: Update Jetty from 9.4.39 to 9.4.43

    • plugins/pom.xml (version ad3cc55414a1410ef58933af79482652592e987c)
    • pom.xml (version ad3cc55414a1410ef58933af79482652592e987c)
  • Dan Caseley

    Dan Caseley 3cb8fd9167e0d684e1ed891fce5f732ff0391193

    Add an extra suppression for a non-vulnerable dependency

    • .dependency-check-suppressions.xml (version 3cb8fd9167e0d684e1ed891fce5f732ff0391193)
  • Dan Caseley

    Dan Caseley d003961548a65ea74a7a778ede4b86876dd4b3db

    Update database tests to match Openfire versions

    • build/ci/updater/pom.xml (version d003961548a65ea74a7a778ede4b86876dd4b3db)
  • Dan Caseley

    Dan Caseley e9af98b029bbd84bfa78b00a0021c0e180aea37d

    OF-2333: Update dependency-check from 6.0.4 to 6.2.2
    Not vLatest, but something install4j is in the way

    • pom.xml (version e9af98b029bbd84bfa78b00a0021c0e180aea37d)
  • Dan Caseley

    Dan Caseley 3948d81c5935d83269ac04c0e5f593768dfa1f3e

    OF-2332: Update commons-dbcp2 from 2.6.0 to 2.9.0

    • xmppserver/pom.xml (version 3948d81c5935d83269ac04c0e5f593768dfa1f3e)
  • Dan Caseley

    Dan Caseley a7031db65a801599071d9de9d4bf70d5be53e87a

    OF-2331: Update mysql-connector from 8.0.21 to 8.0.27

    • xmppserver/pom.xml (version a7031db65a801599071d9de9d4bf70d5be53e87a)
  • daryl herzmann

    daryl herzmann 36a78dea455f73339bc5367d9356b9bf9bca028f

    Merge pull request #1917 from guusdk/OF-2321_Establishing-outbound-server
    OF-2321: Refactoring of s2s establishment

  • Guus der Kinderen

    Guus der Kinderen 17beb83b9a48301af93cd3214648c0be836286c4

    OF-2321: Reworked OutgoingSessionPromise to improve thread safety
    The existing implementation had synchronisation issues that allowed stanzas to be queued after the outgoing session was established (maybe keeping them in queue forever, effectively droppig them). Also, new stanzas wouldn't wait for queued stanzas to be delivered, causing stanzas to be sent out of order.

    The changes in this commit should improve on that.

    Sadly, the 'fast discard' option, which introduced a small delay before a failed s2s-connection could be retried, was proving to hard to work with during this refactoring. It has been dropped for now.

    • i18n/src/main/resources/openfire_i18n.properties (version 17beb83b9a48301af93cd3214648c0be836286c4)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 17beb83b9a48301af93cd3214648c0be836286c4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 17beb83b9a48301af93cd3214648c0be836286c4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version 17beb83b9a48301af93cd3214648c0be836286c4)
  • Guus der Kinderen

    Guus der Kinderen 2b04a8e5555e923f726b3d02dd1849e68a651622

    OF-2321: Replace JiveGlobal with SystemProperty for threadpool config

    • i18n/src/main/resources/openfire_i18n.properties (version 2b04a8e5555e923f726b3d02dd1849e68a651622)
    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 2b04a8e5555e923f726b3d02dd1849e68a651622)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/ConnectionSettings.java (version 2b04a8e5555e923f726b3d02dd1849e68a651622)
  • Guus der Kinderen

    Guus der Kinderen ef65a7c2d480f7357f714895fb3c8b55ffe26c29

    OF-2321: Reduce complexity by removing RoutableChannelHandler interface

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version ef65a7c2d480f7357f714895fb3c8b55ffe26c29)
  • Guus der Kinderen

    Guus der Kinderen 74c96e7c37e445f88a72522854740101a52c113c

    OF-2321: Reduce complexity by removing unneeded orchestrator thread

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 74c96e7c37e445f88a72522854740101a52c113c)
  • Guus der Kinderen

    Guus der Kinderen ae285ce275725fee29a801c856a4f2de630c6e66

    OF-2321: Reduce complexity by replacing Interner with ConcurrentMap

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version ae285ce275725fee29a801c856a4f2de630c6e66)
  • Dan Caseley

    Dan Caseley 48568dbcd418d54bdc45190084323e12582756ce

    Merge pull request #1916 from guusdk/OF-2328_Cache-locking-non-clustered
    OF-2328: Implement optional Lock functionality for local locks

  • Dan Caseley

    Dan Caseley 43b08ca964fd0d4cc5b881e18077ed18453f9c97

    Merge pull request #1915 from guusdk/OF-2329_XML-parser-whitespace-after-tag-name
    OF-2329: Fix XML parser behavior when detecting the name of the start tag

  • Guus der Kinderen

    Guus der Kinderen c8e0b263a062b6b740d3d8b43687e6b2e10d798a

    OF-2321: Use DomainPair instead of 'remote domain'
    A server-to-server connection is always established in context of a local and remote domain pair. The original code only defined the remote domain. This might introduce problems when two different local domains (eg: "example.org" and "conference.example.org") are establishing s2s at the same time.

    Some time ago, the DomainPair class was introduced to represent this context. This commit replaces all usage of a singular 'domain' (or two distinct attributes for a local and remote domain) with a DomainPair instance.

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/server/ServerDialback.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalIncomingServerSession.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalOutgoingServerSession.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/OutgoingServerSession.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/OutgoingServerSessionTask.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/RemoteOutgoingServerSession.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java (version c8e0b263a062b6b740d3d8b43687e6b2e10d798a)
  • Guus der Kinderen

    Guus der Kinderen 1b7d50c7b4add0a988b06556eb0e36ee3d1f3900

    OF-2328: Implement optional Lock functionality for local locks
    The clustered locks (based on Hazelcast) have some methods implemented that are not available in the non-clustered code.

    The changes that have been applied to MUC's clustering implementation (OF-2220 for example) has introduced usage of these optional methods. This results in failing functionality when running Openfire in a non-clustered setup.

    This commit adds an implementation for these optional methods.

    • xmppserver/src/main/java/org/jivesoftware/util/cache/DefaultLocalCacheStrategy.java (version 1b7d50c7b4add0a988b06556eb0e36ee3d1f3900)
  • Guus der Kinderen

    Guus der Kinderen b0dff73cfae6fe9b6183449a906718fc134f4c7d

    OF-2329: Fix XML parser behavior when detecting the name of the start tag
    The name of the start tag is possibly terminated by any newline character (eg: a newline character), not only the space character.

    • xmppserver/src/main/java/org/jivesoftware/openfire/nio/XMLLightweightParser.java (version b0dff73cfae6fe9b6183449a906718fc134f4c7d)
    • xmppserver/src/test/java/org/jivesoftware/openfire/nio/XMLLightweightParserTest.java (version b0dff73cfae6fe9b6183449a906718fc134f4c7d)
  • Dan Caseley

    Dan Caseley 19a3f7782a142e5177b9e00126989a9735a2ba94

    Merge pull request #1912 from guusdk/OF-2327_Remove-development-mode
    OF-2327: Remove 'dev mode'

  • daryl herzmann

    daryl herzmann e219d48232a9965a54099b1437834e6ceeca4089

    Merge pull request #1914 from guusdk/OF-2322_purge-queue-after-s2s-established
    OF-2322: Do not re-auth s2s for every queued stanza

  • Guus der Kinderen

    Guus der Kinderen 6c6ed0f1007f29ea6ecd3e8b564e460eb28b7f52

    OF-2322: Do not re-auth s2s for every queued stanza
    When an outgoing s2s session is being established, stanzas addressed to the remote domain are cached. Only the first (and not all) queued packets should attempt to establish the connection.

    The original code would attempt to establish a session for each queued stanza, which is handled somewhat gracefully in the sense that the existing session is used. However, an event is fired for each attempt. That event is picked up by an event listener that sends a new stanza to that domain, which causes recursion and a never-empty queue.

    With this fix, only the first stanza (or the first stanza after a failure) attempts to establish the connection.

    • xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 6c6ed0f1007f29ea6ecd3e8b564e460eb28b7f52)
  • Guus der Kinderen

    Guus der Kinderen 7de2c7214d1bb1626a284270fdaf3d9ef8957836

    OF-2327: Remove 'dev mode'

    • distribution/src/bin/openfire-dev.bat (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_de.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_es.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_fr.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_sk.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/pom.xml (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/AdminConsolePlugin.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginClassLoader.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginDevEnvironment.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginManager.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginServlet.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/test/java/org/jivesoftware/util/GraphicsUtilsTest.java (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
    • xmppserver/src/test/resources/check.gif (version 7de2c7214d1bb1626a284270fdaf3d9ef8957836)
  • daryl herzmann

    daryl herzmann fa8b0b5ef25157ab23e8b1d6687b446eb9213fef

    Merge pull request #1911 from guusdk/OF-2325_100-percent-cpu-tls-handshake
    OF-2325: Prevent endless loop when peer closes during TLS handshake

  • Guus der Kinderen

    Guus der Kinderen 385c15792d4f650e69492ff80e24093d458abc53

    OF-2320: Restore ability to obtain MUC vcard
    With the changes of OF-2289, the mutex value was expected to be a username. For MUC rooms, a bare JID is used. Using that as the node-part for a new JID causes problems.

    • xmppserver/src/main/java/org/jivesoftware/openfire/vcard/DefaultVCardProvider.java (version 385c15792d4f650e69492ff80e24093d458abc53)
  • Guus der Kinderen

    Guus der Kinderen 52437c8da43ac55e52c7f5c6ae45e48668c9d517

    OF-2283: Ensure that all IPs use the same hostname
    Without this, various different hostnames would be used for the same IP address. Although technically not wrong, that's confusing, as it suggests that different servers are in play.

    With this change, the same hostname is used for each occurrence of an IP address.

    • xmppserver/src/main/webapp/server-session-details.jsp (version 52437c8da43ac55e52c7f5c6ae45e48668c9d517)