Build: #2567 was successful Changes by daryl herzmann <akrherz@iastate.edu>
Code commits
Openfire (master)
-
daryl herzmann <akrherz@iastate.edu> ae81af0e9229321ff106e06718429aa5da3c0a88
Merge pull request #2433 from guusdk/OF-2808_SM-connection-close-race
OF-2808: Fix race condition in connection close / stream management -
daryl herzmann <akrherz@iastate.edu> db9398fe9c60b5765e65faa61b5c71b706d068e8
Merge pull request #2432 from guusdk/OF-2810_SM-resume-a-resumed-stream
OF-2810: Ensure that resumed streams are themselves resumable -
daryl herzmann <akrherz@iastate.edu> 2faa632ecd8002e60fd2eec8906fd3d86d487407
Merge pull request #2431 from guusdk/OF-2777_Contactlist-sharing-onlyGroups
OF-2777: Allow groups to be shared with other groups -
daryl herzmann <akrherz@iastate.edu> 670e2f025fda077c7e3cd4ab212677a314838bc6
Merge pull request #2430 from guusdk/OF-2807_Contactlist-sharing-changes-event
OF-2807: Fix event handling for Group Property changes -
Guus der Kinderen f6a6b39e3a552841a57a87919de363ec614b614d m
OF-2777: Allow groups to be shared with other groups
When a group is to be shared with other groups, this is stored in the database as a group property of name `sharedRoster.showInRoster` having a value of `onlyGroup`. The group property value for `sharedRoster.groupList` controls to what groups this group is shared. It either is a comma-separated list (denoting group names), or it's empty. An empty value signals that the group is shared only with members of the same group.
This commit corrects how the admin panel interprets the database values, and fixes the `getSharedWithUsersInGroupNames` method of Group.- xmppserver/src/main/java/org/jivesoftware/openfire/group/Group.java (version f6a6b39e3a552841a57a87919de363ec614b614d)
- xmppserver/src/main/webapp/group-edit.jsp (version f6a6b39e3a552841a57a87919de363ec614b614d)
-
Guus der Kinderen 5741961a8628edc0d0dcf23e38c2f1ff30c7a504 m
OF-2808: Fix race condition in connection close / stream management
The Netty connection implementation that replaces the MINA connection asynchronously closes a connection. This causes a race condition in Stream Management: when resuming a stream on a new connection, the close-listeners that are intended to operate on the old connection are sometimes erroneously operating on the new connection (which causes issues).
This commit makes the close method synchronous again, by introducing a latch. A new issue (OF-2811) was raised to address the issue without introducing blocking behavior.- xmppserver/src/main/java/org/jivesoftware/openfire/nio/NettyConnection.java (version 5741961a8628edc0d0dcf23e38c2f1ff30c7a504)
-
Guus der Kinderen a4f6383622860e02853972c3ffb556e5ed6b3c34 m
OF-2810: Ensure that resumed streams are themselves resumable
Unlike the old MINA connections, Netty connections issue a 'formal close' when closed. This prevents them from being resumable.
When a connection is 'resumed', the resumed connection should itself be resumable again. This allows for subsequent network interruptions to be recoverable.- xmppserver/src/main/java/org/jivesoftware/openfire/streammanagement/StreamManager.java (version a4f6383622860e02853972c3ffb556e5ed6b3c34)
-
Guus der Kinderen 09185134c7b45174de06de7e11334884f7c0750c m
OF-2807: Fix event handling for Group Property changes
When a GroupProperty is added, modified or deleted, an event listening mechanism is activated. This, among other things, is used to clean up cache content and push changes to rosters.
This commit fixes a problem with the 'modified' handler. It caused the wrong event to be emitted ('deleted', rather than 'modified').- xmppserver/src/main/java/org/jivesoftware/openfire/group/DefaultGroupPropertyMap.java (version 09185134c7b45174de06de7e11334884f7c0750c)