Merge branch 'develop' of https://github.com/mRemoteNG/mRemoteNG into develop

This commit is contained in:
Dimitrij
2021-09-14 12:13:58 +01:00
191 changed files with 1295 additions and 2808 deletions

View File

@@ -15,6 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- #283: Support for native PowerShell remoting as new protocol
- #1850: Minify config xml
### Changed
- #2022: Replaced CefSharp with WebView2
- #2014: Revised icons
- #2013: Removed components check
- #2011: Removed screenshot manager
@@ -25,6 +26,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- #1690: Replaced GeckoFX (Firefox) with CefSharp (Chromium)
- #1325: Language resource files cleanup
### Fixed
- #1884: Allow setting Port when using MSSQL
- #1783: Added missing inheritance properties to SQL scripts
- #1773: Connection issue with mysql - Missing fields in
- #1756: Cannot type any character on MultiSSH toolbar

View File

@@ -90,10 +90,6 @@ Copyright © 2004 Marc Merritt © 2008 Felix Deimel
# Included Components
**[CefSharp](https://github.com/cefsharp/CefSharp)**
Copyright © The CefSharp Authors
MIT License
**[DockPanel Suite](https://github.com/dockpanelsuite/dockpanelsuite)**
Copyright © 2018 @roken and @lextm (formerly Weifen Luo)
MIT License

View File

@@ -2,7 +2,7 @@
<br/><br/>
<p align="center">
<img width="500" src="https://github.com/mRemoteNG/mRemoteNG/blob/develop/mRemoteNGProjectFiles/logo.png">
<img width="500" src="https://github.com/mRemoteNG/mRemoteNG/blob/develop/mRemoteNGProjectFiles/Header_dark.png">
</p>
<p align="center">
@@ -177,5 +177,5 @@ Check out the [Wiki page](https://github.com/mRemoteNG/mRemoteNG/wiki) on how to
</br>
<p align="center">
<img alt="Developed with ReSharper" src="https://raw.githubusercontent.com/mRemoteNG/mRemoteNG/develop/Tools/img/icon_ReSharper.png">
<img alt="Developed with ReSharper" src="https://github.com/mRemoteNG/mRemoteNG/blob/develop/mRemoteNGProjectFiles/icon_ReSharper.png">
</p>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,31 +0,0 @@
7-Zip Extra
~~~~~~~~~~~
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (C) 1999-2019 Igor Pavlov.
7-Zip Extra files are under the GNU LGPL license.
Notes:
You can use 7-Zip Extra on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You can receive a copy of the GNU Lesser General Public License from
http://www.gnu.org/

View File

@@ -1,111 +0,0 @@
7-Zip Extra history
-------------------
This file contains only information about changes related to that package exclusively.
The full history of changes is listed in history.txt in main 7-Zip program.
19.00 2019-02-21
-------------------------
- Encryption strength for 7z archives was increased:
the size of random initialization vector was increased from 64-bit to 128-bit,
and the pseudo-random number generator was improved.
- Some bugs were fixed.
18.06 2018-12-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
and there are minor changes in compression ratio.
- Some bugs were fixed.
18.05 2018-04-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased
by 8% for fastest/fast compression levels and
by 3% for normal/maximum compression levels.
18.03 beta 2018-03-04
-------------------------
- The speed for single-thread LZMA/LZMA2 decoding
was increased by 30% in x64 version and by 3% in x86 version.
- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
if there are multiple independent data chunks in LZMA2 stream.
9.35 beta 2014-12-07
------------------------------
- SFX modules were moved to LZMA SDK package.
9.34 alpha 2014-06-22
------------------------------
- Minimum supported system now is Windows 2000 for EXE and DLL files.
- all EXE and DLL files use msvcrt.dll.
- 7zr.exe now support AES encryption.
9.18 2010-11-02
------------------------------
- New small SFX module for installers.
9.17 2010-10-04
------------------------------
- New 7-Zip plugin for FAR Manager x64.
9.10 2009-12-30
------------------------------
- 7-Zip for installers now supports LZMA2.
9.09 2009-12-12
------------------------------
- LZMA2 compression method support.
- Some bugs were fixed.
4.65 2009-02-03
------------------------------
- Some bugs were fixed.
4.38 beta 2006-04-13
------------------------------
- SFX for installers now supports new properties in config file:
Progress, Directory, ExecuteFile, ExecuteParameters.
4.34 beta 2006-02-27
------------------------------
- ISetProperties::SetProperties:
it's possible to specify desirable number of CPU threads:
PROPVARIANT: name=L"mt", vt = VT_UI4, ulVal = NumberOfThreads
If "mt" is not defined, 7za.dll will check number of processors in system to set
number of desirable threads.
Now 7za.dll can use:
2 threads for LZMA compressing
N threads for BZip2 compressing
4 threads for BZip2 decompressing
Other codecs use only one thread.
Note: 7za.dll can use additional "small" threads with low CPU load.
- It's possible to call ISetProperties::SetProperties to specify "mt" property for decoder.
4.33 beta 2006-02-05
------------------------------
- Compressing speed and Memory requirements were increased.
Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
- 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
4.27 2005-09-21
------------------------------
- Some GUIDs/interfaces were changed.
IStream.h:
ISequentialInStream::Read now works as old ReadPart
ISequentialOutStream::Write now works as old WritePart

View File

@@ -1,124 +0,0 @@
7-Zip Extra 19.00
-----------------
7-Zip Extra is package of extra modules of 7-Zip.
7-Zip Copyright (C) 1999-2019 Igor Pavlov.
7-Zip is free software. Read License.txt for more information about license.
Source code of binaries can be found at:
http://www.7-zip.org/
This package contains the following files:
7za.exe - standalone console version of 7-Zip with reduced formats support.
7za.dll - library for working with 7z archives
7zxa.dll - library for extracting from 7z archives
License.txt - license information
readme.txt - this file
Far\ - plugin for Far Manager
x64\ - binaries for x64
All 32-bit binaries can work in:
Windows 2000 / 2003 / 2008 / XP / Vista / 7 / 8 / 10
and in any Windows x64 version with WoW64 support.
All x64 binaries can work in any Windows x64 version.
All binaries use msvcrt.dll.
7za.exe
-------
7za.exe - is a standalone console version of 7-Zip with reduced formats support.
Extra: 7za.exe : support for only some formats of 7-Zip.
7-Zip: 7z.exe with 7z.dll : support for all formats of 7-Zip.
7za.exe and 7z.exe from 7-Zip have same command line interface.
7za.exe doesn't use external DLL files.
You can read Help File (7-zip.chm) from 7-Zip package for description
of all commands and switches for 7za.exe and 7z.exe.
7za.exe features:
- High compression ratio in 7z format
- Supported formats:
- Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR
- Unpacking only: Z, lzma, CAB.
- Highest compression ratio for ZIP and GZIP formats.
- Fast compression and decompression
- Strong AES-256 encryption in 7z and ZIP formats.
Note: LZMA SDK contains 7zr.exe - more reduced version of 7za.exe.
But you can use 7zr.exe as "public domain" code.
DLL files
---------
7za.dll and 7zxa.dll are reduced versions of 7z.dll from 7-Zip.
7za.dll and 7zxa.dll support only 7z format.
Note: 7z.dll is main DLL file that works with all archive types in 7-Zip.
7za.dll and 7zxa.dll support the following decoding methods:
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES, BZip2, Deflate.
7za.dll also supports 7z encoding with the following encoding methods:
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES.
7za.dll and 7zxa.dll work via COM interfaces.
But these DLLs don't use standard COM interfaces for objects creating.
Look also example code that calls DLL functions (in source code of 7-Zip):
7zip\UI\Client7z
Another example of binary that uses these interface is 7-Zip itself.
The following binaries from 7-Zip use 7z.dll:
- 7z.exe (console version)
- 7zG.exe (GUI version)
- 7zFM.exe (7-Zip File Manager)
Note: The source code of LZMA SDK also contains the code for similar DLLs
(DLLs without BZip2, Deflate support). And these files from LZMA SDK can be
used as "public domain" code. If you use LZMA SDK files, you don't need to
follow GNU LGPL rules, if you want to change the code.
License FAQ
-----------
Can I use the EXE or DLL files from 7-Zip in a commercial application?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yes, but you are required to specify in documentation for your application:
(1) that you used parts of the 7-Zip program,
(2) that 7-Zip is licensed under the GNU LGPL license and
(3) you must give a link to www.7-zip.org, where the source code can be found.
Can I use the source code of 7-Zip in a commercial application?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license.
In brief, it means that any LGPL'ed code must remain licensed under the LGPL.
For instance, you can change the code from 7-Zip or write a wrapper for some
code from 7-Zip and compile it into a DLL; but, the source code of that DLL
(including your modifications / additions / wrapper) must be licensed under
the LGPL or GPL.
Any other code in your application can be licensed as you wish. This scheme allows
users and developers to change LGPL'ed code and recompile that DLL. That is the
idea of free software. Read more here: http://www.gnu.org/.
Note: You can look also LZMA SDK, which is available under a more liberal license.
---
End of document

View File

@@ -1,15 +0,0 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
Write-Output "Copying PUTTYNG to correct directory"
Copy-Item -Path (Join-Path -Path $SolutionDir -ChildPath "mRemoteNG\Resources\PuTTYNG.exe") -Destination $TargetDir -Force
Write-Output ""

View File

@@ -1,19 +0,0 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
Write-Output "Copying THEMES folder to output"
$sourceFiles = [io.path]::combine($SolutionDir , 'mRemoteNG\Resources\Themes' )
$DestinationDir = [io.path]::combine($TargetDir , 'Themes')
robocopy $sourceFiles $DestinationDir *.vstheme /s
Write-Output ""

View File

@@ -1,17 +0,0 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
Write-Output "Copying TILES folder to output"
$sourceFiles = [io.path]::combine($SolutionDir , 'mRemoteNG\Resources\Tiles' )
robocopy $sourceFiles $TargetDir *.*
Write-Output ""

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -37,15 +37,9 @@ Format-Table -AutoSize -Wrap -InputObject @{
"ExcludeFromSigning" = $ExcludeFromSigning
}
& "$PSScriptRoot\copy_puttyng.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\copy_themes.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\copy_tiles.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\set_LargeAddressAware.ps1" -TargetDir $TargetDir -TargetFileName $TargetFileName
& "$PSScriptRoot\verify_LargeAddressAware.ps1" -TargetDir $TargetDir -TargetFileName $TargetFileName
& "$PSScriptRoot\tidy_files_for_release.ps1" -TargetDir $TargetDir -ConfigurationName $ConfigurationName
& "$PSScriptRoot\sign_binaries.ps1" -TargetDir $TargetDir -CertificatePath $CertificatePath -CertificatePassword $CertificatePassword -ConfigurationName $ConfigurationName -Exclude $ExcludeFromSigning -SolutionDir $SolutionDir
& "$PSScriptRoot\verify_binary_signatures.ps1" -TargetDir $TargetDir -ConfigurationName $ConfigurationName -CertificatePath $CertificatePath -SolutionDir $SolutionDir
& "$PSScriptRoot\zip_symbols.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir -ConfigurationName $ConfigurationName
& "$PSScriptRoot\zip_portable_files.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir -ConfigurationName $ConfigurationName
& "$PSScriptRoot\zip_files.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir -ConfigurationName $ConfigurationName

View File

@@ -3,7 +3,7 @@
$SolutionDir
)
$renameTarget = $SolutionDir + "InstallerProjects\Installer\bin\Release\en-US\mRemoteNG-Installer.msi"
$renameTarget = $SolutionDir + "mRemoteNGInstaller\Installer\bin\Release\en-US\mRemoteNG-Installer.msi"
Write-Host $SolutionDir
Write-Host $renameTarget

72
Tools/zip_files.ps1 Normal file
View File

@@ -0,0 +1,72 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir,
[string]
[Parameter(Mandatory=$true)]
$ConfigurationName
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
$ConfigurationName = $ConfigurationName.Trim()
Write-Output "Config Name (trimmed): '$($ConfigurationName)'"
$exe = Join-Path -Path $TargetDir -ChildPath $TargetFileName
$Version = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($exe).FileVersion
Write-Output "Version is $($version)"
# Fix for AppVeyor
if(!([string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER))) {
if(!(test-path "Release")) {
New-Item -ItemType Directory -Force -Path "Release" | Out-Null
}
}
# Package debug symbols zip file
if ($ConfigurationName -match "Release") {
Write-Output "Packaging debug symbols"
if ($ConfigurationName -match "Portable") {
$zipFilePrefix = "mRemoteNG-Portable-symbols"
} else {
$zipFilePrefix = "mRemoteNG-symbols"
}
$debugFile = Join-Path -Path $TargetDir -ChildPath "mRemoteNG.pdb"
# AppVeyor build
if(!([string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER))) {
$outputZipPath = Join-Path -Path $SolutionDir -ChildPath "Release\$zipFilePrefix-$($version).zip"
7z a $outputZipPath $debugFile
}
# Local build
else {
$outputZipPath = "$($SolutionDir)Release\$zipFilePrefix-$($version).zip"
Compress-Archive $debugFile $outputZipPath -Force
}
Remove-Item $debugFile
}
# Package portable release zip file
if ($ConfigurationName -eq "Release Portable") {
Write-Output "Packaging portable ZIP file"
# AppVeyor build
if(!([string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER))) {
$outputZipPath = Join-Path -Path $SolutionDir -ChildPath "Release\mRemoteNG-Portable-$($version).zip"
7z a -bt -bd -bb1 -mx=9 -tzip -y -r $outputZipPath $TargetDir\*
}
# Local build
else {
$outputZipPath="$($SolutionDir)\Release\mRemoteNG-Portable-$($version).zip"
Compress-Archive $Source $outputZipPath -Force
}
}
Write-Output ""

View File

@@ -1,64 +0,0 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir,
[string]
[Parameter(Mandatory=$true)]
$ConfigurationName
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
if(-not [string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER)) {
Write-Output "Too early to run via Appveyor - artifacts don't get generated properly. Exiting"
Exit
}
Write-Output "Solution Dir: '$($SolutionDir)'"
Write-Output "Target Dir: '$($TargetDir)'"
$ConfigurationName = $ConfigurationName.Trim()
Write-Output "Config Name (tirmmed): '$($ConfigurationName)'"
# Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
$SIGCHECK="$($SolutionDir)Tools\exes\sigcheck.exe"
$SEVENZIP="$($SolutionDir)Tools\7zip\7za.exe"
# Package Zip
if ($ConfigurationName -eq "Release Portable") {
Write-Output "Packaging Release Portable ZIP"
$version = & $SIGCHECK /accepteula -q -n "$($SolutionDir)mRemoteNG\bin\$($ConfigurationName)\mRemoteNG.exe"
Write-Output "Version is $($version)"
$PortableZip="$($SolutionDir)Release\mRemoteNG-Portable-$($version).zip"
$tempFolderPath = Join-Path -Path $SolutionDir -ChildPath "mRemoteNG\bin\package"
Remove-Item -Recurse $tempFolderPath -ErrorAction SilentlyContinue | Out-Null
New-Item $tempFolderPath -ItemType "directory" | Out-Null
Copy-Item "$($SolutionDir)mRemoteNG\Resources\PuTTYNG.exe" -Destination $tempFolderPath
#Write-Output "$($SolutionDir)mRemoteNG\bin\$ConfigurationName"
#Write-Output "$($SolutionDir)mRemoteNG\bin\package"
Copy-Item "$($SolutionDir)mRemoteNG\bin\$ConfigurationName\*" -Destination $tempFolderPath -Recurse -Force
# Delete any PDB files that accidentally get copied into the temp folder
Get-ChildItem -Path $tempFolderPath -Filter "*.pdb" | Remove-Item
Copy-Item "$($SolutionDir)*.txt" -Destination $tempFolderPath
Write-Output "Creating portable ZIP file $($PortableZip)"
Remove-Item -Force $PortableZip -ErrorAction SilentlyContinue
& $SEVENZIP a -bt -bd -bb1 -mx=9 -tzip -y -r $PortableZip (Join-Path -Path $tempFolderPath -ChildPath "*.*")
#& $SEVENZIP a -bt -mx=9 -tzip -y $PortableZip "$($SolutionDir)*.TXT"
}
else {
Write-Output "We will not zip anything - this isnt a portable release build."
}
Write-Output ""

View File

@@ -1,56 +0,0 @@
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir,
[string]
[Parameter(Mandatory=$true)]
$ConfigurationName
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
if(-not [string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER)) {
Write-Output "Too early to run via Appveyor - artifacts don't get generated properly. Exiting"
Exit
}
Write-Output "Solution Dir: '$($SolutionDir)'"
Write-Output "Target Dir: '$($TargetDir)'"
$ConfigurationName = $ConfigurationName.Trim()
Write-Output "Config Name (trimmed): '$($ConfigurationName)'"
# Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
$SIGCHECK="$($SolutionDir)Tools\exes\sigcheck.exe"
$SEVENZIP="$($SolutionDir)Tools\7zip\7za.exe"
# Package Zip
if ($ConfigurationName -match "Release") {
Write-Output "Packaging debug symbols"
$version = & $SIGCHECK /accepteula -q -n "$($SolutionDir)mRemoteNG\bin\$($ConfigurationName)\mRemoteNG.exe"
Write-Output "Version is $($version)"
if ($ConfigurationName -match "Portable") {
$zipFilePrefix = "mRemoteNG-Portable-symbols"
} else {
$zipFilePrefix = "mRemoteNG-symbols"
}
$outputZipPath="$($SolutionDir)Release\$zipFilePrefix-$($version).zip"
Write-Output "Creating debug symbols ZIP file $($outputZipPath)"
Remove-Item -Force $outputZipPath -ErrorAction SilentlyContinue
& $SEVENZIP a -bt -bd -bb1 -mx=9 -tzip -y -r $outputZipPath (Join-Path -Path $TargetDir -ChildPath "*.pdb")
}
else {
Write-Output "We will not package debug symbols - this isnt a release build."
}
Write-Output ""

View File

@@ -5,7 +5,6 @@ using Microsoft.Win32;
using mRemoteNG.App.Info;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.UI.Forms;
using mRemoteNG.UI.TaskDialog;

View File

@@ -6,7 +6,6 @@ using mRemoteNG.Config.Import;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
namespace mRemoteNG.App

View File

@@ -8,17 +8,16 @@ namespace mRemoteNG.App.Info
public static class UpdateChannelInfo
{
public const string STABLE = "Stable";
public const string BETA = "Beta";
public const string DEV = "Development";
public const string PREVIEW = "Preview";
public const string NIGHTLY = "Nightly";
/* no #if here since they are used for unit tests as well */
public const string STABLE_PORTABLE = "update-portable.txt";
public const string BETA_PORTABLE = "beta-update-portable.txt";
public const string DEV_PORTABLE = "dev-update-portable.txt";
public const string PREVIEW_PORTABLE = "preview-update-portable.txt";
public const string NIGHTLY_PORTABLE = "nightly-update-portable.txt";
public const string STABLE_MSI = "update.txt";
public const string BETA_MSI = "beta-update.txt";
public const string DEV_MSI = "dev-update.txt";
public const string PREVIEW_MSI = "preview-update.txt";
public const string NIGHTLY_MSI = "nightly-update.txt";
public static Uri GetUpdateChannelInfo()
@@ -40,10 +39,10 @@ namespace mRemoteNG.App.Info
{
case STABLE:
return STABLE_MSI;
case BETA:
return BETA_MSI;
case DEV:
return DEV_MSI;
case PREVIEW:
return PREVIEW_MSI;
case NIGHTLY:
return NIGHTLY_MSI;
default:
return STABLE_MSI;
}
@@ -55,10 +54,10 @@ namespace mRemoteNG.App.Info
{
case STABLE:
return STABLE_PORTABLE;
case BETA:
return BETA_PORTABLE;
case DEV:
return DEV_PORTABLE;
case PREVIEW:
return PREVIEW_PORTABLE;
case NIGHTLY:
return NIGHTLY_PORTABLE;
default:
return STABLE_PORTABLE;
}
@@ -72,7 +71,7 @@ namespace mRemoteNG.App.Info
private static bool IsValidChannel(string s)
{
return s.Equals(STABLE) || s.Equals(BETA) || s.Equals(DEV);
return s.Equals(STABLE) || s.Equals(PREVIEW) || s.Equals(NIGHTLY);
}
}
}

View File

@@ -3,7 +3,6 @@ using System.Management;
using System.Threading;
using System.Windows.Forms;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.App.Initialization
{

View File

@@ -16,7 +16,6 @@ using System.Security;
using System.Threading;
using System.Windows.Forms;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.App
{

View File

@@ -5,7 +5,6 @@ using System.Windows.Forms;
using mRemoteNG.Config.Connections;
using mRemoteNG.Config.Putty;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.UI.Controls;
using mRemoteNG.UI.Forms;

View File

@@ -12,7 +12,6 @@ using mRemoteNG.Config.Serializers.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
using mRemoteNG.Security;
using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Tools;

View File

@@ -2,7 +2,6 @@
using System.IO;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Config.DataProviders
{

View File

@@ -53,9 +53,12 @@ namespace mRemoteNG.Config.DatabaseConnectors
private void BuildDbConnectionStringWithCustomCredentials()
{
string[] hostParts = _dbHost.Split(new char[] { ':' }, 2);
var _dbPort = (hostParts.Length == 2) ? hostParts[1] : "1433";
_dbConnectionString = new SqlConnectionStringBuilder
{
DataSource = _dbHost,
DataSource = $"{hostParts[0]},{_dbPort}",
InitialCatalog = _dbCatalog,
UserID = _dbUsername,
Password = _dbPassword,

View File

@@ -11,7 +11,6 @@ using mRemoteNG.Connection.Protocol.RDP;
using mRemoteNG.Connection.Protocol.VNC;
using mRemoteNG.Container;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
using mRemoteNG.Security;
using mRemoteNG.Tools;
using mRemoteNG.Tree;

View File

@@ -6,7 +6,6 @@ using mRemoteNG.Config.Import;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;

View File

@@ -7,7 +7,6 @@ using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Connection.Protocol.RDP;
using mRemoteNG.Container;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;

View File

@@ -3,7 +3,6 @@ using mRemoteNG.App.Info;
using mRemoteNG.Config.DatabaseConnectors;
using mRemoteNG.Messages;
using System;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Config.Serializers.Versioning
{

View File

@@ -5,7 +5,6 @@ using mRemoteNG.Connection.Protocol.Http;
using mRemoteNG.Connection.Protocol.RDP;
using mRemoteNG.Connection.Protocol.VNC;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools.Attributes;
@@ -589,7 +588,7 @@ namespace mRemoteNG.Connection
}
[LocalizedAttributes.LocalizedCategory(nameof(Language.Redirect), 6),
LocalizedAttributes.LocalizedDisplayName(nameof(Language.Redirect)),
LocalizedAttributes.LocalizedDisplayName(nameof(Language.DiskDrives)),
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionRedirectDrives)),
TypeConverter(typeof(MiscTools.YesNoTypeConverter)),
AttributeUsedInProtocol(ProtocolType.RDP)]
@@ -634,7 +633,7 @@ namespace mRemoteNG.Connection
}
[LocalizedAttributes.LocalizedCategory(nameof(Language.Redirect), 6),
LocalizedAttributes.LocalizedDisplayName(nameof(Language.Redirect)),
LocalizedAttributes.LocalizedDisplayName(nameof(Language.SmartCard)),
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionRedirectSmartCards)),
TypeConverter(typeof(MiscTools.YesNoTypeConverter)),
AttributeUsedInProtocol(ProtocolType.RDP)]

View File

@@ -15,7 +15,6 @@ using mRemoteNG.Connection.Protocol.Telnet;
using mRemoteNG.Connection.Protocol.VNC;
using mRemoteNG.Container;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tree;

View File

@@ -2,7 +2,6 @@
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection

View File

@@ -6,7 +6,6 @@ using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.UI.Forms;
using mRemoteNG.UI.Panels;
using mRemoteNG.UI.Tabs;

View File

@@ -13,7 +13,6 @@ using mRemoteNG.Config.Serializers.ConnectionSerializers.MsSql;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.Security;
using mRemoteNG.Tools;
using mRemoteNG.Tree;

View File

@@ -1,34 +0,0 @@
// Copyright © 2013 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using CefSharp;
using System;
namespace mRemoteNG.Connection.Protocol.Http
{
public class DownloadHandler : IDownloadHandler
{
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
OnBeforeDownloadFired?.Invoke(this, downloadItem);
if (!callback.IsDisposed)
{
using (callback)
{
callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
}
}
}
public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
OnDownloadUpdatedFired?.Invoke(this, downloadItem);
}
}
}

