Matthew Wild wrote: > On Fri, Apr 11, 2008 at 1:45 PM, Peter Saint-Andre <[EMAIL PROTECTED]> 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='[EMAIL PROTECTED]/thirdwitch'
to='[EMAIL PROTECTED]/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='[EMAIL PROTECTED]/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='[EMAIL PROTECTED]/desktop'
type='result'/>
OR
<iq from='macbeth.shakespeare.lit'
id='check-nick-1'
to='[EMAIL PROTECTED]/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/
smime.p7s
Description: S/MIME Cryptographic Signature
