Hi,
can someone file a bug for this issue in Jira? It is still present in Openfire 3.8.2.
Current wrong behavior (as described above):
User A and B have subscription state "both" and are on both rosters. A deletes B. Wrong consequence: A is also deleted on B's roster.
It should be:
B is only deleted on A's roster.
A's server sends "unsubscribe" and "unsubscribed" to B.
See: http://xmpp.org/rfcs/rfc6121.html#roster-delete-success
As with adding a roster item, if the server can successfully process the roster set then it MUST update the item in the user's roster, send a roster push to all of the user's interested resources (with the 'subscription' attribute set to a value of "remove"), and send an IQ result to the initiating resource; details are provided under Section 2.3.
In addition, the user's server might need to generate one or more subscription-related presence stanzas, as follows:
- If the user has a presence subscription to the contact, then the user's server MUST send a presence stanza of type "unsubscribe" to the contact (in order to unsubscribe from the contact's presence).
- If the contact has a presence subscription to the user, then the user's server MUST send a presence stanza of type "unsubscribed" to the contact (in order to cancel the contact's subscription to the user).
- If the presence subscription is mutual, then the user's server MUST send both a presence stanza of type "unsubscribe" and a presence stanza of type "unsubscribed" to the contact.