Forráskód Böngészése

Logging the fact that username or hostname are read from environment variables

(cherry picked from commit 40960cd01381ae60609443955bc278116d98a75a)

Source commit: 709b1a4a1990508406444448f7a84bcb2abe1b34
Martin Prikryl 4 éve
szülő
commit
cbf89339c7
3 módosított fájl, 36 hozzáadás és 2 törlés
  1. 20 0
      source/core/SessionData.cpp
  2. 4 0
      source/core/SessionData.h
  3. 12 2
      source/core/SessionInfo.cpp

+ 20 - 0
source/core/SessionData.cpp

@@ -2461,6 +2461,16 @@ UnicodeString __fastcall TSessionData::GetHostNameExpanded()
   return ::ExpandEnvironmentVariables(HostName);
 }
 //---------------------------------------------------------------------
+UnicodeString TSessionData::GetHostNameSource()
+{
+  UnicodeString Result;
+  if (HostName != HostNameExpanded)
+  {
+    Result = HostName;
+  }
+  return Result;
+}
+//---------------------------------------------------------------------
 void __fastcall TSessionData::SetPortNumber(int value)
 {
   SET_SESSION_PROPERTY(PortNumber);
@@ -2520,6 +2530,16 @@ UnicodeString __fastcall TSessionData::GetUserNameExpanded()
   return ::ExpandEnvironmentVariables(UserName);
 }
 //---------------------------------------------------------------------
+UnicodeString TSessionData::GetUserNameSource()
+{
+  UnicodeString Result;
+  if (UserName != UserNameExpanded)
+  {
+    Result = UserName;
+  }
+  return Result;
+}
+//---------------------------------------------------------------------
 void __fastcall TSessionData::SetPassword(UnicodeString avalue)
 {
   RawByteString value = EncryptPassword(avalue, UserName+HostName);

+ 4 - 0
source/core/SessionData.h

@@ -246,9 +246,11 @@ private:
 
   void __fastcall SetHostName(UnicodeString value);
   UnicodeString __fastcall GetHostNameExpanded();
+  UnicodeString GetHostNameSource();
   void __fastcall SetPortNumber(int value);
   void __fastcall SetUserName(UnicodeString value);
   UnicodeString __fastcall GetUserNameExpanded();
+  UnicodeString GetUserNameSource();
   void __fastcall SetPassword(UnicodeString value);
   UnicodeString __fastcall GetPassword() const;
   void __fastcall SetNewPassword(UnicodeString value);
@@ -532,9 +534,11 @@ public:
 
   __property UnicodeString HostName  = { read=FHostName, write=SetHostName };
   __property UnicodeString HostNameExpanded  = { read=GetHostNameExpanded };
+  __property UnicodeString HostNameSource = { read=GetHostNameSource };
   __property int PortNumber  = { read=FPortNumber, write=SetPortNumber };
   __property UnicodeString UserName  = { read=FUserName, write=SetUserName };
   __property UnicodeString UserNameExpanded  = { read=GetUserNameExpanded };
+  __property UnicodeString UserNameSource  = { read=GetUserNameSource };
   __property UnicodeString Password  = { read=GetPassword, write=SetPassword };
   __property UnicodeString NewPassword  = { read=GetNewPassword, write=SetNewPassword };
   __property bool ChangePassword  = { read=FChangePassword, write=SetChangePassword };

+ 12 - 2
source/core/SessionInfo.cpp

@@ -1197,9 +1197,19 @@ void __fastcall TSessionLog::DoAddStartupInfo(TSessionData * Data)
     {
       AddressFamily = FORMAT(L"%s, ", (Data->AddressFamily == afIPv4 ? L"IPv4" : L"IPv6"));
     }
-    ADF(L"Host name: %s (%sPort: %d)", (Data->HostNameExpanded, AddressFamily, Data->PortNumber));
+    UnicodeString HostName = Data->HostNameExpanded;
+    if (!Data->HostNameSource.IsEmpty())
+    {
+      HostName = FORMAT(L"%s [%s]", (HostName, Data->HostNameSource));
+    }
+    ADF(L"Host name: %s (%sPort: %d)", (HostName, AddressFamily, Data->PortNumber));
+    UnicodeString UserName = Data->UserNameExpanded;
+    if (!Data->UserNameSource.IsEmpty())
+    {
+      UserName = FORMAT(L"%s [%s]", (UserName, Data->UserNameSource));
+    }
     ADF(L"User name: %s (Password: %s, Key file: %s, Passphrase: %s)",
-      (Data->UserNameExpanded, LogSensitive(Data->Password),
+      (UserName, LogSensitive(Data->Password),
        LogSensitive(Data->PublicKeyFile), LogSensitive(Data->Passphrase)));
     if (Data->UsesSsh)
     {