Build: #2658 was successful Scheduled with changes by daryl herzmann and Guus der Kinderen
Code commits
Openfire (master)
-
daryl herzmann 5538e8ab62633a9d85bf475c4ca6696e94e0f30a
Merge pull request #3129 from guusdk/OF-3175_XML-properties-deadlock
OF-3175: Prevent deadlock when enumerating encrypted XML properties -
daryl herzmann 254bee1ab8d61ee7a787ed4cd3bd847467ce4ccc
Merge pull request #3130 from guusdk/OF-3177_Truststore-init-fail-logging
OF-3177: Log root cause when TrustManager initialization fails -
Guus der Kinderen 109ab75448c41e0c5a4164bc165245ab80088617
OF-3177: Log root cause when TrustManager initialization fails
Ensure that the original exception and full stack trace are logged when TrustManager instantiation fails, instead of suppressing the error when trying to use the fallback mechanism.- xmppserver/src/main/java/org/jivesoftware/openfire/spi/EncryptionArtifactFactory.java (version 109ab75448c41e0c5a4164bc165245ab80088617)
-
Guus der Kinderen 5cb5258fc0432e1b5605140755cc360e10b3d1c3
OF-3175: Prevent deadlock when enumerating encrypted XML properties
Fix a potential deadlock in XMLProperties when getAllPropertyNames() encounters encrypted properties that may trigger rewrite or auto-upgrade logic.
The previous implementation iterated properties while holding a read-lock, but could indirectly attempt to acquire a write-lock (via decryption or encryption upgrade paths), resulting in a read→write lock upgrade deadlock during startup.
This change makes getAllPropertyNames() strictly read-only by separating name collection from any property access that could mutate state, ensuring no write-lock is attempted while the read-lock is held.
This resolves startup hangs observed when encrypted properties (e.g. LDAP credentials) are present.- xmppserver/src/main/java/org/jivesoftware/util/XMLProperties.java (version 5cb5258fc0432e1b5605140755cc360e10b3d1c3)