Bläddra i källkod

Bug 1646: Generated session URL for opened FTP/WebDAV session over TLS/SSL with invalid certificate includes its fingerprint

https://winscp.net/tracker/1646
(cherry picked from commit 300c511863129805d19a904719584bef1d37d477)

Source commit: cd88fad2f078caec351edad3b9b93da706d7314c
Martin Prikryl 7 år sedan
förälder
incheckning
e06479dc94
1 ändrade filer med 8 tillägg och 1 borttagningar
  1. 8 1
      source/core/Terminal.cpp

+ 8 - 1
source/core/Terminal.cpp

@@ -4759,7 +4759,14 @@ TTerminal * __fastcall TTerminal::CreateSecondarySession(const UnicodeString & N
 void __fastcall TTerminal::FillSessionDataForCode(TSessionData * Data)
 {
   const TSessionInfo & SessionInfo = GetSessionInfo();
-  Data->HostKey = SessionInfo.HostKeyFingerprintSHA256;
+  if (!SessionInfo.HostKeyFingerprintSHA256.IsEmpty())
+  {
+    Data->HostKey = SessionInfo.HostKeyFingerprintSHA256;
+  }
+  else if (!SessionInfo.CertificateFingerprint.IsEmpty())
+  {
+    Data->HostKey = SessionInfo.CertificateFingerprint;
+  }
 }
 //---------------------------------------------------------------------------
 TTerminal * __fastcall TTerminal::GetCommandSession()