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

📄 spdb.c

📁 This a good VPN source
💻 C
📖 第 1 页 / 共 3 页
字号:
    };#endif/* In this table, either PSK or RSA sig is accepted. * The order matters, but I don't know what would be best. */static struct db_trans oakley_trans_pskrsasig[] = {#ifdef TEST_INDECENT_PROPOSAL	{ KEY_IKE, AD(otpsk1024des3tiger) },#endif	{ KEY_IKE, AD(otrsasig1536des3md5) },	{ KEY_IKE, AD(otpsk1536des3md5) },	{ KEY_IKE, AD(otrsasig1536des3sha) },	{ KEY_IKE, AD(otpsk1536des3sha) },	{ KEY_IKE, AD(otrsasig1024des3sha) },	{ KEY_IKE, AD(otpsk1024des3sha) },	{ KEY_IKE, AD(otrsasig1024des3md5) },	{ KEY_IKE, AD(otpsk1024des3md5) },    };#ifdef XAUTHstatic struct db_trans oakley_trans_pskrsasig_xauthc[] = {	{ KEY_IKE, AD(otrsasig1536des3md5_xauthc) },	{ KEY_IKE, AD(otpsk1536des3md5_xauthc) },	{ KEY_IKE, AD(otrsasig1536des3sha_xauthc) },	{ KEY_IKE, AD(otpsk1536des3sha_xauthc) },	{ KEY_IKE, AD(otrsasig1024des3sha_xauthc) },	{ KEY_IKE, AD(otpsk1024des3sha_xauthc) },	{ KEY_IKE, AD(otrsasig1024des3md5_xauthc) },	{ KEY_IKE, AD(otpsk1024des3md5_xauthc) },    };static struct db_trans oakley_trans_pskrsasig_xauths[] = {	{ KEY_IKE, AD(otrsasig1536des3md5_xauths) },	{ KEY_IKE, AD(otpsk1536des3md5_xauths) },	{ KEY_IKE, AD(otrsasig1536des3sha_xauths) },	{ KEY_IKE, AD(otpsk1536des3sha_xauths) },	{ KEY_IKE, AD(otrsasig1024des3sha_xauths) },	{ KEY_IKE, AD(otpsk1024des3sha_xauths) },	{ KEY_IKE, AD(otrsasig1024des3md5_xauths) },	{ KEY_IKE, AD(otpsk1024des3md5_xauths) },    };#endif/* * array of proposals to be conjoined (can only be one for Oakley) * AND of protocols. */static struct db_prop oakley_pc_psk[] =    { { PROTO_ISAKMP, AD(oakley_trans_psk) } };static struct db_prop oakley_pc_rsasig[] =    { { PROTO_ISAKMP, AD(oakley_trans_rsasig) } };static struct db_prop oakley_pc_pskrsasig[] =    { { PROTO_ISAKMP, AD(oakley_trans_pskrsasig) } };#ifdef XAUTHstatic struct db_prop oakley_pc_psk_xauths[] =    { { PROTO_ISAKMP, AD(oakley_trans_psk_xauths) } };static struct db_prop oakley_pc_rsasig_xauths[] =    { { PROTO_ISAKMP, AD(oakley_trans_rsasig_xauths) } };static struct db_prop oakley_pc_pskrsasig_xauths[] =    { { PROTO_ISAKMP, AD(oakley_trans_pskrsasig_xauths) } };static struct db_prop oakley_pc_psk_xauthc[] =    { { PROTO_ISAKMP, AD(oakley_trans_psk_xauthc) } };static struct db_prop oakley_pc_rsasig_xauthc[] =    { { PROTO_ISAKMP, AD(oakley_trans_rsasig_xauthc) } };static struct db_prop oakley_pc_pskrsasig_xauthc[] =    { { PROTO_ISAKMP, AD(oakley_trans_pskrsasig_xauthc) } };#endif/* array of proposal conjuncts (can only be one) (OR of protocol) */static struct db_prop_conj oakley_props_psk[] = { { AD(oakley_pc_psk) } };static struct db_prop_conj oakley_props_rsasig[] = { { AD(oakley_pc_rsasig) } };static struct db_prop_conj oakley_props_pskrsasig[] = { { AD(oakley_pc_pskrsasig) } };#ifdef XAUTHstatic struct db_prop_conj oakley_props_psk_xauthc[] = { { AD(oakley_pc_psk_xauthc) } };static struct db_prop_conj oakley_props_rsasig_xauthc[] = { { AD(oakley_pc_rsasig_xauthc) } };static struct db_prop_conj oakley_props_pskrsasig_xauthc[] = { { AD(oakley_pc_pskrsasig_xauthc) } };static struct db_prop_conj oakley_props_psk_xauths[] = { { AD(oakley_pc_psk_xauths) } };static struct db_prop_conj oakley_props_rsasig_xauths[] = { { AD(oakley_pc_rsasig_xauths) } };static struct db_prop_conj oakley_props_pskrsasig_xauths[] = { { AD(oakley_pc_pskrsasig_xauths) } };#endif/* the sadb entry, subscripted by POLICY_PSK and POLICY_RSASIG bits */struct db_sa oakley_sadb[] = {    { AD_NULL },	                /* none */    { AD(oakley_props_psk) },	        /* POLICY_PSK */    { AD(oakley_props_rsasig) },	/* POLICY_RSASIG */    { AD(oakley_props_pskrsasig) },	/* POLICY_PSK + POLICY_RSASIG */#ifdef XAUTH    { AD_NULL },                        /* POLICY_XAUTHSERVER + none */    { AD(oakley_props_psk_xauths) },    /* POLICY_XAUTHSERVER + PSK */    { AD(oakley_props_rsasig_xauths) }, /* POLICY_XAUTHSERVER + RSA */    { AD(oakley_props_pskrsasig_xauths)},/* POLICY_XAUTHSERVER + RSA+PSK */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + none */    { AD(oakley_props_psk_xauthc) },    /* POLICY_XAUTHCLIENT + PSK */    { AD(oakley_props_rsasig_xauthc)},  /* POLICY_XAUTHCLIENT + RSA */    { AD(oakley_props_pskrsasig_xauthc)},/* POLICY_XAUTHCLIENT + RSA+PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + none */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA+PSK */#else /* XAUTH */    { AD_NULL },                        /* POLICY_XAUTHSERVER + none */    { AD_NULL },                        /* POLICY_XAUTHSERVER + PSK */    { AD_NULL },                        /* POLICY_XAUTHSERVER + RSA */    { AD_NULL },                        /* POLICY_XAUTHSERVER + RSA+PSK */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + none */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + PSK */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + RSA */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + RSA+PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + none */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA+PSK */#endif /* XAUTH */    };#if defined(AGGRESSIVE)/**************** Oakley (aggressive mode) SA database ****************//* * the Aggressive mode attributes must be seperate, because there * can be no choices --- since we must computer keying material, * we must actually just agree on what we are going to use. */#if !defined(XAUTH) && defined(AGGRESSIVE)#error there is no point in compiling aggressive mode without XAUTH#endif/* tables of transforms, in preference order (select based on AUTH) */static struct db_trans oakley_am_trans_psk[] = {	{ KEY_IKE, AD(otpsk1536des3sha) },    };static struct db_trans oakley_am_trans_psk_xauthc[] = {	{ KEY_IKE, AD(otpsk1536des3sha_xauthc) },    };static struct db_trans oakley_am_trans_psk_xauths[] = {	{ KEY_IKE, AD(otpsk1536des3sha_xauths) },    };static struct db_trans oakley_am_trans_rsasig[] = {	{ KEY_IKE, AD(otrsasig1536des3sha) },    };static struct db_trans oakley_am_trans_rsasig_xauthc[] = {	{ KEY_IKE, AD(otrsasig1536des3sha_xauthc) },    };static struct db_trans oakley_am_trans_rsasig_xauths[] = {	{ KEY_IKE, AD(otrsasig1536des3sha_xauths) },    };/* array of proposals to be conjoined (can only be one for Oakley) */static struct db_prop oakley_am_pc_psk[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_psk) } };static struct db_prop oakley_am_pc_rsasig[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_rsasig) } };static struct db_prop oakley_am_pc_psk_xauths[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_psk_xauths) } };static struct db_prop oakley_am_pc_rsasig_xauths[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_rsasig_xauths) } };static struct db_prop oakley_am_pc_psk_xauthc[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_psk_xauthc) } };static struct db_prop oakley_am_pc_rsasig_xauthc[] =    { { PROTO_ISAKMP, AD(oakley_am_trans_rsasig_xauthc) } };/* array of proposal conjuncts (can only be one) */static struct db_prop_conj oakley_am_props_psk[] =    { { AD(oakley_am_pc_psk) } };static struct db_prop_conj oakley_am_props_rsasig[] =    { { AD(oakley_am_pc_rsasig) } };static struct db_prop_conj oakley_am_props_psk_xauthc[] =    { { AD(oakley_am_pc_psk_xauthc) } };static struct db_prop_conj oakley_am_props_rsasig_xauthc[] =    { { AD(oakley_am_pc_rsasig_xauthc) } };static struct db_prop_conj oakley_am_props_psk_xauths[] =    { { AD(oakley_am_pc_psk_xauths) } };static struct db_prop_conj oakley_am_props_rsasig_xauths[] =    { { AD(oakley_am_pc_rsasig_xauths) } };/* * the sadb entry, subscripted *   by [ WEAK, XAUTHSERVER, XAUTHCLIENT, POLICY_RSASIG, POLICY_PSK ] bits */struct db_sa oakley_am_sadb[] = {    /* STRONG ALGORITHMS */    { AD_NULL },	                /* none */    { AD(oakley_am_props_psk) },	/* POLICY_PSK */    { AD(oakley_am_props_rsasig) },	/* POLICY_RSASIG */    { AD_NULL }, 	                /* PSK + RSASIG => invalid in AM */    { AD_NULL },                        /* POLICY_XAUTHSERVER + none */    { AD(oakley_am_props_psk_xauths) },    /* POLICY_XAUTHSERVER + PSK */    { AD(oakley_am_props_rsasig_xauths) }, /* POLICY_XAUTHSERVER + RSA */    { AD_NULL },                        /* XAUTHSERVER + RSA+PSK=>invalid */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + none */    { AD(oakley_am_props_psk_xauthc) },    /* POLICY_XAUTHCLIENT + PSK */    { AD(oakley_am_props_rsasig_xauthc)},  /* POLICY_XAUTHCLIENT + RSA */    { AD_NULL },                        /* XAUTHCLIENT + RSA+PSK=>invalid */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + none */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA+PSK */#if 0    /* weaker ALGORITHMS */    { AD_NULL },	                /* none */    { AD(oakley_am_props_psk) },	/* POLICY_PSK */    { AD(oakley_am_props_rsasig) },	/* POLICY_RSASIG */    { AD(oakley_am_props_pskrsasig) },	/* POLICY_PSK + POLICY_RSASIG */    { AD_NULL },                        /* POLICY_XAUTHSERVER + none */    { AD(oakley_am_props_psk_xauths) },    /* POLICY_XAUTHSERVER + PSK */    { AD(oakley_am_props_rsasig_xauths) }, /* POLICY_XAUTHSERVER + RSA */    { AD(oakley_am_props_pskrsasig_xauths)},/* POLICY_XAUTHSERVER + RSA+PSK */    { AD_NULL },                        /* POLICY_XAUTHCLIENT + none */    { AD(oakley_am_props_psk_xauthc) },    /* POLICY_XAUTHCLIENT + PSK */    { AD(oakley_am_props_rsasig_xauthc)},  /* POLICY_XAUTHCLIENT + RSA */    { AD(oakley_am_props_pskrsasig_xauthc)},/* POLICY_XAUTHCLIENT + RSA+PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + none */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + PSK */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA */    { AD_NULL },                        /* XAUTHCLIENT+XAUTHSERVER + RSA+PSK */#endif    };#endif /* AGGRESSIVE *//**************** IPsec (quick mode) SA database ****************//* arrays of attributes for transforms */static struct db_attr espmd5_attr[] = {    { AUTH_ALGORITHM, AUTH_ALGORITHM_HMAC_MD5 },    };static struct db_attr espsha1_attr[] = {    { AUTH_ALGORITHM, AUTH_ALGORITHM_HMAC_SHA1 },    };static struct db_attr ah_HMAC_MD5_attr[] = {    { AUTH_ALGORITHM, AUTH_ALGORITHM_HMAC_MD5 },    };static struct db_attr ah_HMAC_SHA1_attr[] = {    { AUTH_ALGORITHM, AUTH_ALGORITHM_HMAC_SHA1 },    };/* arrays of transforms, each in in preference order */static struct db_trans espa_trans[] = {    { ESP_AES,  AD(espsha1_attr) },    { ESP_AES,  AD(espmd5_attr) },    { ESP_3DES,    AD(espsha1_attr) },    { ESP_3DES,    AD(espmd5_attr) },    };static struct db_trans esp_trans[] = {    { ESP_3DES, AD_NULL },    };#ifdef SUPPORT_ESP_NULLstatic struct db_trans espnull_trans[] = {    { ESP_NULL, AD(espsha1_attr) },    { ESP_NULL, AD(espmd5_attr) },    };#endif /* SUPPORT_ESP_NULL */static struct db_trans ah_trans[] = {    { AH_SHA, AD(ah_HMAC_SHA1_attr) },    { AH_MD5, AD(ah_HMAC_MD5_attr) },    };static struct db_trans ipcomp_trans[] = {    { IPCOMP_DEFLATE, AD_NULL },    };/* arrays of proposals to be conjoined */static struct db_prop ah_pc[] = {    { PROTO_IPSEC_AH, AD(ah_trans) },    };#ifdef SUPPORT_ESP_NULLstatic struct db_prop espnull_pc[] = {    { PROTO_IPSEC_ESP, AD(espnull_trans) },    };#endif /* SUPPORT_ESP_NULL */static struct db_prop esp_pc[] = {    { PROTO_IPSEC_ESP, AD(espa_trans) },    };static struct db_prop ah_esp_pc[] = {    { PROTO_IPSEC_AH, AD(ah_trans) },    { PROTO_IPSEC_ESP, AD(esp_trans) },    };static struct db_prop compress_pc[] = {    { PROTO_IPCOMP, AD(ipcomp_trans) },    };static struct db_prop ah_compress_pc[] = {    { PROTO_IPSEC_AH, AD(ah_trans) },    { PROTO_IPCOMP, AD(ipcomp_trans) },    };#ifdef SUPPORT_ESP_NULL

⌨️ 快捷键说明

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