But if you send this iq to Openfire you always recive this response: <iq type="result" to="brick@192.168.0.111/ourClient">
<query xmlns="jabber:iq:privacy"/>
</iq> If I do the same with Ejabberd I get a response with the Privacy Lists. Is this a bug is this just something that ain't supported in Openfire?
Privacy lists are supported by Openfire. The IQ packet that you pasted looks fine to me. Could you verify that rome has a list of privacy lists stored in the database?
Execute the following SQL statement on your database:
SELECT name, isDefault FROM ofPrivacyList WHERE username='romeo'
The server is returning whatever is returned from that DB query as the answer to your IQ packet.
I said romeo in my previous post since that is what you are sending in the IQ packet. But you later say that the IQ reply says brick. In the above SQL statement replace romeo with the username of the sender of the IQ packet.
That’s odd… I don’t even have the ofPrivacyList table in my database. I’m running Openfire against an external MSSQL database. What other tables am I missing?
Just one more question, does XMPP support multiple active list?
I’ve got these four cases
Block all
Block all minus buddies
Block no one
Block specific users
The block specific users list should always be active. But I would like to switch between the other rules. Is this possible?
In XMPP a user may be connected from many places at the same time. Lets say that we have a user (bare JID = john@server.com) connected from home (full JID= john@server.com/Home) and from work (full JID= john@server.com/Work). The user can define the default list to use for his sessions. That means that unless a session specifies something else its default privacy list will be used. Moreover, each session/connection can only have one privacy list active at a time (aka active list). Each session may have a different active list. The user can keep changing the list to have active for a given session all the times that he wants.
A privacy list is composed of a set of rules. The rules have a certain order. So rule 1 is applied first and then rule 2 and so on. You can define in that way how you want to block/allow traffic.
you must include rule 4 in all other rules, this is something the client must support as the server does not. You may also want to take a look at Privacy Lists.