xep-0308: enable corrections for outgoing encrypted messages

This commit is contained in:
Michael Vetter
2020-02-12 08:54:12 +01:00
parent 38c32be14c
commit 11b6e1bfa0
8 changed files with 55 additions and 44 deletions

View File

@@ -294,7 +294,7 @@ message_send_chat(const char *const barejid, const char *const msg, const char *
}
char*
message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt)
message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id)
{
xmpp_ctx_t * const ctx = connection_get_ctx();
@@ -346,6 +346,10 @@ message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean
stanza_attach_receipt_request(ctx, message);
}
if (replace_id) {
stanza_attach_correction(ctx, message, replace_id);
}
_send_message_stanza(message);
xmpp_stanza_release(message);
@@ -353,7 +357,7 @@ message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean
}
char*
message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt)
message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id)
{
xmpp_ctx_t * const ctx = connection_get_ctx();
@@ -378,6 +382,10 @@ message_send_chat_otr(const char *const barejid, const char *const msg, gboolean
stanza_attach_receipt_request(ctx, message);
}
if (replace_id) {
stanza_attach_correction(ctx, message, replace_id);
}
_send_message_stanza(message);
xmpp_stanza_release(message);
@@ -389,7 +397,7 @@ 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)
gboolean request_receipt, gboolean muc, const char *const replace_id)
{
char *state = chat_session_get_state(jid);
xmpp_ctx_t * const ctx = connection_get_ctx();
@@ -489,6 +497,10 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys,
stanza_attach_receipt_request(ctx, message);
}
if (replace_id) {
stanza_attach_correction(ctx, message, replace_id);
}
_send_message_stanza(message);
xmpp_stanza_release(message);

View File

@@ -172,9 +172,9 @@ char* connection_jid_for_feature(const char *const feature);
const char* connection_get_profanity_identifier(void);
char* message_send_chat(const char *const barejid, const char *const msg, const char *const oob_url, gboolean request_receipt, const char *const replace_id);
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, gboolean muc);
char* message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id);
char* message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id);
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, const char *const replace_id);
void message_send_private(const char *const fulljid, const char *const msg, const char *const oob_url);
char* 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);