mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 14:07:46 +08:00
Secret Engine Property
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -6,6 +7,7 @@ using System.Threading.Tasks;
|
||||
using VaultSharp;
|
||||
using VaultSharp.V1.AuthMethods;
|
||||
using VaultSharp.V1.AuthMethods.Token;
|
||||
using VaultSharp.V1.SecretsEngines;
|
||||
|
||||
namespace ExternalConnectors.VO {
|
||||
public class VaultOpenbaoException(string message, string arguments) : Exception(message) {
|
||||
@@ -13,41 +15,57 @@ namespace ExternalConnectors.VO {
|
||||
}
|
||||
|
||||
public static class VaultOpenbao {
|
||||
public static void ReadPasswordSSH(string url, string token, string mount, string role, string address, string username, out string password) {
|
||||
private static VaultClient GetClient(string url, string token) {
|
||||
IAuthMethodInfo authMethod = new TokenAuthMethodInfo(token);
|
||||
var vaultClientSettings = new VaultClientSettings(url, authMethod);
|
||||
VaultClient vaultClient = new(vaultClientSettings);
|
||||
var mountType = vaultClient.V1.System.GetSecretBackendAsync(mount).Result.Data.Type;
|
||||
switch (mountType.Type) {
|
||||
case "ssh":
|
||||
var ssh = vaultClient.V1.Secrets.SSH.GetCredentialsAsync(role, address, username, mount).Result;
|
||||
password = ssh.Data.Key;
|
||||
return new(vaultClientSettings);
|
||||
}
|
||||
private static void TestMountType(VaultClient vaultClient, string mount, int VaultOpenbaoSecretEngine) {
|
||||
switch (vaultClient.V1.System.GetSecretBackendAsync(mount).Result.Data.Type.Type) {
|
||||
case "kv" when VaultOpenbaoSecretEngine != 0:
|
||||
throw new VaultOpenbaoException($"Backend of type kv does not match expected type {VaultOpenbaoSecretEngine}", null);
|
||||
case "ldap" when VaultOpenbaoSecretEngine != 1 && VaultOpenbaoSecretEngine != 2:
|
||||
throw new VaultOpenbaoException($"Backend of type ldap does not match expected type {VaultOpenbaoSecretEngine}", null);
|
||||
}
|
||||
}
|
||||
public static void ReadPasswordSSH(string url, string token, int secretEngine, string mount, string role, string username, out string password) {
|
||||
VaultClient vaultClient = GetClient(url, token);
|
||||
TestMountType(vaultClient, mount, secretEngine);
|
||||
switch (secretEngine) {
|
||||
case 0:
|
||||
var kv = vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(role, mountPoint: mount).Result;
|
||||
password = kv.Data.Data[username].ToString();
|
||||
return;
|
||||
//case "ssh": // TODO: does not work with Keyboard-Interactive yet
|
||||
// var ssh = vaultClient.V1.Secrets.SSH.GetCredentialsAsync(role, address, username, mount).Result;
|
||||
// password = ssh.Data.Key;
|
||||
// return;
|
||||
default:
|
||||
throw new VaultOpenbaoException($"Backend of type {mountType.Type} is not supported", null);
|
||||
throw new VaultOpenbaoException($"Backend of type {secretEngine} is not supported", null);
|
||||
}
|
||||
|
||||
}
|
||||
public static void ReadPasswordRDP(string url, string token, string mount, string role, out string username, out string password) {
|
||||
IAuthMethodInfo authMethod = new TokenAuthMethodInfo(token);
|
||||
var vaultClientSettings = new VaultClientSettings(url, authMethod);
|
||||
VaultClient vaultClient = new(vaultClientSettings);
|
||||
var mountType = vaultClient.V1.System.GetSecretBackendAsync(mount).Result.Data.Type;
|
||||
switch (mountType.Type) {
|
||||
case "ldap":
|
||||
try { // don't care if dynamic or static. try both
|
||||
var secret = vaultClient.V1.Secrets.OpenLDAP.GetDynamicCredentialsAsync(role, mount).Result;
|
||||
username = secret.Data.Username;
|
||||
password = secret.Data.Password;
|
||||
} catch (Exception) {
|
||||
var secret = vaultClient.V1.Secrets.OpenLDAP.GetStaticCredentialsAsync(role, mount).Result;
|
||||
username = secret.Data.Username;
|
||||
password = secret.Data.Password;
|
||||
}
|
||||
public static void ReadPasswordRDP(string url, string token, int secretEngine, string mount, string role, ref string username, out string password) {
|
||||
VaultClient vaultClient = GetClient(url, token);
|
||||
TestMountType(vaultClient, mount, secretEngine);
|
||||
switch (secretEngine) {
|
||||
case 0:
|
||||
var kv = vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(role, mountPoint: mount).Result;
|
||||
password = kv.Data.Data[username].ToString();
|
||||
return;
|
||||
|
||||
case 1:
|
||||
var ldapd = vaultClient.V1.Secrets.OpenLDAP.GetDynamicCredentialsAsync(role, mount).Result;
|
||||
username = ldapd.Data.Username;
|
||||
password = ldapd.Data.Password;
|
||||
return;
|
||||
case 2:
|
||||
var ldaps = vaultClient.V1.Secrets.OpenLDAP.GetStaticCredentialsAsync(role, mount).Result;
|
||||
username = ldaps.Data.Username;
|
||||
password = ldaps.Data.Password;
|
||||
return;
|
||||
|
||||
default:
|
||||
throw new VaultOpenbaoException($"Backend of type {mountType.Type} is not supported", null);
|
||||
throw new VaultOpenbaoException($"Backend of type {secretEngine} is not supported", null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -154,8 +154,9 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
element.Add(new XAttribute("ExternalAddressProvider", connectionInfo.ExternalAddressProvider));
|
||||
|
||||
// Vault/OpenBao specific
|
||||
element.Add(new XAttribute("VaultMount", connectionInfo.VaultMount ?? string.Empty));
|
||||
element.Add(new XAttribute("VaultRole", connectionInfo.VaultRole ?? string.Empty));
|
||||
element.Add(new XAttribute("VaultOpenbaoMount", connectionInfo.VaultOpenbaoMount ?? string.Empty));
|
||||
element.Add(new XAttribute("VaultOpenbaoRole", connectionInfo.VaultOpenbaoRole ?? string.Empty));
|
||||
element.Add(new XAttribute("VaultOpenbaoSecretEngine", connectionInfo.VaultOpenbaoSecretEngine));
|
||||
}
|
||||
|
||||
private void SetInheritanceAttributes(XContainer element, IInheritable connectionInfo)
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
private void InitializeRootNode(XmlElement connectionsRootElement)
|
||||
{
|
||||
_rootNodeInfo.Name = connectionsRootElement?.Attributes["Name"]?.Value.Trim();
|
||||
_rootNodeInfo.OpenbaoVaultUrl = connectionsRootElement?.Attributes["OpenbaoVaultUrl"]?.Value.Trim();
|
||||
_rootNodeInfo.VaultOpenbaoUrl = connectionsRootElement?.Attributes["VaultOpenbaoUrl"]?.Value.Trim();
|
||||
}
|
||||
|
||||
private void CreateDecryptor(RootNodeInfo rootNodeInfo, XmlElement connectionsRootElement = null)
|
||||
@@ -517,8 +517,9 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
connectionInfo.UserViaAPI = xmlnode.GetAttributeAsString("UserViaAPI");
|
||||
connectionInfo.Inheritance.UserViaAPI = xmlnode.GetAttributeAsBool("InheritUserViaAPI");
|
||||
connectionInfo.ExternalAddressProvider = xmlnode.GetAttributeAsEnum("ExternalAddressProvider", ExternalAddressProvider.None);
|
||||
connectionInfo.VaultMount = xmlnode.GetAttributeAsString("VaultMount");
|
||||
connectionInfo.VaultRole = xmlnode.GetAttributeAsString("VaultRole");
|
||||
connectionInfo.VaultOpenbaoMount = xmlnode.GetAttributeAsString("VaultOpenbaoMount");
|
||||
connectionInfo.VaultOpenbaoRole = xmlnode.GetAttributeAsString("VaultOpenbaoRole");
|
||||
connectionInfo.VaultOpenbaoSecretEngine = xmlnode.GetAttributeAsEnum("VaultOpenbaoSecretEngine", VaultOpenbaoSecretEngine.Kv);
|
||||
connectionInfo.EC2InstanceId = xmlnode.GetAttributeAsString("EC2InstanceId");
|
||||
connectionInfo.EC2Region = xmlnode.GetAttributeAsString("EC2Region");
|
||||
connectionInfo.UseRestrictedAdmin = xmlnode.GetAttributeAsBool("UseRestrictedAdmin");
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
XElement element = new(xmlNamespace + "Connections");
|
||||
element.Add(new XAttribute(XNamespace.Xmlns + "mrng", xmlNamespace));
|
||||
element.Add(new XAttribute(XName.Get("Name"), rootNodeInfo.Name));
|
||||
element.Add(new XAttribute(XName.Get("OpenbaoVaultUrl"), rootNodeInfo.OpenbaoVaultUrl));
|
||||
element.Add(new XAttribute(XName.Get("VaultOpenbaoUrl"), rootNodeInfo.VaultOpenbaoUrl));
|
||||
element.Add(new XAttribute(XName.Get("Export"), "false"));
|
||||
element.Add(new XAttribute(XName.Get("EncryptionEngine"), cryptographyProvider.CipherEngine));
|
||||
element.Add(new XAttribute(XName.Get("BlockCipherMode"), cryptographyProvider.CipherMode));
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace mRemoteNG.Connection
|
||||
private string _password = null;
|
||||
private string _vaultRole = null;
|
||||
private string _vaultMount = null;
|
||||
private VaultOpenbaoSecretEngine _vaultSecretEngine = VaultOpenbaoSecretEngine.Kv;
|
||||
private string _domain = "";
|
||||
private string _vmId = "";
|
||||
private bool _useEnhancedMode;
|
||||
@@ -252,25 +253,33 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Connection), 2),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.VaultOpenbaoMount)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoMountDescription)),
|
||||
AttributeUsedInProtocol(ProtocolType.RDP, ProtocolType.VNC, ProtocolType.ARD, ProtocolType.SSH1,
|
||||
ProtocolType.SSH2, ProtocolType.Telnet, ProtocolType.RAW, ProtocolType.HTTP, ProtocolType.HTTPS,
|
||||
ProtocolType.IntApp)]
|
||||
public virtual string VaultMount {
|
||||
get => GetPropertyValue("VaultMount", _vaultMount);
|
||||
set => SetField(ref _vaultMount, value, "VaultMount");
|
||||
AttributeUsedInProtocol(ProtocolType.RDP, ProtocolType.SSH1, ProtocolType.SSH2)]
|
||||
public virtual string VaultOpenbaoMount {
|
||||
get => GetPropertyValue("VaultOpenbaoMount", _vaultMount);
|
||||
set => SetField(ref _vaultMount, value, "VaultOpenbaoMount");
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Connection), 2),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.VaultOpenbaoRole)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoRoleDescription)),
|
||||
AttributeUsedInProtocol(ProtocolType.RDP, ProtocolType.VNC, ProtocolType.ARD, ProtocolType.SSH1,
|
||||
ProtocolType.SSH2, ProtocolType.Telnet, ProtocolType.RAW, ProtocolType.HTTP, ProtocolType.HTTPS,
|
||||
ProtocolType.IntApp)]
|
||||
public virtual string VaultRole {
|
||||
get => GetPropertyValue("VaultRole", _vaultRole);
|
||||
set => SetField(ref _vaultRole, value, "VaultRole");
|
||||
AttributeUsedInProtocol(ProtocolType.RDP, ProtocolType.SSH1, ProtocolType.SSH2)]
|
||||
public virtual string VaultOpenbaoRole {
|
||||
get => GetPropertyValue("VaultOpenbaoRole", _vaultRole);
|
||||
set => SetField(ref _vaultRole, value, "VaultOpenbaoRole");
|
||||
}
|
||||
|
||||
// external credential provider selector
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Connection), 2),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.VaultOpenbaoSecretEngine)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionVaultOpenbaoSecretEngine)),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
AttributeUsedInProtocol(ProtocolType.RDP, ProtocolType.SSH1, ProtocolType.SSH2)]
|
||||
public VaultOpenbaoSecretEngine VaultOpenbaoSecretEngine {
|
||||
get => GetPropertyValue("VaultOpenbaoSecretEngine", _vaultSecretEngine);
|
||||
set => SetField(ref _vaultSecretEngine, value, "VaultOpenbaoSecretEngine");
|
||||
}
|
||||
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Connection), 2),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.Domain)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionDomain)),
|
||||
|
||||
@@ -168,7 +168,7 @@ namespace mRemoteNG.Connection.Protocol
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: No valid Openbao/Vault data found in root node.", 0);
|
||||
return false;
|
||||
}
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordSSH(rootNode.OpenbaoVaultUrl, rootNode.OpenbaoVaultToken, InterfaceControl.Info?.VaultMount ?? "", InterfaceControl.Info?.VaultRole ?? "", InterfaceControl.Info?.Hostname ?? "", InterfaceControl.Info?.Username ?? "root", out password);
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordSSH(rootNode.VaultOpenbaoUrl, rootNode.VaultOpenbaoToken, (int)InterfaceControl.Info?.VaultOpenbaoSecretEngine, InterfaceControl.Info?.VaultOpenbaoMount ?? "", InterfaceControl.Info?.VaultOpenbaoRole ?? "", InterfaceControl.Info?.Username ?? "root", out password);
|
||||
} catch (ExternalConnectors.VO.VaultOpenbaoException ex) {
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: " + ex.Message, 0);
|
||||
}
|
||||
|
||||
@@ -488,7 +488,9 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: No valid Openbao/Vault data found in root node.", 0);
|
||||
return;
|
||||
}
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordRDP(rootNode.OpenbaoVaultUrl, rootNode.OpenbaoVaultToken, connectionInfo.VaultMount, connectionInfo.VaultRole, out gwu, out gwp);
|
||||
if (connectionInfo.VaultOpenbaoSecretEngine == VaultOpenbaoSecretEngine.Kv)
|
||||
gwu = connectionInfo.RDGatewayUsername;
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordRDP(rootNode.VaultOpenbaoUrl, rootNode.VaultOpenbaoToken, (int)connectionInfo.VaultOpenbaoSecretEngine, connectionInfo.VaultOpenbaoMount, connectionInfo.VaultOpenbaoRole, ref gwu, out gwp);
|
||||
} catch (ExternalConnectors.VO.VaultOpenbaoException ex) {
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: " + ex.Message, 0);
|
||||
}
|
||||
@@ -612,7 +614,9 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: No valid Openbao/Vault data found in root node.", 0);
|
||||
return;
|
||||
}
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordRDP(rootNode.OpenbaoVaultUrl, rootNode.OpenbaoVaultToken, connectionInfo?.VaultMount ?? "", connectionInfo?.VaultRole ?? "", out userName, out password);
|
||||
if(connectionInfo.VaultOpenbaoSecretEngine == VaultOpenbaoSecretEngine.Kv)
|
||||
userName = connectionInfo?.Username ?? "";
|
||||
ExternalConnectors.VO.VaultOpenbao.ReadPasswordRDP(rootNode.VaultOpenbaoUrl, rootNode.VaultOpenbaoToken, (int)connectionInfo.VaultOpenbaoSecretEngine, connectionInfo?.VaultOpenbaoMount ?? "", connectionInfo?.VaultOpenbaoRole ?? "", ref userName, out password);
|
||||
} catch (ExternalConnectors.VO.VaultOpenbaoException ex) {
|
||||
Event_ErrorOccured(this, "Secret Server Interface Error: " + ex.Message, 0);
|
||||
}
|
||||
|
||||
20
mRemoteNG/Connection/VaultOpenbaoSecretEngine.cs
Normal file
20
mRemoteNG/Connection/VaultOpenbaoSecretEngine.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using mRemoteNG.Resources.Language;
|
||||
using mRemoteNG.Tools;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace mRemoteNG.Connection {
|
||||
public enum VaultOpenbaoSecretEngine {
|
||||
[LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoSecretEngineKeyValue))]
|
||||
Kv = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoSecretEngineLDAPDynamic))]
|
||||
LdapDynamic = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoSecretEngineLDAPStatic))]
|
||||
LdapStatic = 2,
|
||||
}
|
||||
}
|
||||
117
mRemoteNG/Language/Language.Designer.cs
generated
117
mRemoteNG/Language/Language.Designer.cs
generated
@@ -3486,42 +3486,6 @@ namespace mRemoteNG.Resources.Language {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Token for Openbao/Vault.
|
||||
/// </summary>
|
||||
internal static string OpenbaoVaultToken {
|
||||
get {
|
||||
return ResourceManager.GetString("OpenbaoVaultToken", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Token to access Openbao/Vault server.
|
||||
/// </summary>
|
||||
internal static string OpenbaoVaultTokenPropertyDescription {
|
||||
get {
|
||||
return ResourceManager.GetString("OpenbaoVaultTokenPropertyDescription", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Openbao/Vault Url.
|
||||
/// </summary>
|
||||
internal static string OpenbaoVaultUrl {
|
||||
get {
|
||||
return ResourceManager.GetString("OpenbaoVaultUrl", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The URL of the Openbao/Vault server to retrieve credentials.
|
||||
/// </summary>
|
||||
internal static string OpenbaoVaultUrlPropertyDescription {
|
||||
get {
|
||||
return ResourceManager.GetString("OpenbaoVaultUrlPropertyDescription", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Open Connection File....
|
||||
/// </summary>
|
||||
@@ -4566,6 +4530,15 @@ namespace mRemoteNG.Resources.Language {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Secret engine used in Vault/Openbao to store the secret.
|
||||
/// </summary>
|
||||
internal static string PropertyDescriptionVaultOpenbaoSecretEngine {
|
||||
get {
|
||||
return ResourceManager.GetString("PropertyDescriptionVaultOpenbaoSecretEngine", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to If you want to establish a view only connection to the host select yes..
|
||||
/// </summary>
|
||||
@@ -6901,6 +6874,78 @@ namespace mRemoteNG.Resources.Language {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vault/Openbao Secret Engine.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoSecretEngine {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoSecretEngine", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to KeyValue (Username as Key).
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoSecretEngineKeyValue {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoSecretEngineKeyValue", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to LDAP dynamic role.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoSecretEngineLDAPDynamic {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoSecretEngineLDAPDynamic", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to LDAP static role.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoSecretEngineLDAPStatic {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoSecretEngineLDAPStatic", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Token for Vault/Openbao.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoToken {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoToken", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Token to access Vault/Openbao server.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoTokenPropertyDescription {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoTokenPropertyDescription", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vault/Openbao Url.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoUrl {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoUrl", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The URL of the Vault/Openbao server to retrieve credentials.
|
||||
/// </summary>
|
||||
internal static string VaultOpenbaoUrlPropertyDescription {
|
||||
get {
|
||||
return ResourceManager.GetString("VaultOpenbaoUrlPropertyDescription", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Verify:.
|
||||
/// </summary>
|
||||
|
||||
@@ -1894,19 +1894,34 @@ mRemoteNG se nyní ukončí a zahájí instalaci.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="WarnMeOnlyWhenClosingMultipleConnections1" xml:space="preserve">
|
||||
<value>Upozornit mě pouze při ukončení několika připojení</value>
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2063,16 +2063,31 @@ Nightly umfasst Alphas, Betas und Release Candidates.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -286,16 +286,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -325,16 +325,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1554,16 +1554,31 @@ mRemoteNG ahora se cerrará y comenzará la instalación.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -151,16 +151,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2166,16 +2166,31 @@ Le canal nightly inclut les versions alpha, beta et release candidates.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -346,16 +346,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1572,16 +1572,31 @@ mRemoteNG verrà chiuso e l'installazione avrà inizio.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1729,16 +1729,31 @@ mRemoteNGを終了してインストールを開始します</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1819,16 +1819,31 @@ mRemoteNG는 이제 종료되고 설치로 시작됩니다.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -241,16 +241,31 @@ Nightly Channel includes Alphas, Betas & Release Candidates.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2018,16 +2018,31 @@ Nightly-kanalen inkluderer alpha-, beta- og release candidate-versjoner.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1601,16 +1601,31 @@ mRemoteNG zal nu worden gesloten en beginnen met de installatie.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2372,16 +2372,31 @@ Kanał nocny obejmuje wersje alfa, beta i RC (gotowe do wydania).</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -382,16 +382,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1567,16 +1567,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2482,16 +2482,31 @@ Nightly Channel includes Alphas, Betas & Release Candidates.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" xml:space="preserve">
|
||||
<value>Name or path of the secret</value>
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" xml:space="preserve">
|
||||
<value>Token for Openbao/Vault</value>
|
||||
<data name="VaultOpenbaoToken" xml:space="preserve">
|
||||
<value>Token for Vault/Openbao</value>
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" xml:space="preserve">
|
||||
<value>Token to access Openbao/Vault server</value>
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" xml:space="preserve">
|
||||
<value>Token to access Vault/Openbao server</value>
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" xml:space="preserve">
|
||||
<value>Openbao/Vault Url</value>
|
||||
<data name="VaultOpenbaoUrl" xml:space="preserve">
|
||||
<value>Vault/Openbao Url</value>
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" xml:space="preserve">
|
||||
<value>The URL of the Openbao/Vault server to retrieve credentials</value>
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" xml:space="preserve">
|
||||
<value>The URL of the Vault/Openbao server to retrieve credentials</value>
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" xml:space="preserve">
|
||||
<value>Vault/Openbao Secret Engine</value>
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" xml:space="preserve">
|
||||
<value>Secret engine used in Vault/Openbao to store the secret</value>
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" xml:space="preserve">
|
||||
<value>KeyValue (Username as Key)</value>
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" xml:space="preserve">
|
||||
<value>LDAP dynamic role</value>
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" xml:space="preserve">
|
||||
<value>LDAP static role</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -2011,16 +2011,31 @@ mRemoteNG сейчас прекратит работу и начнет проц
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2185,16 +2185,31 @@ Nattliga kanalen inkluderar Alfa, Betor & Utgåvokandidater.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2429,16 +2429,31 @@
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1641,16 +1641,31 @@ MRemoteNG şimdi kapanacak ve kurulum başlayacak.</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2015,16 +2015,31 @@ mRemoteNG зараз припинить роботу і почне процес
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -2093,16 +2093,31 @@ mRemoteNG 将退出并安装更新。</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -1588,16 +1588,31 @@ mRemoteNG 將立即結束並開始安裝。</value>
|
||||
<data name="VaultOpenbaoRoleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoToken" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoTokenPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrl" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="OpenbaoVaultUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<data name="VaultOpenbaoUrlPropertyDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="PropertyDescriptionVaultOpenbaoSecretEngine" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineKeyValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPDynamic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="VaultOpenbaoSecretEngineLDAPStatic" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
@@ -14,8 +14,8 @@ namespace mRemoteNG.Tree.Root
|
||||
{
|
||||
private string _name = Language.Connections;
|
||||
private string _customPassword = "";
|
||||
private string _openbaoVaultToken = "";
|
||||
private string _openbaoVaultUrl = "";
|
||||
private string _vaultOpenbaoToken = "";
|
||||
private string _vaultOpenbaoUrl = "";
|
||||
|
||||
public RootNodeInfo(RootNodeType rootType)
|
||||
: this(rootType, Guid.NewGuid().ToString())
|
||||
@@ -66,21 +66,21 @@ namespace mRemoteNG.Tree.Root
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous)),
|
||||
Browsable(true),
|
||||
LocalizedAttributes.LocalizedDefaultValue(nameof(Language.Connections)),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.OpenbaoVaultUrl)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.OpenbaoVaultUrlPropertyDescription))]
|
||||
public string OpenbaoVaultUrl {
|
||||
get => _openbaoVaultUrl;
|
||||
set => _openbaoVaultUrl = value;
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.VaultOpenbaoUrl)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoUrlPropertyDescription))]
|
||||
public string VaultOpenbaoUrl {
|
||||
get => _vaultOpenbaoUrl;
|
||||
set => _vaultOpenbaoUrl = value;
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous)),
|
||||
Browsable(true),
|
||||
LocalizedAttributes.LocalizedDefaultValue(nameof(Language.Connections)),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.OpenbaoVaultToken)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.OpenbaoVaultTokenPropertyDescription))]
|
||||
public string OpenbaoVaultToken {
|
||||
get => _openbaoVaultToken;
|
||||
set => _openbaoVaultToken = value;
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.VaultOpenbaoToken)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.VaultOpenbaoTokenPropertyDescription))]
|
||||
public string VaultOpenbaoToken {
|
||||
get => _vaultOpenbaoToken;
|
||||
set => _vaultOpenbaoToken = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -19,11 +19,9 @@ using mRemoteNG.Tree.Root;
|
||||
using mRemoteNG.Resources.Language;
|
||||
using System.Runtime.Versioning;
|
||||
|
||||
namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
{
|
||||
namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid {
|
||||
[SupportedOSPlatform("windows")]
|
||||
public partial class ConnectionInfoPropertyGrid : FilteredPropertyGrid.FilteredPropertyGrid
|
||||
{
|
||||
public partial class ConnectionInfoPropertyGrid : FilteredPropertyGrid.FilteredPropertyGrid {
|
||||
private readonly Dictionary<Type, IEnumerable<PropertyInfo>> _propertyCache = [];
|
||||
private ConnectionInfo _selectedConnectionInfo;
|
||||
private PropertyMode _propertyMode;
|
||||
@@ -32,11 +30,9 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
/// The <see cref="ConnectionInfo"/> currently being shown by this
|
||||
/// property grid.
|
||||
/// </summary>
|
||||
public ConnectionInfo SelectedConnectionInfo
|
||||
{
|
||||
public ConnectionInfo SelectedConnectionInfo {
|
||||
get => _selectedConnectionInfo;
|
||||
set
|
||||
{
|
||||
set {
|
||||
if (_selectedConnectionInfo == value)
|
||||
return;
|
||||
|
||||
@@ -49,11 +45,9 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
/// <summary>
|
||||
/// Determines which set of properties this grid will display.
|
||||
/// </summary>
|
||||
public PropertyMode PropertyMode
|
||||
{
|
||||
public PropertyMode PropertyMode {
|
||||
get => _propertyMode;
|
||||
set
|
||||
{
|
||||
set {
|
||||
if (_propertyMode == value)
|
||||
return;
|
||||
_propertyMode = value;
|
||||
@@ -82,18 +76,15 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
/// </summary>
|
||||
public bool RootNodeSelected { get; private set; }
|
||||
|
||||
public ConnectionInfoPropertyGrid()
|
||||
{
|
||||
public ConnectionInfoPropertyGrid() {
|
||||
InitializeComponent();
|
||||
PropertyValueChanged += pGrid_PropertyValueChanged;
|
||||
}
|
||||
|
||||
private void SetGridObject()
|
||||
{
|
||||
private void SetGridObject() {
|
||||
ClearFilters();
|
||||
|
||||
switch (PropertyMode)
|
||||
{
|
||||
switch (PropertyMode) {
|
||||
case PropertyMode.Connection:
|
||||
default:
|
||||
SelectedObject = SelectedConnectionInfo;
|
||||
@@ -113,30 +104,24 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
ShowHideGridItems();
|
||||
}
|
||||
|
||||
private void ShowHideGridItems()
|
||||
{
|
||||
try
|
||||
{
|
||||
private void ShowHideGridItems() {
|
||||
try {
|
||||
if (SelectedConnectionInfo == null)
|
||||
return;
|
||||
|
||||
if (RootNodeSelected && PropertyMode == PropertyMode.Connection)
|
||||
{
|
||||
if (SelectedConnectionInfo is RootPuttySessionsNodeInfo)
|
||||
{
|
||||
if (RootNodeSelected && PropertyMode == PropertyMode.Connection) {
|
||||
if (SelectedConnectionInfo is RootPuttySessionsNodeInfo) {
|
||||
BrowsableProperties = new[]
|
||||
{
|
||||
nameof(RootPuttySessionsNodeInfo.Name)
|
||||
};
|
||||
}
|
||||
else if (SelectedConnectionInfo is RootNodeInfo)
|
||||
{
|
||||
} else if (SelectedConnectionInfo is RootNodeInfo) {
|
||||
BrowsableProperties = new[]
|
||||
{
|
||||
nameof(RootNodeInfo.Name),
|
||||
nameof(RootNodeInfo.Password),
|
||||
nameof(RootNodeInfo.OpenbaoVaultUrl),
|
||||
nameof(RootNodeInfo.OpenbaoVaultToken)
|
||||
nameof(RootNodeInfo.VaultOpenbaoUrl),
|
||||
nameof(RootNodeInfo.VaultOpenbaoToken)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -154,8 +139,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
|
||||
List<string> strHide = new();
|
||||
|
||||
if (PropertyMode == PropertyMode.Connection)
|
||||
{
|
||||
if (PropertyMode == PropertyMode.Connection) {
|
||||
// hide any inherited properties
|
||||
strHide.AddRange(SelectedConnectionInfo.Inheritance.GetEnabledInheritanceProperties());
|
||||
|
||||
@@ -164,8 +148,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
strHide.AddRange(SpecialExternalCredentialProviderExclusions());
|
||||
|
||||
// ReSharper disable once SwitchStatementMissingSomeCases
|
||||
switch (SelectedConnectionInfo.Protocol)
|
||||
{
|
||||
switch (SelectedConnectionInfo.Protocol) {
|
||||
case ProtocolType.RDP:
|
||||
strHide.AddRange(SpecialRdpExclusions());
|
||||
break;
|
||||
@@ -180,18 +163,14 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
|
||||
if (SelectedConnectionInfo is PuttySessionInfo)
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Favorite));
|
||||
}
|
||||
else if (PropertyMode == PropertyMode.DefaultConnection)
|
||||
{
|
||||
} else if (PropertyMode == PropertyMode.DefaultConnection) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Hostname));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Name));
|
||||
}
|
||||
|
||||
HiddenProperties = strHide.ToArray();
|
||||
Refresh();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
} catch (Exception ex) {
|
||||
Runtime.MessageCollector.AddMessage(
|
||||
MessageClass.ErrorMsg,
|
||||
Language.ConfigPropertyGridHideItemsFailed +
|
||||
@@ -199,8 +178,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerable<PropertyInfo> GetPropertiesForGridObject(object currentGridObject)
|
||||
{
|
||||
private IEnumerable<PropertyInfo> GetPropertiesForGridObject(object currentGridObject) {
|
||||
if (_propertyCache.TryGetValue(currentGridObject.GetType(), out IEnumerable<PropertyInfo> properties))
|
||||
return properties;
|
||||
|
||||
@@ -211,8 +189,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
return props;
|
||||
}
|
||||
|
||||
private bool IsValidForProtocol(PropertyInfo property, ProtocolType protocol, bool skipProtocolCheck)
|
||||
{
|
||||
private bool IsValidForProtocol(PropertyInfo property, ProtocolType protocol, bool skipProtocolCheck) {
|
||||
return
|
||||
property.GetCustomAttribute<BrowsableAttribute>()?.Browsable != false &&
|
||||
(skipProtocolCheck || property.GetCustomAttribute<AttributeUsedInProtocol>()?
|
||||
@@ -220,45 +197,38 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
.Contains(protocol) != false);
|
||||
}
|
||||
|
||||
private List<string> SpecialExternalAddressProviderExclusions()
|
||||
{
|
||||
private List<string> SpecialExternalAddressProviderExclusions() {
|
||||
List<string> strHide = new();
|
||||
|
||||
// aws
|
||||
if (SelectedConnectionInfo.ExternalAddressProvider != ExternalAddressProvider.AmazonWebServices)
|
||||
{
|
||||
if (SelectedConnectionInfo.ExternalAddressProvider != ExternalAddressProvider.AmazonWebServices) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.EC2InstanceId));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.EC2Region));
|
||||
}
|
||||
return strHide;
|
||||
}
|
||||
|
||||
private List<string> SpecialExternalCredentialProviderExclusions()
|
||||
{
|
||||
private List<string> SpecialExternalCredentialProviderExclusions() {
|
||||
List<string> strHide = new();
|
||||
|
||||
if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.None)
|
||||
{
|
||||
if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.None) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.UserViaAPI));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultRole));
|
||||
}
|
||||
else if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.DelineaSecretServer
|
||||
|| SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.ClickstudiosPasswordState)
|
||||
{
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoRole));
|
||||
} else if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.DelineaSecretServer
|
||||
|| SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.ClickstudiosPasswordState) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Username));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Password));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Domain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultRole));
|
||||
}
|
||||
else if(SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.OnePassword) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultRole));
|
||||
}
|
||||
else if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.VaultOpenbao) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoRole));
|
||||
} else if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.OnePassword) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoMount));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VaultOpenbaoRole));
|
||||
} else if (SelectedConnectionInfo.ExternalCredentialProvider == ExternalCredentialProvider.VaultOpenbao) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.UserViaAPI));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Username));
|
||||
if (SelectedConnectionInfo.VaultOpenbaoSecretEngine != VaultOpenbaoSecretEngine.Kv)
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Username));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Password));
|
||||
}
|
||||
return strHide;
|
||||
@@ -267,43 +237,34 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private List<string> SpecialRdpExclusions()
|
||||
{
|
||||
private List<string> SpecialRdpExclusions() {
|
||||
List<string> strHide = new();
|
||||
|
||||
if (SelectedConnectionInfo.RDPMinutesToIdleTimeout <= 0)
|
||||
{
|
||||
if (SelectedConnectionInfo.RDPMinutesToIdleTimeout <= 0) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDPAlertIdleTimeout));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.RDGatewayUsageMethod == RDGatewayUsageMethod.Never)
|
||||
{
|
||||
if (SelectedConnectionInfo.RDGatewayUsageMethod == RDGatewayUsageMethod.Never) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayHostname));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUseConnectionCredentials));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayAccessToken));
|
||||
}
|
||||
else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.Yes ||
|
||||
SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.SmartCard)
|
||||
{
|
||||
} else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.Yes ||
|
||||
SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.SmartCard) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayExternalCredentialProvider));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUserViaAPI));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayAccessToken));
|
||||
}
|
||||
else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.ExternalCredentialProvider)
|
||||
{
|
||||
} else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.ExternalCredentialProvider) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayAccessToken));
|
||||
}
|
||||
else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.AccessToken)
|
||||
{
|
||||
} else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials == RDGatewayUseConnectionCredentials.AccessToken) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
@@ -312,23 +273,19 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
}
|
||||
|
||||
if (!(SelectedConnectionInfo.Resolution == RDPResolutions.FitToWindow ||
|
||||
SelectedConnectionInfo.Resolution == RDPResolutions.Fullscreen))
|
||||
{
|
||||
SelectedConnectionInfo.Resolution == RDPResolutions.Fullscreen)) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.AutomaticResize));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.RedirectDiskDrives != RDPDiskDrives.Custom)
|
||||
{
|
||||
if (SelectedConnectionInfo.RedirectDiskDrives != RDPDiskDrives.Custom) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RedirectDiskDrivesCustom));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.RedirectSound != RDPSounds.BringToThisComputer)
|
||||
{
|
||||
if (SelectedConnectionInfo.RedirectSound != RDPSounds.BringToThisComputer) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.SoundQuality));
|
||||
}
|
||||
|
||||
if (!SelectedConnectionInfo.UseVmId)
|
||||
{
|
||||
if (!SelectedConnectionInfo.UseVmId) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VmId));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.UseEnhancedMode));
|
||||
}
|
||||
@@ -336,17 +293,14 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
return strHide;
|
||||
}
|
||||
|
||||
private List<string> SpecialVncExclusions()
|
||||
{
|
||||
private List<string> SpecialVncExclusions() {
|
||||
List<string> strHide = new();
|
||||
if (SelectedConnectionInfo.VNCAuthMode == ProtocolVNC.AuthMode.AuthVNC)
|
||||
{
|
||||
if (SelectedConnectionInfo.VNCAuthMode == ProtocolVNC.AuthMode.AuthVNC) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Username));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.Domain));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.VNCProxyType == ProtocolVNC.ProxyType.ProxyNone)
|
||||
{
|
||||
if (SelectedConnectionInfo.VNCProxyType == ProtocolVNC.ProxyType.ProxyNone) {
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VNCProxyIP));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VNCProxyPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.VNCProxyPort));
|
||||
@@ -356,19 +310,14 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
return strHide;
|
||||
}
|
||||
|
||||
private void UpdateConnectionInfoNode(PropertyValueChangedEventArgs e)
|
||||
{
|
||||
private void UpdateConnectionInfoNode(PropertyValueChangedEventArgs e) {
|
||||
if (IsShowingInheritance)
|
||||
return;
|
||||
|
||||
if (e.ChangedItem.Label == Language.Protocol)
|
||||
{
|
||||
if (e.ChangedItem.Label == Language.Protocol) {
|
||||
SelectedConnectionInfo.SetDefaultPort();
|
||||
}
|
||||
else if (e.ChangedItem.Label == Language.Name)
|
||||
{
|
||||
if (Settings.Default.SetHostnameLikeDisplayName)
|
||||
{
|
||||
} else if (e.ChangedItem.Label == Language.Name) {
|
||||
if (Settings.Default.SetHostnameLikeDisplayName) {
|
||||
if (!string.IsNullOrEmpty(SelectedConnectionInfo.Name))
|
||||
SelectedConnectionInfo.Hostname = SelectedConnectionInfo.Name;
|
||||
}
|
||||
@@ -378,51 +327,41 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
DefaultConnectionInfo.Instance.SaveTo(Settings.Default, a => "ConDefault" + a);
|
||||
}
|
||||
|
||||
private void UpdateRootInfoNode(PropertyValueChangedEventArgs e)
|
||||
{
|
||||
private void UpdateRootInfoNode(PropertyValueChangedEventArgs e) {
|
||||
if (!(SelectedObject is RootNodeInfo rootInfo))
|
||||
return;
|
||||
|
||||
if (e.ChangedItem.PropertyDescriptor?.Name != "Password")
|
||||
return;
|
||||
|
||||
if (rootInfo.Password)
|
||||
{
|
||||
if (rootInfo.Password) {
|
||||
string passwordName = Properties.OptionsDBsPage.Default.UseSQLServer ? Language.SQLServer.TrimEnd(':') : Path.GetFileName(Runtime.ConnectionsService.GetStartupConnectionFileName());
|
||||
Optional<System.Security.SecureString> password = MiscTools.PasswordDialog(passwordName);
|
||||
|
||||
// operation cancelled, dont set a password
|
||||
if (!password.Any() || password.First().Length == 0)
|
||||
{
|
||||
if (!password.Any() || password.First().Length == 0) {
|
||||
rootInfo.Password = false;
|
||||
return;
|
||||
}
|
||||
|
||||
rootInfo.PasswordString = password.First().ConvertToUnsecureString();
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
rootInfo.PasswordString = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateInheritanceNode()
|
||||
{
|
||||
private void UpdateInheritanceNode() {
|
||||
if (IsShowingDefaultProperties && IsShowingInheritance)
|
||||
DefaultConnectionInheritance.Instance.SaveTo(Settings.Default, a => "InhDefault" + a);
|
||||
}
|
||||
|
||||
private void pGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
private void pGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) {
|
||||
try {
|
||||
UpdateConnectionInfoNode(e);
|
||||
UpdateRootInfoNode(e);
|
||||
UpdateInheritanceNode();
|
||||
ShowHideGridItems();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
} catch (Exception ex) {
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg,
|
||||
Language.ConfigPropertyGridValueFailed + Environment.NewLine +
|
||||
ex.Message, true);
|
||||
|
||||
Reference in New Issue
Block a user