Once the user has blocked communications with a JID, the user’s server MUST NOT deliver any XML stanzas from the JID to the user. The block remains in force until the user subsequently unblocks commmunications with the JID (i.e., the duration of the block is potentially unlimited and applies across sessions).
EDIT: It seems the message are stored in OfflineMessageStorage so that they are delivered if the receiver comes online… Wouldnt it be better to dont save them to offlinestorage if the user is blocked?
EDIT2: It also seems that the privacy list does take a while until it will block the traffic. Maybe it is only refreshed after user reconnects… because if i am online with two clients on one account and i block another user the message are still routed by openfire…
Edit 3: i also added a 4th Client Gajim with a running XML Console… I noticed that the messages are carbons which arrive at gajim… so maybe the MessageCarbonHandler should check for PrivacyList too
My Setup:
Openfire 4.6
Conversations at 5222
and two Instances of JSXC on which i am implementing XEP 191 on Bosh Connection 7443
I can write from one JSXC (blocked user) to the other JSXC (one of the two clients that block the sender)