⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgpnetprefs.c

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 C
📖 第 1 页 / 共 5 页
字号:
/*____________________________________________________________________________
	Copyright (C) 2002 PGP Corporation
	All rights reserved.

	$Id: pgpNetPrefs.c,v 1.114 2002/08/06 20:10:25 dallen Exp $
____________________________________________________________________________*/
#include "pgpNetPrefs.h"
#include "pflPrefTypes.h"
#include "pgpMem.h"
#include "pgpEndianConversion.h"
#include "pgpUtilities.h"

#include "pgpPFLPriv.h"

#if PGP_WORDSBIGENDIAN
#define PGPIPAddress(a,b,c,d) a<<24|b<<16|c<<8|d
#else
#define PGPIPAddress(a,b,c,d) d<<24|c<<16|b<<8|a
#endif

/*	beginning of code formerly in pgpNetPrefs.h .... */
static PGPByte sBlankNetAdminHash[] = {
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

static PGPPrefStructMember sPreSharedCASTPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_PreSharedKey},
	{kPGPPrefType_Number, (void *) kPGPike_HA_SHA1},
	{kPGPPrefType_Number, (void *) kPGPike_SC_CAST_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPFive},
};

static PGPPrefStructMember sPreShared3DESPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_PreSharedKey},
	{kPGPPrefType_Number, (void *) kPGPike_HA_MD5},
	{kPGPPrefType_Number, (void *) kPGPike_SC_3DES_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPTwo},
};

static PGPPrefStructMember sDSSSHACASTPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_DSS_Sig},
	{kPGPPrefType_Number, (void *) kPGPike_HA_SHA1},
	{kPGPPrefType_Number, (void *) kPGPike_SC_CAST_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPFive},
};

static PGPPrefStructMember sDSSSHA3DESPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_DSS_Sig},
	{kPGPPrefType_Number, (void *) kPGPike_HA_SHA1},
	{kPGPPrefType_Number, (void *) kPGPike_SC_3DES_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPTwo},
};

static PGPPrefStructMember sRSASHACASTPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_RSA_Sig},
	{kPGPPrefType_Number, (void *) kPGPike_HA_SHA1},
	{kPGPPrefType_Number, (void *) kPGPike_SC_CAST_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPFive},
};

static PGPPrefStructMember sRSAMD53DESPropArray[] =
{
	{kPGPPrefType_Number, (void *) kPGPike_AM_RSA_Sig},
	{kPGPPrefType_Number, (void *) kPGPike_HA_MD5},
	{kPGPPrefType_Number, (void *) kPGPike_SC_3DES_CBC},
	{kPGPPrefType_Number, (void *) kPGPike_GR_MODPTwo},
};

static PGPPrefStruct sPreSharedCASTProposal =
{
	sizeof(sPreSharedCASTPropArray) / sizeof(PGPPrefStructMember),
	sPreSharedCASTPropArray,
};

static PGPPrefStruct sPreShared3DESProposal =
{
	sizeof(sPreShared3DESPropArray) / sizeof(PGPPrefStructMember),
	sPreShared3DESPropArray,
};

static PGPPrefStruct sDSSSHACASTProposal =
{
	sizeof(sDSSSHACASTPropArray) / sizeof(PGPPrefStructMember),
	sDSSSHACASTPropArray,
};

static PGPPrefStruct sDSSSHA3DESProposal =
{
	sizeof(sDSSSHA3DESPropArray) / sizeof(PGPPrefStructMember),
	sDSSSHA3DESPropArray,
};

static PGPPrefStruct sRSASHACASTProposal =
{
	sizeof(sRSASHACASTPropArray) / sizeof(PGPPrefStructMember),
	sRSASHACASTPropArray,
};

static PGPPrefStruct sRSAMD53DESProposal =
{
	sizeof(sRSAMD53DESPropArray) / sizeof(PGPPrefStructMember),
	sRSAMD53DESPropArray,
};

static PGPPrefArrayElement sDefaultIKEArray[] =
{
	{&sPreSharedCASTProposal}, {&sPreShared3DESProposal},
	{&sDSSSHACASTProposal}, {&sDSSSHA3DESProposal},
	{&sRSASHACASTProposal}, {&sRSAMD53DESProposal}
};

static PGPPrefArray sDefaultIKEProposalsA =
{
	kPGPPrefType_Struct,
	sizeof(sDefaultIKEArray) / sizeof(PGPPrefArrayElement),
	sDefaultIKEArray,
	&sPreSharedCASTProposal
};

static PGPPrefStructMember sCASTSHAIPSecArray[] =
{
	{kPGPPrefType_Boolean, (void *) TRUE},
	{kPGPPrefType_Number, (void *) kPGPike_ET_CAST},
	{kPGPPrefType_Number, (void *) kPGPike_AA_HMAC_SHA},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_AH_None},
	{kPGPPrefType_Number, (void *) kPGPike_AA_None},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_IC_None},
};

static PGPPrefStructMember sCASTMD5IPSecArray[] =
{
	{kPGPPrefType_Boolean, (void *) TRUE},
	{kPGPPrefType_Number, (void *) kPGPike_ET_CAST},
	{kPGPPrefType_Number, (void *) kPGPike_AA_HMAC_MD5},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_AH_None},
	{kPGPPrefType_Number, (void *) kPGPike_AA_None},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_IC_None},
};

static PGPPrefStructMember s3DESMD5IPSecArray[] =
{
	{kPGPPrefType_Boolean, (void *) TRUE},
	{kPGPPrefType_Number, (void *) kPGPike_ET_3DES},
	{kPGPPrefType_Number, (void *) kPGPike_AA_HMAC_MD5},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_AH_None},
	{kPGPPrefType_Number, (void *) kPGPike_AA_None},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) kPGPike_IC_None},
};

static PGPPrefStruct sCASTSHAIPSecProposal =
{
	sizeof(sCASTSHAIPSecArray) / sizeof(PGPPrefStructMember),
	sCASTSHAIPSecArray,
};

static PGPPrefStruct sCASTMD5IPSecProposal =
{
	sizeof(sCASTMD5IPSecArray) / sizeof(PGPPrefStructMember),
	sCASTMD5IPSecArray,
};

static PGPPrefStruct s3DESMD5IPSecProposal =
{
	sizeof(s3DESMD5IPSecArray) / sizeof(PGPPrefStructMember),
	s3DESMD5IPSecArray,
};

static PGPPrefArrayElement sDefaultIPSecArray[] =
{
	{&sCASTSHAIPSecProposal}, {&sCASTMD5IPSecProposal}, {&s3DESMD5IPSecProposal}
};

static PGPPrefArray sDefaultIPSecProposalsA =
{
	kPGPPrefType_Struct,
	sizeof(sDefaultIPSecArray) / sizeof(PGPPrefArrayElement),
	sDefaultIPSecArray,
	&sCASTSHAIPSecProposal
};

const PGPNetPrefIKEProposalEntry sDefaultIKEProposals[] =
{
	{
		kPGPike_AM_PreSharedKey,
		kPGPike_HA_SHA1,
		kPGPike_SC_CAST_CBC,
		kPGPike_GR_MODPFive
	},
	{
		kPGPike_AM_PreSharedKey,
		kPGPike_HA_MD5,
		kPGPike_SC_3DES_CBC,
		kPGPike_GR_MODPTwo
	},
	{
		kPGPike_AM_DSS_Sig,
		kPGPike_HA_SHA1,
		kPGPike_SC_CAST_CBC,
		kPGPike_GR_MODPFive
	},
	{
		kPGPike_AM_DSS_Sig,
		kPGPike_HA_SHA1,
		kPGPike_SC_3DES_CBC,
		kPGPike_GR_MODPTwo
	},
	{
		kPGPike_AM_RSA_Sig,
		kPGPike_HA_SHA1,
		kPGPike_SC_CAST_CBC,
		kPGPike_GR_MODPFive
	},
	{
		kPGPike_AM_RSA_Sig,
		kPGPike_HA_MD5,
		kPGPike_SC_3DES_CBC,
		kPGPike_GR_MODPTwo
	}
};

const PGPSize sDefaultIKEProposalsSize = sizeof(sDefaultIKEProposals);


const PGPNetPrefIPSECProposalEntry sDefaultIPSECProposals[] =
{
	{	/* ESP, CAST, SHA1 */
		TRUE, kPGPike_ET_CAST, kPGPike_AA_HMAC_SHA,
		FALSE, kPGPike_AH_None, kPGPike_AA_None,
		FALSE, kPGPike_IC_None
	},
	{	/* ESP, CAST, MD5 */
		TRUE, kPGPike_ET_CAST, kPGPike_AA_HMAC_MD5,
		FALSE, kPGPike_AH_None, kPGPike_AA_None,
		FALSE, kPGPike_IC_None
	},
	{	/* ESP, 3DES, MD5 */
		TRUE, kPGPike_ET_3DES, kPGPike_AA_HMAC_MD5,
		FALSE, kPGPike_AH_None, kPGPike_AA_None,
		FALSE, kPGPike_IC_None
	},
};

const PGPSize sDefaultIPSECProposalsSize = sizeof(sDefaultIPSECProposals);


static PGPPrefStructMember sTemplateHostMember[] =
{
	{kPGPPrefType_Number, (void *) kPGPnetInsecureHost},
	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_Number, (void *) 0xFFFFFFFF},
	{kPGPPrefType_Number, (void *) -1},
	{kPGPPrefType_String, (void *) ""},
	{kPGPPrefType_String, (void *) ""},
	{kPGPPrefType_Boolean, (void *) TRUE},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Boolean, (void *) FALSE},
	
	{kPGPPrefType_Byte, (void *) NULL},
	{kPGPPrefType_Byte, (void *) NULL},
	{kPGPPrefType_Number, (void *) 0},

	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Boolean, (void *) FALSE},
	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_String, (void *) ""},
	
	{kPGPPrefType_Byte, (void *) NULL},
	{kPGPPrefType_Byte, (void *) NULL},
	{kPGPPrefType_Number, (void *) 0},

	{kPGPPrefType_Number, (void *) kPGPike_EM_Auto}
};

