hi all,
I dunno whether this is a openfire problem or not but I can not block buddies.(we use openfire 3.5.2)
here is the situation: our system has another buddying logic and we’re moving our chat system from a specific implementation to openfire. So I need to keep two db tables consistent. I need to use openfire caching bcuz we have more than 1 million users., so I can not do db insertions.
Instead of this, I implemented a java software which runs on the server side, connects on behalf of users and makes them buddies (the client application does not care for buddying at all, chat is just a small component).
But I could not impelement blocking!
I tried using privacy list, but it does not work! It sends the list, I can see in jivePrivacyList table, but nothing changes in jiveRoster (nor in the behaviour of openfire)!
What I want is to change subscription type. (from-to-both). I also tried extending Packet class and sending status information, but it did not work (i dunno why, server returns result, but nothing change, so I can not decrease a subscriptions ‘both’ field to ‘from’ or ‘to’.
help please, I’m runnin crazy for 2 days dealing with this!
here is the db query result for select * from jivePrivacyList;
sd-501620-v4lez4 | blockeds | 1 | <list xmlns=“jabber:iq:privacy” name=“blockeds”><item action=“deny” order=“1” type=“jid” value=“sd-501619-v4lez3@MY_DOMAIN”/><item action=“deny” order=“2” type=“jid” value=“sd-501627-v4lez11@MY_DOMAIN”><presence-out/></item><item action=“deny” order=“3” type=“jid” value=“sd-501623-v4lez7@MY_DOMAIN”/></list> |
and the other try, the class that extends Packet:
public class BlockPacket extends Packet {
User me;
User other;
public BlockPacket(User me, User other) {
this.me = me;
this.other = other;
}
@Override
public String toXML() {
// TODO Auto-generated method stub
String ret = “<iq from=’” + me.username + “’ type=‘set’ id='block_” + Packet.nextID() + “’>”+
“<query xmlns=‘jabber:iq:roster’>”+
“<item jid=’” + other.username + “’ name=’” + other.username + “’ subscription=‘to’/>”+
“</query></iq>”;
Logger.log(“cagrildim!:” + ret);
return ret;
}
}