Project

General

Profile

Problems getting the member list when you are a member but not an owner

Troy Mestler
Added almost 5 years ago

Hi,

I'm receiving a "forbidden" error when I try to retrieve the member list of a members-only chatroom, even though I am a member of the chatroom. This occurs whether or not I am an occupant of the chatroom. I am running tigase-server-5.2.0.

Here is the message I am sending the server:

  <iq xmlns=​"jabber:​client" id=​"id1" from=​"user@server.com/​tigase-170" to=​"a2@muc.server.com" type=​"get">​
    <query xmlns=​"http:​/​/​jabber.org/​protocol/​muc#admin">​
      <item affiliation=​"member">​</item>​
    </query>​
  </iq>​

Here is the response I am receiving:

<iq xmlns=​"jabber:​client" id=​"id1" from=​"a2@muc.server.com" to=​"user@server.com/​tigase-170" type=​"error">​
  <query xmlns=​"http:​/​/​jabber.org/​protocol/​muc#admin">​
    <item affiliation=​"member">​</item>​
  </query>​
  <error type=​"auth" code=​"403">​
    <forbidden xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</forbidden>​
  </error>​
</iq>​

Here is the configuration for the chatroom:

<iq to=​'a3@muc.server.com' type=​'set' xmlns=​'jabber:​client' id=​'22:​sendIQ'>​
<query xmlns=​'http:​/​/​jabber.org/​protocol/​muc#owner'>​
<x xmlns=​'jabber:​x:​data' type=​'submit'>​
<field var=​'muc#roomconfig_roomname'>​
<value>​a3​</value>​
</field>​
<field var=​'muc#roomconfig_roomdesc'>​
<value>​undefined​</value>​
</field>​
<field var=​'muc#roomconfig_persistentroom'>​
<value>​0​</value>​
</field>​
<field var=​'muc#roomconfig_membersonly'>​
<value>​1​</value>​
</field>​
<field var=​'muc#roomconfig_anonymity'>​
<value>​nonanonymous​</value>​
</field>​
<field var=​'muc#roomconfig_getmemberlist'>​
<value>​visitor​</value>​
</field>​
<field var=​'muc#roomconfig_roomdesc'>​
<value>​​</value>​
</field>​
<field var=​'muc#roomconfig_persistentroom'>​
<value>​0​</value>​
</field>​
<field var=​'muc#roomconfig_publicroom'>​
<value>​1​</value>​
</field>​
<field var=​'muc#roomconfig_moderatedroom'>​
<value>​0​</value>​
</field>​
<field var=​'muc#roomconfig_passwordprotectedroom'>​
<value>​0​</value>​
</field>​
<field var=​'muc#roomconfig_roomsecret'>​
<value>​​</value>​
</field>​
<field var=​'muc#roomconfig_changesubject'>​
<value>​0​</value>​
</field>​
<field var=​'muc#roomconfig_enablelogging'>​
<value>​0​</value>​
</field>​
<field var=​'logging_format'>​
<value>​html​</value>​
</field>​
<field var=​'muc#maxhistoryfetch'>​
<value>​50​</value>​
</field>​
</x>​
</query>​
</iq>​

The XMPP MUC Protocol (http://xmpp.org/extensions/xep-0045.html#modifymember) states that

Note: A service SHOULD also return the member list to any occupant in a members-only room; i.e., i
t SHOULD NOT generate a <forbidden/> error when a member in the room requests the member 
list. This functionality can assist clients in showing all the existing members even if some of them
 are not in the room, e.g. to help a member determine if another user should be invited. A service 
SHOULD also allow any member to retrieve the member list even if not yet an occupant.

Is this feature not supported with the server?

Thanks

Troy


Replies (2)

(1)

Added by Troy Mestler almost 5 years ago

Hello,

Have you guys gotten a chance to take a look at this?

Thanks

Troy

Avatar?id=6098&size=32x32

Added by Bartosz Malkowski TigaseTeam almost 5 years ago

Fixed.

    (1-2/2)