[JDEV] MUC problems
Constantin Nickonov
Nickonov at jabber.com
Tue Feb 11 09:12:16 CST 2003
see below
> -----Original Message-----
> From: David Sutton [mailto:jabber at dsutton.legend.uk.com]
> Sent: Monday, February 10, 2003 8:51 PM
> To: jdev at jabber.org
> Subject: Re: [JDEV] MUC problems
<snip>
> The hex string is actually a SHA1 hash of the users real jid. Its used
> to reference a user, but not reveal the true jid. If the room
> is set up to allow people to see the real jid, then just browse
> girls at conference.localhost/13c6a01dc31309e331c2b018640b9c03b8534327 and
> it will show you the true jid. This also helps to keep compatability to
> existing clients that are used to this form with the
> groupchat/conferencing module. The real jid is used as the reference, as
> a person can keep changing their nick throughout a session, but they
> can't change their real jid
The problem with this is that the MUC standard (JEP-0045) specifies how
nicknames are passed along with presence information, and how they are
changed -- and SHA-hashing isn't the way.
Entering a room (JEP-0045, section 6.2):
SENT: <presence to='foo at muc.server/nick1'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
READ: <presence from='foo at muc.server/nick1' to='user at server/resource'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='owner' jid='user at server/resource'
role='moderator'/>
</x>
</presence>
Changing the nick (JEP-0045, section 6.4):
SENT: <presence to='foo at muc.server/nick2'/>
READ: <presence type='unavailable' from='foo at muc.server/nick1'
to='user at server/resource'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item nick='nick2' affiliation='owner'
jid='user at server/resource' role='moderator'/>
<status code='303'/>
</x>
</presence>
<presence from='foo at muc.server/nick2' to='user at server/resource'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='owner' jid='user at server/resource'
role='moderator'/>
</x>
</presence>
The MUC protocol wasn't designed to be fully backward-compatible with the
JCF draft.
Constantin
More information about the JDev
mailing list