|
|
//+----------------------------------------------------------------------------
//
// File: netsettings.h
//
// Module: CMAK.EXE
//
// Synopsis: Function headers and structures dealing with network
// settings (DUN settings)
//
// Copyright (c) 2000 Microsoft Corporation
//
// Author: quintinb Created 03/22/00
//
//+----------------------------------------------------------------------------
#define SAME_ON_ALL_PLATFORMS 0
#define SEPARATE_FOR_LEGACY_AND_WIN2K 1
#define FORCE_WIN2K_AND_ABOVE 2
class CDunSetting { public: //
// Functions
//
CDunSetting(BOOL bTunnel = FALSE); ~CDunSetting();
//
// Basic Settings
//
BOOL bNetworkLogon; // defaults to zero on Dialup but 1 on Tunnel
BOOL bPppSoftwareCompression; BOOL bDisableLCP;
TCHAR szScript[MAX_PATH+1]; DWORD dwVpnStrategy; BOOL bTunnelDunSetting;
//
// TCP/IP Settings
//
DWORD dwPrimaryDns; DWORD dwSecondaryDns; DWORD dwPrimaryWins; DWORD dwSecondaryWins; BOOL bIpHeaderCompression; BOOL bGatewayOnRemote;
//
// Security Settings
//
BOOL bPWEncrypt; BOOL bPWEncrypt_MS; BOOL bDataEncrypt; DWORD dwEncryptionType; BOOL bAllowPap; BOOL bAllowSpap; BOOL bAllowEap; BOOL bAllowChap; BOOL bAllowMsChap; BOOL bAllowMsChap2; BOOL bAllowW95MsChap; BOOL bSecureLocalFiles; int iHowToHandleSecuritySettings;
//
// EAP Data
//
DWORD dwCustomAuthKey; LPBYTE pCustomAuthData; DWORD dwCustomAuthDataSize;
//
// Pre-shared Key
//
BOOL bUsePresharedKey; };
//
// From RAS\UI\COMMON\PBK\UTIL.C
//
#ifndef EAP_CUSTOM_DATA
#define EAP_CUSTOM_KEY 0x43424431
typedef struct _EAP_CUSTOM_DATA { DWORD dwSignature; DWORD dwCustomAuthKey; DWORD dwSize; BYTE abdata[1]; } EAP_CUSTOM_DATA;
#endif
typedef struct EAPDataStruct { DWORD dwCustomAuthKey; LPBYTE pCustomAuthData; DWORD dwCustomAuthDataSize; LPTSTR pszFriendlyName; LPTSTR pszConfigDllPath; BOOL bSupportsEncryption; BOOL bMustConfig; BOOL bNotInstalled; }EAPData;
typedef struct GetBoolSettingsStruct { LPCTSTR pszKeyName; LPBOOL pbValue; BOOL bDefault; }GetBoolSettings;
typedef struct SetBoolSettingsStruct { LPTSTR pszSectionName; LPCTSTR pszKeyName; BOOL bValue; }SetBoolSettings;
BOOL ReadDunServerSettings(LPCTSTR pszSectionName, CDunSetting* pDunSetting, LPCTSTR pszCmsFile, BOOL bTunnelDunSetting); BOOL ReadDunNetworkingSettings(LPCTSTR pszSectionName, CDunSetting* pDunSetting, LPCTSTR pszCmsFile, BOOL bTunnel); DWORD ConvertIpStringToDword(LPTSTR pszIpAddress); int ConvertIpDwordToString(DWORD dwIpAddress, LPTSTR pszIpAddress); BOOL ReadDunTcpIpSettings(LPCTSTR pszSectionName, CDunSetting* pDunSetting, LPCTSTR pszCmsFile); BOOL ReadDunScriptingSettings(LPCTSTR pszSectionName, CDunSetting* pDunSetting, LPCTSTR pszOsDir, LPCTSTR pszCmsFile); BOOL AddDunNameToListIfDoesNotExist(LPCTSTR pszDunName, ListBxList **pHeadDns, ListBxList** pTailDns, BOOL bTunnelDunName); BOOL GetDunEntryNamesFromPbk(LPCTSTR pszPhoneBook, ListBxList **pHeadDns, ListBxList** pTailDns); BOOL ReadNetworkSettings(LPCTSTR pszCmsFile, LPCTSTR pszLongServiceName, LPCTSTR pszPhoneBook, ListBxList **pHeadDns, ListBxList** pTailDns, LPCTSTR pszOsDir, BOOL bLookingForVpnEntries); void WriteOutNetworkingEntry(LPCTSTR pszDunName, CDunSetting* pDunSetting, LPCTSTR pszShortServiceName, LPCTSTR pszCmsFile); void EraseNetworkingSections(LPCTSTR pszDunName, LPCTSTR pszCmsFile); void WriteNetworkingEntries(LPCTSTR pszCmsFile, LPCTSTR pszLongServiceName, LPCTSTR pszShortServiceName, ListBxList *pHeadDns); void EnableAppropriateSecurityControls(HWND hDlg); void EnableDisableSecurityButtons(HWND hDlg); INT_PTR CreateNetworkingEntryPropertySheet(HINSTANCE hInstance, HWND hWizard, LPARAM lParam, BOOL bEdit); void OnProcessDunEntriesAdd(HINSTANCE hInstance, HWND hDlg, UINT uListCtrlId, ListBxStruct** pHeadDns, ListBxStruct** pTailDns, BOOL bCreateTunnelEntry, LPCTSTR pszLongServiceName, LPCTSTR pszCmsFile); void OnProcessDunEntriesEdit(HINSTANCE hInstance, HWND hDlg, UINT uListCtrlId, ListBxStruct** pHeadDns, ListBxStruct** pTailDns, LPCTSTR pszLongServiceName, LPCTSTR pszCmsFile); void OnProcessDunEntriesDelete(HINSTANCE hInstance, HWND hDlg, UINT uListCtrlId, ListBxStruct** pHeadDns, ListBxStruct** pTailDns, LPCTSTR pszLongServiceName, LPCTSTR pszCmsFile); void EnableDisableIpAddressControls(HWND hDlg); INT_PTR APIENTRY ProcessSecurityPopup(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR APIENTRY ProcessWin2kSecurityPopup(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR APIENTRY GeneralPropSheetProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR APIENTRY TcpIpPropSheetProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR APIENTRY SecurityPropSheetProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); void RefreshDnsList(HINSTANCE hInstance, HWND hDlg, UINT uCtrlId, ListBxList * pHead, LPCTSTR pszLongServiceName, LPCTSTR pszCmsFile, LPTSTR pszItemToSelect);
HRESULT HrAddAvailableEAPsToCombo(HWND hDlg, UINT uCtrlId, CDunSetting* pDunSetting); HRESULT HrQueryRegStringWithAlloc(HKEY hKey, LPCTSTR pszValueName, TCHAR** ppszReturnString); void SelectAppropriateEAP(HWND hDlg, UINT uCtrlId, CDunSetting* pDunSetting); void FreeEapData(HWND hDlg, UINT uCtrlId); BOOL ReadDunSettingsEapData(LPCTSTR pszSection, LPBYTE* ppbEapData, LPDWORD pdwEapSize, const DWORD dwCustomAuthKey, LPCTSTR pszCmsFile); HRESULT WriteDunSettingsEapData(LPCTSTR pszSection, CDunSetting* pDunSetting, LPCTSTR pszCmsFile); HRESULT EraseDunSettingsEapData(LPCTSTR pszSection, LPCTSTR pszCmsFile); BYTE HexValue(IN CHAR ch); CHAR HexChar(IN BYTE byte); void FreeDnsList(ListBxList ** pHeadPtr, ListBxList ** pTailPtr); void EnableDisableDunEntryButtons(HINSTANCE hInstance, HWND hDlg, LPCTSTR pszCmsFile, LPCTSTR pszLongServiceName); int MapEncryptionTypeToComboId(DWORD dwEncryptionType); DWORD MapComboIdToEncryptionType(INT_PTR iComboIndex); BOOL VerifyVpnFile(LPCTSTR pszVpnFile); BOOL CheckForDUNversusVPNNameConflicts(HWND hDlg, ListBxList * pHeadDunEntry, ListBxList * pHeadVpnEntry);
|