#798 MUC-PMs are wrongfully carbon-copied

Reporter ge0rg
Owner Nobody
Created
Updated
Stars ★ (1)  
Tags
  • Status-New
  • Priority-Medium
  • Type-Defect
  1. ge0rg on

    I'm running a MUC on my prosody 0.10, with two carbons-enabled clients from the same server joined in a multi-session-nick fashion. Another user sends a MUC-PM to my nickname. Expected outcome: both clients receive a copy of the MUC-PM directly from the MUC service. Actual outcome: both clients receive the PM as well as a carbon copy of it, resulting in two total messages. Client A gets the carbon first (message with no 'id'), and the actual PM second: <message type='chat' to='georg@yax.im/yaxim.zzzzzzzz' from='georg@yax.im'> <received xmlns='urn:xmpp:carbons:2'><forwarded xmlns='urn:xmpp:forward:0'> <message type='chat' to='georg@yax.im/ef769a98-fd69-4257-adf4-34c85916de4b' from='yaxim@chat.yax.im/Not-Ge0rG' id='c8e89dd3-38e3-4c15-87e1-832178135d0c' xmlns='jabber:client'> <body>This is another massage.</body><active xmlns='http://jabber.org/protocol/chatstates'/><request xmlns='urn:xmpp:receipts'/><thread>WiagdRIwSfesbsGyOzvWWioEvFcaiNZE</thread><x xmlns='http://jabber.org/protocol/muc#user'/> </message> </forwarded></received> </message> <message id='c8e89dd3-38e3-4c15-87e1-832178135d0c' type='chat' to='georg@yax.im/yaxim.zzzzzzzz' from='yaxim@chat.yax.im/Not-Ge0rG'> <body>This is another massage.</body><active xmlns='http://jabber.org/protocol/chatstates'/><request xmlns='urn:xmpp:receipts'/><thread>WiagdRIwSfesbsGyOzvWWioEvFcaiNZE</thread><x xmlns='http://jabber.org/protocol/muc#user'/> </message> Client B gets the PM first and the carbon second: <message from="yaxim@chat.yax.im/Not-Ge0rG" id="c8e89dd3-38e3-4c15-87e1-832178135d0c" type="chat" to="georg@yax.im/clientB"> <body>This is another massage.</body><active xmlns="http://jabber.org/protocol/chatstates" /><request xmlns="urn:xmpp:receipts" /><thread>WiagdRIwSfesbsGyOzvWWioEvFcaiNZE</thread><x xmlns="http://jabber.org/protocol/muc#user" /><replace xmlns="urn:xmpp:message-correct:0" /> </message> <message from="georg@yax.im" id="528da32d-22fc-45fd-9f72-8f694ea1026b-43CF" type="chat" to="georg@yax.im/clientB"> <received xmlns="urn:xmpp:carbons:2"><forwarded xmlns="urn:xmpp:forward:0"> <message xmlns="jabber:client" from="yaxim@chat.yax.im/Not-Ge0rG" id="c8e89dd3-38e3-4c15-87e1-832178135d0c" type="chat" to="georg@yax.im/yaxim"> <body>This is another massage.</body><active xmlns="http://jabber.org/protocol/chatstates" /><request xmlns="urn:xmpp:receipts" /><thread>WiagdRIwSfesbsGyOzvWWioEvFcaiNZE</thread><x xmlns="http://jabber.org/protocol/muc#user" /> </message> </forwarded></received> </message> While the message is properly tagged with 'muc#user', it is still carbon-copied by prosody: Dec 14 11:42:56 s2sin9b30d80 debug Received[s2sin]: <message id='c8e89dd3-38e3-4c15-87e1-832178135d0c' type='chat' to='yaxim@chat.yax.im/Ge0rG' from='georg@otherdomain.de/otherclient'> Dec 14 11:42:56 mod_muc debug room: yaxim@chat.yax.im, current_nick: yaxim@chat.yax.im/Not-Ge0rG, stanza: <message id='c8e89dd3-38e3-4c15-87e1-832178135d0c' type='chat' to='yaxim@chat.yax.im/Ge0rG' from='georg@otherdomain.de/otherclient'> Dec 14 11:42:56 mod_muc debug georg@otherdomain.de/otherclient sent private stanza to yaxim@chat.yax.im/Ge0rG (georg@yax.im/clientB) Dec 14 11:42:56 yax.im:carbons debug Sending carbon to georg@yax.im/yaxim.zzzzzzzz Dec 14 11:42:56 yax.im:carbons debug Sending carbon to georg@yax.im/clientB

  2. ValdikSS on

    Just for your information: ejabberd also sends carbon copies for MUC PMs. Psi+, Gajim and Conversations correctly filter out that carbons.

  3. ge0rg on

    @ValdikSS that's not so easy. If I am joined into a MUC from two clients, I want both to receive PMs. So at least I need to accept sent-Carbons of PMs generated by the other client. Maybe also received-PMs of incoming messages, if they aren't sent by the MUC.

New comment