📄 pgpnetprefs.c
字号:
/*____________________________________________________________________________
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 + -