diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index 85d0e1d7..2aa1c65e 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -8268,6 +8268,21 @@ public void DoFTPLogin() { using (SftpClient conn = new SftpClient(connectionInfo)) { + // If the ECDSA ciphers are not available - yes I'm talking about you Mono! - remove them from the list to be tried + try + { + using (var ecdsa = new System.Security.Cryptography.ECDsaCng()) +#pragma warning disable CS0642 // Possible mistaken empty statement + ; +#pragma warning restore CS0642 // Possible mistaken empty statement + } + catch (NotImplementedException) + { + var algsToRemove = connectionInfo.HostKeyAlgorithms.Keys.Where(algName => algName.StartsWith("ecdsa")).ToArray(); + foreach (var algName in algsToRemove) + connectionInfo.HostKeyAlgorithms.Remove(algName); + } + try { LogFtpDebugMessage($"SFTP[Int]: CumulusMX Connecting to {FtpOptions.Hostname} on port {FtpOptions.Port}"); @@ -9696,6 +9711,21 @@ private void RealtimeSSHLogin() return; } + // If the ECDSA ciphers are not available - yes I'm talking about you Mono! - remove them from the list to be tried + try + { + using (var ecdsa = new System.Security.Cryptography.ECDsaCng()) +#pragma warning disable CS0642 // Possible mistaken empty statement + ; +#pragma warning restore CS0642 // Possible mistaken empty statement + } + catch (NotImplementedException) + { + var algsToRemove = connectionInfo.HostKeyAlgorithms.Keys.Where(algName => algName.StartsWith("ecdsa")).ToArray(); + foreach (var algName in algsToRemove) + connectionInfo.HostKeyAlgorithms.Remove(algName); + } + RealtimeSSH = new SftpClient(connectionInfo); //if (RealtimeSSH != null) RealtimeSSH.Dispose(); diff --git a/CumulusMX/GW1000Station.cs b/CumulusMX/GW1000Station.cs index fbeaa58c..a28c2c8d 100644 --- a/CumulusMX/GW1000Station.cs +++ b/CumulusMX/GW1000Station.cs @@ -629,10 +629,10 @@ private bool PrintSensorInfoNew(byte[] data, int idx) // Older WH40 units do not send battery info // Old ones report a dummy value of 16 = 1.6V // Newer ones report volts * 100! - battV = data[battPos] / 10; + battV = data[battPos] / 10.0; if (battV > 2) { - battV /= 10; + battV /= 10.0; batt = $"{battV:f2}V ({TestBatteryWh40(data[battPos], battV)})"; // low = 1.2V } else diff --git a/CumulusMX/Properties/AssemblyInfo.cs b/CumulusMX/Properties/AssemblyInfo.cs index 4a38d019..99f2d81c 100644 --- a/CumulusMX/Properties/AssemblyInfo.cs +++ b/CumulusMX/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Cumulus MX")] -[assembly: AssemblyDescription("Version 3.18.0 - Build 3189")] +[assembly: AssemblyDescription("Version 3.18.0 - Build 3190")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Cumulus MX")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.18.0.3189")] -[assembly: AssemblyFileVersion("3.18.0.3189")] +[assembly: AssemblyVersion("3.18.0.3190")] +[assembly: AssemblyFileVersion("3.18.0.3190")] diff --git a/Updates.txt b/Updates.txt index 456eec13..d53a8024 100644 --- a/Updates.txt +++ b/Updates.txt @@ -1,4 +1,4 @@ -3.18.0 - b3189 +3.18.0 - b3190 —————————————— - Fix: Adds Ecowitt Wh40 battery state decode - Fix: Increase the sensitivity of the rain counter reset and make it "unit aware"