about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2019-03-19 18:39:58 +0140
committerPaul Fariello <paul@fariello.eu>2019-04-10 17:12:31 +0200
commit9044e3732c5f6f53e3aa6f0205bd9e05b6caace3 (patch)
tree17b6f57b6b6bbf1e6ea0479d25928ac1feb30bfa
parente5b01ed71b415c51abcdb63bb4dc1482b0d9248d (diff)
downloadprofani-tty-9044e3732c5f6f53e3aa6f0205bd9e05b6caace3.tar.gz
Ensure room isn't anonymous
-rw-r--r--src/command/cmd_funcs.c4
-rw-r--r--src/xmpp/xmpp.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index f21da6e7..4c8accd0 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -7978,6 +7978,10 @@ cmd_omemo_start(ProfWin *window, const char *const command, gchar **args)
 
             /* TODO: Check room is configured correctly, no anonymous and access to
              * full jid */
+            if (!caps_jid_has_feature(mucwin->roomjid, XMPP_FEATURE_MUC_NONANONYMOUS)) {
+                win_println(window, THEME_DEFAULT, '!', "MUC is anonymous, can't enable OMEMO.");
+                return TRUE;
+            }
             omemo_start_muc_sessions(mucwin->roomjid);
 
             mucwin->is_omemo = TRUE;
diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h
index 6675369a..763c8a91 100644
--- a/src/xmpp/xmpp.h
+++ b/src/xmpp/xmpp.h
@@ -60,6 +60,7 @@
 #define XMPP_FEATURE_RECEIPTS "urn:xmpp:receipts"
 #define XMPP_FEATURE_LASTACTIVITY "jabber:iq:last"
 #define XMPP_FEATURE_MUC "http://jabber.org/protocol/muc"
+#define XMPP_FEATURE_MUC_NONANONYMOUS "http://jabber.org/protocol/muc#muc_nonanonymous"
 #define XMPP_FEATURE_COMMANDS "http://jabber.org/protocol/commands"
 #define XMPP_FEATURE_OMEMO_DEVICELIST_NOTIFY "eu.siacs.conversations.axolotl.devicelist+notify"