Client gets no response when trying to fetch VCard of user that is blocked by privacy lists

In general we got 2 users: bob and mike and both have vcards

  1. Bob blocks Mike - all options - msg, presence in/out, IQs
  2. Mike trying to fetch Bob’s vcard
  3. Mike got error service-unavailable / cancel
  4. Bob trying to fetch Mike’s vcard
  5. **Bob got no response at all. **

I don’t know what should happen according to XEP, but looks like undescribed situation to me. I can be wrong ofc. IMHO Bob should get atleast the same error as Mike would get.

This is happening because result packet is beeing rejected and that shows in logs.

2015.10.15 13:01:17 org.jivesoftware.openfire.privacy.PrivacyList - PrivacyList: Packet was blocked:
<iq type="result" id="KybWP-101" from="mike@domain" to="bob@domain/Smack">
<vCard xmlns="vcard-temp"/>
</iq>

You block stanzas from an XMPP entity based on its bare JID using privacy list. Now you request a vcard from a blocked entity and the server discards the Stanza because the entity sending you the Stanza is blocked.

This is something that we have figured out. In some use cases this could make sense but not in all. For internal purposes we are using separate endpoint for user vcard retrieval.