We're updating the issue view to help you get more done. 

Allow any member to retrieve the room's member list even if not yet an occupant

Description

from https://discourse.igniterealtime.org/t/listing-members-when-not-joined/55148/7#203474

Currently Openfire is not letting a user to get list of room's occupants if that user is not yet an occupant of that room. Though specs say a service should allow that.

This is what XEP-0045 has to say (taken from section 9.5 just under example 119): "A service SHOULD also allow any member to retrieve the member list even if not yet an occupant".

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Colton Yaroschak
May 23, 2014, 7:07 PM
Edited

I'm not sure this is actually resolved, from what I can tell there is still an error preventing Openfire from returning a member-list from a member-only MUC when the query for the member-list is made before the user has joined the room. RawToast, are you sure Openfire supports the retrieval of member list from room members who have not yet joined the room?

I'm currently running the latest build of Openfire (3.9.3) and I've created a member-only MUC, added two JIDs to the member list, one admin and one member. If I send the following stanza from a JID on the member list

<body rid='551802513' xmlns='http://jabber.org/protocol/httpbind' sid='42731cc7'>
<iq from='t1@server-pc/42731cc7' id='0.38287348952144384' to='test@chatservice.server-pc' type='get' xmlns='jabber:client'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
</iq>
</body>

Openfire responds with

<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns="jabber:client" type="error" id="0.38287348952144384" from="test@chatservice.server-pc" to="t1@server-pc/42731cc7">
<query xmlns="http://jabber.org/protocol/muc#admin">
<item affiliation="member"/>
</query>
<error code="401" type="auth">
<not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
</body>

even though the user who requested the information has been added to the member-list as shown on the Openfire admin console. Is there any work-around for this?

Daryl Herzmann
May 23, 2014, 8:05 PM

Will reopen and assign to CSH to see what he thinks

csh
June 7, 2014, 10:20 PM

Had a look at this. The problem is in LocalMUCUser#process, which returns the error, if the sender is not an occupant. Tried to rectify this, but figured out, that it would require major changes to the MUC logic, because the IQAdminHandler as well as the IQOwnerHandler all require a MUCRole instance (aka occupant).

=> Seems like you can only make admin actions while you are in the room, which is not good.

Daryl Herzmann
October 31, 2015, 3:12 AM

Hi CSH, are you still looking into this?

csh
November 2, 2015, 9:10 AM

Currently not. Requires too many major changes to the MUC logic.

Assignee

Unassigned

Reporter

wroot

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Affects versions

Priority

Minor
Configure