about summary refs log tree commit diff stats
path: root/src/xmpp/omemo.c
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2019-03-14 22:05:47 +0220
committerPaul Fariello <paul@fariello.eu>2019-04-10 17:12:31 +0200
commita3897abba1e093aeab2b46bccded87485e518bb1 (patch)
tree59ba8739c7d43a316a75761be65cec563c5cd14f /src/xmpp/omemo.c
parent33b0b4642000166ca7f8033ac5ff2e2c6e7b4671 (diff)
downloadprofani-tty-a3897abba1e093aeab2b46bccded87485e518bb1.tar.gz
Add MUC message decryption
Diffstat (limited to 'src/xmpp/omemo.c')
-rw-r--r--src/xmpp/omemo.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/xmpp/omemo.c b/src/xmpp/omemo.c
index 0c033921..16610cb5 100644
--- a/src/xmpp/omemo.c
+++ b/src/xmpp/omemo.c
@@ -197,6 +197,8 @@ omemo_start_device_session_handle_bundle(xmpp_stanza_t *const stanza, void *cons
 char *
 omemo_receive_message(xmpp_stanza_t *const stanza)
 {
+    const char *type = xmpp_stanza_get_type(stanza);
+
     xmpp_stanza_t *encrypted = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OMEMO);
     if (!encrypted) {
         return NULL;
@@ -264,11 +266,10 @@ skip:
     }
 
     const char *from = xmpp_stanza_get_from(stanza);
-    Jid *jid = jid_create(from);
-
-    char *plaintext = omemo_on_message_recv(jid->barejid, sid, iv_raw, iv_len, keys, payload_raw, payload_len);
 
-    jid_destroy(jid);
+    char *plaintext = omemo_on_message_recv(from, sid, iv_raw, iv_len,
+        keys, payload_raw, payload_len,
+        g_strcmp0(type, STANZA_TYPE_GROUPCHAT) == 0);
 
     return plaintext;
 }