From e9ead72e798dc0120ca6aea0df7bfde7cde28b07 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Mon, 24 Oct 2016 14:54:08 -0600 Subject: [PATCH] Added logic to the XmlConnectionsDocumentCompiler to respect the FullFileEncryption flag --- .../Serializers/XmlConnectionsDocumentCompilerTests.cs | 8 ++++++++ .../Config/Serializers/XmlConnectionsDocumentCompiler.cs | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs index 55487dbc7..e7ba07be3 100644 --- a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs +++ b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs @@ -55,6 +55,14 @@ namespace mRemoteNGTests.Config.Serializers Assert.That(con4, Is.Not.Null); } + [Test] + public void XmlContentEncryptedWhenFullFileEncryptionTurnedOn() + { + var xdoc = _documentCompiler.CompileDocument(_connectionTreeModel, true, false); + var rootElementValue = xdoc.Root?.Value; + Assert.That(rootElementValue, Is.Not.EqualTo(string.Empty)); + } + private ConnectionTreeModel SetupConnectionTreeModel() { diff --git a/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs b/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs index 2977b7bf5..491b29e5e 100644 --- a/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs +++ b/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs @@ -32,7 +32,10 @@ namespace mRemoteNG.Config.Serializers CompileRecursive(serializationTarget, rootElement); var xmlDeclaration = new XDeclaration("1.0", "utf-8", ""); - return new XDocument(xmlDeclaration, rootElement); + var xmlDocument = new XDocument(xmlDeclaration, rootElement); + if (fullFileEncryption) + xmlDocument = new XmlConnectionsDocumentEncryptor(_cryptographyProvider).EncryptDocument(xmlDocument, rootNodeInfo.PasswordString.ConvertToSecureString()); + return xmlDocument; } private void CompileRecursive(ConnectionInfo serializationTarget, XContainer parentElement)