static PGPPrefStruct sTemplateHostStruct =
{
	sizeof(sTemplateHostMember) / sizeof(PGPPrefStructMember),
	sTemplateHostMember,
};

static PGPPrefArray sTemplateHost =
{
	kPGPPrefType_Struct,
	0,
	NULL,
	&sTemplateHostStruct
};

static PGPPrefStructMember sTemplateBlockedMember[] =
{
	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_Number, (void *) 0},
	{kPGPPrefType_Number, (void *) 0}
};

static PGPPrefStruct sTemplateBlockedStruct =
{
	sizeof(sTemplateBlockedMember) / sizeof(PGPPrefStructMember),
	sTemplateBlockedMember,
};

static PGPPrefArray sTemplateBlocked =
{
	kPGPPrefType_Struct,
	0,
	NULL,
	&sTemplateBlockedStruct
};

static PGPPrefStructMember sTemplateTrustedMember[] =
{
	{kPGPPrefType_Boolean, (void *) 0},	/*bIsRange*/
	{kPGPPrefType_Number, (void *) 0},	/*ipAddrStart*/
	{kPGPPrefType_Number, (void *) 0}	/*ipMaskEnd*/
};

static PGPPrefStruct sTemplateTrustedStruct =
{
	sizeof(sTemplateTrustedMember) / sizeof(PGPPrefStructMember),
	sTemplateTrustedMember,
};

static PGPPrefArray sTemplateTrusted =
{
	kPGPPrefType_Struct,
	0,
	NULL,
	&sTemplateTrustedStruct
};

static PGPPrefStructMember sTemplateFirewallRuleMember[] =
{
	{kPGPPrefType_Boolean, (void *) TRUE},	/*active*/
	{kPGPPrefType_Boolean, (void *) TRUE},	/*permit*/
	{kPGPPrefType_Boolean, (void *) FALSE},	/*matchIntrusion*/
	{kPGPPrefType_Number, (void *) 0},		/*direction*/
	{kPGPPrefType_Number, (void *) 0},		/*ipProtocol*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteAddrType*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteIPAddrStart*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteIPMaskEnd*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteServiceType*/
	{kPGPPrefType_Number, (void *) 0},		/*numRemoteServices*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteService[0]*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteService[1]*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteService[2]*/
	{kPGPPrefType_Number, (void *) 0},		/*remoteService[3]*/
	{kPGPPrefType_Number, (void *) 0},		/*localServiceType*/
	{kPGPPrefType_Number, (void *) 0},		/*numLocalServices*/
	{kPGPPrefType_Number, (void *) 0},		/*localService[0]*/
	{kPGPPrefType_Number, (void *) 0},		/*localService[1]*/
	{kPGPPrefType_Number, (void *) 0},		/*localService[2]*/
	{kPGPPrefType_Number, (void *) 0},		/*localService[3]*/
	{kPGPPrefType_String, (void *) ""},		/*description*/
	{kPGPPrefType_String, (void *) ""},		/*appPath*/
	{kPGPPrefType_Byte, (void *) NULL},		/*hash*/
	{kPGPPrefType_Number, (void *) 0},		/*transient*/
	{kPGPPrefType_Number, (void *) 0},		/*ruleType*/
	{kPGPPrefType_Boolean, (void *) FALSE}, /*logrule*/
};

static PGPPrefStruct sTemplateFirewallRuleStruct =
{
	sizeof(sTemplateFirewallRuleMember) / sizeof(PGPPrefStructMember),
	sTemplateFirewallRuleMember,
};

static PGPPrefArray sTemplateFirewallRule =
{
	kPGPPrefType_Struct,
	0,
	NULL,
	&sTemplateFirewallRuleStruct
};

const PGPPrefDefinition netDefaults[] =
{
	{kPGPNetPrefRequireValidKeyConfigured,
	"RequireValidKeyConf",
	kPGPPrefType_Boolean,
	(void *) TRUE},

	{kPGPNetPrefRequireValidKeyUnconfigured,
	"RequireValidKeyUnconf",
	kPGPPrefType_Boolean,
	(void *) FALSE},

	{kPGPNetPrefEnablePassphraseCache,
	"EnableCache",
	kPGPPrefType_Boolean,
	(void *) FALSE},

	{kPGPNetPrefEnablePGPnet,
	"EnablePGPnet",
	kPGPPrefType_Boolean,
	(void *) TRUE},

	{kPGPNetPrefEnableVPN,
	"EnableVPN",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -