Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mRemoteNG/mRemoteNG.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sparer <sparerd@users.noreply.github.com>2017-03-06 20:33:04 +0300
committerGitHub <noreply@github.com>2017-03-06 20:33:04 +0300
commitbe5c66bd93ef9445f523d70e34da10dca100bfe7 (patch)
tree4c299269e98fc566113a20ed28e0a22b55b2345a
parentb1ec9756125fe423dba48a3cbd8c8d538e46ead8 (diff)
parent5347e5a3aaad9e123df85795f644bf32ca03890f (diff)
Merge pull request #438 from mRemoteNG/1_75_hotfixesv1.75Hotfix1
1.75 hotfix 1
-rw-r--r--CHANGELOG.TXT13
-rw-r--r--mRemoteNGTests/Config/Serializers/XmlConnectionNodeSerializerTests.cs11
-rw-r--r--mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs3
-rw-r--r--mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentEncryptorTests.cs3
-rw-r--r--mRemoteNGTests/Config/Serializers/XmlConnectionsSerializerTests.cs23
-rw-r--r--mRemoteV1/Config/Serializers/XmlConnectionNodeSerializer.cs16
-rw-r--r--mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs14
-rw-r--r--mRemoteV1/Config/Serializers/XmlConnectionsSerializer.cs2
-rw-r--r--mRemoteV1/Properties/AssemblyInfo.cs2
-rw-r--r--mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs3
10 files changed, 69 insertions, 21 deletions
diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT
index 8fa19fbe..558cb946 100644
--- a/CHANGELOG.TXT
+++ b/CHANGELOG.TXT
@@ -1,3 +1,16 @@
+1.75 hotfix 1 (2017-03-06):
+
+General Changes:
+----------------
+#437: Modify version numbering scheme
+
+Fixes:
+------
+#422: Uncaught exception when clicking in connection tree whitespace
+#312: Resolved KeePass auto-type issue
+#427: Export does not respect filtering user/password/domain
+
+
1.75 (2017-03-01):
Known Issue:
diff --git a/mRemoteNGTests/Config/Serializers/XmlConnectionNodeSerializerTests.cs b/mRemoteNGTests/Config/Serializers/XmlConnectionNodeSerializerTests.cs
index 9136450e..dc63d79e 100644
--- a/mRemoteNGTests/Config/Serializers/XmlConnectionNodeSerializerTests.cs
+++ b/mRemoteNGTests/Config/Serializers/XmlConnectionNodeSerializerTests.cs
@@ -12,13 +12,14 @@ namespace mRemoteNGTests.Config.Serializers
public class XmlConnectionNodeSerializerTests
{
private XmlConnectionNodeSerializer _connectionNodeSerializer;
+ private ICryptographyProvider _cryptographyProvider;
[SetUp]
public void Setup()
{
- var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(
+ _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(
BlockCipherEngines.AES, BlockCipherModes.GCM);
- _connectionNodeSerializer = new XmlConnectionNodeSerializer(cryptoProvider, "myPassword1".ConvertToSecureString());
+ _connectionNodeSerializer = new XmlConnectionNodeSerializer(_cryptographyProvider, "myPassword1".ConvertToSecureString(), new SaveFilter());
}
[Test]
@@ -48,8 +49,7 @@ namespace mRemoteNGTests.Config.Serializers
public void AttributesNotSerializedWhenFiltered(string attributeName, ConnectionInfo connectionInfo)
{
var saveFilter = new SaveFilter(true);
- var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM);
- _connectionNodeSerializer = new XmlConnectionNodeSerializer(cryptoProvider, "myPassword1".ConvertToSecureString(), saveFilter);
+ _connectionNodeSerializer = new XmlConnectionNodeSerializer(_cryptographyProvider, "myPassword1".ConvertToSecureString(), saveFilter);
var returnVal = _connectionNodeSerializer.SerializeConnectionInfo(connectionInfo);
var targetAttribute = returnVal.Attribute(XName.Get(attributeName));
Assert.That(targetAttribute?.Value, Is.EqualTo(string.Empty));
@@ -59,8 +59,7 @@ namespace mRemoteNGTests.Config.Serializers
public void InheritanceNotSerialiedWhenFiltered(string attributeName, ConnectionInfo connectionInfo)
{
var saveFilter = new SaveFilter(true);
- var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM);
- _connectionNodeSerializer = new XmlConnectionNodeSerializer(cryptoProvider, "myPassword1".ConvertToSecureString(), saveFilter);
+ _connectionNodeSerializer = new XmlConnectionNodeSerializer(_cryptographyProvider, "myPassword1".ConvertToSecureString(), saveFilter);
var returnVal = _connectionNodeSerializer.SerializeConnectionInfo(connectionInfo);
var targetAttribute = returnVal.Attribute(XName.Get(attributeName));
Assert.That(targetAttribute?.Value, Is.EqualTo(false.ToString()));
diff --git a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs
index e7ba07be..69292cc2 100644
--- a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs
+++ b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentCompilerTests.cs
@@ -28,7 +28,8 @@ namespace mRemoteNGTests.Config.Serializers
public void Setup()
{
_cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM);
- _documentCompiler = new XmlConnectionsDocumentCompiler(_cryptographyProvider);
+ var saveFilter = new SaveFilter();
+ _documentCompiler = new XmlConnectionsDocumentCompiler(_cryptographyProvider, saveFilter);
_connectionTreeModel = SetupConnectionTreeModel();
}
diff --git a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentEncryptorTests.cs b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentEncryptorTests.cs
index ec17d85d..2fbe9331 100644
--- a/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentEncryptorTests.cs
+++ b/mRemoteNGTests/Config/Serializers/XmlConnectionsDocumentEncryptorTests.cs
@@ -20,7 +20,8 @@ namespace mRemoteNGTests.Config.Serializers
{
var connectionTreeModel = SetupConnectionTreeModel();
var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM);
- _originalDocument = new XmlConnectionsDocumentCompiler(cryptoProvider).CompileDocument(connectionTreeModel, false, false);
+ var saveFilter = new SaveFilter();
+ _originalDocument = new XmlConnectionsDocumentCompiler(cryptoProvider, saveFilter).CompileDocument(connectionTreeModel, false, false);
_documentEncryptor = new XmlConnectionsDocumentEncryptor(cryptoProvider);
}
diff --git a/mRemoteNGTests/Config/Serializers/XmlConnectionsSerializerTests.cs b/mRemoteNGTests/Config/Serializers/XmlConnectionsSerializerTests.cs
index 078a1b9b..8604ef47 100644
--- a/mRemoteNGTests/Config/Serializers/XmlConnectionsSerializerTests.cs
+++ b/mRemoteNGTests/Config/Serializers/XmlConnectionsSerializerTests.cs
@@ -1,7 +1,9 @@
using System.Xml;
+using System.Xml.Linq;
using mRemoteNG.Config.Serializers;
using mRemoteNG.Connection;
using mRemoteNG.Container;
+using mRemoteNG.Security;
using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;
@@ -45,6 +47,27 @@ namespace mRemoteNGTests.Config.Serializers
Assert.That(connectionNode, Is.Not.Null);
}
+ [TestCase("Username", "")]
+ [TestCase("Domain", "")]
+ [TestCase("Password", "")]
+ [TestCase("InheritAutomaticResize", "False")]
+ public void SerializerRespectsSaveFilterSettings(string attributeName, string expectedValue)
+ {
+ _serializer.SaveFilter = new SaveFilter(true);
+ var connectionInfo = new ConnectionInfo
+ {
+ Name = "myConnection",
+ Username = "somefilteredstuff",
+ Domain = "somefilteredstuff",
+ Password = "somefilteredstuff",
+ Inheritance = {AutomaticResize = true}
+ };
+ var serializedConnections = _serializer.Serialize(connectionInfo);
+ var xdoc = XDocument.Parse(serializedConnections);
+ var attributeValue = xdoc.Root?.Element("Node")?.Attribute(attributeName)?.Value;
+ Assert.That(attributeValue, Is.EqualTo(expectedValue));
+ }
+
private ConnectionTreeModel SetupConnectionTreeModel()
{
/*
diff --git a/mRemoteV1/Config/Serializers/XmlConnectionNodeSerializer.cs b/mRemoteV1/Config/Serializers/XmlConnectionNodeSerializer.cs
index 0ec493f2..01b6345b 100644
--- a/mRemoteV1/Config/Serializers/XmlConnectionNodeSerializer.cs
+++ b/mRemoteV1/Config/Serializers/XmlConnectionNodeSerializer.cs
@@ -1,4 +1,5 @@
-using System.Security;
+using System;
+using System.Security;
using System.Xml.Linq;
using mRemoteNG.Connection;
using mRemoteNG.Container;
@@ -13,14 +14,15 @@ namespace mRemoteNG.Config.Serializers
private readonly SecureString _encryptionKey;
private readonly SaveFilter _saveFilter = new SaveFilter();
- public XmlConnectionNodeSerializer(ICryptographyProvider cryptographyProvider, SecureString encryptionKey)
- {
- _cryptographyProvider = cryptographyProvider;
- _encryptionKey = encryptionKey;
- }
-
public XmlConnectionNodeSerializer(ICryptographyProvider cryptographyProvider, SecureString encryptionKey, SaveFilter saveFilter)
{
+ if (cryptographyProvider == null)
+ throw new ArgumentNullException(nameof(cryptographyProvider));
+ if (encryptionKey == null)
+ throw new ArgumentNullException(nameof(encryptionKey));
+ if (saveFilter == null)
+ throw new ArgumentNullException(nameof(saveFilter));
+
_cryptographyProvider = cryptographyProvider;
_encryptionKey = encryptionKey;
_saveFilter = saveFilter;
diff --git a/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs b/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs
index 15e14e19..224348e0 100644
--- a/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs
+++ b/mRemoteV1/Config/Serializers/XmlConnectionsDocumentCompiler.cs
@@ -1,4 +1,5 @@
-using System.Linq;
+using System;
+using System.Linq;
using System.Security;
using System.Xml.Linq;
using mRemoteNG.Connection;
@@ -14,10 +15,17 @@ namespace mRemoteNG.Config.Serializers
{
private readonly ICryptographyProvider _cryptographyProvider;
private SecureString _encryptionKey;
+ private readonly SaveFilter _saveFilter;
- public XmlConnectionsDocumentCompiler(ICryptographyProvider cryptographyProvider)
+ public XmlConnectionsDocumentCompiler(ICryptographyProvider cryptographyProvider, SaveFilter saveFilter)
{
+ if (cryptographyProvider == null)
+ throw new ArgumentNullException(nameof(cryptographyProvider));
+ if (saveFilter == null)
+ throw new ArgumentNullException(nameof(saveFilter));
+
_cryptographyProvider = cryptographyProvider;
+ _saveFilter = saveFilter;
}
public XDocument CompileDocument(ConnectionTreeModel connectionTreeModel, bool fullFileEncryption, bool export)
@@ -77,7 +85,7 @@ namespace mRemoteNG.Config.Serializers
private XElement CompileConnectionInfoNode(ConnectionInfo connectionInfo)
{
- var connectionSerializer = new XmlConnectionNodeSerializer(_cryptographyProvider, _encryptionKey);
+ var connectionSerializer = new XmlConnectionNodeSerializer(_cryptographyProvider, _encryptionKey, _saveFilter);
return connectionSerializer.SerializeConnectionInfo(connectionInfo);
}
}
diff --git a/mRemoteV1/Config/Serializers/XmlConnectionsSerializer.cs b/mRemoteV1/Config/Serializers/XmlConnectionsSerializer.cs
index 72a6682f..183d82c1 100644
--- a/mRemoteV1/Config/Serializers/XmlConnectionsSerializer.cs
+++ b/mRemoteV1/Config/Serializers/XmlConnectionsSerializer.cs
@@ -41,7 +41,7 @@ namespace mRemoteNG.Config.Serializers
var xml = "";
try
{
- var documentCompiler = new XmlConnectionsDocumentCompiler(_cryptographyProvider);
+ var documentCompiler = new XmlConnectionsDocumentCompiler(_cryptographyProvider, SaveFilter);
var xmlDocument = documentCompiler.CompileDocument(serializationTarget, UseFullEncryption, Export);
xml = WriteXmlToString(xmlDocument);
}
diff --git a/mRemoteV1/Properties/AssemblyInfo.cs b/mRemoteV1/Properties/AssemblyInfo.cs
index 16ac8871..78163846 100644
--- a/mRemoteV1/Properties/AssemblyInfo.cs
+++ b/mRemoteV1/Properties/AssemblyInfo.cs
@@ -33,7 +33,7 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below:
// <Assembly: AssemblyVersion("1.0.*")>
-[assembly: AssemblyVersion("1.75.*")]
+[assembly: AssemblyVersion("1.75.7000.*")]
[assembly:NeutralResourcesLanguageAttribute("en")]
diff --git a/mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs b/mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs
index ea076939..cb640ba0 100644
--- a/mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs
+++ b/mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs
@@ -48,6 +48,7 @@ namespace mRemoteNG.UI.Controls
{
InitializeComponent();
SetupConnectionTreeView();
+ UseOverlays = false;
}
#region ConnectionTree Setup
@@ -264,7 +265,7 @@ namespace mRemoteNG.UI.Controls
if (mouseEventArgs.Clicks > 1) return;
OLVColumn column;
var listItem = GetItemAt(mouseEventArgs.X, mouseEventArgs.Y, out column);
- var clickedNode = listItem.RowObject as ConnectionInfo;
+ var clickedNode = listItem?.RowObject as ConnectionInfo;
if (clickedNode == null) return;
SingleClickHandler.Execute(clickedNode);
}