Implement XEP-0380 for the OMEMO and OpenPGP plugins (#359)
* Implement XEP-0380 in a naive fashion for both the OMEMO and OpenPGP plugins * Move the XEP-0380 namespace to a constant * Move the implementation for xep-0380 to its own module * Remove un-needed lines from plugins/openpgp/src/stream_module.vala
This commit is contained in:
parent
5425243203
commit
62e5e6485e
|
@ -94,6 +94,7 @@ public class StreamModule : XmppStreamModule {
|
|||
}
|
||||
|
||||
message.stanza.put_node(encrypted);
|
||||
Xep.ExplicitEncryption.add_encryption_tag_to_message(message, NS_URI, "OMEMO");
|
||||
message.body = "[This message is OMEMO encrypted]";
|
||||
status.encrypted = true;
|
||||
} catch (Error e) {
|
||||
|
|
|
@ -37,6 +37,7 @@ namespace Dino.Plugins.OpenPgp {
|
|||
if (enc_body != null) {
|
||||
message.stanza.put_node(new StanzaNode.build("x", NS_URI_ENCRYPTED).add_self_xmlns().put_node(new StanzaNode.text(enc_body)));
|
||||
message.body = "[This message is OpenPGP encrypted (see XEP-0027)]";
|
||||
Xep.ExplicitEncryption.add_encryption_tag_to_message(message, NS_URI_ENCRYPTED);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -68,6 +68,7 @@ SOURCES
|
|||
"src/module/xep/0313_message_archive_management.vala"
|
||||
"src/module/xep/0333_chat_markers.vala"
|
||||
"src/module/xep/0368_srv_records_tls.vala"
|
||||
"src/module/xep/0380_explicit_encryption.vala"
|
||||
"src/module/xep/pixbuf_storage.vala"
|
||||
PACKAGES
|
||||
${ENGINE_PACKAGES}
|
||||
|
|
14
xmpp-vala/src/module/xep/0380_explicit_encryption.vala
Normal file
14
xmpp-vala/src/module/xep/0380_explicit_encryption.vala
Normal file
|
@ -0,0 +1,14 @@
|
|||
namespace Xmpp.Xep.ExplicitEncryption {
|
||||
public const string NS_URI = "urn:xmpp:eme:0";
|
||||
|
||||
public static void add_encryption_tag_to_message(MessageStanza message, string ns, string? name = null) {
|
||||
StanzaNode encryption = new StanzaNode.build("encryption", NS_URI).add_self_xmlns()
|
||||
.put_attribute("namespace", ns);
|
||||
|
||||
if(name != null)
|
||||
encryption.put_attribute("name", name);
|
||||
|
||||
message.stanza.put_node(encryption);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue