diff options
author | Paul Fariello <paul@fariello.eu> | 2019-03-18 07:11:19 +0140 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-04-10 17:12:31 +0200 |
commit | a9d55dec9275c472d7eea2ff79304eda1aefd3be (patch) | |
tree | 3b648f1756b402fc7768b8a62f84587f4a6f99a8 /src/xmpp | |
parent | f7ce1607f96f527b5c22e89510ab5185a200800d (diff) | |
download | profani-tty-a9d55dec9275c472d7eea2ff79304eda1aefd3be.tar.gz |
Add support for sending encrypted message in MUC
Diffstat (limited to 'src/xmpp')
-rw-r--r-- | src/xmpp/message.c | 14 | ||||
-rw-r--r-- | src/xmpp/xmpp.h | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 8fbaedd9..47a21438 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -318,13 +318,19 @@ char* message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, const unsigned char *const iv, size_t iv_len, const unsigned char *const ciphertext, size_t ciphertext_len, - gboolean request_receipt) + gboolean request_receipt, gboolean muc) { char *state = chat_session_get_state(jid); xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id("msg"); - - xmpp_stanza_t *message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); + char *id; + xmpp_stanza_t *message; + if (muc) { + id = connection_create_stanza_id("muc"); + message = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, jid, id); + } else { + id = connection_create_stanza_id("msg"); + message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); + } xmpp_stanza_t *encrypted = xmpp_stanza_new(ctx); xmpp_stanza_set_name(encrypted, "encrypted"); diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index f2eec6c7..6675369a 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -140,7 +140,7 @@ char* message_send_chat(const char *const barejid, const char *const msg, const gboolean request_receipt); char* message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt); char* message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt); -char* message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, const unsigned char *const iv, size_t iv_len, const unsigned char *const ciphertext, size_t ciphertext_len, gboolean request_receipt); +char* message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, const unsigned char *const iv, size_t iv_len, const unsigned char *const ciphertext, size_t ciphertext_len, gboolean request_receipt, gboolean muc); void message_send_private(const char *const fulljid, const char *const msg, const char *const oob_url); void message_send_groupchat(const char *const roomjid, const char *const msg, const char *const oob_url); void message_send_groupchat_subject(const char *const roomjid, const char *const subject); |