Openfire (ARCHIVED)

In Chat Room, the count of users between nodes is different. Node running room shows correct value, remote nodes show incorrect values.

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 3.6.1
  • Component/s: Groupchat
  • Labels:
    None
  • Acceptance Test - Add?:
    No

Description

If running in a clustered environment, the chatroom user count can be different in both nodes.

Activity

Hide
Guus der Kinderen added a comment -

This is likely to be caused by the way a nickname is represented in the MUCRole descendants.

LocalMUC user creates a (local) MUCRole like this:

role = room.joinRoom(recipient.getResource().trim(),
    password,
    historyRequest,
    this,
    packet.createCopy());

While RemoteMUCRole gets its nickname from an event, that specifies the value like this:

public String getNickname() {
    return presence.getTo().getResource();
}

Notice that one implementation trims the resource, while the other one doesn't.

This behavior corresponds with what we see on our domain: malicious users are flooding MUC rooms with nicknames that never get cleaned up (not even after the client disconnects).

Show
Guus der Kinderen added a comment - This is likely to be caused by the way a nickname is represented in the MUCRole descendants. LocalMUC user creates a (local) MUCRole like this:
role = room.joinRoom(recipient.getResource().trim(),
    password,
    historyRequest,
    this,
    packet.createCopy());
While RemoteMUCRole gets its nickname from an event, that specifies the value like this:
public String getNickname() {
    return presence.getTo().getResource();
}
Notice that one implementation trims the resource, while the other one doesn't. This behavior corresponds with what we see on our domain: malicious users are flooding MUC rooms with nicknames that never get cleaned up (not even after the client disconnects).
Hide
Guus der Kinderen added a comment -

Verified the patch locally. Problem prevented.

Show
Guus der Kinderen added a comment - Verified the patch locally. Problem prevented.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: