Code commits
Openfire (master)
-
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fa0f3793aabfe474b458bbb61cf2523ef05ac42b
chore(deps-dev): bump org.owasp:dependency-check-maven
Bumps [org.owasp:dependency-check-maven](https://github.com/dependency-check/DependencyCheck) from 12.1.9 to 12.2.1.
- [Release notes](https://github.com/dependency-check/DependencyCheck/releases)
- [Changelog](https://github.com/dependency-check/DependencyCheck/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dependency-check/DependencyCheck/compare/v12.1.9...v12.2.1)
---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
dependency-version: 12.2.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>- pom.xml (version fa0f3793aabfe474b458bbb61cf2523ef05ac42b)
-
Dan Caseley 1a9b52345ba0f10569f9a343500ad1bac91b7668
OF-3188: Extract Contact Addresses and Software Info to separate ExtendedDiscoInfoProviders
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProvider.java (version 1a9b52345ba0f10569f9a343500ad1bac91b7668)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version 1a9b52345ba0f10569f9a343500ad1bac91b7668)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProvider.java (version 1a9b52345ba0f10569f9a343500ad1bac91b7668)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProviderTest.java (version 1a9b52345ba0f10569f9a343500ad1bac91b7668)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProviderTest.java (version 1a9b52345ba0f10569f9a343500ad1bac91b7668)
-
Dan Caseley 36d18d8f960bc13dc1435e25cf729aa251fa9a35
OF-3188: (code review) Use thread-safe CopyOnWriteArrayList
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version 36d18d8f960bc13dc1435e25cf729aa251fa9a35)
-
Dan Caseley 022e54aa4fe7fa5840680c08dfa5678dc999587f
OF-3189: Update doap file to include XEP-0157 and XEP-0232
Also made XEP-0128 a first class citizen, since there's now generic capability here.- documentation/openfire.doap (version 022e54aa4fe7fa5840680c08dfa5678dc999587f)
-
Dan Caseley dd213c5f9b8090ecf29e00a23e51b0a1b81f4c5a
OF-3188: Remove a pointless test, and fix their docs
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProviderTest.java (version dd213c5f9b8090ecf29e00a23e51b0a1b81f4c5a)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandlerTest.java (version dd213c5f9b8090ecf29e00a23e51b0a1b81f4c5a)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProviderTest.java (version dd213c5f9b8090ecf29e00a23e51b0a1b81f4c5a)
-
Dan Caseley ddf6791e320677acd7a80e9192bd43cbead4a043
OF-3188: Add JavaDoc for the two extended disco info providers
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProvider.java (version ddf6791e320677acd7a80e9192bd43cbead4a043)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProvider.java (version ddf6791e320677acd7a80e9192bd43cbead4a043)
-
Dan Caseley b6dafd5f724b0e50644802bc16caf2c1e2853a12
OF-3188: (code review) Protect against unexpected null inputs and later NPEs
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version b6dafd5f724b0e50644802bc16caf2c1e2853a12)
-
Dan Caseley 5ae21381ce2d27c9878c1aa543842e6cb5a74e0d
OF-3188: Add ExtendedDiscoInfoProvider to provide generic support for XEP-0128
ExtendedDiscoInfoProviders can be registered with IQDiscoInfoHandler, and each will be called on disco requests to potentially add forms or form fields to the response.- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ExtendedDiscoInfoProvider.java (version 5ae21381ce2d27c9878c1aa543842e6cb5a74e0d)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version 5ae21381ce2d27c9878c1aa543842e6cb5a74e0d)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandlerTest.java (version 5ae21381ce2d27c9878c1aa543842e6cb5a74e0d)
-
Dan Caseley 057be626c6e3d596962d426ff179f02afbde7b2c
OF-3188: (code review) Ensure the test uses one handler at a time
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandlerTest.java (version 057be626c6e3d596962d426ff179f02afbde7b2c)
-
Dan Caseley c6a248313c996d3849763c9b819ef8ae29bd1009
OF-3188: Move methods up to IQDiscoInfoHandler, and call from handleIQ
This means that we'll see requests to Conference, PubSub, etc be routed through this method. It adds a domain to the method signature in ExtendedDiscoInfoProvider.getExtendedInfos to allow an ExtendedDiscoInfoProvider to apply domain-specific logic.- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProvider.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ExtendedDiscoInfoProvider.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProvider.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProviderTest.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandlerTest.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
- xmppserver/src/test/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProviderTest.java (version c6a248313c996d3849763c9b819ef8ae29bd1009)
-
Dan Caseley c4ce89f52876e2172e9bb7b82f10d502c41e2b64
OF-3188: Migrate admin.disable-exposure from JiveGlobals to SystemProperty
- i18n/src/main/resources/openfire_i18n.properties (version c4ce89f52876e2172e9bb7b82f10d502c41e2b64)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ContactAddressesExtendedDiscoInfoProvider.java (version c4ce89f52876e2172e9bb7b82f10d502c41e2b64)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/ExtendedDiscoInfoProvider.java (version c4ce89f52876e2172e9bb7b82f10d502c41e2b64)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/IQDiscoInfoHandler.java (version c4ce89f52876e2172e9bb7b82f10d502c41e2b64)
- xmppserver/src/main/java/org/jivesoftware/openfire/disco/SoftwareInfoExtendedDiscoInfoProvider.java (version c4ce89f52876e2172e9bb7b82f10d502c41e2b64)
-
Guus der Kinderen 0d2a79c743435689470d830f24302468ac89b87a
OF-3212: Add defensive (re)create of PEP root collection node if it's missing
Openfire expects each PEP service to have a root collection node. However, there are various code paths where a service can be created without one.
In this commit, the initialization of the service has been made more robust to always (re)create a root collection node in case one is missing.- xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version 0d2a79c743435689470d830f24302468ac89b87a)
-
Guus der Kinderen f9f3526b525e3aa3a3aac0df87d89585531aff6c
OF-3123: Initialize PEPService before adding to cache
Reorder PEPService initialization to occur before the service is placed in the cache. Previously, services were cached before initialize() completed, creating a race window where other threads could access uninitialized services. Now initialization happens in both getPEPService() and create() methods before caching, ensuring all cached services are fully initialized. This is still protected by existing per-JID locking and has zero performance impact.- xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version f9f3526b525e3aa3a3aac0df87d89585531aff6c)
-
Guus der Kinderen 89cb1ecbcc3d2c95fbddc7d657564dd48410ca9f
OF-3123: Save root node of new PEPService afer adding to cache
The root node of a (new) PEPService instance typically must be persisted in a database. Prior to this change, this happened in-line to the `PEPService#initialize()` invocation.
Saving to the database requires the PEPService to be registered with the cache of PEPServices. The prior commit's purpose was to ensure that an uninitialized service was _not_ registered with that cache, breaking the persistence of the root node.
In this commit, the root node is no longer stored in the database in the `initialize` method. Instead, it is persisted only after the new service is stored in the cache.- xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version 89cb1ecbcc3d2c95fbddc7d657564dd48410ca9f)
- xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version 89cb1ecbcc3d2c95fbddc7d657564dd48410ca9f)