| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461 | 
							- //---------------------------------------------------------------------------
 
- #ifndef ConfigurationH
 
- #define ConfigurationH
 
- #include <set>
 
- #include <list>
 
- #include "RemoteFiles.h"
 
- #include "FileBuffer.h"
 
- #include "HierarchicalStorage.h"
 
- #include "Usage.h"
 
- //---------------------------------------------------------------------------
 
- #define SET_CONFIG_PROPERTY_EX(PROPERTY, APPLY) \
 
-   if (PROPERTY != value) { F ## PROPERTY = value; Changed(); APPLY; }
 
- #define SET_CONFIG_PROPERTY(PROPERTY) \
 
-   SET_CONFIG_PROPERTY_EX(PROPERTY, )
 
- //---------------------------------------------------------------------------
 
- extern const wchar_t * AutoSwitchNames;
 
- extern const wchar_t * NotAutoSwitchNames;
 
- enum TAutoSwitch { asOn, asOff, asAuto }; // Has to match PuTTY FORCE_ON, FORCE_OFF, AUTO
 
- //---------------------------------------------------------------------------
 
- class TStoredSessionList;
 
- class TCopyParamType;
 
- //---------------------------------------------------------------------------
 
- class TSshHostCA
 
- {
 
- public:
 
-   TSshHostCA();
 
-   void Save(THierarchicalStorage * Storage) const;
 
-   bool Load(THierarchicalStorage * Storage);
 
-   UnicodeString Name;
 
-   RawByteString PublicKey;
 
-   UnicodeString ValidityExpression;
 
-   bool PermitRsaSha1;
 
-   bool PermitRsaSha256;
 
-   bool PermitRsaSha512;
 
-   typedef std::vector<TSshHostCA> TList;
 
- };
 
- //---------------------------------------------------------------------------
 
- class TSshHostCAList
 
- {
 
- public:
 
-   TSshHostCAList();
 
-   TSshHostCAList(const TSshHostCA::TList & List);
 
-   TSshHostCAList & operator =(const TSshHostCAList & other);
 
-   void Default();
 
-   const TSshHostCA::TList & GetList() const;
 
-   int GetCount() const;
 
-   const TSshHostCA * Get(int Index) const;
 
-   const TSshHostCA * Find(const UnicodeString & Name) const;
 
-   void Save(THierarchicalStorage * Storage);
 
-   void Load(THierarchicalStorage * Storage);
 
- private:
 
-   TSshHostCA::TList FList;
 
- };
 
- //---------------------------------------------------------------------------
 
- class TConfiguration : public TObject
 
- {
 
- private:
 
-   bool FDontSave;
 
-   bool FForceSave;
 
-   bool FChanged;
 
-   int FUpdating;
 
-   TNotifyEvent FOnChange;
 
-   void * FApplicationInfo;
 
-   TUsage * FUsage;
 
-   bool FLogging;
 
-   bool FPermanentLogging;
 
-   UnicodeString FLogFileName;
 
-   UnicodeString FPermanentLogFileName;
 
-   int FLogWindowLines;
 
-   bool FLogFileAppend;
 
-   bool FLogSensitive;
 
-   bool FPermanentLogSensitive;
 
-   __int64 FLogMaxSize;
 
-   __int64 FPermanentLogMaxSize;
 
-   int FLogMaxCount;
 
-   int FPermanentLogMaxCount;
 
-   int FLogProtocol;
 
-   int FPermanentLogProtocol;
 
-   int FActualLogProtocol;
 
-   bool FLogActions;
 
-   bool FPermanentLogActions;
 
-   bool FLogActionsRequired;
 
-   UnicodeString FActionsLogFileName;
 
-   UnicodeString FPermanentActionsLogFileName;
 
-   bool FConfirmOverwriting;
 
-   bool FConfirmResume;
 
-   bool FAutoReadDirectoryAfterOp;
 
-   int FSessionReopenAuto;
 
-   int FSessionReopenBackground;
 
-   int FSessionReopenTimeout;
 
-   int FSessionReopenAutoStall;
 
-   UnicodeString FCustomIniFileStorageName;
 
-   UnicodeString FIniFileStorageName;
 
-   UnicodeString FVirtualIniFileStorageName;
 
-   std::unique_ptr<TStrings> FOptionsStorage;
 
-   int FProgramIniPathWrittable;
 
-   int FTunnelLocalPortNumberLow;
 
-   int FTunnelLocalPortNumberHigh;
 
-   int FCacheDirectoryChangesMaxSize;
 
-   bool FShowFtpWelcomeMessage;
 
-   UnicodeString FDefaultRandomSeedFile;
 
-   UnicodeString FRandomSeedFile;
 
-   UnicodeString FPuttyRegistryStorageKey;
 
-   UnicodeString FExternalIpAddress;
 
-   int FLocalPortNumberMin;
 
-   int FLocalPortNumberMax;
 
-   bool FTryFtpWhenSshFails;
 
-   int FParallelDurationThreshold;
 
-   bool FScripting;
 
-   UnicodeString FMimeTypes;
 
-   int FDontReloadMoreThanSessions;
 
-   int FScriptProgressFileNameLimit;
 
-   int FKeyVersion;
 
-   int FQueueTransfersLimit;
 
-   int FParallelTransferThreshold;
 
-   UnicodeString FCertificateStorage;
 
-   UnicodeString FAWSMetadataService;
 
-   UnicodeString FChecksumCommands;
 
-   std::unique_ptr<TSshHostCAList> FSshHostCAList;
 
-   std::unique_ptr<TSshHostCAList> FPuttySshHostCAList;
 
-   bool FSshHostCAsFromPuTTY;
 
-   int FHttpsCertificateValidation;
 
-   UnicodeString FSynchronizationChecksumAlgs;
 
-   bool FDisablePasswordStoring;
 
-   bool FForceBanners;
 
-   bool FDisableAcceptingHostKeys;
 
-   bool FDefaultCollectUsage;
 
-   TVSFixedFileInfo *__fastcall GetFixedApplicationInfo();
 
-   void * __fastcall GetApplicationInfo();
 
-   virtual UnicodeString __fastcall GetVersionStr();
 
-   virtual UnicodeString __fastcall GetVersion();
 
-   UnicodeString __fastcall GetProductVersion();
 
-   UnicodeString __fastcall GetProductName();
 
-   UnicodeString __fastcall GetCompanyName();
 
-   UnicodeString __fastcall GetFileVersion(TVSFixedFileInfo * Info);
 
-   UnicodeString __fastcall GetStoredSessionsSubKey();
 
-   UnicodeString __fastcall DoGetPuttySessionsKey();
 
-   UnicodeString __fastcall GetPuttySessionsSubKey();
 
-   void __fastcall SetRandomSeedFile(UnicodeString value);
 
-   UnicodeString __fastcall GetRandomSeedFileName();
 
-   void __fastcall SetPuttyRegistryStorageKey(UnicodeString value);
 
-   UnicodeString __fastcall GetSshHostKeysSubKey();
 
-   UnicodeString __fastcall GetRootKeyStr();
 
-   UnicodeString __fastcall GetConfigurationSubKey();
 
-   TEOLType __fastcall GetLocalEOLType();
 
-   void __fastcall SetLogging(bool value);
 
-   bool __fastcall GetLogging();
 
-   void __fastcall SetLogFileName(UnicodeString value);
 
-   UnicodeString __fastcall GetLogFileName();
 
-   bool __fastcall GetLogToFile();
 
-   void __fastcall SetLogFileAppend(bool value);
 
-   void __fastcall SetLogSensitive(bool value);
 
-   void __fastcall SetLogMaxSize(__int64 value);
 
-   __int64 __fastcall GetLogMaxSize();
 
-   void __fastcall SetLogMaxCount(int value);
 
-   int __fastcall GetLogMaxCount();
 
-   void __fastcall SetLogProtocol(int value);
 
-   void __fastcall SetLogActions(bool value);
 
-   bool __fastcall GetLogActions();
 
-   void __fastcall SetActionsLogFileName(UnicodeString value);
 
-   UnicodeString __fastcall GetPermanentActionsLogFileName();
 
-   UnicodeString __fastcall GetActionsLogFileName();
 
-   UnicodeString __fastcall GetDefaultLogFileName();
 
-   UnicodeString __fastcall GetTimeFormat();
 
-   UnicodeString __fastcall GetRegistryStorageKey();
 
-   UnicodeString __fastcall GetIniFileStorageNameForReadingWriting();
 
-   UnicodeString __fastcall GetIniFileStorageNameForReading();
 
-   UnicodeString __fastcall GetIniFileStorageName(bool ReadingOnly);
 
-   void __fastcall SetOptionsStorage(TStrings * value);
 
-   TStrings * __fastcall GetOptionsStorage();
 
-   UnicodeString __fastcall GetFileInfoString(const UnicodeString Key);
 
-   void __fastcall SetSessionReopenAuto(int value);
 
-   void __fastcall SetSessionReopenBackground(int value);
 
-   void __fastcall SetSessionReopenTimeout(int value);
 
-   void __fastcall SetSessionReopenAutoStall(int value);
 
-   void __fastcall SetTunnelLocalPortNumberLow(int value);
 
-   void __fastcall SetTunnelLocalPortNumberHigh(int value);
 
-   void __fastcall SetCacheDirectoryChangesMaxSize(int value);
 
-   void __fastcall SetShowFtpWelcomeMessage(bool value);
 
-   int __fastcall GetCompoundVersion();
 
-   void __fastcall UpdateActualLogProtocol();
 
-   void __fastcall SetExternalIpAddress(UnicodeString value);
 
-   void __fastcall SetTryFtpWhenSshFails(bool value);
 
-   void __fastcall SetParallelDurationThreshold(int value);
 
-   void __fastcall SetMimeTypes(UnicodeString value);
 
-   void SetCertificateStorage(const UnicodeString & value);
 
-   UnicodeString GetCertificateStorageExpanded();
 
-   void SetAWSMetadataService(const UnicodeString & value);
 
-   bool __fastcall GetCollectUsage();
 
-   void __fastcall SetCollectUsage(bool value);
 
-   bool __fastcall GetIsUnofficial();
 
-   bool __fastcall GetPersistent();
 
-   void SetLocalPortNumberMin(int value);
 
-   void SetLocalPortNumberMax(int value);
 
-   void SetQueueTransfersLimit(int value);
 
-   const TSshHostCAList * GetSshHostCAList();
 
-   void SetSshHostCAList(const TSshHostCAList * value);
 
-   const TSshHostCAList * GetPuttySshHostCAList();
 
-   const TSshHostCAList * GetActiveSshHostCAList();
 
- protected:
 
-   TStorage FStorage;
 
-   TCriticalSection * FCriticalSection;
 
-   virtual TStorage __fastcall GetStorage();
 
-   virtual void __fastcall Changed();
 
-   virtual void __fastcall SaveData(THierarchicalStorage * Storage, bool All);
 
-   virtual void __fastcall LoadData(THierarchicalStorage * Storage);
 
-   virtual void __fastcall LoadFrom(THierarchicalStorage * Storage);
 
-   virtual void __fastcall CopyData(THierarchicalStorage * Source, THierarchicalStorage * Target);
 
-   virtual void __fastcall LoadAdmin(THierarchicalStorage * Storage);
 
-   void LoadSshHostCAList(TSshHostCAList * SshHostCAList, THierarchicalStorage * Storage);
 
-   virtual UnicodeString __fastcall GetDefaultKeyFile();
 
-   virtual void __fastcall Saved();
 
-   void __fastcall CleanupRegistry(const UnicodeString & RegistryPath);
 
-   void __fastcall CopyAllStringsInSubKey(
 
-     THierarchicalStorage * Source, THierarchicalStorage * Target, const UnicodeString & Name);
 
-   bool __fastcall CopySubKey(THierarchicalStorage * Source, THierarchicalStorage * Target, const UnicodeString & Name);
 
-   UnicodeString __fastcall BannerHash(const UnicodeString & Banner);
 
-   void __fastcall SetBannerData(const UnicodeString & SessionKey, const UnicodeString & BannerHash, unsigned int Params);
 
-   void __fastcall GetBannerData(const UnicodeString & SessionKey, UnicodeString & BannerHash, unsigned int & Params);
 
-   static UnicodeString __fastcall PropertyToKey(const UnicodeString & Property);
 
-   void DoSave(THierarchicalStorage * AStorage, bool All);
 
-   virtual void __fastcall DoSave(bool All, bool Explicit);
 
-   UnicodeString __fastcall FormatFingerprintKey(const UnicodeString & SiteKey, const UnicodeString & FingerprintType);
 
-   THierarchicalStorage * OpenDirectoryStatisticsCache(bool CanCreate);
 
-   UnicodeString __fastcall GetDirectoryStatisticsCacheKey(
 
-     const UnicodeString & SessionKey, const UnicodeString & Path, const TCopyParamType & CopyParam);
 
-   virtual bool __fastcall GetConfirmOverwriting();
 
-   virtual void __fastcall SetConfirmOverwriting(bool value);
 
-   bool __fastcall GetConfirmResume();
 
-   void __fastcall SetConfirmResume(bool value);
 
-   bool __fastcall GetAutoReadDirectoryAfterOp();
 
-   void __fastcall SetAutoReadDirectoryAfterOp(bool value);
 
-   virtual bool __fastcall GetRememberPassword();
 
-   UnicodeString __fastcall GetReleaseType();
 
-   UnicodeString __fastcall LoadCustomIniFileStorageName();
 
-   void __fastcall SaveCustomIniFileStorageName();
 
-   UnicodeString __fastcall GetRegistryStorageOverrideKey();
 
-   TStrings * GetCaches();
 
-   UnicodeString GetFullVersion();
 
-   virtual UnicodeString __fastcall ModuleFileName();
 
-   UnicodeString __fastcall GetFileFileInfoString(const UnicodeString Key,
 
-     const UnicodeString FileName, bool AllowEmpty = false);
 
-   void * __fastcall GetFileApplicationInfo(const UnicodeString FileName);
 
-   UnicodeString __fastcall GetFileProductVersion(const UnicodeString FileName);
 
-   UnicodeString __fastcall GetFileProductName(const UnicodeString FileName);
 
-   UnicodeString __fastcall GetFileCompanyName(const UnicodeString FileName);
 
-   __property bool PermanentLogging  = { read=GetLogging, write=SetLogging };
 
-   __property UnicodeString PermanentLogFileName  = { read=GetLogFileName, write=SetLogFileName };
 
-   __property bool PermanentLogActions  = { read=GetLogActions, write=SetLogActions };
 
-   __property UnicodeString PermanentActionsLogFileName  = { read=GetPermanentActionsLogFileName, write=SetActionsLogFileName };
 
-   __property int PermanentLogProtocol  = { read=FPermanentLogProtocol, write=SetLogProtocol };
 
-   __property bool PermanentLogSensitive  = { read=FPermanentLogSensitive, write=SetLogSensitive };
 
-   __property __int64 PermanentLogMaxSize  = { read=GetLogMaxSize, write=SetLogMaxSize };
 
-   __property int PermanentLogMaxCount  = { read=GetLogMaxCount, write=SetLogMaxCount };
 
- public:
 
-   __fastcall TConfiguration();
 
-   virtual __fastcall ~TConfiguration();
 
-   virtual void __fastcall Default();
 
-   virtual void __fastcall UpdateStaticUsage();
 
-   void __fastcall Load(THierarchicalStorage * Storage);
 
-   void __fastcall Save();
 
-   void __fastcall SaveExplicit();
 
-   void __fastcall MoveStorage(TStorage AStorage, const UnicodeString & ACustomIniFileStorageName);
 
-   void __fastcall ScheduleCustomIniFileStorageUse(const UnicodeString & ACustomIniFileStorageName);
 
-   void __fastcall SetExplicitIniFileStorageName(const UnicodeString & FileName);
 
-   void __fastcall SetNulStorage();
 
-   UnicodeString __fastcall GetAutomaticIniFileStorageName(bool ReadingOnly);
 
-   UnicodeString __fastcall GetDefaultIniFileExportPath();
 
-   UnicodeString __fastcall GetIniFileParamValue();
 
-   void __fastcall Export(const UnicodeString & FileName);
 
-   void __fastcall Import(const UnicodeString & FileName);
 
-   void __fastcall CleanupConfiguration();
 
-   void __fastcall CleanupIniFile();
 
-   void __fastcall CleanupCaches();
 
-   bool __fastcall HasAnyCache();
 
-   void __fastcall CleanupRandomSeedFile();
 
-   void __fastcall BeginUpdate();
 
-   void __fastcall EndUpdate();
 
-   void __fastcall DontSave();
 
-   void __fastcall LoadDirectoryChangesCache(const UnicodeString SessionKey,
 
-     TRemoteDirectoryChangesCache * DirectoryChangesCache);
 
-   void __fastcall SaveDirectoryChangesCache(const UnicodeString SessionKey,
 
-     TRemoteDirectoryChangesCache * DirectoryChangesCache);
 
-   TStrings * __fastcall LoadDirectoryStatisticsCache(
 
-     const UnicodeString & SessionKey, const UnicodeString & Path, const TCopyParamType & CopyParam);
 
-   void __fastcall SaveDirectoryStatisticsCache(
 
-     const UnicodeString & SessionKey, const UnicodeString & Path, const TCopyParamType & CopyParam, TStrings * DataList);
 
-   bool __fastcall ShowBanner(const UnicodeString & SessionKey, const UnicodeString & Banner, unsigned int & Params);
 
-   void __fastcall NeverShowBanner(const UnicodeString & SessionKey, const UnicodeString & Banner);
 
-   void __fastcall SetBannerParams(const UnicodeString & SessionKey, unsigned int Params);
 
-   void __fastcall RememberLastFingerprint(const UnicodeString & SiteKey, const UnicodeString & FingerprintType, const UnicodeString & Fingerprint);
 
-   UnicodeString __fastcall LastFingerprint(const UnicodeString & SiteKey, const UnicodeString & FingerprintType);
 
-   THierarchicalStorage * CreateConfigStorage();
 
-   THierarchicalStorage * CreateConfigRegistryStorage();
 
-   virtual THierarchicalStorage * CreateScpStorage(bool & SessionList);
 
-   void __fastcall TemporaryLogging(const UnicodeString ALogFileName);
 
-   void __fastcall TemporaryActionsLogging(const UnicodeString ALogFileName);
 
-   void __fastcall TemporaryLogProtocol(int ALogProtocol);
 
-   void __fastcall TemporaryLogSensitive(bool ALogSensitive);
 
-   void __fastcall TemporaryLogMaxSize(__int64 ALogMaxSize);
 
-   void __fastcall TemporaryLogMaxCount(int ALogMaxCount);
 
-   virtual RawByteString __fastcall EncryptPassword(UnicodeString Password, UnicodeString Key);
 
-   virtual UnicodeString __fastcall DecryptPassword(RawByteString Password, UnicodeString Key);
 
-   virtual RawByteString __fastcall StronglyRecryptPassword(RawByteString Password, UnicodeString Key);
 
-   UnicodeString __fastcall GetFileDescription(const UnicodeString & FileName);
 
-   UnicodeString __fastcall GetFileVersion(const UnicodeString & FileName);
 
-   UnicodeString __fastcall GetFileMimeType(const UnicodeString & FileName);
 
-   bool RegistryPathExists(const UnicodeString & RegistryPath);
 
-   bool HasLocalPortNumberLimits();
 
-   virtual UnicodeString TemporaryDir(bool Mask = false) = 0;
 
-   UnicodeString GetVersionStrHuman();
 
-   TStoredSessionList * __fastcall SelectFilezillaSessionsForImport(
 
-     TStoredSessionList * Sessions, UnicodeString & Error);
 
-   bool __fastcall AnyFilezillaSessionForImport(TStoredSessionList * Sessions);
 
-   TStoredSessionList * __fastcall SelectKnownHostsSessionsForImport(
 
-     TStoredSessionList * Sessions, UnicodeString & Error);
 
-   TStoredSessionList * __fastcall SelectKnownHostsSessionsForImport(
 
-     TStrings * Lines, TStoredSessionList * Sessions, UnicodeString & Error);
 
-   TStoredSessionList * SelectOpensshSessionsForImport(TStoredSessionList * Sessions, UnicodeString & Error);
 
-   UnicodeString GetPuttySessionsKey(const UnicodeString & RootKey);
 
-   void RefreshPuttySshHostCAList();
 
-   __property TVSFixedFileInfo *FixedApplicationInfo  = { read=GetFixedApplicationInfo };
 
-   __property void * ApplicationInfo  = { read=GetApplicationInfo };
 
-   __property TUsage * Usage = { read = FUsage };
 
-   __property bool CollectUsage = { read = GetCollectUsage, write = SetCollectUsage };
 
-   __property UnicodeString StoredSessionsSubKey = {read=GetStoredSessionsSubKey};
 
-   __property UnicodeString PuttyRegistryStorageKey  = { read=FPuttyRegistryStorageKey, write=SetPuttyRegistryStorageKey };
 
-   __property UnicodeString PuttySessionsKey  = { read=DoGetPuttySessionsKey };
 
-   __property UnicodeString PuttySessionsSubKey  = { read=GetPuttySessionsSubKey };
 
-   __property UnicodeString RandomSeedFile  = { read=FRandomSeedFile, write=SetRandomSeedFile };
 
-   __property UnicodeString RandomSeedFileName  = { read=GetRandomSeedFileName };
 
-   __property UnicodeString SshHostKeysSubKey  = { read=GetSshHostKeysSubKey };
 
-   __property UnicodeString RootKeyStr  = { read=GetRootKeyStr };
 
-   __property UnicodeString ConfigurationSubKey  = { read=GetConfigurationSubKey };
 
-   __property TEOLType LocalEOLType = { read = GetLocalEOLType };
 
-   __property UnicodeString VersionStr = { read=GetVersionStr };
 
-   __property UnicodeString Version = { read=GetVersion };
 
-   __property int CompoundVersion = { read=GetCompoundVersion };
 
-   __property UnicodeString ProductVersion = { read=GetProductVersion };
 
-   __property UnicodeString ProductName = { read=GetProductName };
 
-   __property UnicodeString CompanyName = { read=GetCompanyName };
 
-   __property bool IsUnofficial = { read = GetIsUnofficial };
 
-   __property bool Logging  = { read=FLogging, write=SetLogging };
 
-   __property UnicodeString LogFileName  = { read=FLogFileName, write=SetLogFileName };
 
-   __property bool LogToFile  = { read=GetLogToFile };
 
-   __property bool LogFileAppend  = { read=FLogFileAppend, write=SetLogFileAppend };
 
-   __property bool LogSensitive  = { read=FLogSensitive, write=SetLogSensitive };
 
-   __property __int64 LogMaxSize  = { read=FLogMaxSize, write=SetLogMaxSize };
 
-   __property int LogMaxCount  = { read=FLogMaxCount, write=SetLogMaxCount };
 
-   __property int LogProtocol  = { read=FLogProtocol, write=SetLogProtocol };
 
-   __property int ActualLogProtocol  = { read=FActualLogProtocol };
 
-   __property bool LogActions  = { read=FLogActions, write=SetLogActions };
 
-   __property bool LogActionsRequired  = { read=FLogActionsRequired, write=FLogActionsRequired };
 
-   __property UnicodeString ActionsLogFileName  = { read=GetActionsLogFileName, write=SetActionsLogFileName };
 
-   __property UnicodeString DefaultLogFileName  = { read=GetDefaultLogFileName };
 
-   __property TNotifyEvent OnChange = { read = FOnChange, write = FOnChange };
 
-   __property bool ConfirmOverwriting = { read = GetConfirmOverwriting, write = SetConfirmOverwriting};
 
-   __property bool ConfirmResume = { read = GetConfirmResume, write = SetConfirmResume};
 
-   __property bool AutoReadDirectoryAfterOp = { read = GetAutoReadDirectoryAfterOp, write = SetAutoReadDirectoryAfterOp};
 
-   __property bool RememberPassword = { read = GetRememberPassword };
 
-   __property int SessionReopenAuto = { read = FSessionReopenAuto, write = SetSessionReopenAuto };
 
-   __property int SessionReopenBackground = { read = FSessionReopenBackground, write = SetSessionReopenBackground };
 
-   __property int SessionReopenTimeout = { read = FSessionReopenTimeout, write = SetSessionReopenTimeout };
 
-   __property int SessionReopenAutoStall = { read = FSessionReopenAutoStall, write = SetSessionReopenAutoStall };
 
-   __property int TunnelLocalPortNumberLow = { read = FTunnelLocalPortNumberLow, write = SetTunnelLocalPortNumberLow };
 
-   __property int TunnelLocalPortNumberHigh = { read = FTunnelLocalPortNumberHigh, write = SetTunnelLocalPortNumberHigh };
 
-   __property int CacheDirectoryChangesMaxSize = { read = FCacheDirectoryChangesMaxSize, write = SetCacheDirectoryChangesMaxSize };
 
-   __property bool ShowFtpWelcomeMessage = { read = FShowFtpWelcomeMessage, write = SetShowFtpWelcomeMessage };
 
-   __property UnicodeString ExternalIpAddress = { read = FExternalIpAddress, write = SetExternalIpAddress };
 
-   __property UnicodeString CertificateStorage = { read = FCertificateStorage, write = SetCertificateStorage };
 
-   __property UnicodeString CertificateStorageExpanded = { read = GetCertificateStorageExpanded };
 
-   __property UnicodeString AWSMetadataService = { read = FAWSMetadataService, write = SetAWSMetadataService };
 
-   __property UnicodeString ChecksumCommands = { read = FChecksumCommands };
 
-   __property int LocalPortNumberMin = { read = FLocalPortNumberMin, write = SetLocalPortNumberMin };
 
-   __property int LocalPortNumberMax = { read = FLocalPortNumberMax, write = SetLocalPortNumberMax };
 
-   __property bool TryFtpWhenSshFails = { read = FTryFtpWhenSshFails, write = SetTryFtpWhenSshFails };
 
-   __property int ParallelDurationThreshold = { read = FParallelDurationThreshold, write = SetParallelDurationThreshold };
 
-   __property UnicodeString MimeTypes = { read = FMimeTypes, write = SetMimeTypes };
 
-   __property int DontReloadMoreThanSessions = { read = FDontReloadMoreThanSessions, write = FDontReloadMoreThanSessions };
 
-   __property int ScriptProgressFileNameLimit = { read = FScriptProgressFileNameLimit, write = FScriptProgressFileNameLimit };
 
-   __property int QueueTransfersLimit = { read = FQueueTransfersLimit, write = SetQueueTransfersLimit };
 
-   __property int ParallelTransferThreshold = { read = FParallelTransferThreshold, write = FParallelTransferThreshold };
 
-   __property int KeyVersion = { read = FKeyVersion, write = FKeyVersion };
 
-   __property TSshHostCAList * SshHostCAList = { read = GetSshHostCAList, write = SetSshHostCAList };
 
-   __property TSshHostCAList * PuttySshHostCAList = { read = GetPuttySshHostCAList };
 
-   __property TSshHostCAList * ActiveSshHostCAList = { read = GetActiveSshHostCAList };
 
-   __property bool SshHostCAsFromPuTTY = { read = FSshHostCAsFromPuTTY, write = FSshHostCAsFromPuTTY };
 
-   __property int HttpsCertificateValidation = { read = FHttpsCertificateValidation, write = FHttpsCertificateValidation };
 
-   __property UnicodeString SynchronizationChecksumAlgs = { read = FSynchronizationChecksumAlgs, write = FSynchronizationChecksumAlgs };
 
-   __property UnicodeString TimeFormat = { read = GetTimeFormat };
 
-   __property TStorage Storage  = { read=GetStorage };
 
-   __property UnicodeString RegistryStorageKey  = { read=GetRegistryStorageKey };
 
-   __property UnicodeString CustomIniFileStorageName  = { read=FCustomIniFileStorageName };
 
-   __property UnicodeString ExplicitIniFileStorageName  = { read=FIniFileStorageName };
 
-   __property UnicodeString IniFileStorageName  = { read=GetIniFileStorageNameForReadingWriting };
 
-   __property UnicodeString IniFileStorageNameForReading  = { read=GetIniFileStorageNameForReading };
 
-   __property TStrings * OptionsStorage = { read = GetOptionsStorage, write = SetOptionsStorage };
 
-   __property bool Persistent = { read = GetPersistent };
 
-   __property bool ForceSave = { read = FForceSave, write = FForceSave };
 
-   __property bool Scripting = { read = FScripting, write = FScripting };
 
-   __property UnicodeString DefaultKeyFile = { read = GetDefaultKeyFile };
 
-   __property bool DisablePasswordStoring = { read = FDisablePasswordStoring };
 
-   __property bool ForceBanners = { read = FForceBanners };
 
-   __property bool DisableAcceptingHostKeys = { read = FDisableAcceptingHostKeys };
 
- };
 
- //---------------------------------------------------------------------------
 
- class TShortCuts
 
- {
 
- public:
 
-   void __fastcall Add(TShortCut ShortCut);
 
-   bool __fastcall Has(TShortCut ShortCut) const;
 
- private:
 
-   std::set<TShortCut> FShortCuts;
 
- };
 
- //---------------------------------------------------------------------------
 
- extern const UnicodeString OriginalPuttyRegistryStorageKey;
 
- extern const UnicodeString KittyRegistryStorageKey;
 
- extern const UnicodeString OriginalPuttyExecutable;
 
- extern const UnicodeString KittyExecutable;
 
- //---------------------------------------------------------------------------
 
- extern const UnicodeString Sha1ChecksumAlg;
 
- extern const UnicodeString Sha224ChecksumAlg;
 
- extern const UnicodeString Sha256ChecksumAlg;
 
- extern const UnicodeString Sha384ChecksumAlg;
 
- extern const UnicodeString Sha512ChecksumAlg;
 
- extern const UnicodeString Md5ChecksumAlg;
 
- extern const UnicodeString Crc32ChecksumAlg;
 
- //---------------------------------------------------------------------------
 
- extern const UnicodeString SshFingerprintType;
 
- extern const UnicodeString TlsFingerprintType;
 
- //---------------------------------------------------------------------------
 
- extern const UnicodeString FtpsCertificateStorageKey;
 
- extern const UnicodeString HttpsCertificateStorageKey;
 
- //---------------------------------------------------------------------------
 
- extern const int BelowNormalLogLevels;
 
- //---------------------------------------------------------------------------
 
- extern const UnicodeString OpensshFolderName;
 
- extern const UnicodeString OpensshAuthorizedKeysFileName;
 
- //---------------------------------------------------------------------------
 
- #endif
 
 
  |