mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 18:36:21 +00:00
fix: don't publish OMEMO keys if server doesn't support pubsub (upstream 01c781fc)
This commit is contained in:
@@ -352,8 +352,6 @@ omemo_generate_crypto_materials(ProfAccount* account)
|
||||
void
|
||||
omemo_publish_crypto_materials(void)
|
||||
{
|
||||
log_debug("[OMEMO] publish crypto materials");
|
||||
|
||||
if (omemo_ctx.loaded != TRUE) {
|
||||
cons_show("OMEMO: cannot publish crypto materials before they are generated");
|
||||
log_error("[OMEMO] cannot publish crypto materials before they are generated");
|
||||
|
||||
@@ -116,6 +116,11 @@ omemo_devicelist_request(const char* const jid)
|
||||
void
|
||||
omemo_bundle_publish(gboolean first)
|
||||
{
|
||||
if (!connection_supports(XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS)) {
|
||||
cons_show("OMEMO: Cannot publish bundle: no PUBSUB feature announced");
|
||||
log_debug("[OMEMO] Cannot publish bundle: no PUBSUB feature announced");
|
||||
return;
|
||||
}
|
||||
log_debug("[OMEMO] publish own OMEMO bundle");
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
unsigned char* identity_key = NULL;
|
||||
@@ -141,14 +146,10 @@ omemo_bundle_publish(gboolean first)
|
||||
g_list_free(lengths);
|
||||
g_list_free(ids);
|
||||
|
||||
if (connection_supports(XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS)) {
|
||||
stanza_attach_publish_options_va(ctx, iq,
|
||||
4, // 2 * number of key-value pairs
|
||||
"pubsub#persist_items", "true",
|
||||
"pubsub#access_model", "open");
|
||||
} else {
|
||||
log_debug("[OMEMO] Cannot publish bundle: no PUBSUB feature announced");
|
||||
}
|
||||
stanza_attach_publish_options_va(ctx, iq,
|
||||
4, // 2 * number of key-value pairs
|
||||
"pubsub#persist_items", "true",
|
||||
"pubsub#access_model", "open");
|
||||
|
||||
iq_id_handler_add(id, _omemo_bundle_publish_result, NULL, GINT_TO_POINTER(first));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user