View File

@@ -1,68 +0,0 @@
using CefSharp;
using System.Diagnostics;
using System.Security.Cryptography.X509Certificates;
namespace mRemoteNG.Connection.Protocol.Http
{
partial class RequestHandler : IRequestHandler
{
public bool GetAuthCredentials(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
{
return false;
}
public IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
return null;
}
public bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
{
if (request.Url.StartsWith(Cef.CefCommitHash))
{
return false;
}
else
{
Process.Start(request.Url);
return true;
}
}
public void OnDocumentAvailableInMainFrame(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
public bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
{
return false;
}
public bool OnOpenUrlFromTab(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
{
return false;
}
public void OnPluginCrashed(IWebBrowser chromiumWebBrowser, IBrowser browser, string pluginPath)
{
}
public bool OnQuotaRequest(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
{
return true;
}
public void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
{
}
public void OnRenderViewReady(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
public bool OnSelectClientCertificate(IWebBrowser chromiumWebBrowser, IBrowser browser, bool isProxy, string host, int port, X509Certificate2Collection certificates, ISelectClientCertificateCallback callback)
{
return true;
}
}
}

View File

@@ -1,10 +1,8 @@
using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
using Microsoft.Web.WebView2.WinForms;
using mRemoteNG.Tools;
using mRemoteNG.App;
using mRemoteNG.Resources.Language;
using mRemoteNG.UI.Tabs;
@@ -14,24 +12,22 @@ namespace mRemoteNG.Connection.Protocol.Http
{
#region Private Properties
private Control wBrowser;
private Control _wBrowser;
private string _tabTitle;
protected string httpOrS;
protected int defaultPort;
private string tabTitle;
private bool browserInitialised = false;
private bool connectCalled = false;
#endregion
#region Public Methods
protected HTTPBase(RenderingEngine RenderingEngine)
protected HTTPBase(RenderingEngine renderingEngine)
{
try
{
if (RenderingEngine == RenderingEngine.CEF)
if (renderingEngine == RenderingEngine.EdgeChromium)
{
Control = new ChromiumWebBrowser("about:blank")
Control = new WebView2()
{
Dock = DockStyle.Fill,
};
@@ -53,33 +49,26 @@ namespace mRemoteNG.Connection.Protocol.Http
try
{
if (InterfaceControl.Parent is ConnectionTab objConnectionTab) tabTitle = objConnectionTab.TabText;
if (InterfaceControl.Parent is ConnectionTab objConnectionTab) _tabTitle = objConnectionTab.TabText;
}
catch (Exception)
{
tabTitle = "";
_tabTitle = "";
}
try
{
wBrowser = Control;
_wBrowser = Control;
if (InterfaceControl.Info.RenderingEngine == RenderingEngine.CEF)
if (InterfaceControl.Info.RenderingEngine == RenderingEngine.EdgeChromium)
{
var CEFBrowser = (ChromiumWebBrowser)wBrowser;
if (CEFBrowser != null)
{
CEFBrowser.LoadingStateChanged += CefBrowser_LoadingStateChanged;
CEFBrowser.TitleChanged += WBrowser_DocumentTitleChanged;
}
else
{
throw new Exception("Failed to initialize CEF Rendering Engine.");
}
var edge = (WebView2)_wBrowser;
edge.CoreWebView2InitializationCompleted += Edge_CoreWebView2InitializationCompleted;
}
else
{
var objWebBrowser = (WebBrowser)wBrowser;
var objWebBrowser = (WebBrowser)_wBrowser;
objWebBrowser.ScrollBarsEnabled = true;
// http://stackoverflow.com/questions/4655662/how-to-ignore-script-errors-in-webbrowser
@@ -87,7 +76,6 @@ namespace mRemoteNG.Connection.Protocol.Http
objWebBrowser.Navigated += WBrowser_Navigated;
objWebBrowser.DocumentTitleChanged += WBrowser_DocumentTitleChanged;
browserInitialised = true;
}
return true;
@@ -103,20 +91,16 @@ namespace mRemoteNG.Connection.Protocol.Http
{
try
{
if (InterfaceControl.Info.RenderingEngine == RenderingEngine.CEF)
if (InterfaceControl.Info.RenderingEngine == RenderingEngine.EdgeChromium)
{
if (browserInitialised)
{
((ChromiumWebBrowser)wBrowser).Load(GetURL());
}
((WebView2)_wBrowser).Source = new Uri(GetUrl());
}
else
{
((WebBrowser)wBrowser).Navigate(GetURL());
((WebBrowser)_wBrowser).Navigate(GetUrl());
}
base.Connect();
connectCalled = true;
return true;
}
catch (Exception ex)
@@ -130,22 +114,12 @@ namespace mRemoteNG.Connection.Protocol.Http
#region Private Methods
private string GetURL()
private string GetUrl()
{
try
{
var strHost = InterfaceControl.Info.Hostname;
/*
* Commenting out since this codes doesn't actually do anything at this time...
* Possibly related to MR-221 and/or MR-533 ????
*
string strAuth = "";
if (((int)Force & (int)ConnectionInfo.Force.NoCredentials) != (int)ConnectionInfo.Force.NoCredentials && !string.IsNullOrEmpty(InterfaceControl.Info.Username) && !string.IsNullOrEmpty(InterfaceControl.Info.Password))
{
strAuth = "Authorization: Basic " + Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(InterfaceControl.Info.Username + ":" + InterfaceControl.Info.Password)) + Environment.NewLine;
}
*/
if (InterfaceControl.Info.Port != defaultPort)
{
if (strHost.EndsWith("/"))
@@ -161,6 +135,7 @@ namespace mRemoteNG.Connection.Protocol.Http
if (strHost.Contains(httpOrS + "://") == false)
strHost = httpOrS + "://" + strHost;
}
return strHost;
}
catch (Exception ex)
@@ -174,26 +149,17 @@ namespace mRemoteNG.Connection.Protocol.Http
#region Events
private void CefBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
private void Edge_CoreWebView2InitializationCompleted(object sender, Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{
browserInitialised = !e.IsLoading;
if (browserInitialised)
if (!e.IsSuccess)
{
// Unhook the loading state changes now, as navigation is done by the user on links in the control
((ChromiumWebBrowser)wBrowser).LoadingStateChanged -= CefBrowser_LoadingStateChanged;
// If this Connection has already been asked to connect but the browser hadn't finished initalising
// then the connect wouldn't have been allowed to take place, so now we can call it!
if (connectCalled)
{
Connect();
}
Runtime.MessageCollector.AddExceptionStackTrace(Language.HttpFailedUrlBuild, e.InitializationException);
}
}
private void WBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
if (!(wBrowser is WebBrowser objWebBrowser)) return;
if (!(_wBrowser is WebBrowser objWebBrowser)) return;
// This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
objWebBrowser.AllowWebBrowserDrop = false;
@@ -207,33 +173,18 @@ namespace mRemoteNG.Connection.Protocol.Http
{
if (!(InterfaceControl.Parent is ConnectionTab tabP)) return;
string shortTitle;
if (InterfaceControl.Info.RenderingEngine == RenderingEngine.CEF)
if (((WebBrowser)_wBrowser).DocumentTitle.Length >= 15)
{
if (((TitleChangedEventArgs)e).Title.Length >= 15)
{
shortTitle = ((TitleChangedEventArgs)e).Title.Substring(0, 10) + "...";
}
else
{
shortTitle = ((CefSharp.TitleChangedEventArgs)e).Title;
}
shortTitle = ((WebBrowser)_wBrowser).DocumentTitle.Substring(0, 10) + "...";
}
else
{
if (((WebBrowser)wBrowser).DocumentTitle.Length >= 15)
{
shortTitle = ((WebBrowser)wBrowser).DocumentTitle.Substring(0, 10) + "...";
}
else
{
shortTitle = ((WebBrowser)wBrowser).DocumentTitle;
}
shortTitle = ((WebBrowser)_wBrowser).DocumentTitle;
}
if (!string.IsNullOrEmpty(tabTitle))
if (!string.IsNullOrEmpty(_tabTitle))
{
tabP.TabText = tabTitle + @" - " + shortTitle;
tabP.TabText = _tabTitle + @" - " + shortTitle;
}
else
{
@@ -246,38 +197,6 @@ namespace mRemoteNG.Connection.Protocol.Http
}
}
private void geckoBrowser_DocumentTitleChanged(object sender, EventArgs e)
{
try
{
if (!(InterfaceControl.Parent is ConnectionTab tabP)) return;
string shortTitle;
if (((WebBrowser)wBrowser).DocumentTitle.Length >= 15)
{
shortTitle = ((WebBrowser)wBrowser).DocumentTitle.Substring(0, 10) + "...";
}
else
{
shortTitle = ((WebBrowser)wBrowser).DocumentTitle;
}
if (!string.IsNullOrEmpty(tabTitle))
{
tabP.TabText = tabTitle + @" - " + shortTitle;
}
else
{
tabP.TabText = shortTitle;
}
}
catch (Exception ex)
{
Runtime.MessageCollector.AddExceptionStackTrace(Language.HttpDocumentTileChangeFailed, ex);
}
}
#endregion
#region Enums
@@ -288,7 +207,7 @@ namespace mRemoteNG.Connection.Protocol.Http
IE = 1,
[LocalizedAttributes.LocalizedDescription(nameof(Language.HttpCEF))]
CEF = 2
EdgeChromium = 2
}
#endregion

View File

@@ -6,7 +6,6 @@ using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol

View File

@@ -3,7 +3,6 @@ using System.Drawing;
using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Connection.Protocol.PowerShell
{

View File

@@ -8,7 +8,6 @@ using mRemoteNG.Connection.Protocol.VNC;
using System;
using mRemoteNG.Connection.Protocol.PowerShell;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Connection.Protocol
{

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol
{

View File

@@ -10,7 +10,6 @@ using System.Drawing;
using System.Threading;
using System.Windows.Forms;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
// ReSharper disable ArrangeAccessorOwnerBody

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,5 +1,4 @@
using System.ComponentModel;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -1,7 +1,6 @@
using System;
using System.Collections;
using mRemoteNG.App;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -8,7 +8,6 @@ using AxMSTSCLib;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Tools;
using mRemoteNG.UI;

View File

@@ -3,7 +3,6 @@ using mRemoteNG.App;
using MSTSCLib;
using System;
using System.Windows.Forms;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Connection.Protocol.RDP
{

View File

@@ -4,7 +4,6 @@ using System.Windows.Forms;
using AxMSTSCLib;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
using MSTSCLib;
namespace mRemoteNG.Connection.Protocol.RDP

View File

@@ -3,7 +3,6 @@ using System.Threading;
using System.ComponentModel;
using System.Net.Sockets;
using mRemoteNG.App;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
using mRemoteNG.UI.Forms;

View File

@@ -1,5 +1,4 @@
using System.ComponentModel;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tools;
namespace mRemoteNG.Connection.Protocol.VNC

View File

@@ -4,7 +4,6 @@ using mRemoteNG.Tools;
using System;
using System.ComponentModel;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;

View File

@@ -1,5 +1,4 @@
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Connection
{

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using mRemoteNG.Resources.Language;
using mRemoteNG.Tree;

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Security;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Credential
{

View File

@@ -1860,8 +1860,8 @@ Die Passwortlänge muss zwischen {0} und {1} liegen</value>
</data>
<data name="ReleaseChannelExplanation" xml:space="preserve">
<value>Stable enthält nur finale Versionen.
Beta beinhaltet Betas &amp; Release Candidates.
Development umfasst Alphas, Betas und Release Candidates.</value>
Preview beinhaltet Betas &amp; Release Candidates.
Nightly umfasst Alphas, Betas und Release Candidates.</value>
</data>
<data name="TrackActiveConnectionInConnectionTree" xml:space="preserve">
<value>Aktive Verbindung im Verbindungsbaum verfolgen</value>
@@ -2022,4 +2022,7 @@ Development umfasst Alphas, Betas und Release Candidates.</value>
<data name="ExceptionMessage" xml:space="preserve">
<value>Fehlermeldung</value>
</data>
<data name="WebView2InitializationFailed" xml:space="preserve">
<value>WebView2-Erstellung fehlgeschlagen</value>
</data>
</root>

View File

@@ -219,8 +219,8 @@ See the Microsoft Support article at http://support.microsoft.com/kb/811833 for
</data>
<data name="ReleaseChannelExplanation" xml:space="preserve">
<value>Stable channel includes final releases only.
Beta channel includes Betas &amp; Release Candidates.
Development Channel includes Alphas, Betas &amp; Release Candidates.</value>
Preview channel includes Betas &amp; Release Candidates.
Nightly Channel includes Alphas, Betas &amp; Release Candidates.</value>
</data>
<data name="Apply" xml:space="preserve">
<value>Apply</value>

View File

@@ -1969,8 +1969,8 @@ Se Microsofts support-artikkel på http://support.microsoft.com/kb/811833 for me
</data>
<data name="ReleaseChannelExplanation" xml:space="preserve">
<value>Stable-kanalen inkluderer bare endelige versjoner.
Beta-kanalen inkluderer beta- og release candidate-versjoner.
Development-kanalen inkluderer alpha-, beta- og release candidate-versjoner.</value>
Preview-kanalen inkluderer beta- og release candidate-versjoner.
Nightly-kanalen inkluderer alpha-, beta- og release candidate-versjoner.</value>
</data>
<data name="Apply" xml:space="preserve">
<value>Bruk</value>

View File

@@ -2018,8 +2018,8 @@ mRemoteNG will now quit and begin with the installation.</value>
</data>
<data name="ReleaseChannelExplanation" xml:space="preserve">
<value>Stable channel includes final releases only.
Beta channel includes Betas &amp; Release Candidates.
Development Channel includes Alphas, Betas &amp; Release Candidates.</value>
Preview channel includes Betas &amp; Release Candidates.
Nightly Channel includes Alphas, Betas &amp; Release Candidates.</value>
</data>
<data name="Apply" xml:space="preserve">
<value>Apply</value>
@@ -2160,7 +2160,7 @@ Development Channel includes Alphas, Betas &amp; Release Candidates.</value>
<value>Determines whether menus and windows can be displayed with animation effects in the remote session.</value>
</data>
<data name="HttpCEF" xml:space="preserve">
<value>CEF (Chromium)</value>
<value>Edge Chromium</value>
</data>
<data name="HttpFailedUrlBuild" xml:space="preserve">
<value>Failed to contruct the URL to load</value>
@@ -2174,4 +2174,10 @@ Development Channel includes Alphas, Betas &amp; Release Candidates.</value>
<data name="StartProgram" xml:space="preserve">
<value>Start Program</value>
</data>
<data name="WebView2InitializationFailed" xml:space="preserve">
<value>WebView2 creation failed with exception</value>
</data>
<data name="SmartCard" xml:space="preserve">
<value>SmartCard</value>
</data>
</root>

View File

@@ -1924,8 +1924,8 @@ mRemoteNG зараз припинить роботу і почне процес
</data>
<data name="ReleaseChannelExplanation" xml:space="preserve">
<value>Канал «Stable» включає лише остаточні стабільні випуски.
Канал «Beta» включає Beta та Release Candidate.
Канал «Development» включає Alpha, Beta та Release Candidate версії.</value>
Канал «Preview» включає Beta та Release Candidate.
Канал «Nightly» включає Alpha, Beta та Release Candidate версії.</value>
</data>
<data name="Apply" xml:space="preserve">
<value>Застосувати</value>

View File

@@ -1,6 +1,5 @@
using System;
using System.Windows.Forms;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Messages.MessageWriters
{

View File

@@ -233,6 +233,16 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap ExtendedProperty_16x {
get {
object obj = ResourceManager.GetObject("ExtendedProperty_16x", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
@@ -489,6 +499,16 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Property_16x {
get {
object obj = ResourceManager.GetObject("Property_16x", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>

View File

@@ -122,13 +122,13 @@
<value>..\Resources\ConnectedOverlay.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mRemoteNG_VisualElementsManifest" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Tiles\mRemoteNG.VisualElementsManifest.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
<value>..\mRemoteNG.VisualElementsManifest.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="VisualElements_150" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Tiles\VisualElements_150.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>..\VisualElements_150.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="VisualElements_70" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Tiles\VisualElements_70.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>..\VisualElements_70.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Loading_Spinner" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Loading_Spinner.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -331,7 +331,10 @@
<data name="StartupProject_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\StartupProject_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="test" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ExtendedProperty_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExtendedProperty_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Property_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Property_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -1523,18 +1523,6 @@ namespace mRemoteNG.Properties {
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("CEF")]
public string ConDefaultRenderingEngine {
get {
return ((string)(this["ConDefaultRenderingEngine"]));
}
set {
this["ConDefaultRenderingEngine"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
@@ -2797,7 +2785,7 @@ namespace mRemoteNG.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool PlaceSearchBarAboveConnectionTree {
get {
return ((bool)(this["PlaceSearchBarAboveConnectionTree"]));
@@ -3154,5 +3142,65 @@ namespace mRemoteNG.Properties {
this["StartFullScreen"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ViewMenuMessages {
get {
return ((bool)(this["ViewMenuMessages"]));
}
set {
this["ViewMenuMessages"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ViewMenuQuickConnect {
get {
return ((bool)(this["ViewMenuQuickConnect"]));
}
set {
this["ViewMenuQuickConnect"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ViewMenuExternalTools {
get {
return ((bool)(this["ViewMenuExternalTools"]));
}
set {
this["ViewMenuExternalTools"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ViewMenuMultiSSH {
get {
return ((bool)(this["ViewMenuMultiSSH"]));
}
set {
this["ViewMenuMultiSSH"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("EdgeChromium")]
public string ConDefaultRenderingEngine {
get {
return ((string)(this["ConDefaultRenderingEngine"]));
}
set {
this["ConDefaultRenderingEngine"] = value;
}
}
}
}

View File

@@ -377,9 +377,6 @@
<Setting Name="XULRunnerPath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRenderingEngine" Type="System.String" Scope="User">
<Value Profile="(Default)">CEF</Value>
</Setting>
<Setting Name="InhDefaultRenderingEngine" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
@@ -696,7 +693,7 @@
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="PlaceSearchBarAboveConnectionTree" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AlwaysShowConnectionTabs" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
@@ -785,5 +782,20 @@
<Setting Name="StartFullScreen" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ViewMenuMessages" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ViewMenuQuickConnect" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ViewMenuExternalTools" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ViewMenuMultiSSH" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConDefaultRenderingEngine" Type="System.String" Scope="User">
<Value Profile="(Default)">EdgeChromium</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

View File

@@ -1,7 +1,6 @@
using System;
using System.Security;
using System.Text.RegularExpressions;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.PasswordCreation
{

View File

@@ -1,7 +1,6 @@
using System;
using System.Security;
using System.Text.RegularExpressions;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.PasswordCreation
{

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Security;
using System.Text.RegularExpressions;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.PasswordCreation

View File

@@ -1,7 +1,6 @@
using System;
using System.Security;
using System.Text.RegularExpressions;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.PasswordCreation
{

View File

@@ -1,6 +1,5 @@
using System;
using System.Security;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.PasswordCreation

View File

@@ -10,7 +10,6 @@ using System;
using System.IO;
using System.Security;
using System.Text;
using mRemoteNG.Resources.Language;
using mRemoteNG.Security.KeyDerivation;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Engines;

View File

@@ -5,7 +5,6 @@ using System.Security.Cryptography;
using System.Text;
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.SymmetricEncryption

Some files were not shown because too many files have changed in this diff Show More