1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

OMEMO - Request only "current" item

NOTE: as per XEP-0060 §12.20, it is RECOMMENDED for the publisher to specify an
ItemID of "current" to ensure that the publication of a new item will overwrite
the existing item.
https://xmpp.org/extensions/xep-0384.html#devices

Issue: 1329
This commit is contained in:
DebXWoody 2020-05-23 07:41:06 +02:00
parent 86f0e0ea70
commit b882fd495a
No known key found for this signature in database
GPG Key ID: C2DC916F35751C24

View File

@ -442,7 +442,7 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata)
}
xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(items, "item");
if (item) {
if (item && g_strcmp0(xmpp_stanza_get_id(item), "current") == 0 ) {
xmpp_stanza_t *list = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO);
if (!list) {
return 1;
@ -462,6 +462,10 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata)
}
}
}
if (item && g_strcmp0(xmpp_stanza_get_id(item), "current") != 0 ) {
log_warning("OMEMO: User %s has a non 'current' device item list: %s.", from, xmpp_stanza_get_id(item));
}
omemo_set_device_list(from, device_list);
return 1;