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
_______________________________________________
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev

Reply via email to