|
|
@@ -114,6 +114,7 @@ void __fastcall TSessionData::Default()
|
|
|
AuthKIPassword = true;
|
|
|
AuthGSSAPI = true;
|
|
|
GSSAPIFwdTGT = false;
|
|
|
+ LogicalHostName = L"";
|
|
|
ChangeUsername = false;
|
|
|
Compression = false;
|
|
|
SshProt = ssh2only;
|
|
|
@@ -282,6 +283,7 @@ void __fastcall TSessionData::NonPersistant()
|
|
|
PROPERTY(TryAgent); \
|
|
|
PROPERTY(AgentFwd); \
|
|
|
PROPERTY(AuthTIS); \
|
|
|
+ PROPERTY(LogicalHostName); \
|
|
|
PROPERTY(ChangeUsername); \
|
|
|
PROPERTY(Compression); \
|
|
|
PROPERTY(SshProt); \
|
|
|
@@ -543,6 +545,9 @@ void __fastcall TSessionData::DoLoad(THierarchicalStorage * Storage, bool PuttyI
|
|
|
// Both vaclav tomec and official putty use AuthGSSAPI
|
|
|
AuthGSSAPI = Storage->ReadBool(L"AuthGSSAPI", Storage->ReadBool(L"AuthSSPI", AuthGSSAPI));
|
|
|
GSSAPIFwdTGT = Storage->ReadBool(L"GSSAPIFwdTGT", Storage->ReadBool(L"GssapiFwd", Storage->ReadBool(L"SSPIFwdTGT", GSSAPIFwdTGT)));
|
|
|
+ // KerbPrincipal was used by Quest PuTTY
|
|
|
+ // GSSAPIServerRealm was used by Vaclav Tomec
|
|
|
+ LogicalHostName = Storage->ReadString(L"LogicalHostName", Storage->ReadString(L"GSSAPIServerRealm", Storage->ReadString(L"KerbPrincipal", LogicalHostName)));
|
|
|
ChangeUsername = Storage->ReadBool(L"ChangeUsername", ChangeUsername);
|
|
|
Compression = Storage->ReadBool(L"Compression", Compression);
|
|
|
TSshProt ASshProt = (TSshProt)Storage->ReadInteger(L"SshProt", SshProt);
|
|
|
@@ -851,11 +856,13 @@ void __fastcall TSessionData::DoSave(THierarchicalStorage * Storage,
|
|
|
Storage->DeleteValue(L"UserNameFromEnvironment");
|
|
|
Storage->DeleteValue("GSSAPIServerChoosesUserName");
|
|
|
Storage->DeleteValue(L"GSSAPITrustDNS");
|
|
|
+ WRITE_DATA(String, LogicalHostName);
|
|
|
if (PuttyExport)
|
|
|
{
|
|
|
// duplicate kerberos setting with keys of the vintela quest putty
|
|
|
WRITE_DATA_EX(Bool, L"AuthSSPI", AuthGSSAPI, );
|
|
|
WRITE_DATA_EX(Bool, L"SSPIFwdTGT", GSSAPIFwdTGT, );
|
|
|
+ WRITE_DATA_EX(String, L"KerbPrincipal", LogicalHostName, );
|
|
|
// duplicate kerberos setting with keys of the official putty
|
|
|
WRITE_DATA_EX(Bool, L"GssapiFwd", GSSAPIFwdTGT, );
|
|
|
}
|
|
|
@@ -3521,6 +3528,11 @@ void __fastcall TSessionData::SetMaxTlsVersion(TTlsVersion value)
|
|
|
{
|
|
|
SET_SESSION_PROPERTY(MaxTlsVersion);
|
|
|
}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+void __fastcall TSessionData::SetLogicalHostName(UnicodeString value)
|
|
|
+{
|
|
|
+ SET_SESSION_PROPERTY(LogicalHostName);
|
|
|
+}
|
|
|
//---------------------------------------------------------------------
|
|
|
void __fastcall TSessionData::SetFtpListAll(TAutoSwitch value)
|
|
|
{
|