diff options
author | George Hazan <ghazan@miranda.im> | 2020-06-23 20:13:32 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2020-06-23 20:13:32 +0300 |
commit | f5333c257d4b23bb5f37ab3380dd69191f71429c (patch) | |
tree | b378d4326e904a888f5bb82d69eaa1758131ee6d /protocols/JabberG | |
parent | 74d117e4355b71d7a5660c5b9b67d24df8bfa4c7 (diff) |
Jabber to filter out encrypted outgoing carbon copies
Diffstat (limited to 'protocols/JabberG')
-rwxr-xr-x | protocols/JabberG/src/jabber_thread.cpp | 30 |
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");
|