# HG changeset patch # User Mikael Berthe # Date 1412440306 -7200 # Node ID 2ce6dd6861ea746d35cfd52bcbce8539f86d7739 # Parent 8819bab88053fd42c3425fcb7b33b6c0626df2c4 Use the Carbons element for outgoing encrypted messages diff -r 8819bab88053 -r 2ce6dd6861ea mcabber/mcabber/carbons.c --- a/mcabber/mcabber/carbons.c Sat Oct 04 18:31:41 2014 +0200 +++ b/mcabber/mcabber/carbons.c Sat Oct 04 18:31:46 2014 +0200 @@ -45,6 +45,11 @@ } } +gboolean carbons_enabled() +{ + return (_carbons_enabled != 0); +} + void carbons_enable() { LmMessage *iq; diff -r 8819bab88053 -r 2ce6dd6861ea mcabber/mcabber/carbons.h --- a/mcabber/mcabber/carbons.h Sat Oct 04 18:31:41 2014 +0200 +++ b/mcabber/mcabber/carbons.h Sat Oct 04 18:31:46 2014 +0200 @@ -1,10 +1,13 @@ #ifndef __MCABBER_CARBONS_H__ #define __MCABBER_CARBONS_H__ 1 +#include + void carbons_available(); void carbons_enable(); void carbons_disable(); void carbons_info(); void carbons_reset(); +gboolean carbons_enabled(); #endif //__MCABBER_CARBONS_H__ diff -r 8819bab88053 -r 2ce6dd6861ea mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Sat Oct 04 18:31:41 2014 +0200 +++ b/mcabber/mcabber/xmpp.c Sat Oct 04 18:31:46 2014 +0200 @@ -417,6 +417,11 @@ g_free(enc); } + // We probably don't want Carbons for encrypted messages, since the other + // resources won't be able to decrypt them. + if (carbons_enabled()) + lm_message_node_add_child(x->node, "private", NS_CARBONS_2); + // XEP-0184: Message Receipts if (sl_buddy && xep184 && caps_has_feature(buddy_resource_getcaps(sl_buddy->data, rname),