Exception in Room Config (Invalid value for 'whois')

Issue #47 closed
Former user created an issue

Exception in Room Config : layer_ce61f985-1d2d-4621-97c2-d416424ead9f rocks.xmpp.core.stanza.StanzaException: <bad-request/> - (type 'cancel': do not retry (the error cannot be remedied)) Invalid value for 'whois' at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:516) at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:462) at rocks.xmpp.extensions.muc.ChatRoom.configure(ChatRoom.java:835)

Comments (7)

  1. Christian Schudt repo owner

    Do you know which value is is complaining about? Actually valid values are "anyone", "moderators" or "none". From XEP-0045: The _whois configuration option specifies whether the room is non-anonymous (a value of "anyone"), semi-anonymous (a value of "moderators"), or fully anonmyous (a value of "none", not shown here).

    If your server is expecting anything else, it's an server issue (violating the spec).

  2. Christian Schudt repo owner

    Is it "participant" maybe? I saw that "muc#roomconfig_allowpm" defines "anyone", "participants", "moderators" and "none" as valid values, while "muc#roomconfig_whois" only defines "anyone", "moderators" and "none" (lacks "participant").

  3. Adil

    In fact I wasn't sending the muc#roomconfig_whois field at all because I hadn't called rolesThatMayDiscoverRealJids on the configuration object. Prosody, the XMPP server I'm talking to, doesn't support room configuration without a whois field and was returning that bad-request error (it accepts only the values 'moderators' and 'anyone')

    Now that I'm calling rolesThatMayDiscoverRealJids(EnumSet.of(Role.MODERATOR, Role.PARTICIPANT, Role.VISITOR)), the form submission stanza sent by Babbler does include a muc#roomconfig_whois field with a value of 'anyone' and Prosody is happy.

    Looking at the spec, I'm not sure if Prosody should accept a configuration form without muc#roomconfig_whois or if Babbler shouldn't allow submitting a form with that field missing.

  4. Christian Schudt repo owner

    Ok, interesting. To me it seems like this is either a Prosody bug, or a special configuration of the deployment, i.e. a local server policy saying, that this field is mandatory (maybe the server admins want it). XEP-0045 does not require it to be present.

  5. Log in to comment