From e84f2c49567e86d2a261ea264d65c4adc549c930 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Tue, 10 Sep 2019 21:01:03 +0200 Subject: [PATCH] Fix check of source of a carbons message --- xmpp-vala/src/module/xep/0280_message_carbons.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xmpp-vala/src/module/xep/0280_message_carbons.vala b/xmpp-vala/src/module/xep/0280_message_carbons.vala index fca35606..508d3322 100644 --- a/xmpp-vala/src/module/xep/0280_message_carbons.vala +++ b/xmpp-vala/src/module/xep/0280_message_carbons.vala @@ -52,9 +52,9 @@ public class ReceivedPipelineListener : StanzaListener { StanzaNode? forwarded_node = carbons_node.get_subnode("forwarded", "urn:xmpp:forward:0"); if (forwarded_node != null) { StanzaNode? message_node = forwarded_node.get_subnode("message", Xmpp.NS_URI); - string? from_attribute = message_node.get_attribute("from", Xmpp.NS_URI); // Any forwarded copies received by a Carbons-enabled client MUST be from that user's bare JID; any copies that do not meet this requirement MUST be ignored. - if (from_attribute != null && from_attribute == stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid.to_string()) { + if (!message.from.equals(stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid)) { + warning("Received alleged carbon message from %s, ignoring", message.from.to_string()); return true; } if (received_node != null) {