[Standards] Query Regarding MUC XEP-0045

Peter Saint-Andre stpeter at stpeter.im
Fri Apr 11 21:23:52 UTC 2008


Matthew Wild wrote:
> On Fri, Apr 11, 2008 at 1:45 PM, Peter Saint-Andre <stpeter at stpeter.im> wrote:
>>  Everything in XEP-0045 covers your relationship and interactions with a
>>  particular room, not the service. I've been hearing about more use cases
>>  for interaction with the service itself, so perhaps it's finally time to
>>  write a spec about that (probably using ad-hoc commands, similar to
>>  XEP-0133 but just for MUC).
> 
> Would this be a good XEP to include something I think is much needed,
> the ability to discover whether a particular nick is registered? or
> should this rather be in XEP-0045?

Registered with the room or with the service? Do we need to
differentiate between the two? If you are registered with the room then
you are a member, whereas nick registration has meaning across the
service. Compare Section 7.10 of XEP-0045, where you register with the
room, to registration with the service.

> The reason I believe this is needed is because the lack of it makes nick
> registration fairly useless in anonymous rooms. If someone can see
> that a user's nick is registered, they have a certain level of
> assurance that the next time they see this nick, it is the same
> person. Without this knowledge it may as well be someone completely
> different.
> 
> Currently I don't believe there is any way to tell, which means that
> even if you register your nick on a service, it provides little
> benefit (unlike it would on IRC/NickServ).

The only way to tell is by trying to register the nick yourself. And
that seems rather silly. :)

I see two approaches:

1. If someone is registered, the service includes a flag in their
presence broadcast -- something like the following:

<presence
    from='darkcave at macbeth.shakespeare.lit/thirdwitch'
    to='crone1 at shakespeare.lit/desktop'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
  </x>
  <registered xmlns='urn:xmpp:mucserv'/>
</presence>

2. The service enables you to check if someone is registered:

<iq from='crone1 at shakespeare.lit/desktop'
    id='check-nick-1'
    to='macbeth.shakespeare.lit'
    type='get'>
  <registered xmlns='urn:xmpp:mucserv'>
    thirdwitch
  </registered>
</iq>

If the nick is registered, the service returns an IQ-result, otherwise
it returns an error (<item-not-found/> if the nick is not registered,
<service-unavailable/> if the protocol is not supported):

<iq from='macbeth.shakespeare.lit'
    id='check-nick-1'
    to='crone1 at shakespeare.lit/desktop'
    type='result'/>

OR

<iq from='macbeth.shakespeare.lit'
    id='check-nick-1'
    to='crone1 at shakespeare.lit/desktop'
    type='error'>
  <error type='cancel'>
    <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
  </error>
</iq>

> I believe this would be a small but valuable extension to the protocol.

Agreed.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 7338 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.jabber.org/pipermail/standards/attachments/20080411/7576622b/attachment.bin>


More information about the Standards mailing list