[JDEV] Client support for XMPP Privacy and Jabberd 2

Dudley Carr dudley at cs.stanford.edu
Wed Jan 21 01:06:09 CST 2004


I'm working on a client-side implementation of XMPP Privacy and I seem to have 
run into a snag. There are visual elements in our client that can be changed 
which in turn changes the active privacy list. This is all good and well expect 
if there are multiple clients logged onto the same server with the same JID but 
with different resources.

Both clients typically would read the privacy settings after logging in. 
However, they would be unaware of changes to the privacy lists, and thus the 
visual elements (such as showing your status as invisible) in the one of the 
clients would be incorrect. The roster, like the privacy lists, is a piece of 
data that clients have to synchronize on. Unlike the privacy lists, the roster 
side steps this problem b/c the XMPP spec, I believe, requires roster changes to 
be pushed to all the resources. As far as I can tell, this isn't true for 
privacy lists changes.

A possible work around that I was considering is to send an set-IQ packet from 
one client to another so that they can be synchronized, but the current Jabber 2 
server doesn't allow IQ packets through for query namespaces such as 
jabber:iq:privacy or jabber:iq:roster. I can't seem to find anything in XMPP 
that would disallow this behavior, but it does make sense in most cases.

I'm out of ideas on this one short of some kind of custom namespace solution.

Regards,
Dudley



More information about the JDev mailing list