Hi, With Privacy lists and Blocking command being brought up, I'd like to raise an issue they both have: blocking a MUC participant. Both XEP-0016 and XEP-0191 states that when someone who has been blocked attempts to communicate with the the user:
> For message stanzas, the server SHOULD return an error, which SHOULD > be <service-unavailable/>. Both XEPs have this identical text¹². A weird thing arises when you block a MUC participant tho, namely that you (appear to) send an error stanza to the MUC. This may make the MUC think that you have silently gone offline, and to prevent ghosts, kicks you out. This isn't really very nice. It can be partially solved by not bouncing groupchat messages, but private messages through the room would still be a problem. And someone spamming in PM could be why you blocked them. I can see two or three solutions. 1) Drop messages instead of bouncing. 2) Keep track of MUC joins and drop blocked MUC participants messages. 3) Move the blocking to the MUC itself (something for MUC2?). I would prefer 1. 2 would mean more complicated code that touches more places than the block list and the current stanza. 3 has some benefits (or overlap with incident reporting) such as being able to notify room owners or automatic kick if enough participants block someone. XEP-0016 has this footnote: > Until version 1.5 of this document (therefore also in RFC 6121), > it was recommended to silently ignore message stanzas, which > unfortunately resulted in a delivery "black hole" regarding message stanzas. I don't really understand how that is a bad thing. If you blocked someone, do you want to appear eternally offline or do you want to appear as if you deleted your account? Normally, a message for someone who is offline would go into offline storage for later delivery, so there would be no reply. ¹ http://xmpp.org/extensions/xep-0016.html#protocol-error ² http://xmpp.org/extensions/xep-0191.html#block -- Kim "Zash" Alvefur
signature.asc
Description: OpenPGP digital signature