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

📄 openswan-2.4.0-secureclient.diff

📁 ipsec vpn
💻 DIFF
📖 第 1 页 / 共 2 页
字号:
+static struct db_attr otrsasig1024des3shaCP_xauthc[] = {+       { OAKLEY_ENCRYPTION_ALGORITHM, OAKLEY_3DES_CBC },+       { OAKLEY_HASH_ALGORITHM, OAKLEY_SHA },+       { OAKLEY_AUTHENTICATION_METHOD, HybridInitRSA },+       { OAKLEY_GROUP_DESCRIPTION, OAKLEY_GROUP_MODP1024 },+       };  static struct db_attr otpsk1024des3sha[] = { 	{ OAKLEY_ENCRYPTION_ALGORITHM, OAKLEY_3DES_CBC },@@ -320,6 +334,8 @@  #ifdef XAUTH static struct db_trans oakley_trans_rsasig_xauthc[] = {+	{ KEY_IKE, AD(otrsasig1024des3md5CP_xauthc) },+	{ KEY_IKE, AD(otrsasig1024des3shaCP_xauthc) }, 	{ KEY_IKE, AD(otrsasig1536des3md5_xauthc) }, 	{ KEY_IKE, AD(otrsasig1536des3sha_xauthc) }, 	{ KEY_IKE, AD(otrsasig1024des3sha_xauthc) },diff -urN openswan-2.4.0/programs/pluto/spdb_struct.c openswan-2.4.0-OpenSClient/programs/pluto/spdb_struct.c--- openswan-2.4.0/programs/pluto/spdb_struct.c	2005-08-27 02:29:15.000000000 +0200+++ openswan-2.4.0-OpenSClient/programs/pluto/spdb_struct.c	2005-09-26 16:51:13.000000000 +0200@@ -873,6 +873,7 @@ 			} 			break; #ifdef XAUTH+		    case HybridInitRSA: 		    case XAUTHInitRSA: 			if(!xauth_init) 			{diff -urN openswan-2.4.0/programs/pluto/whack.c openswan-2.4.0-OpenSClient/programs/pluto/whack.c--- openswan-2.4.0/programs/pluto/whack.c	2005-07-26 04:11:23.000000000 +0200+++ openswan-2.4.0-OpenSClient/programs/pluto/whack.c	2005-09-26 16:51:13.000000000 +0200@@ -121,6 +121,7 @@   #ifdef XAUTH+	    " [--cpsc]" 	    " [--xauthserver]" 	    " [--xauthclient]" #endif@@ -414,6 +415,7 @@     CD_DUMMY,           /* same order as POLICY_* 17 -- was XAUTH */     CD_MODECFGPULL,     /* same order as POLICY_* 18 */     CD_AGGRESSIVE,      /* same order as POLICY_* 19 */+    CD_CPSC,		/* same order as POLICY_* 20 */     CD_TUNNELIPV4,     CD_TUNNELIPV6,     CD_CONNIPV4,@@ -606,6 +608,7 @@     { "dpdtimeout", required_argument, NULL, CD_DPDTIMEOUT + OO + NUMERIC_ARG },     { "dpdaction", required_argument, NULL, CD_DPDACTION + OO }, #ifdef XAUTH+    { "cpsc", no_argument, NULL, CD_CPSC + OO },     { "xauth", no_argument, NULL, END_XAUTHSERVER + OO },     { "xauthserver", no_argument, NULL, END_XAUTHSERVER + OO },     { "xauthclient", no_argument, NULL, END_XAUTHCLIENT + OO },@@ -1260,6 +1263,11 @@ 	    continue;  #ifdef XAUTH+	case CD_CPSC:   /* --cpsc */+		msg.policy |= POLICY_CPSC;+		printf("\nXXX: CPSC\n");+		continue;+ 	case END_XAUTHSERVER:	/* --xauthserver */ 	    msg.right.xauth_server = TRUE; 	    continue;@@ -1268,6 +1276,7 @@ 	    msg.right.xauth_client = TRUE; 	    continue; #else+	case CD_CPSC: 	case END_XAUTHSERVER: 	case END_XAUTHCLIENT: 	  diag("pluto is not built with XAUTH support");diff -urN openswan-2.4.0/programs/pluto/xauth.c openswan-2.4.0-OpenSClient/programs/pluto/xauth.c--- openswan-2.4.0/programs/pluto/xauth.c	2005-07-26 04:11:23.000000000 +0200+++ openswan-2.4.0-OpenSClient/programs/pluto/xauth.c	2005-09-26 16:51:13.000000000 +0200@@ -394,7 +394,7 @@ 				out_raw(&mask,4,&attrval,"IP4_mask"); 			    } 			    break;-+#if 0 			case INTERNAL_IP4_SUBNET: 			    { 				char mask[4],bits[8]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe};@@ -414,7 +414,7 @@ 				     			    } 			    break;-		    +#endif     			case INTERNAL_IP4_DNS:  				len = addrbytesptr(&ia.dns[dns_idx++], &byte_ptr);  				out_raw(byte_ptr,len,&attrval,"IP4_dns");@@ -492,7 +492,8 @@ 		} 	} -#define MODECFG_SET_ITEM ( LELEM(INTERNAL_IP4_ADDRESS) | LELEM(INTERNAL_IP4_SUBNET) | LELEM(INTERNAL_IP4_NBNS) | LELEM(INTERNAL_IP4_DNS) )+//#define MODECFG_SET_ITEM ( LELEM(INTERNAL_IP4_ADDRESS) | LELEM(INTERNAL_IP4_SUBNET) | LELEM(INTERNAL_IP4_NBNS) | LELEM(INTERNAL_IP4_DNS) )+#define MODECFG_SET_ITEM ( LELEM(INTERNAL_IP4_ADDRESS) | LELEM(INTERNAL_IP4_NBNS) | LELEM(INTERNAL_IP4_DNS) )  	modecfg_resp(st 		     ,MODECFG_SET_ITEM@@ -1386,7 +1387,7 @@ 		case INTERNAL_IP4_ADDRESS: 		case INTERNAL_IP4_NETMASK: 		case INTERNAL_IP4_DNS:-		case INTERNAL_IP4_SUBNET:+//		case INTERNAL_IP4_SUBNET: 		case INTERNAL_IP4_NBNS: 		    resp |= LELEM(attr.isaat_af_type); 		    break;@@ -1519,7 +1520,7 @@  		case INTERNAL_IP4_NETMASK: 		case INTERNAL_IP4_DNS:-		case INTERNAL_IP4_SUBNET:+//		case INTERNAL_IP4_SUBNET: 		case INTERNAL_IP4_NBNS: 		    resp |= LELEM(attr.isaat_af_type); 		    break;@@ -1626,7 +1627,7 @@ 		case INTERNAL_IP4_ADDRESS: 		case INTERNAL_IP4_NETMASK: 		case INTERNAL_IP4_DNS:-		case INTERNAL_IP4_SUBNET:+//		case INTERNAL_IP4_SUBNET: 		case INTERNAL_IP4_NBNS: 		    resp |= LELEM(attr.isaat_af_type); 		    break;@@ -1695,7 +1696,7 @@ 		 		case INTERNAL_IP4_NETMASK: 		case INTERNAL_IP4_DNS:-		case INTERNAL_IP4_SUBNET:+//		case INTERNAL_IP4_SUBNET: 		case INTERNAL_IP4_NBNS: 		    resp |= LELEM(attr.isaat_af_type); 		    break;@@ -1784,12 +1785,18 @@ 		switch(attr_type) 		{ 		case XAUTH_TYPE:+		    if (st->st_connection->policy & POLICY_CPSC)+			attr.isaat_af_type = CPSC_TYPE | ISAKMP_ATTR_AF_TV;+		    else 		    attr.isaat_af_type = attr_type | ISAKMP_ATTR_AF_TV; 		    attr.isaat_lv = XAUTH_TYPE_GENERIC; 		    out_struct(&attr, &isakmp_xauth_attribute_desc, &strattr, NULL); 		    break; 		     		case XAUTH_USER_NAME:+		    if (st->st_connection->policy & POLICY_CPSC)+			attr.isaat_af_type = CPSC_USER_NAME | ISAKMP_ATTR_AF_TLV;+		    else 		    attr.isaat_af_type = attr_type | ISAKMP_ATTR_AF_TLV; 		    out_struct(&attr, &isakmp_xauth_attribute_desc, &strattr, &attrval); 		    if(st->st_whack_sock == -1)@@ -1818,6 +1825,9 @@ 		    break; 		     		case XAUTH_USER_PASSWORD:+		    if (st->st_connection->policy & POLICY_CPSC)+			attr.isaat_af_type = CPSC_USER_PASSWORD | ISAKMP_ATTR_AF_TLV;+		    else 		    attr.isaat_af_type = attr_type | ISAKMP_ATTR_AF_TLV; 		    out_struct(&attr, &isakmp_xauth_attribute_desc, &strattr, &attrval); 		    if(st->st_whack_sock == -1)@@ -1981,18 +1991,23 @@ 	     	    switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK ) 	    {+	    case CPSC_STATUS: 	    case XAUTH_STATUS: 		got_status = TRUE; 		status = attr.isaat_lv; 		break; 		+	    case CPSC_MESSAGE: 	    case XAUTH_MESSAGE: 		if(len > 80) len=80; 		memcpy(msgbuf, dat, len); 		msgbuf[len]='\0'; 		loglog(RC_LOG_SERIOUS, "XAUTH: Bad Message: %s", msgbuf); 		break;-		+	    +	    case CPSC_TYPE:+	        attr.isaat_af_type = XAUTH_TYPE;+ 	    case XAUTH_TYPE: 		type = val; 		if(type != XAUTH_TYPE_GENERIC)@@ -2003,6 +2018,14 @@ 		xauth_resp |= XAUTHLELEM(attr.isaat_af_type); 		break; +	    case CPSC_USER_NAME:+	    	attr.isaat_af_type = XAUTH_USER_NAME;+		goto cp_hybrid_common;++	    case CPSC_USER_PASSWORD:+	    	attr.isaat_af_type = XAUTH_USER_PASSWORD;+cp_hybrid_common:+ 	    case XAUTH_USER_NAME: 	    case XAUTH_USER_PASSWORD: 		xauth_resp |= XAUTHLELEM(attr.isaat_af_type);@@ -2011,7 +2034,7 @@ 	    case INTERNAL_IP4_ADDRESS: 	    case INTERNAL_IP4_NETMASK: 	    case INTERNAL_IP4_DNS:-	    case INTERNAL_IP4_SUBNET:+//	    case INTERNAL_IP4_SUBNET: 	    case INTERNAL_IP4_NBNS: 		xauth_resp |= LELEM(attr.isaat_af_type); 		break;@@ -2081,8 +2104,10 @@     }      /* reset the message ID */+    if (!(st->st_connection->policy & POLICY_CPSC)) {     st->st_msgid_phase15b = st->st_msgid_phase15;     st->st_msgid_phase15 = 0;+    }      DBG(DBG_CONTROLMORE, DBG_log("xauth_inI0(STF_OK)"));     return STF_OK;@@ -2137,6 +2162,9 @@ 	attr_type = XAUTH_TYPE;  	/* ISAKMP attr out */+	if (st->st_connection->policy & POLICY_CPSC)+		attr.isaat_af_type = CPSC_STATUS | ISAKMP_ATTR_AF_TV;+	else 	attr.isaat_af_type = XAUTH_STATUS | ISAKMP_ATTR_AF_TV; 	attr.isaat_lv = 1; 	out_struct(&attr, &isakmp_xauth_attribute_desc, &strattr, &attrval);@@ -2225,6 +2253,8 @@ 		 		switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK ) 		{+		case CPSC_STATUS:+			attr.isaat_af_type = XAUTH_STATUS; 		case XAUTH_STATUS: 		    xauth_resp |= XAUTHLELEM(attr.isaat_af_type); 		    got_status = TRUE;@@ -2246,6 +2276,9 @@     { 	/* oops, something seriously wrong */ 	openswan_log("did not get status attribute in xauth_inI1, looking for new challenge.");+	if (st->st_connection->policy & POLICY_CPSC)+		st->st_state = STATE_CPSC_I0;+	else 	st->st_state = STATE_XAUTH_I0; 	return xauth_inI0(md);     }

⌨️ 快捷键说明

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