OpenFire still provides entry forms for already-registered room users

If a user is already registered to the room, OpenFire will still bring up a registration form for that user, if the user sends a registration request. This can result in immediate demotions for a room (after the registration request has been submitted), including removing the room owner.

Here’s the room join dialog (note the bold):

(18:23:51) jabber: Sending (ssl) ( 1<x xmlns='’/>

(18:23:51) jabber: Recv (ssl)(415): 1

(18:23:51) jabber: Sending (ssl) ( <query xmlns=‘’ node='’/>

(18:23:51) jabber: Recv (ssl)(377): 1

(18:23:51) jabber: Recv (ssl)(221): This room is not anonymous.

(18:23:51) jabber: Recv (ssl)(317):

And here’s the registration request:

(18:27:56) jabber: Sending (ssl) (

(18:27:56) jabber: Recv (ssl)(972): Registration with the roomPlease provide the following information to register with this room.

This breaks XMPP protocol standards here:

If the user requesting registration requirements is not allowed to register with the room (e.g., because that privilege has been restricted), the room MUST return a error to the user. If the user is already registered, the room MUST reply with an IQ stanza of type “result” that contains an empty element as described in XEP-0077. If the room does not exist, the service MUST return an error.