I’ve been working on understanding users, groups, and rosters in OpenFire. If I understand correctly, the subscription status between two users (viewable in the user roster admin panel) ought to always be symmetric: e.g. if Alice has a subscription to Bob, then Bob has a subscription from Alice.
However, it is very easy to use shared groups to construct situations where this is not the case. If you create a group G, enable contact list sharing for G, then add Alice and Bob to G, you wind up in a situation where Alice has a subscription to Bob of type both and Bob has a subscription to Alice of type to. This seems wrong; if either one of these is both, then shouldn’t both be both? I am especially convinced it should act this way since this is how it works if you set G to enable contact list sharing AFTER adding Alice and Bob as members.
Steps to reproduce in the admin panel:
-
create a group G
-
create users A and B
-
look at rosters for A and B (both are empty)
-
set G to “enable contact list group sharing” but NOT “share group with additional users”
-
add A and B to G
-
observe that A and B have asymmetric rosters
(Also, very strange behavior: if you skip step 4, the rosters behave as expected, with A and B both having both subscriptions to each other.)