From 7454b15ec90c2a686b7205b514838d61c13711fd Mon Sep 17 00:00:00 2001 From: BlueBlock Date: Fri, 24 Mar 2023 01:33:30 -0400 Subject: [PATCH] adjust app to use 2.8 xsd schema --- mRemoteNG/App/Info/ConnectionsFileInfo.cs | 2 +- .../Xml/XmlConnectionSerializerFactory.cs | 2 +- .../Xml/XmlConnectionsDeserializer.cs | 2 +- mRemoteNGTests/Config/CredentialHarvesterTests.cs | 4 ++-- .../ConnectionSerializers/Xml/ValidateXmlSchemas.cs | 2 +- .../Xml/XmlConnectionsDocumentCompilerTests.cs | 2 +- .../Xml/XmlConnectionsDocumentEncryptorTests.cs | 2 +- .../Xml/XmlConnectionsSerializerTests.cs | 7 +++---- .../IntegrationTests/XmlSerializationLifeCycleTests.cs | 6 ++---- 9 files changed, 13 insertions(+), 16 deletions(-) diff --git a/mRemoteNG/App/Info/ConnectionsFileInfo.cs b/mRemoteNG/App/Info/ConnectionsFileInfo.cs index ded493ff..05f2ce09 100644 --- a/mRemoteNG/App/Info/ConnectionsFileInfo.cs +++ b/mRemoteNG/App/Info/ConnectionsFileInfo.cs @@ -9,6 +9,6 @@ namespace mRemoteNG.App.Info public static readonly string DefaultConnectionsPath = SettingsFileInfo.SettingsPath; public static readonly string DefaultConnectionsFile = "confCons.xml"; public static readonly string DefaultConnectionsFileNew = "confConsNew.xml"; - public static readonly Version ConnectionFileVersion = new Version(3, 0); + public static readonly Version ConnectionFileVersion = new Version(2, 8); } } \ No newline at end of file diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs index ece3d65b..9c6119b3 100644 --- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs +++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs @@ -21,7 +21,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml .First().PasswordString .ConvertToSecureString(); - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( cryptographyProvider, encryptionKey, saveFilter ?? new SaveFilter()); diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs index 15f7ce3b..b874022f 100644 --- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs +++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs @@ -569,7 +569,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml switch (_confVersion) { - case >= 3.0: + case >= 2.8: connectionInfo.RedirectDiskDrives = xmlnode.GetAttributeAsEnum("RedirectDiskDrives"); connectionInfo.RedirectDiskDrivesCustom = xmlnode.GetAttributeAsString("RedirectDiskDrivesCustom"); connectionInfo.Inheritance.RedirectDiskDrivesCustom = xmlnode.GetAttributeAsBool("InheritRedirectDiskDrivesCustom"); diff --git a/mRemoteNGTests/Config/CredentialHarvesterTests.cs b/mRemoteNGTests/Config/CredentialHarvesterTests.cs index b6be27f6..57d5d07f 100644 --- a/mRemoteNGTests/Config/CredentialHarvesterTests.cs +++ b/mRemoteNGTests/Config/CredentialHarvesterTests.cs @@ -113,13 +113,13 @@ public class CredentialHarvesterTests var map = _credentialHarvester.ConnectionToCredentialMap; Assert.That(map[con1Id], Is.EqualTo(map[con2Id])); } - + private XDocument CreateTestData(ConnectionInfo connectionInfo) { var rootNode = new RootNodeInfo(RootNodeType.Connection) { PasswordString = _key.ConvertToUnsecureString() }; rootNode.AddChild(connectionInfo); - var nodeSerializer = new XmlConnectionNodeSerializer27(_cryptographyProvider, _key, new SaveFilter()); + var nodeSerializer = new XmlConnectionNodeSerializer28(_cryptographyProvider, _key, new SaveFilter()); var serializer = new XmlConnectionsSerializer(_cryptographyProvider, nodeSerializer); var serializedData = serializer.Serialize(rootNode); return XDocument.Parse(serializedData); diff --git a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/ValidateXmlSchemas.cs b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/ValidateXmlSchemas.cs index efb51fae..6a5c2c0d 100644 --- a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/ValidateXmlSchemas.cs +++ b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/ValidateXmlSchemas.cs @@ -30,7 +30,7 @@ public class ValidateXmlSchemas _connectionTreeModel.AddRootNode(root); _cryptographyProvider = new AeadCryptographyProvider(); - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( _cryptographyProvider, _connectionTreeModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter()); diff --git a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentCompilerTests.cs b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentCompilerTests.cs index b9631e55..e4355b41 100644 --- a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentCompilerTests.cs +++ b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentCompilerTests.cs @@ -30,7 +30,7 @@ public class XmlConnectionsDocumentCompilerTests { _connectionTreeModel = SetupConnectionTreeModel(); _cryptographyProvider = new CryptoProviderFactory(BlockCipherEngines.AES, BlockCipherModes.GCM).Build(); - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( _cryptographyProvider, _connectionTreeModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter()); diff --git a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentEncryptorTests.cs b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentEncryptorTests.cs index 9a4a3f50..6650d8d3 100644 --- a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentEncryptorTests.cs +++ b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDocumentEncryptorTests.cs @@ -21,7 +21,7 @@ public class XmlConnectionsDocumentEncryptorTests { var connectionTreeModel = SetupConnectionTreeModel(); var cryptoProvider = new CryptoProviderFactory(BlockCipherEngines.AES, BlockCipherModes.GCM).Build(); - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( cryptoProvider, connectionTreeModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter()); diff --git a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsSerializerTests.cs b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsSerializerTests.cs index 07694567..747b60d1 100644 --- a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsSerializerTests.cs +++ b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsSerializerTests.cs @@ -24,7 +24,7 @@ public class XmlConnectionsSerializerTests { _connectionTreeModel = SetupConnectionTreeModel(); _cryptographyProvider = new AeadCryptographyProvider(); - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( _cryptographyProvider, _connectionTreeModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter()); @@ -37,8 +37,7 @@ public class XmlConnectionsSerializerTests var serializedConnections = _serializer.Serialize(_connectionTreeModel); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(serializedConnections); - var nodeCon4 = - xmlDoc.DocumentElement?.SelectSingleNode("Node[@Name='folder2']/Node[@Name='folder3']/Node[@Name='con4']"); + var nodeCon4 = xmlDoc.DocumentElement?.SelectSingleNode("Node[@Name='folder2']/Node[@Name='folder3']/Node[@Name='con4']"); Assert.That(nodeCon4, Is.Not.Null); } @@ -59,7 +58,7 @@ public class XmlConnectionsSerializerTests [TestCase("InheritAutomaticResize", null)] public void SerializerRespectsSaveFilterSettings(string attributeName, string expectedValue) { - var connectionNodeSerializer = new XmlConnectionNodeSerializer27( + var connectionNodeSerializer = new XmlConnectionNodeSerializer28( _cryptographyProvider, _connectionTreeModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter(true)); diff --git a/mRemoteNGTests/IntegrationTests/XmlSerializationLifeCycleTests.cs b/mRemoteNGTests/IntegrationTests/XmlSerializationLifeCycleTests.cs index 44c547e5..24c4d25f 100644 --- a/mRemoteNGTests/IntegrationTests/XmlSerializationLifeCycleTests.cs +++ b/mRemoteNGTests/IntegrationTests/XmlSerializationLifeCycleTests.cs @@ -11,7 +11,6 @@ using System.Linq; using System.Text; using mRemoteNG.Config.Serializers.ConnectionSerializers.Xml; - namespace mRemoteNGTests.IntegrationTests { public class XmlSerializationLifeCycleTests @@ -26,7 +25,7 @@ namespace mRemoteNGTests.IntegrationTests { _originalModel = SetupConnectionTreeModel(); var cryptoProvider = _cryptoFactory.Build(); - var nodeSerializer = new XmlConnectionNodeSerializer27( + var nodeSerializer = new XmlConnectionNodeSerializer28( cryptoProvider, _originalModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter()); @@ -71,13 +70,12 @@ namespace mRemoteNGTests.IntegrationTests Assert.That(deserializedConnectionInfo.Description, Is.EqualTo(originalConnectionInfo.Description)); } - [Test] public void SerializeAndDeserializeWithCustomKdfIterationsValue() { var cryptoProvider = _cryptoFactory.Build(); cryptoProvider.KeyDerivationIterations = 5000; - var nodeSerializer = new XmlConnectionNodeSerializer27( + var nodeSerializer = new XmlConnectionNodeSerializer28( cryptoProvider, _originalModel.RootNodes.OfType().First().PasswordString.ConvertToSecureString(), new SaveFilter());