From 2501ef6a104326fe14ad13bf3023ba7a62d2da46 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 18 Nov 2022 16:34:58 +0300 Subject: WhatsApp: blocklist analysis added for AppSync handler --- protocols/WhatsApp/src/iq.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'protocols/WhatsApp') diff --git a/protocols/WhatsApp/src/iq.cpp b/protocols/WhatsApp/src/iq.cpp index 5e31f71372..474a54a376 100644 --- a/protocols/WhatsApp/src/iq.cpp +++ b/protocols/WhatsApp/src/iq.cpp @@ -11,9 +11,17 @@ void WhatsAppProto::OnAccountSync(const WANode &node) { m_arDevices.destroy(); - for (auto &it : node.getChild("devices")->getChildren()) - if (it->title == "device") - m_arDevices.insert(new WAJid(it->getAttr("jid"), it->getAttrInt("key-index"))); + if (auto *pList = node.getChild("devices")) + for (auto &it : pList->getChildren()) + if (it->title == "device") + m_arDevices.insert(new WAJid(it->getAttr("jid"), it->getAttrInt("key-index"))); + + if (auto *pList = node.getChild("blocklist")) + for (auto &it : pList->getChildren()) + if (it->title == "item") { + auto *pUser = AddUser(it->getAttr("jid"), false); + Contact::Hide(pUser->hContact, 0 == mir_strcmp(it->getAttr("action"), "block")); + } SendAck(node); } -- cgit v1.2.3