summaryrefslogtreecommitdiff
path: root/protocols/JabberG
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2020-06-23 20:13:32 +0300
committerGeorge Hazan <ghazan@miranda.im>2020-06-23 20:13:32 +0300
commitf5333c257d4b23bb5f37ab3380dd69191f71429c (patch)
treeb378d4326e904a888f5bb82d69eaa1758131ee6d /protocols/JabberG
parent74d117e4355b71d7a5660c5b9b67d24df8bfa4c7 (diff)
Jabber to filter out encrypted outgoing carbon copies
Diffstat (limited to 'protocols/JabberG')
-rwxr-xr-xprotocols/JabberG/src/jabber_thread.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/protocols/JabberG/src/jabber_thread.cpp b/protocols/JabberG/src/jabber_thread.cpp
index c4b6c54956..e911d7f33d 100755
--- a/protocols/JabberG/src/jabber_thread.cpp
+++ b/protocols/JabberG/src/jabber_thread.cpp
@@ -1310,19 +1310,23 @@ void CJabberProto::OnProcessMessage(const TiXmlElement *node, ThreadData *info)
return;
}
- // XEP-0027 is not strict enough, different clients have different implementations
- // additional validation is required
- char *prolog = "-----BEGIN PGP MESSAGE-----";
- char *prolog_newline = "\r\n\r\n";
- char *epilog = "\r\n-----END PGP MESSAGE-----\r\n";
-
- CMStringA tempstring;
- if (!strstr(ptszText, prolog))
- tempstring.Format("%s%s%s%s", prolog, prolog_newline, ptszText, epilog);
- else
- tempstring = ptszText;
-
- szMessage += tempstring;
+ if (carbon && carbonSent)
+ szMessage = TranslateU("Unable to decrypt a carbon copy of the encrypted outgoing message");
+ else {
+ // XEP-0027 is not strict enough, different clients have different implementations
+ // additional validation is required
+ char *prolog = "-----BEGIN PGP MESSAGE-----";
+ char *prolog_newline = "\r\n\r\n";
+ char *epilog = "\r\n-----END PGP MESSAGE-----\r\n";
+
+ CMStringA tempstring;
+ if (!strstr(ptszText, prolog))
+ tempstring.Format("%s%s%s%s", prolog, prolog_newline, ptszText, epilog);
+ else
+ tempstring = ptszText;
+
+ szMessage += tempstring;
+ }
}
else if (!mir_strcmp(pszXmlns, JABBER_FEAT_DELAY) && msgTime == 0) {
const char *ptszTimeStamp = XmlGetAttr(xNode, "stamp");