diff --git a/CHANGELOG.md b/CHANGELOG.md index 0161a7da..3b302cc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - #1443: Chinese (simplified) translation improvements - #1437: Norwegian translation improvements - #1239: Increased default key derivation function (KDF) iterations from 1000 to 10000 +- Moved most RDP enums outside of the RDP protocol class. Scripts which reference these enums will need to be updated. ### Fixed - #1447: Exception occurs when resetting layout - #1439: Searching in hosts tree loses first keystroke diff --git a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormatTests.cs b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormatTests.cs index 7eebe29b..4c893b5c 100644 --- a/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormatTests.cs +++ b/mRemoteNGTests/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormatTests.cs @@ -98,9 +98,9 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv UseCredSsp = true, RenderingEngine = HTTPBase.RenderingEngine.Gecko, ICAEncryptionStrength = IcaProtocol.EncryptionStrength.Encr40Bit, - RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth, - Colors = RdpProtocol.RDPColors.Colors16Bit, - Resolution = RdpProtocol.RDPResolutions.Res1366x768, + RDPAuthenticationLevel = AuthenticationLevel.WarnOnFailedAuth, + Colors = RDPColors.Colors16Bit, + Resolution = RDPResolutions.Res1366x768, AutomaticResize = true, DisplayWallpaper = true, DisplayThemes = true, @@ -111,7 +111,7 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv RedirectPorts = true, RedirectPrinters = true, RedirectSmartCards = true, - RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer, + RedirectSound = RDPSounds.LeaveAtRemoteComputer, RedirectAudioCapture = true, RedirectKeys = true, VNCCompression = ProtocolVNC.Compression.Comp4, @@ -122,8 +122,8 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv VNCColors = ProtocolVNC.Colors.Col8Bit, VNCSmartSizeMode = ProtocolVNC.SmartSizeMode.SmartSAspect, VNCViewOnly = true, - RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Detect, - RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard + RDGatewayUsageMethod = RDGatewayUsageMethod.Detect, + RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard }; } diff --git a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializerTests.cs b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializerTests.cs index a9900317..df67f374 100644 --- a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializerTests.cs +++ b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializerTests.cs @@ -19,9 +19,9 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers private const string ExpectedGatewayHostname = "gatewayhostname.domain.com"; private const string ExpectedLoadBalanceInfo = "tsv://MS Terminal Services Plugin.1.RDS-NAME"; private const int ExpectedPort = 9933; - private const RdpProtocol.RDPColors ExpectedColors = RdpProtocol.RDPColors.Colors24Bit; + private const RDPColors ExpectedColors = RDPColors.Colors24Bit; private const bool ExpectedBitmapCaching = false; - private const RdpProtocol.RDPResolutions ExpectedResolutionMode = RdpProtocol.RDPResolutions.FitToWindow; + private const RDPResolutions ExpectedResolutionMode = RDPResolutions.FitToWindow; private const bool ExpectedWallpaperDisplay = true; private const bool ExpectedThemesDisplay = true; private const bool ExpectedFontSmoothing = true; @@ -30,7 +30,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers private const bool ExpectedDriveRedirection = true; private const bool ExpectedPortRedirection = true; private const bool ExpectedPrinterRedirection = true; - private const RdpProtocol.RDPSounds ExpectedSoundRedirection = RdpProtocol.RDPSounds.BringToThisComputer; + private const RDPSounds ExpectedSoundRedirection = RDPSounds.BringToThisComputer; [OneTimeSetUp] diff --git a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManager27DeserializerTests.cs b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManager27DeserializerTests.cs index 56341e89..db895856 100644 --- a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManager27DeserializerTests.cs +++ b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManager27DeserializerTests.cs @@ -24,20 +24,20 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers private const string ExpectedPassword = "passwordHere!"; private const bool ExpectedUseConsoleSession = true; private const int ExpectedPort = 9933; - private const RdpProtocol.RDGatewayUsageMethod ExpectedGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always; + private const RDGatewayUsageMethod ExpectedGatewayUsageMethod = RDGatewayUsageMethod.Always; private const string ExpectedGatewayHostname = "gatewayserverhost.innerdomain.net"; private const string ExpectedGatewayUsername = "gatewayusername"; private const string ExpectedGatewayDomain = "innerdomain"; private const string ExpectedGatewayPassword = "gatewayPassword123"; - private const RdpProtocol.RDPResolutions ExpectedRdpResolution = RdpProtocol.RDPResolutions.FitToWindow; - private const RdpProtocol.RDPColors ExpectedRdpColorDepth = RdpProtocol.RDPColors.Colors24Bit; - private const RdpProtocol.RDPSounds ExpectedAudioRedirection = RdpProtocol.RDPSounds.DoNotPlay; + private const RDPResolutions ExpectedRdpResolution = RDPResolutions.FitToWindow; + private const RDPColors ExpectedRdpColorDepth = RDPColors.Colors24Bit; + private const RDPSounds ExpectedAudioRedirection = RDPSounds.DoNotPlay; private const bool ExpectedKeyRedirection = true; private const bool ExpectedSmartcardRedirection = true; private const bool ExpectedDriveRedirection = true; private const bool ExpectedPortRedirection = true; private const bool ExpectedPrinterRedirection = true; - private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth; + private const AuthenticationLevel ExpectedAuthLevel = AuthenticationLevel.WarnOnFailedAuth; [OneTimeSetUp] diff --git a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializerTests.cs b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializerTests.cs index 4a95d2fb..d49755f7 100644 --- a/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializerTests.cs +++ b/mRemoteNGTests/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializerTests.cs @@ -23,20 +23,20 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers private const string ExpectedPassword = "passwordHere!"; private const bool ExpectedUseConsoleSession = true; private const int ExpectedPort = 9933; - private const RdpProtocol.RDGatewayUsageMethod ExpectedGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always; + private const RDGatewayUsageMethod ExpectedGatewayUsageMethod = RDGatewayUsageMethod.Always; private const string ExpectedGatewayHostname = "gatewayserverhost.innerdomain.net"; private const string ExpectedGatewayUsername = "gatewayusername"; private const string ExpectedGatewayDomain = "innerdomain"; private const string ExpectedGatewayPassword = "gatewayPassword123"; - private const RdpProtocol.RDPResolutions ExpectedRdpResolution = RdpProtocol.RDPResolutions.FitToWindow; - private const RdpProtocol.RDPColors ExpectedRdpColorDepth = RdpProtocol.RDPColors.Colors24Bit; - private const RdpProtocol.RDPSounds ExpectedAudioRedirection = RdpProtocol.RDPSounds.DoNotPlay; + private const RDPResolutions ExpectedRdpResolution = RDPResolutions.FitToWindow; + private const RDPColors ExpectedRdpColorDepth = RDPColors.Colors24Bit; + private const RDPSounds ExpectedAudioRedirection = RDPSounds.DoNotPlay; private const bool ExpectedKeyRedirection = true; private const bool ExpectedSmartcardRedirection = true; private const bool ExpectedDriveRedirection = true; private const bool ExpectedPortRedirection = true; private const bool ExpectedPrinterRedirection = true; - private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.AuthRequired; + private const AuthenticationLevel ExpectedAuthLevel = AuthenticationLevel.AuthRequired; [OneTimeSetUp] diff --git a/mRemoteNGTests/Connection/AbstractConnectionInfoDataTests.cs b/mRemoteNGTests/Connection/AbstractConnectionInfoDataTests.cs index 18429003..882cade9 100644 --- a/mRemoteNGTests/Connection/AbstractConnectionInfoDataTests.cs +++ b/mRemoteNGTests/Connection/AbstractConnectionInfoDataTests.cs @@ -165,7 +165,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.AuthRequired; + _testAbstractConnectionInfoData.RDPAuthenticationLevel = AuthenticationLevel.AuthRequired; Assert.That(wasCalled, Is.True); } @@ -201,7 +201,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always; + _testAbstractConnectionInfoData.RDGatewayUsageMethod = RDGatewayUsageMethod.Always; Assert.That(wasCalled, Is.True); } @@ -219,7 +219,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard; + _testAbstractConnectionInfoData.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard; Assert.That(wasCalled, Is.True); } @@ -255,7 +255,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.Resolution = RdpProtocol.RDPResolutions.Res1366x768; + _testAbstractConnectionInfoData.Resolution = RDPResolutions.Res1366x768; Assert.That(wasCalled, Is.True); } @@ -273,7 +273,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.Colors = RdpProtocol.RDPColors.Colors16Bit; + _testAbstractConnectionInfoData.Colors = RDPColors.Colors16Bit; Assert.That(wasCalled, Is.True); } @@ -372,7 +372,7 @@ namespace mRemoteNGTests.Connection { var wasCalled = false; _testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true; - _testAbstractConnectionInfoData.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay; + _testAbstractConnectionInfoData.RedirectSound = RDPSounds.DoNotPlay; Assert.That(wasCalled, Is.True); } diff --git a/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowGeneralTests.cs b/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowGeneralTests.cs index 4e47ad58..e78190fc 100644 --- a/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowGeneralTests.cs +++ b/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowGeneralTests.cs @@ -222,10 +222,10 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests : new ConnectionInfo(); node.Protocol = protocol; - node.Resolution = RdpProtocol.RDPResolutions.Res800x600; - node.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Never; - node.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.Yes; - node.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay; + node.Resolution = RDPResolutions.Res800x600; + node.RDGatewayUsageMethod = RDGatewayUsageMethod.Never; + node.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes; + node.RedirectSound = RDPSounds.DoNotPlay; node.VNCAuthMode = ProtocolVNC.AuthMode.AuthVNC; node.VNCProxyType = ProtocolVNC.ProxyType.ProxyNone; node.Inheritance.TurnOffInheritanceCompletely(); diff --git a/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowRdpSpecialTests.cs b/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowRdpSpecialTests.cs index 0804652e..448a28e3 100644 --- a/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowRdpSpecialTests.cs +++ b/mRemoteNGTests/UI/Window/ConfigWindowTests/ConfigWindowRdpSpecialTests.cs @@ -18,12 +18,12 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests RunVerification(); } - [TestCase(RdpProtocol.RDGatewayUsageMethod.Always)] - [TestCase(RdpProtocol.RDGatewayUsageMethod.Detect)] - public void RdGatewayPropertiesShown_WhenRdGatewayUsageMethodIsNotNever(RdpProtocol.RDGatewayUsageMethod gatewayUsageMethod) + [TestCase(RDGatewayUsageMethod.Always)] + [TestCase(RDGatewayUsageMethod.Detect)] + public void RdGatewayPropertiesShown_WhenRdGatewayUsageMethodIsNotNever(RDGatewayUsageMethod gatewayUsageMethod) { ConnectionInfo.RDGatewayUsageMethod = gatewayUsageMethod; - ConnectionInfo.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.Yes; + ConnectionInfo.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes; ExpectedPropertyList.AddRange(new [] { nameof(mRemoteNG.Connection.ConnectionInfo.RDGatewayHostname), @@ -33,11 +33,11 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests RunVerification(); } - [TestCase(RdpProtocol.RDGatewayUseConnectionCredentials.No)] - [TestCase(RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard)] - public void RdGatewayPropertiesShown_WhenRDGatewayUseConnectionCredentialsIsNotYes(RdpProtocol.RDGatewayUseConnectionCredentials useConnectionCredentials) + [TestCase(RDGatewayUseConnectionCredentials.No)] + [TestCase(RDGatewayUseConnectionCredentials.SmartCard)] + public void RdGatewayPropertiesShown_WhenRDGatewayUseConnectionCredentialsIsNotYes(RDGatewayUseConnectionCredentials useConnectionCredentials) { - ConnectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always; + ConnectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Always; ConnectionInfo.RDGatewayUseConnectionCredentials = useConnectionCredentials; ExpectedPropertyList.AddRange(new [] { @@ -54,15 +54,15 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests [Test] public void SoundQualityPropertyShown_WhenRdpSoundsSetToBringToThisComputer() { - ConnectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer; + ConnectionInfo.RedirectSound = RDPSounds.BringToThisComputer; ExpectedPropertyList.Add(nameof(mRemoteNG.Connection.ConnectionInfo.SoundQuality)); RunVerification(); } - [TestCase(RdpProtocol.RDPResolutions.FitToWindow)] - [TestCase(RdpProtocol.RDPResolutions.Fullscreen)] - public void AutomaticResizePropertyShown_WhenResolutionIsDynamic(RdpProtocol.RDPResolutions resolution) + [TestCase(RDPResolutions.FitToWindow)] + [TestCase(RDPResolutions.Fullscreen)] + public void AutomaticResizePropertyShown_WhenResolutionIsDynamic(RDPResolutions resolution) { ConnectionInfo.Resolution = resolution; ExpectedPropertyList.Add(nameof(mRemoteNG.Connection.ConnectionInfo.AutomaticResize)); diff --git a/mRemoteV1/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs b/mRemoteV1/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs index 5646f729..80a1ca6d 100644 --- a/mRemoteV1/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs +++ b/mRemoteV1/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs @@ -174,21 +174,21 @@ namespace mRemoteNG.Config.Serializers.Csv if (headers.Contains("RDPAuthenticationLevel")) { - RdpProtocol.AuthenticationLevel value; + AuthenticationLevel value; if (Enum.TryParse(connectionCsv[headers.IndexOf("RDPAuthenticationLevel")], out value)) connectionRecord.RDPAuthenticationLevel = value; } if (headers.Contains("Colors")) { - RdpProtocol.RDPColors value; + RDPColors value; if (Enum.TryParse(connectionCsv[headers.IndexOf("Colors")], out value)) connectionRecord.Colors = value; } if (headers.Contains("Resolution")) { - RdpProtocol.RDPResolutions value; + RDPResolutions value; if (Enum.TryParse(connectionCsv[headers.IndexOf("Resolution")], out value)) connectionRecord.Resolution = value; } @@ -272,7 +272,7 @@ namespace mRemoteNG.Config.Serializers.Csv if (headers.Contains("RedirectSound")) { - RdpProtocol.RDPSounds value; + RDPSounds value; if (Enum.TryParse(connectionCsv[headers.IndexOf("RedirectSound")], out value)) connectionRecord.RedirectSound = value; } @@ -349,14 +349,14 @@ namespace mRemoteNG.Config.Serializers.Csv if (headers.Contains("RDGatewayUsageMethod")) { - RdpProtocol.RDGatewayUsageMethod value; + RDGatewayUsageMethod value; if (Enum.TryParse(connectionCsv[headers.IndexOf("RDGatewayUsageMethod")], out value)) connectionRecord.RDGatewayUsageMethod = value; } if (headers.Contains("RDGatewayUseConnectionCredentials")) { - RdpProtocol.RDGatewayUseConnectionCredentials value; + RDGatewayUseConnectionCredentials value; if (Enum.TryParse(connectionCsv[headers.IndexOf("RDGatewayUseConnectionCredentials")], out value)) connectionRecord.RDGatewayUseConnectionCredentials = value; } diff --git a/mRemoteV1/Config/Serializers/ConnectionSerializers/MsSql/DataTableDeserializer.cs b/mRemoteV1/Config/Serializers/ConnectionSerializers/MsSql/DataTableDeserializer.cs index 4d657a1d..42d5e0a4 100644 --- a/mRemoteV1/Config/Serializers/ConnectionSerializers/MsSql/DataTableDeserializer.cs +++ b/mRemoteV1/Config/Serializers/ConnectionSerializers/MsSql/DataTableDeserializer.cs @@ -100,15 +100,15 @@ namespace mRemoteNG.Config.Serializers.MsSql (IcaProtocol.EncryptionStrength)Enum.Parse(typeof(IcaProtocol.EncryptionStrength), (string)dataRow["ICAEncryptionStrength"]); connectionInfo.RDPAuthenticationLevel = - (RdpProtocol.AuthenticationLevel)Enum.Parse(typeof(RdpProtocol.AuthenticationLevel), + (AuthenticationLevel)Enum.Parse(typeof(AuthenticationLevel), (string)dataRow["RDPAuthenticationLevel"]); connectionInfo.RDPMinutesToIdleTimeout = (int)dataRow["RDPMinutesToIdleTimeout"]; connectionInfo.RDPAlertIdleTimeout = (bool)dataRow["RDPAlertIdleTimeout"]; connectionInfo.LoadBalanceInfo = (string)dataRow["LoadBalanceInfo"]; connectionInfo.Colors = - (RdpProtocol.RDPColors)Enum.Parse(typeof(RdpProtocol.RDPColors), (string)dataRow["Colors"]); + (RDPColors)Enum.Parse(typeof(RDPColors), (string)dataRow["Colors"]); connectionInfo.Resolution = - (RdpProtocol.RDPResolutions)Enum.Parse(typeof(RdpProtocol.RDPResolutions), + (RDPResolutions)Enum.Parse(typeof(RDPResolutions), (string)dataRow["Resolution"]); connectionInfo.AutomaticResize = (bool)dataRow["AutomaticResize"]; connectionInfo.DisplayWallpaper = (bool)dataRow["DisplayWallpaper"]; @@ -122,8 +122,8 @@ namespace mRemoteNG.Config.Serializers.MsSql connectionInfo.RedirectClipboard = (bool)dataRow["RedirectClipboard"]; connectionInfo.RedirectSmartCards = (bool)dataRow["RedirectSmartCards"]; connectionInfo.RedirectSound = - (RdpProtocol.RDPSounds)Enum.Parse(typeof(RdpProtocol.RDPSounds), (string)dataRow["RedirectSound"]); - connectionInfo.SoundQuality = (RdpProtocol.RDPSoundQuality)Enum.Parse(typeof(RdpProtocol.RDPSoundQuality), + (RDPSounds)Enum.Parse(typeof(RDPSounds), (string)dataRow["RedirectSound"]); + connectionInfo.SoundQuality = (RDPSoundQuality)Enum.Parse(typeof(RDPSoundQuality), (string)dataRow["SoundQuality"]); connectionInfo.RedirectAudioCapture = (bool)dataRow["RedirectAudioCapture"]; @@ -152,15 +152,12 @@ namespace mRemoteNG.Config.Serializers.MsSql ["VNCSmartSizeMode"]); connectionInfo.VNCViewOnly = (bool)dataRow["VNCViewOnly"]; connectionInfo.RDGatewayUsageMethod = - (RdpProtocol.RDGatewayUsageMethod)Enum.Parse(typeof(RdpProtocol.RDGatewayUsageMethod), + (RDGatewayUsageMethod)Enum.Parse(typeof(RDGatewayUsageMethod), (string)dataRow["RDGatewayUsageMethod"]); connectionInfo.RDGatewayHostname = (string)dataRow["RDGatewayHostname"]; connectionInfo.RDGatewayUseConnectionCredentials = - (RdpProtocol.RDGatewayUseConnectionCredentials)Enum.Parse( - typeof(RdpProtocol. - RDGatewayUseConnectionCredentials), - (string)dataRow - ["RDGatewayUseConnectionCredentials"]); + (RDGatewayUseConnectionCredentials)Enum.Parse(typeof(RDGatewayUseConnectionCredentials), + (string)dataRow["RDGatewayUseConnectionCredentials"]); connectionInfo.RDGatewayUsername = (string)dataRow["RDGatewayUsername"]; connectionInfo.RDGatewayPassword = DecryptValue((string)dataRow["RDGatewayPassword"]); connectionInfo.RDGatewayDomain = (string)dataRow["RDGatewayDomain"]; diff --git a/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs b/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs index 60212516..5851c035 100644 --- a/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs +++ b/mRemoteV1/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionsDeserializer.cs @@ -226,8 +226,8 @@ namespace mRemoteNG.Config.Serializers.Xml if (_confVersion < 1.1) //1.0 - 0.1 { connectionInfo.Resolution = xmlnode.GetAttributeAsBool("Fullscreen") - ? RdpProtocol.RDPResolutions.Fullscreen - : RdpProtocol.RDPResolutions.FitToWindow; + ? RDPResolutions.Fullscreen + : RDPResolutions.FitToWindow; } if (!Runtime.UseCredentialManager || _confVersion <= 2.6) // 0.2 - 2.6 @@ -318,9 +318,9 @@ namespace mRemoteNG.Config.Serializers.Xml if (_confVersion >= 1.3) { - connectionInfo.Colors = xmlnode.GetAttributeAsEnum("Colors"); - connectionInfo.Resolution = xmlnode.GetAttributeAsEnum("Resolution"); - connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum("RedirectSound"); + connectionInfo.Colors = xmlnode.GetAttributeAsEnum("Colors"); + connectionInfo.Resolution = xmlnode.GetAttributeAsEnum("Resolution"); + connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum("RedirectSound"); connectionInfo.RedirectAudioCapture = xmlnode.GetAttributeAsBool("RedirectAudioCapture"); } else @@ -328,25 +328,25 @@ namespace mRemoteNG.Config.Serializers.Xml switch (xmlnode.GetAttributeAsInt("Colors")) { case 0: - connectionInfo.Colors = RdpProtocol.RDPColors.Colors256; + connectionInfo.Colors = RDPColors.Colors256; break; case 1: - connectionInfo.Colors = RdpProtocol.RDPColors.Colors16Bit; + connectionInfo.Colors = RDPColors.Colors16Bit; break; case 2: - connectionInfo.Colors = RdpProtocol.RDPColors.Colors24Bit; + connectionInfo.Colors = RDPColors.Colors24Bit; break; case 3: - connectionInfo.Colors = RdpProtocol.RDPColors.Colors32Bit; + connectionInfo.Colors = RDPColors.Colors32Bit; break; // ReSharper disable once RedundantCaseLabel case 4: default: - connectionInfo.Colors = RdpProtocol.RDPColors.Colors15Bit; + connectionInfo.Colors = RDPColors.Colors15Bit; break; } - connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum("RedirectSound"); + connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum("RedirectSound"); connectionInfo.RedirectAudioCapture = xmlnode.GetAttributeAsBool("RedirectAudioCapture"); } @@ -442,7 +442,7 @@ namespace mRemoteNG.Config.Serializers.Xml if (_confVersion >= 1.8) { connectionInfo.RDPAuthenticationLevel = - xmlnode.GetAttributeAsEnum("RDPAuthenticationLevel"); + xmlnode.GetAttributeAsEnum("RDPAuthenticationLevel"); connectionInfo.Inheritance.RDPAuthenticationLevel = xmlnode.GetAttributeAsBool("InheritRDPAuthenticationLevel"); } @@ -472,10 +472,10 @@ namespace mRemoteNG.Config.Serializers.Xml { // Get settings connectionInfo.RDGatewayUsageMethod = - xmlnode.GetAttributeAsEnum("RDGatewayUsageMethod"); + xmlnode.GetAttributeAsEnum("RDGatewayUsageMethod"); connectionInfo.RDGatewayHostname = xmlnode.GetAttributeAsString("RDGatewayHostname"); connectionInfo.RDGatewayUseConnectionCredentials = - xmlnode.GetAttributeAsEnum( + xmlnode.GetAttributeAsEnum( "RDGatewayUseConnectionCredentials"); connectionInfo.RDGatewayUsername = xmlnode.GetAttributeAsString("RDGatewayUsername"); connectionInfo.RDGatewayPassword = @@ -526,7 +526,7 @@ namespace mRemoteNG.Config.Serializers.Xml if (_confVersion >= 2.6) { connectionInfo.SoundQuality = - xmlnode.GetAttributeAsEnum("SoundQuality"); + xmlnode.GetAttributeAsEnum("SoundQuality"); connectionInfo.Inheritance.SoundQuality = xmlnode.GetAttributeAsBool("InheritSoundQuality"); connectionInfo.RDPMinutesToIdleTimeout = xmlnode.GetAttributeAsInt("RDPMinutesToIdleTimeout"); connectionInfo.Inheritance.RDPMinutesToIdleTimeout = diff --git a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializer.cs b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializer.cs index 9980c626..442a80d0 100644 --- a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializer.cs +++ b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionDeserializer.cs @@ -60,19 +60,19 @@ namespace mRemoteNG.Config.Serializers switch (value) { case "8": - connectionInfo.Colors = RdpProtocol.RDPColors.Colors256; + connectionInfo.Colors = RDPColors.Colors256; break; case "15": - connectionInfo.Colors = RdpProtocol.RDPColors.Colors15Bit; + connectionInfo.Colors = RDPColors.Colors15Bit; break; case "16": - connectionInfo.Colors = RdpProtocol.RDPColors.Colors16Bit; + connectionInfo.Colors = RDPColors.Colors16Bit; break; case "24": - connectionInfo.Colors = RdpProtocol.RDPColors.Colors24Bit; + connectionInfo.Colors = RDPColors.Colors24Bit; break; case "32": - connectionInfo.Colors = RdpProtocol.RDPColors.Colors32Bit; + connectionInfo.Colors = RDPColors.Colors32Bit; break; } break; @@ -81,8 +81,8 @@ namespace mRemoteNG.Config.Serializers break; case "screen mode id": connectionInfo.Resolution = value == "2" - ? RdpProtocol.RDPResolutions.Fullscreen - : RdpProtocol.RDPResolutions.FitToWindow; + ? RDPResolutions.Fullscreen + : RDPResolutions.FitToWindow; break; case "connect to console": connectionInfo.UseConsoleSession = value == "1"; @@ -118,13 +118,13 @@ namespace mRemoteNG.Config.Serializers switch (value) { case "0": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer; + connectionInfo.RedirectSound = RDPSounds.BringToThisComputer; break; case "1": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer; + connectionInfo.RedirectSound = RDPSounds.LeaveAtRemoteComputer; break; case "2": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay; + connectionInfo.RedirectSound = RDPSounds.DoNotPlay; break; } break; @@ -138,13 +138,13 @@ namespace mRemoteNG.Config.Serializers switch (value) { case "0": - connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Never; + connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Never; break; case "1": - connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always; + connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Always; break; case "2": - connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Detect; + connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Detect; break; } break; diff --git a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs index 5c50e06f..505d106f 100644 --- a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs +++ b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs @@ -197,8 +197,8 @@ namespace mRemoteNG.Config.Serializers { connectionInfo.RDGatewayUsageMethod = gatewaySettingsNode.SelectSingleNode("./enabled")?.InnerText == "True" - ? RdpProtocol.RDGatewayUsageMethod.Always - : RdpProtocol.RDGatewayUsageMethod.Never; + ? RDGatewayUsageMethod.Always + : RDGatewayUsageMethod.Never; connectionInfo.RDGatewayHostname = gatewaySettingsNode.SelectSingleNode("./hostName")?.InnerText ?? string.Empty; connectionInfo.RDGatewayUsername = gatewaySettingsNode.SelectSingleNode("./userName")?.InnerText ?? string.Empty; @@ -225,21 +225,21 @@ namespace mRemoteNG.Config.Serializers if (remoteDesktopNode?.Attributes?["inherit"]?.Value == "None") { connectionInfo.Resolution = - Enum.TryParse(remoteDesktopNode.SelectSingleNode("./size")?.InnerText.Replace(" ", ""), true, out var rdpResolution) + Enum.TryParse(remoteDesktopNode.SelectSingleNode("./size")?.InnerText.Replace(" ", ""), true, out var rdpResolution) ? rdpResolution - : RdpProtocol.RDPResolutions.FitToWindow; + : RDPResolutions.FitToWindow; if (remoteDesktopNode.SelectSingleNode("./sameSizeAsClientArea")?.InnerText == "True") { - connectionInfo.Resolution = RdpProtocol.RDPResolutions.FitToWindow; + connectionInfo.Resolution = RDPResolutions.FitToWindow; } if (remoteDesktopNode.SelectSingleNode("./fullScreen")?.InnerText == "True") { - connectionInfo.Resolution = RdpProtocol.RDPResolutions.Fullscreen; + connectionInfo.Resolution = RDPResolutions.Fullscreen; } - if (Enum.TryParse(remoteDesktopNode.SelectSingleNode("./colorDepth")?.InnerText, true, out var rdpColors)) + if (Enum.TryParse(remoteDesktopNode.SelectSingleNode("./colorDepth")?.InnerText, true, out var rdpColors)) connectionInfo.Colors = rdpColors; } else @@ -256,15 +256,15 @@ namespace mRemoteNG.Config.Serializers { case "0": // Bring to this computer case "Client": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer; + connectionInfo.RedirectSound = RDPSounds.BringToThisComputer; break; case "1": // Leave at remote computer case "Remote": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer; + connectionInfo.RedirectSound = RDPSounds.LeaveAtRemoteComputer; break; case "2": // Do not play case "NoSound": - connectionInfo.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay; + connectionInfo.RedirectSound = RDPSounds.DoNotPlay; break; } @@ -323,15 +323,15 @@ namespace mRemoteNG.Config.Serializers { case "0": // No authentication case "None": - connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.NoAuth; + connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.NoAuth; break; case "1": // Do not connect if authentication fails case "Required": - connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.AuthRequired; + connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.AuthRequired; break; case "2": // Warn if authentication fails case "Warn": - connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth; + connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.WarnOnFailedAuth; break; } } diff --git a/mRemoteV1/Connection/AbstractConnectionRecord.cs b/mRemoteV1/Connection/AbstractConnectionRecord.cs index 4630e825..16b2a199 100644 --- a/mRemoteV1/Connection/AbstractConnectionRecord.cs +++ b/mRemoteV1/Connection/AbstractConnectionRecord.cs @@ -31,23 +31,23 @@ namespace mRemoteNG.Connection private string _puttySession; private IcaProtocol.EncryptionStrength _icaEncryption; private bool _useConsoleSession; - private RdpProtocol.AuthenticationLevel _rdpAuthenticationLevel; + private AuthenticationLevel _rdpAuthenticationLevel; private int _rdpMinutesToIdleTimeout; private bool _rdpAlertIdleTimeout; private string _loadBalanceInfo; private HTTPBase.RenderingEngine _renderingEngine; private bool _useCredSsp; - private RdpProtocol.RDGatewayUsageMethod _rdGatewayUsageMethod; + private RDGatewayUsageMethod _rdGatewayUsageMethod; private string _rdGatewayHostname; - private RdpProtocol.RDGatewayUseConnectionCredentials _rdGatewayUseConnectionCredentials; + private RDGatewayUseConnectionCredentials _rdGatewayUseConnectionCredentials; private string _rdGatewayUsername; private string _rdGatewayPassword; private string _rdGatewayDomain; - private RdpProtocol.RDPResolutions _resolution; + private RDPResolutions _resolution; private bool _automaticResize; - private RdpProtocol.RDPColors _colors; + private RDPColors _colors; private bool _cacheBitmaps; private bool _displayWallpaper; private bool _displayThemes; @@ -60,8 +60,8 @@ namespace mRemoteNG.Connection private bool _redirectClipboard; private bool _redirectPorts; private bool _redirectSmartCards; - private RdpProtocol.RDPSounds _redirectSound; - private RdpProtocol.RDPSoundQuality _soundQuality; + private RDPSounds _redirectSound; + private RDPSoundQuality _soundQuality; private bool _redirectAudioCapture; private string _preExtApp; @@ -244,7 +244,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionAuthenticationLevel"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP)] - public RdpProtocol.AuthenticationLevel RDPAuthenticationLevel + public AuthenticationLevel RDPAuthenticationLevel { get => GetPropertyValue("RDPAuthenticationLevel", _rdpAuthenticationLevel); set => SetField(ref _rdpAuthenticationLevel, value, "RDPAuthenticationLevel"); @@ -318,7 +318,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUsageMethod"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP)] - public RdpProtocol.RDGatewayUsageMethod RDGatewayUsageMethod + public RDGatewayUsageMethod RDGatewayUsageMethod { get => GetPropertyValue("RDGatewayUsageMethod", _rdGatewayUsageMethod); set => SetField(ref _rdGatewayUsageMethod, value, "RDGatewayUsageMethod"); @@ -339,7 +339,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUseConnectionCredentials"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP)] - public RdpProtocol.RDGatewayUseConnectionCredentials RDGatewayUseConnectionCredentials + public RDGatewayUseConnectionCredentials RDGatewayUseConnectionCredentials { get => GetPropertyValue("RDGatewayUseConnectionCredentials", _rdGatewayUseConnectionCredentials); set => SetField(ref _rdGatewayUseConnectionCredentials, value, "RDGatewayUseConnectionCredentials"); @@ -385,7 +385,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionResolution"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP, ProtocolType.ICA)] - public RdpProtocol.RDPResolutions Resolution + public RDPResolutions Resolution { get => GetPropertyValue("Resolution", _resolution); set => SetField(ref _resolution, value, "Resolution"); @@ -407,7 +407,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionColors"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP, ProtocolType.ICA)] - public RdpProtocol.RDPColors Colors + public RDPColors Colors { get => GetPropertyValue("Colors", _colors); set => SetField(ref _colors, value, "Colors"); @@ -544,7 +544,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectSounds"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP)] - public RdpProtocol.RDPSounds RedirectSound + public RDPSounds RedirectSound { get => GetPropertyValue("RedirectSound", _redirectSound); set => SetField(ref _redirectSound, value, "RedirectSound"); @@ -555,7 +555,7 @@ namespace mRemoteNG.Connection LocalizedAttributes.LocalizedDescription("strPropertyDescriptionSoundQuality"), TypeConverter(typeof(MiscTools.EnumTypeConverter)), UsedInProtocol(ProtocolType.RDP)] - public RdpProtocol.RDPSoundQuality SoundQuality + public RDPSoundQuality SoundQuality { get => GetPropertyValue("SoundQuality", _soundQuality); set => SetField(ref _soundQuality, value, "SoundQuality"); diff --git a/mRemoteV1/Connection/ConnectionInfo.cs b/mRemoteV1/Connection/ConnectionInfo.cs index aeca82a6..1c8337a8 100644 --- a/mRemoteV1/Connection/ConnectionInfo.cs +++ b/mRemoteV1/Connection/ConnectionInfo.cs @@ -297,17 +297,11 @@ namespace mRemoteNG.Connection ExtApp = Settings.Default.ConDefaultExtApp; Port = 0; PuttySession = Settings.Default.ConDefaultPuttySession; - ICAEncryptionStrength = (IcaProtocol.EncryptionStrength)Enum.Parse(typeof(IcaProtocol.EncryptionStrength), - Settings - .Default - .ConDefaultICAEncryptionStrength); + ICAEncryptionStrength = (IcaProtocol.EncryptionStrength)Enum.Parse( + typeof(IcaProtocol.EncryptionStrength), Settings.Default.ConDefaultICAEncryptionStrength); UseConsoleSession = Settings.Default.ConDefaultUseConsoleSession; - RDPAuthenticationLevel = (RdpProtocol.AuthenticationLevel)Enum.Parse( - typeof(RdpProtocol.AuthenticationLevel - ), - Settings - .Default - .ConDefaultRDPAuthenticationLevel); + RDPAuthenticationLevel = (AuthenticationLevel)Enum.Parse( + typeof(AuthenticationLevel), Settings.Default.ConDefaultRDPAuthenticationLevel); RDPMinutesToIdleTimeout = Settings.Default.ConDefaultRDPMinutesToIdleTimeout; RDPAlertIdleTimeout = Settings.Default.ConDefaultRDPAlertIdleTimeout; LoadBalanceInfo = Settings.Default.ConDefaultLoadBalanceInfo; @@ -318,21 +312,11 @@ namespace mRemoteNG.Connection private void SetRdGatewayDefaults() { - RDGatewayUsageMethod = (RdpProtocol.RDGatewayUsageMethod)Enum.Parse( - typeof(RdpProtocol.RDGatewayUsageMethod - ), - Settings - .Default - .ConDefaultRDGatewayUsageMethod); + RDGatewayUsageMethod = (RDGatewayUsageMethod)Enum.Parse( + typeof(RDGatewayUsageMethod), Settings.Default.ConDefaultRDGatewayUsageMethod); RDGatewayHostname = Settings.Default.ConDefaultRDGatewayHostname; - RDGatewayUseConnectionCredentials = (RdpProtocol.RDGatewayUseConnectionCredentials)Enum.Parse( - typeof( - RdpProtocol - .RDGatewayUseConnectionCredentials - ), - Settings - .Default - .ConDefaultRDGatewayUseConnectionCredentials); + RDGatewayUseConnectionCredentials = (RDGatewayUseConnectionCredentials)Enum.Parse( + typeof(RDGatewayUseConnectionCredentials), Settings.Default.ConDefaultRDGatewayUseConnectionCredentials); RDGatewayUsername = Settings.Default.ConDefaultRDGatewayUsername; RDGatewayPassword = Settings.Default.ConDefaultRDGatewayPassword; RDGatewayDomain = Settings.Default.ConDefaultRDGatewayDomain; @@ -340,11 +324,10 @@ namespace mRemoteNG.Connection private void SetAppearanceDefaults() { - Resolution = (RdpProtocol.RDPResolutions)Enum.Parse(typeof(RdpProtocol.RDPResolutions), - Settings.Default.ConDefaultResolution); + Resolution = (RDPResolutions)Enum.Parse( + typeof(RDPResolutions), Settings.Default.ConDefaultResolution); AutomaticResize = Settings.Default.ConDefaultAutomaticResize; - Colors = (RdpProtocol.RDPColors)Enum.Parse(typeof(RdpProtocol.RDPColors), - Settings.Default.ConDefaultColors); + Colors = (RDPColors)Enum.Parse(typeof(RDPColors), Settings.Default.ConDefaultColors); CacheBitmaps = Settings.Default.ConDefaultCacheBitmaps; DisplayWallpaper = Settings.Default.ConDefaultDisplayWallpaper; DisplayThemes = Settings.Default.ConDefaultDisplayThemes; @@ -360,9 +343,9 @@ namespace mRemoteNG.Connection RedirectClipboard = Settings.Default.ConDefaultRedirectClipboard; RedirectPorts = Settings.Default.ConDefaultRedirectPorts; RedirectSmartCards = Settings.Default.ConDefaultRedirectSmartCards; - RedirectSound = (RdpProtocol.RDPSounds)Enum.Parse(typeof(RdpProtocol.RDPSounds), + RedirectSound = (RDPSounds)Enum.Parse(typeof(RDPSounds), Settings.Default.ConDefaultRedirectSound); - SoundQuality = (RdpProtocol.RDPSoundQuality)Enum.Parse(typeof(RdpProtocol.RDPSoundQuality), + SoundQuality = (RDPSoundQuality)Enum.Parse(typeof(RDPSoundQuality), Settings.Default.ConDefaultSoundQuality); RedirectAudioCapture = Settings.Default.ConDefaultRedirectAudioCapture; } diff --git a/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs b/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs index 88cfcbaf..d64a94d4 100644 --- a/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs +++ b/mRemoteV1/Connection/Protocol/ICA/IcaProtocol.cs @@ -201,17 +201,17 @@ namespace mRemoteNG.Connection.Protocol.ICA return; } - if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.FitToWindow) + if (InterfaceControl.Info.Resolution == RDPResolutions.FitToWindow) { _icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, InterfaceControl.Size.Width, InterfaceControl.Size.Height, 0); } - else if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.SmartSize) + else if (InterfaceControl.Info.Resolution == RDPResolutions.SmartSize) { _icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, InterfaceControl.Size.Width, InterfaceControl.Size.Height, 0); } - else if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.Fullscreen) + else if (InterfaceControl.Info.Resolution == RDPResolutions.Fullscreen) { _icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, Screen.FromControl(_frmMain).Bounds.Width, @@ -238,13 +238,13 @@ namespace mRemoteNG.Connection.Protocol.ICA // ReSharper disable once SwitchStatementMissingSomeCases switch (_info.Colors) { - case RdpProtocol.RDPColors.Colors256: + case RDPColors.Colors256: _icaClient.SetProp("DesiredColor", "2"); break; - case RdpProtocol.RDPColors.Colors15Bit: + case RDPColors.Colors15Bit: _icaClient.SetProp("DesiredColor", "4"); break; - case RdpProtocol.RDPColors.Colors16Bit: + case RDPColors.Colors16Bit: _icaClient.SetProp("DesiredColor", "4"); break; default: diff --git a/mRemoteV1/Connection/Protocol/RDP/AuthenticationLevel.cs b/mRemoteV1/Connection/Protocol/RDP/AuthenticationLevel.cs new file mode 100644 index 00000000..270ff554 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/AuthenticationLevel.cs @@ -0,0 +1,16 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum AuthenticationLevel + { + [LocalizedAttributes.LocalizedDescription("strAlwaysConnectEvenIfAuthFails")] + NoAuth = 0, + + [LocalizedAttributes.LocalizedDescription("strDontConnectWhenAuthFails")] + AuthRequired = 1, + + [LocalizedAttributes.LocalizedDescription("strWarnIfAuthFails")] + WarnOnFailedAuth = 2 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDGatewayUsageMethod.cs b/mRemoteV1/Connection/Protocol/RDP/RDGatewayUsageMethod.cs new file mode 100644 index 00000000..672f1b56 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDGatewayUsageMethod.cs @@ -0,0 +1,16 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDGatewayUsageMethod + { + [LocalizedAttributes.LocalizedDescription("strNever")] + Never = 0, // TSC_PROXY_MODE_NONE_DIRECT + + [LocalizedAttributes.LocalizedDescription("strAlways")] + Always = 1, // TSC_PROXY_MODE_DIRECT + + [LocalizedAttributes.LocalizedDescription("strDetect")] + Detect = 2 // TSC_PROXY_MODE_DETECT + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDGatewayUseConnectionCredentials.cs b/mRemoteV1/Connection/Protocol/RDP/RDGatewayUseConnectionCredentials.cs new file mode 100644 index 00000000..edc9bf08 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDGatewayUseConnectionCredentials.cs @@ -0,0 +1,16 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDGatewayUseConnectionCredentials + { + [LocalizedAttributes.LocalizedDescription("strUseDifferentUsernameAndPassword")] + No = 0, + + [LocalizedAttributes.LocalizedDescription("strUseSameUsernameAndPassword")] + Yes = 1, + + [LocalizedAttributes.LocalizedDescription("strUseSmartCard")] + SmartCard = 2 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDPColors.cs b/mRemoteV1/Connection/Protocol/RDP/RDPColors.cs new file mode 100644 index 00000000..0d279128 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDPColors.cs @@ -0,0 +1,22 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDPColors + { + [LocalizedAttributes.LocalizedDescription("strRDP256Colors")] + Colors256 = 8, + + [LocalizedAttributes.LocalizedDescription("strRDP32768Colors")] + Colors15Bit = 15, + + [LocalizedAttributes.LocalizedDescription("strRDP65536Colors")] + Colors16Bit = 16, + + [LocalizedAttributes.LocalizedDescription("strRDP16777216Colors")] + Colors24Bit = 24, + + [LocalizedAttributes.LocalizedDescription("strRDP4294967296Colors")] + Colors32Bit = 32 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDPPerformanceFlags.cs b/mRemoteV1/Connection/Protocol/RDP/RDPPerformanceFlags.cs new file mode 100644 index 00000000..872ee54e --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDPPerformanceFlags.cs @@ -0,0 +1,22 @@ +using System.ComponentModel; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDPPerformanceFlags + { + [Description("strRDPDisableWallpaper")] + DisableWallpaper = 0x1, + +// [Description("strRDPDisableFullWindowdrag")]DisableFullWindowDrag = 0x2, +// [Description("strRDPDisableMenuAnimations")]DisableMenuAnimations = 0x4, + [Description("strRDPDisableThemes")] DisableThemes = 0x8, + +// [Description("strRDPDisableCursorShadow")]DisableCursorShadow = 0x20, +// [Description("strRDPDisableCursorblinking")]DisableCursorBlinking = 0x40, + [Description("strRDPEnableFontSmoothing")] + EnableFontSmoothing = 0x80, + + [Description("strRDPEnableDesktopComposition")] + EnableDesktopComposition = 0x100 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDPResolutions.cs b/mRemoteV1/Connection/Protocol/RDP/RDPResolutions.cs new file mode 100644 index 00000000..ff4db31a --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDPResolutions.cs @@ -0,0 +1,34 @@ +using System.ComponentModel; +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDPResolutions + { + [LocalizedAttributes.LocalizedDescription("strRDPFitToPanel")] + FitToWindow, + + [LocalizedAttributes.LocalizedDescription("strFullscreen")] + Fullscreen, + + [LocalizedAttributes.LocalizedDescription("strRDPSmartSize")] + SmartSize, + [Description("800x600")] Res800x600, + [Description("1024x768")] Res1024x768, + [Description("1152x864")] Res1152x864, + [Description("1280x800")] Res1280x800, + [Description("1280x1024")] Res1280x1024, + [Description("1366x768")] Res1366x768, + [Description("1440x900")] Res1440x900, + [Description("1600x900")] Res1600x900, + [Description("1600x1200")] Res1600x1200, + [Description("1680x1050")] Res1680x1050, + [Description("1920x1080")] Res1920x1080, + [Description("1920x1200")] Res1920x1200, + [Description("2048x1536")] Res2048x1536, + [Description("2560x1440")] Res2560x1440, + [Description("2560x1600")] Res2560x1600, + [Description("2560x2048")] Res2560x2048, + [Description("3840x2160")] Res3840x2160 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDPSoundQuality.cs b/mRemoteV1/Connection/Protocol/RDP/RDPSoundQuality.cs new file mode 100644 index 00000000..0cc13775 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDPSoundQuality.cs @@ -0,0 +1,16 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDPSoundQuality + { + [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityDynamic")] + Dynamic = 0, + + [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityMedium")] + Medium = 1, + + [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityHigh")] + High = 2 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RDPSounds.cs b/mRemoteV1/Connection/Protocol/RDP/RDPSounds.cs new file mode 100644 index 00000000..af16d959 --- /dev/null +++ b/mRemoteV1/Connection/Protocol/RDP/RDPSounds.cs @@ -0,0 +1,16 @@ +using mRemoteNG.Tools; + +namespace mRemoteNG.Connection.Protocol.RDP +{ + public enum RDPSounds + { + [LocalizedAttributes.LocalizedDescription("strRDPSoundBringToThisComputer")] + BringToThisComputer = 0, + + [LocalizedAttributes.LocalizedDescription("strRDPSoundLeaveAtRemoteComputer")] + LeaveAtRemoteComputer = 1, + + [LocalizedAttributes.LocalizedDescription("strRDPSoundDoNotPlay")] + DoNotPlay = 2 + } +} \ No newline at end of file diff --git a/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs b/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs index e6f6ed1a..2a72dec2 100644 --- a/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs +++ b/mRemoteV1/Connection/Protocol/RDP/RdpProtocol.cs @@ -1,5 +1,4 @@ using System; -using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Threading; @@ -15,7 +14,7 @@ using MSTSCLib; namespace mRemoteNG.Connection.Protocol.RDP { - public class RdpProtocol : ProtocolBase, ISupportsViewOnly + public partial class RdpProtocol : ProtocolBase, ISupportsViewOnly { /* RDP v8 requires Windows 7 with: * https://support.microsoft.com/en-us/kb/2592687 @@ -819,131 +818,6 @@ namespace mRemoteNG.Connection.Protocol.RDP Port = 3389 } - public enum RDPColors - { - [LocalizedAttributes.LocalizedDescription("strRDP256Colors")] - Colors256 = 8, - - [LocalizedAttributes.LocalizedDescription("strRDP32768Colors")] - Colors15Bit = 15, - - [LocalizedAttributes.LocalizedDescription("strRDP65536Colors")] - Colors16Bit = 16, - - [LocalizedAttributes.LocalizedDescription("strRDP16777216Colors")] - Colors24Bit = 24, - - [LocalizedAttributes.LocalizedDescription("strRDP4294967296Colors")] - Colors32Bit = 32 - } - - public enum RDPSounds - { - [LocalizedAttributes.LocalizedDescription("strRDPSoundBringToThisComputer")] - BringToThisComputer = 0, - - [LocalizedAttributes.LocalizedDescription("strRDPSoundLeaveAtRemoteComputer")] - LeaveAtRemoteComputer = 1, - - [LocalizedAttributes.LocalizedDescription("strRDPSoundDoNotPlay")] - DoNotPlay = 2 - } - - public enum RDPSoundQuality - { - [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityDynamic")] - Dynamic = 0, - - [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityMedium")] - Medium = 1, - - [LocalizedAttributes.LocalizedDescription("strRDPSoundQualityHigh")] - High = 2 - } - - private enum RDPPerformanceFlags - { - [Description("strRDPDisableWallpaper")] - DisableWallpaper = 0x1, - -// [Description("strRDPDisableFullWindowdrag")]DisableFullWindowDrag = 0x2, -// [Description("strRDPDisableMenuAnimations")]DisableMenuAnimations = 0x4, - [Description("strRDPDisableThemes")] DisableThemes = 0x8, - -// [Description("strRDPDisableCursorShadow")]DisableCursorShadow = 0x20, -// [Description("strRDPDisableCursorblinking")]DisableCursorBlinking = 0x40, - [Description("strRDPEnableFontSmoothing")] - EnableFontSmoothing = 0x80, - - [Description("strRDPEnableDesktopComposition")] - EnableDesktopComposition = 0x100 - } - - public enum RDPResolutions - { - [LocalizedAttributes.LocalizedDescription("strRDPFitToPanel")] - FitToWindow, - - [LocalizedAttributes.LocalizedDescription("strFullscreen")] - Fullscreen, - - [LocalizedAttributes.LocalizedDescription("strRDPSmartSize")] - SmartSize, - [Description("800x600")] Res800x600, - [Description("1024x768")] Res1024x768, - [Description("1152x864")] Res1152x864, - [Description("1280x800")] Res1280x800, - [Description("1280x1024")] Res1280x1024, - [Description("1366x768")] Res1366x768, - [Description("1440x900")] Res1440x900, - [Description("1600x900")] Res1600x900, - [Description("1600x1200")] Res1600x1200, - [Description("1680x1050")] Res1680x1050, - [Description("1920x1080")] Res1920x1080, - [Description("1920x1200")] Res1920x1200, - [Description("2048x1536")] Res2048x1536, - [Description("2560x1440")] Res2560x1440, - [Description("2560x1600")] Res2560x1600, - [Description("2560x2048")] Res2560x2048, - [Description("3840x2160")] Res3840x2160 - } - - public enum AuthenticationLevel - { - [LocalizedAttributes.LocalizedDescription("strAlwaysConnectEvenIfAuthFails")] - NoAuth = 0, - - [LocalizedAttributes.LocalizedDescription("strDontConnectWhenAuthFails")] - AuthRequired = 1, - - [LocalizedAttributes.LocalizedDescription("strWarnIfAuthFails")] - WarnOnFailedAuth = 2 - } - - public enum RDGatewayUsageMethod - { - [LocalizedAttributes.LocalizedDescription("strNever")] - Never = 0, // TSC_PROXY_MODE_NONE_DIRECT - - [LocalizedAttributes.LocalizedDescription("strAlways")] - Always = 1, // TSC_PROXY_MODE_DIRECT - - [LocalizedAttributes.LocalizedDescription("strDetect")] - Detect = 2 // TSC_PROXY_MODE_DETECT - } - - public enum RDGatewayUseConnectionCredentials - { - [LocalizedAttributes.LocalizedDescription("strUseDifferentUsernameAndPassword")] - No = 0, - - [LocalizedAttributes.LocalizedDescription("strUseSameUsernameAndPassword")] - Yes = 1, - - [LocalizedAttributes.LocalizedDescription("strUseSmartCard")] - SmartCard = 2 - } - #endregion #region Resolution diff --git a/mRemoteV1/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs b/mRemoteV1/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs index edc135c8..67085299 100644 --- a/mRemoteV1/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs +++ b/mRemoteV1/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs @@ -221,7 +221,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid strHide.Add(nameof(AbstractConnectionRecord.RDPAlertIdleTimeout)); } - if (SelectedConnectionInfo.RDGatewayUsageMethod == RdpProtocol.RDGatewayUsageMethod.Never) + if (SelectedConnectionInfo.RDGatewayUsageMethod == RDGatewayUsageMethod.Never) { strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain)); strHide.Add(nameof(AbstractConnectionRecord.RDGatewayHostname)); @@ -230,20 +230,20 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername)); } else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == - RdpProtocol.RDGatewayUseConnectionCredentials.Yes) + RDGatewayUseConnectionCredentials.Yes) { strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain)); strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword)); strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername)); } - if (!(SelectedConnectionInfo.Resolution == RdpProtocol.RDPResolutions.FitToWindow || - SelectedConnectionInfo.Resolution == RdpProtocol.RDPResolutions.Fullscreen)) + if (!(SelectedConnectionInfo.Resolution == RDPResolutions.FitToWindow || + SelectedConnectionInfo.Resolution == RDPResolutions.Fullscreen)) { strHide.Add(nameof(AbstractConnectionRecord.AutomaticResize)); } - if (SelectedConnectionInfo.RedirectSound != RdpProtocol.RDPSounds.BringToThisComputer) + if (SelectedConnectionInfo.RedirectSound != RDPSounds.BringToThisComputer) { strHide.Add(nameof(AbstractConnectionRecord.SoundQuality)); } diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 5fa077f3..e2537c59 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -252,12 +252,20 @@ + + + Component + + + + +