[Telepathy] Privacy List/Blocking

Robert McQueen robert.mcqueen at collabora.co.uk
Fri Feb 8 02:47:04 PST 2008


Hi Lalita,

The privacy interface is marked as "causes havoc" in the spec (and hence
deprecated in libtelepathy) is because nobody has implemented it yet, so
we have no idea whether it's useful or applicable to real world
protocols. It's possible that when we (or someone else) did implement
this, it would turn out to be wrong and would need changing.

That said, it's just used to find and set the default policy for who can
see you or message you. There's actually no way to discover/change this
on XMPP servers, so Gabble wouldn't implement this interface anyway. The
defaults are that nobody can see your presence and that everyone can
message you, except on Google where only people who can see your
presence can message you.

The more relevant API for blocking/unblocking people in Telepathy is
adding people to the "deny" contact list. As you've noted this is only
available in Gabble when connected to a Google servers using their
roster extensions. This is because jabber:iq:privacy is too complicated
and powerful for us to use and expose through such a simple API. If we
used it in a simple way (only manipulating/activating one ACL, ignoring
others) then we'd not be compatible with other clients, or if we wanted
to use it in a complex way we'd need a more complicated Telepathy API.

This is actually why Google didn't use it either - it's too complicated
for their use case of simple blocking/unblocking. Since then, a XEP for
simple blocking (http://www.xmpp.org/extensions/xep-0191.html) has been
written, so if we wanted to implement blocking in Gabble for non-Google
XMPP server, we'd use that.

Regards,
Rob

lalita kapoor wrote:
> Hi
>  
> What are the interfaces available in libtelepathy-0.3.1 for blocking
> conatcts/messages/presence ( as per the xmpp protocol) and privacy list?
> There is an interface tp_get_conn_privacy_interface which provides
> GetPrivacyMode etc in libtelepathy. Is this the interface used for
> blocking/privacy lists in telepathy? But for this interface( eg for
> GetPrivacyMode ) , I couldnot find any implementation in
> telepathy-gabble-0.7.2.
>  
> More I could see There is an api gabble_roster_handle_set_blocked which
> takes an interface "deny" which is provided by gabble only in case of
> gtalk.
> 
> This interface can be used for blocking contact in gtalk (
> 
> server will not broadcast your presence to, or accept messages from,
> this contact. )
> 
> But this interface may not be used for any other xmpp service as gabble
> doesn't provide "deny" interface itself for any other service other than
> gtalk.
> 
> More this uses Google Talk XMPP extension "Extended Contact Attribute" (
> 
> _http://code.google.com/apis/talk/jep_extensions/roster_attributes.html_)
> 
> for blocking ( gr:t=B). This will not use "jabber:iq:privacy" for
> blocking .XMPP says "jabber:iq:privacy" should be used for blocking.
> 
> I want to know what are all the api's in libtelepathy and
> telepathygabble which I can use for blocking/privacy?
> 
> Thanks
> 
> Lalita


More information about the Telepathy mailing list