MUC, S2S and Clustering: IllegalStateException in MUC presence broadcast

Description

introduced a check that prevents the real JID of occupants to leak out to MUC room occupants that should not receive it.

Earlier today, this check was triggered (see the anonymized log below) through the broadcast of a presence stanza.

It should be safe to simply overwrite the 'from' address of a presence stanza stored in a 'MUCRole' with the associated role address. All usages that I could track down either expect that, or don't care.

Environment

None

Activity

Show:
Guus der Kinderen
December 26, 2020, 2:15 PM

`org.jivesoftware.openfire.muc.spi.LocalMUCRole#setPresence` existing implementation clearly intends the presence stanza to have ‘role address’ as its ‘from’ value.

Guus der Kinderen
December 26, 2020, 3:35 PM

This, from logged evidence, seems to relate primarily (only?) to occupants that join a MUC room over federation / s2s. They apparently re-establish / rejoin S2S on a different cluster node?

Fixed

Assignee

Guus der Kinderen

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Priority

Critical
Configure