// Pre-compiled header for Passport Manager config/admin tool #include #include #include #include #include #include // for INTERNET_MAX_URL_LENGTH #include #include #include #include "resource.h" #include "pmhelp.h" #include "mru.h" #ifndef GET_WM_COMMAND_ID #define GET_WM_COMMAND_ID(wp, lp) (wp) #define GET_WM_COMMAND_HWND(wp, lp) (HWND)(LOWORD(lp)) #define GET_WM_COMMAND_CMD(wp, lp) HIWORD(lp) #endif #ifdef WIN32 #define CBACK CALLBACK #else #define CBACK _export CALLBACK #endif // constant defines #define MAX_REGISTRY_STRING 256 #define DEFAULT_TIME_WINDOW 14400 #define MIN_TIME_WINDOW_SECONDS 100 #define MAX_TIME_WINDOW_SECONDS 1000000 #define DEFAULT_LANGID 1033 #define MAX_SITEID 0xFFFFFFFF #define PRODUCTID_LEN 24 #define MAX_TITLE 80 #define MAX_MESSAGE 1024 #define MAX_RESOURCE 255 #define MAX_CONFIGSETNAME 256 #define MAX_IPLEN 16 #define SECONDS_PER_MIN 60 #define SECONDS_PER_HOUR (60 * SECONDS_PER_MIN) #define SECONDS_PER_DAY (24 * SECONDS_PER_HOUR) #define VALIDATION_ERROR 1 #define CHANGE_WARNING 2 #define COMPUTER_MRU_SIZE 4 #define FILE_MRU_SIZE 4 // Type defines typedef struct PMSettings_tag { DWORD dwTimeWindow; // Time Window in Seconds DWORD dwForceSignIn; DWORD dwLanguageID; TCHAR szCoBrandTemplate[INTERNET_MAX_URL_LENGTH]; DWORD cbCoBrandTemplate; // Size of the CobBrand template buffer DWORD dwSiteID; TCHAR szReturnURL[INTERNET_MAX_URL_LENGTH]; DWORD cbReturnURL; // Size of the ReturnURL buffer TCHAR szTicketDomain[INTERNET_MAX_URL_LENGTH]; DWORD cbTicketDomain; // Size of the CookieDomain buffer TCHAR szTicketPath[INTERNET_MAX_URL_LENGTH]; DWORD cbTicketPath; // Size of the CookiePath buffer TCHAR szProfileDomain[INTERNET_MAX_URL_LENGTH]; DWORD cbProfileDomain; // Size of the CookieDomain buffer TCHAR szProfilePath[INTERNET_MAX_URL_LENGTH]; DWORD cbProfilePath; // Size of the CookiePath buffer TCHAR szSecureDomain[INTERNET_MAX_URL_LENGTH]; DWORD cbSecureDomain; // Size of the CookiePath buffer TCHAR szSecurePath[INTERNET_MAX_URL_LENGTH]; DWORD cbSecurePath; // Size of the CookiePath buffer TCHAR szDisasterURL[INTERNET_MAX_URL_LENGTH]; DWORD cbDisasterURL; // Size of the DisasterURL buffer #ifdef DO_KEYSTUFF DWORD dwCurrentKey; #endif DWORD dwDisableCookies; DWORD dwStandAlone; TCHAR szHostName[INTERNET_MAX_HOST_NAME_LENGTH]; DWORD cbHostName; TCHAR szHostIP[MAX_IPLEN]; DWORD cbHostIP; } PMSETTINGS, FAR * LPPMSETTINGS; typedef struct LanguageIDMap_tag { WORD wLangID; LPCTSTR lpszLang; } LANGIDMAP, FAR * LPLANGIDMAP; // declarations for globals that are shared across modules extern TCHAR g_szTRUE[]; extern TCHAR g_szFALSE[]; extern TCHAR g_szYes[]; extern TCHAR g_szNo[]; extern HINSTANCE g_hInst; extern HWND g_hwndMain; extern PMSETTINGS g_CurrentSettings; extern PMSETTINGS g_OriginalSettings; extern TCHAR g_szClassName[]; extern LANGIDMAP g_szLanguageIDMap[]; extern TCHAR g_szInstallPath[]; extern TCHAR g_szPMVersion[]; extern TCHAR g_szHelpFileName[]; extern TCHAR g_szRemoteComputer[]; extern TCHAR g_szPassportReg[]; extern TCHAR g_szPassportSites[]; extern PpMRU g_ComputerMRU; // These globals are shared by the reg and file config read/write functions extern TCHAR g_szEncryptionKeyData[]; extern TCHAR g_szInstallDir[]; extern TCHAR g_szVersion[]; extern TCHAR g_szTimeWindow[]; extern TCHAR g_szForceSignIn[]; extern TCHAR g_szLanguageID[]; extern TCHAR g_szCoBrandTemplate[]; extern TCHAR g_szSiteID[]; extern TCHAR g_szReturnURL[]; extern TCHAR g_szTicketDomain[]; extern TCHAR g_szTicketPath[]; extern TCHAR g_szProfileDomain[]; extern TCHAR g_szProfilePath[]; extern TCHAR g_szSecureDomain[]; extern TCHAR g_szSecurePath[]; extern TCHAR g_szCurrentKey[]; extern TCHAR g_szStandAlone[]; extern TCHAR g_szDisableCookies[]; extern TCHAR g_szDisasterURL[]; extern TCHAR g_szHostName[]; extern TCHAR g_szHostIP[]; // declaractions for functions that are shared across modules BOOL ReadRegConfigSet(HWND hWndDlg, LPPMSETTINGS lpPMConfig, LPTSTR lpszRemoteComputer, LPTSTR lpszConfigSetName = NULL); BOOL WriteRegConfigSet(HWND hWndDlg, LPPMSETTINGS lpPMConfig, LPTSTR lpszRemoteComputer, LPTSTR lpszConfigSetName = NULL); BOOL RemoveRegConfigSet(HWND hWndDlg, LPTSTR lpszRemoteComputer, LPTSTR lpszConfigSetName); BOOL VerifyRegConfigSet(HWND hWndDlg, LPPMSETTINGS lpPMConfig, LPTSTR lpszRemoteComputer, LPTSTR lpszConfigSetName = NULL); BOOL ReadRegConfigSetNames(HWND hWndDlg, LPTSTR lpszRemoteComputer, LPTSTR* lppszConfigSetNames); void InitializePMConfigStruct(LPPMSETTINGS lpPMConfig); void ReportControlMessage(HWND hWnd, INT idCtrl, WORD wMessageType); BOOL CommitOKWarning(HWND hWndDlg); void ReportError(HWND hWndDlg, UINT idError); BOOL PMAdmin_OnCommandConnect(HWND hWnd, LPTSTR lpszRemoteName); BOOL PMAdmin_GetFileName(HWND hWnd, BOOL fOpen, LPTSTR lpFileName, DWORD cbFileName); BOOL ReadFileConfigSet(LPPMSETTINGS lpPMConfig, LPCTSTR lpszFileName); BOOL WriteFileConfigSet(LPPMSETTINGS lpPMConfig, LPCTSTR lpszFileName); BOOL NewConfigSet(HWND hWndDlg, LPTSTR szSiteNameBuf, DWORD dwBufLen, LPTSTR szHostNameBuf, DWORD dwHostNameLen, LPTSTR szHostIPBuf, DWORD dwHostIPLen); BOOL RemoveConfigSetWarning(HWND hWndDlg); BOOL IsValidIP(LPCTSTR lpszIP);