Can't get room information (dataform) for MUC room

Hi,

I have a User A who creates a default MUC room on Openfire, i.e. “no password”, “not persistent”, “not public”.

However, I create the room with a room name, i.e. I set the field “muc#roomconfig_roomname” of the configuration to a value “My Testroom”.

However, when I do the discovery info to the room, I don’t get the DataForm with the configured values in the response.

http://xmpp.org/extensions/xep-0045.html#disco-roominfo

I only get one feature:

Any ideas?

Interesting, I’ve just asked the same question a few days ago here:

If somebody has an answer, let us know. As far as I can tell, it is not a Smack problem. Openfire just doesn’t return the dataform.

I’ve debugged the code. The problem is in MultiUserChatServiceImpl:

private boolean canDiscoverRoom(MUCRoom room) {

// Check if locked rooms may be discovered

if (!allowToDiscoverLockedRooms && room.isLocked()) {

return false;

}

return room.isPublicRoom();

}

Can I change the last line to “return true” ??

XEP-0045 doesn’t mention anything about, that room discovery is only restricted to public rooms.

It even says:

The room MUST return its identity and SHOULD return the features it supports

There are also two bugs about it: OF-743 and OF-435.