Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

268 lines
5.1 KiB

////////////////////////////////////////////////////////////
//Header: staticadd.h
//
// Purpose: Defining structures and prototypes for staticadd.cpp.
//
// Developers Name: surya
//
// Revision History:
//
// Date Author Comments
// 21th Aug 2001 surya Initial Version.
//
////////////////////////////////////////////////////////////
#ifndef _STATICADD_H_
#define _STATICADD_H_
const DWORD MMPFS_QM_LIMIT = 1;
const time_t P2STORE_DEFAULT_KBLIFE = 0;
const time_t P2STORE_DEFAULT_LIFETIME = POTF_DEFAULT_P1REKEY_TIME;//60 * 480; by VKR to reflect the IPSECCMD defaults
const time_t QM_DEFAULT_LIFETIMEINKILOBYTES = 0;
const time_t QM_DEFAULT_LIFETIMEINSECONDS = 0;
const ULONG POTF_OAKLEY_ALGOKEYLEN = 64;
const ULONG POTF_OAKLEY_ALGOROUNDS = 8;
const DWORD PROTOCOL_ANY = 0;
const WORD PORT_ANY = 0;
const WORD DEF_NUMBER_OF_ADDR = 1;
const DWORD ADDR_ME = 0x00000000;
const DWORD MASK_ME = 0xFFFFFFFF;
typedef struct _FILTERDATA {
LPTSTR pszFLName;
LPTSTR pszDescription;
GUID FilterSpecGUID;
DNSIPADDR SourceAddr;
BOOL bSrcAddrSpecified;
DWORD SourMask;
BOOL bSrcMaskSpecified;
DNSIPADDR DestnAddr;
BOOL bDstAddrSpecified;
DWORD DestMask;
BOOL bDstMaskSpecified;
DWORD TunnAddr;
BOOL TunnFiltExists;
BOOL bMirrored;
DWORD dwProtocol;
WORD SourPort;
WORD DestPort;
UCHAR ExType;
BOOL bSrcServerSpecified;
BOOL bDstServerSpecified;
BOOL bSrcMeSpecified;
BOOL bSrcAnySpecified;
BOOL bDstMeSpecified;
BOOL bDstAnySpecified;
}FILTERDATA, *PFILTERDATA;
extern BOOL
IsDomainMember(
IN LPTSTR pszMachine
);
//
//Add policy prototypes
//
DWORD
CreateNewPolicy(
IN PPOLICYDATA pPolicyData
);
DWORD
LoadIkeDefaults(
IN OUT PPOLICYDATA pPolicy,
OUT IPSEC_MM_OFFER **ppIpSecMMOffer
);
DWORD
AddDefaultResponseRule(
IN OUT PIPSEC_POLICY_DATA pPolicy,
IN HANDLE hPolicyStorage,
IN BOOL bActivateDefaultRule,
IN BOOL bActivateDefaultRuleSpecified
);
PIPSEC_NFA_DATA
MakeDefaultResponseRule (
IN BOOL bActivate,
IN BOOL bActivateSpecified
);
PIPSEC_NEGPOL_DATA
MakeDefaultResponseNegotiationPolicy (
VOID
);
BOOL
CheckPolicyExistance(
IN HANDLE hPolicyStorage,
IN LPTSTR pszPolicyName
);
//
//Add filter action proto types
//
DWORD
LoadOfferDefaults(
OUT PIPSEC_QM_OFFER & pOffers,
OUT DWORD & dwNumOffers
);
DWORD
MakeNegotiationPolicy(
OUT PIPSEC_NEGPOL_DATA *ppNegPol,
IN PFILTERACTION pFilterAction
);
//
//Add rule
//
DWORD
CreateNewRule(
IN PRULEDATA pRuleData
);
BOOL
GetPolicyFromStore(
OUT PIPSEC_POLICY_DATA *ppPolicy,
IN LPTSTR szPolicyName,
IN HANDLE hPolicyStorage
);
BOOL
GetFilterListFromStore(
OUT PIPSEC_FILTER_DATA *ppFilter,
IN LPTSTR pszFLName,
IN HANDLE hPolicyStorage,
IN OUT BOOL &bFilterExists
);
BOOL
GetNegPolFromStore(
OUT PIPSEC_NEGPOL_DATA *ppNegPol,
IN LPTSTR pszFAName,
IN HANDLE hPolicyStorage
);
PIPSEC_NFA_DATA
MakeRule(
IN PRULEDATA pRuleData,
IN PIPSEC_NEGPOL_DATA pNegPolData,
IN PIPSEC_FILTER_DATA pFilterData
);
DWORD
AddRule(
IN OUT PIPSEC_POLICY_DATA pPolicy,
IN PRULEDATA pRuleData,
IN PIPSEC_NEGPOL_DATA pNegPolData,
IN PIPSEC_FILTER_DATA pFilterData ,
IN HANDLE hPolicyStorage
);
DWORD
LoadAuthenticationInfos(
IN STA_AUTH_METHODS AuthInfos,
IN OUT PIPSEC_NFA_DATA &pRule,
IN OUT BOOL &bCertConversionSuceeded
);
PIPSEC_NFA_DATA*
ReAllocRuleMem(
IN PIPSEC_NFA_DATA *ppOldMem,
IN DWORD cbOld,
IN DWORD cbNew
);
DWORD
DecodeCertificateName (
IN LPBYTE EncodedName,
IN DWORD EncodedNameLength,
IN OUT LPTSTR *ppszSubjectName
);
//
//Add Filter
//
PIPSEC_FILTER_SPEC *
ReAllocFilterSpecMem(
IN PIPSEC_FILTER_SPEC * ppOldMem,
IN DWORD cbOld,
IN DWORD cbNew
);
DWORD
FillAddPolicyInfo(
OUT PPOLICYDATA* ppFilter,
IN PARSER_PKT & parser,
IN const TOKEN_VALUE *vtokStaticAddPolicy
);
DWORD
FillAddFilterInfo(
OUT PFILTERDATA* ppFilterData,
IN PARSER_PKT & parser,
IN const TOKEN_VALUE *vtokStaticAddFilter
);
DWORD
FillAddFilterActionInfo(
OUT PFILTERACTION* ppFilterData,
IN PARSER_PKT & parser,
IN const TOKEN_VALUE *vtokStaticAddFilterAction
);
DWORD
FillAddRuleInfo(
OUT PRULEDATA* ppRuleData,
IN PARSER_PKT & parser,
IN const TOKEN_VALUE *vtokStaticAddRule
);
//
//add filterlist
//
DWORD
CreateNewFilterList(
IN HANDLE hPolicyStorage,
IN LPTSTR pszFLName,
IN LPTSTR pszFLDescription
);
DWORD
ValidateFilterSpec(
IN PFILTERDATA pFilterData
);
BOOL
CheckForRuleExistance(
IN PIPSEC_POLICY_DATA pPolicy,
IN LPTSTR pszRuleName
);
BOOL
CheckFilterListExistance(
IN HANDLE hPolicyStorage,
IN LPTSTR pszFLName
);
BOOL
CheckFilterActionExistance(
IN HANDLE hPolicyStorage,
IN LPTSTR pszFAName
);
DWORD
ConvertMMAuthToStaticLocal(
IN PINT_IPSEC_MM_AUTH_INFO pAuthenticationInfo,
IN DWORD dwAuthInfos,
IN OUT STA_AUTH_METHODS &AuthInfos
);
DWORD
ConnectStaticMachine(
IN LPCWSTR pwszMachine,
IN DWORD dwLocation
);
#endif //_STATICADD_H_