[MOD] Make functions for creating a "killer stanza"

Cleaning up the mop...
This commit is contained in:
LDA 2024-06-19 14:41:04 +02:00
commit e089cea02a
4 changed files with 46 additions and 16 deletions

View file

@ -54,3 +54,37 @@ XMPPSendPresence(XMPPComponent *comp, char *fr, char *to)
XMLFreeElement(presence);
Free(from);
}
void
XMPPKillThread(XMPPComponent *jabber)
{
XMLElement *message, *body, *data;
char *from;
if (!jabber)
{
return;
}
from = StrConcat(2, "jabber_die@", jabber->host);
message = XMLCreateTag("message");
XMLAddAttr(message, "from", from);
XMLAddAttr(message, "to", from);
XMLAddAttr(message, "type", "kill_parsee");
body = XMLCreateTag("body");
XMLAddChild(message, body);
XMLEncode(jabber->stream, message);
StreamFlush(jabber->stream);
XMLFreeElement(message);
Free(from);
}
bool
XMPPIsKiller(XMLElement *stanza)
{
if (!stanza)
{
return false;
}
return StrEquals( HashMapGet(stanza->attrs, "from"),
HashMapGet(stanza->attrs, "to"));
}