亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? simple-beet-ph-patch-2.6.9

?? Host Identity Protocol on Linux is an implemetation of the Host Identity Protocol (HIP) and the rela
?? 9
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
diff -urN linux-2.6.9/include/linux/in.h linux-2.6.9-simple-patch/include/linux/in.h--- linux-2.6.9/include/linux/in.h	2004-10-19 00:55:36.000000000 +0300+++ linux-2.6.9-simple-patch/include/linux/in.h	2006-08-05 15:08:02.000000000 +0300@@ -39,6 +39,7 @@    IPPROTO_ESP = 50,            /* Encapsulation Security Payload protocol */   IPPROTO_AH = 51,             /* Authentication Header protocol       */+  IPPROTO_BEETPH = 94,		/* IP option pseudo header for BEET */   IPPROTO_PIM    = 103,		/* Protocol Independent Multicast	*/    IPPROTO_COMP   = 108,                /* Compression Header protocol */diff -urN linux-2.6.9/include/linux/ip.h linux-2.6.9-simple-patch/include/linux/ip.h--- linux-2.6.9/include/linux/ip.h	2004-10-19 00:53:45.000000000 +0300+++ linux-2.6.9-simple-patch/include/linux/ip.h	2006-08-05 15:08:02.000000000 +0300@@ -164,6 +164,8 @@  #endif +#define IPV4_BEET_PHMAXLEN 8+ struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) 	__u8	ihl:4,@@ -207,4 +209,11 @@ 	__u16 cpi; }; +struct ip_beet_phdr {+	__u8 nexthdr;+	__u8 hdrlen;+	__u8 padlen;+	__u8 reserved;+};+ #endif	/* _LINUX_IP_H */diff -urN linux-2.6.9/include/linux/ipsec.h linux-2.6.9-simple-patch/include/linux/ipsec.h--- linux-2.6.9/include/linux/ipsec.h	2004-10-19 00:53:21.000000000 +0300+++ linux-2.6.9-simple-patch/include/linux/ipsec.h	2006-08-05 15:08:02.000000000 +0300@@ -12,7 +12,8 @@ enum { 	IPSEC_MODE_ANY		= 0,	/* We do not support this for SA */ 	IPSEC_MODE_TRANSPORT	= 1,-	IPSEC_MODE_TUNNEL	= 2+	IPSEC_MODE_TUNNEL	= 2,+	IPSEC_MODE_BEET         = 3 };  enum {diff -urN linux-2.6.9/include/linux/xfrm.h linux-2.6.9-simple-patch/include/linux/xfrm.h--- linux-2.6.9/include/linux/xfrm.h	2004-10-19 00:53:43.000000000 +0300+++ linux-2.6.9-simple-patch/include/linux/xfrm.h	2006-08-05 15:08:02.000000000 +0300@@ -102,6 +102,13 @@ 	XFRM_SHARE_UNIQUE	/* Use once */ }; +enum+{+	XFRM_MODE_TRANSPORT = 0,+	XFRM_MODE_TUNNEL,+	XFRM_MODE_BEET+};+ /* Netlink configuration messages.  */ enum { 	XFRM_MSG_BASE = 0x10,diff -urN linux-2.6.9/net/ipv4/ah4.c linux-2.6.9-simple-patch/net/ipv4/ah4.c--- linux-2.6.9/net/ipv4/ah4.c	2004-10-19 00:55:06.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/ah4.c	2006-08-05 15:08:02.000000000 +0300@@ -257,8 +257,10 @@ 		goto error; 	 	x->props.header_len = XFRM_ALIGN8(sizeof(struct ip_auth_hdr) + ahp->icv_trunc_len);-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct iphdr);+	else if (x->props.mode == XFRM_MODE_BEET)+		x->props.header_len += IPV4_BEET_PHMAXLEN; 	x->data = ahp;  	return 0;diff -urN linux-2.6.9/net/ipv4/esp4.c linux-2.6.9-simple-patch/net/ipv4/esp4.c--- linux-2.6.9/net/ipv4/esp4.c	2004-10-19 00:54:32.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/esp4.c	2006-08-05 15:18:25.000000000 +0300@@ -294,7 +294,8 @@ 			 *    as per * draft-ietf-ipsec-udp-encaps-06, 			 *    section 3.1.2 			 */-			if (!x->props.mode)+			if (x->props.mode == XFRM_MODE_TRANSPORT ||+			    x->props.mode == XFRM_MODE_BEET) 				skb->ip_summed = CHECKSUM_UNNECESSARY;  			break;@@ -307,17 +308,27 @@ { 	struct esp_data *esp = x->data; 	u32 blksize = crypto_tfm_alg_blocksize(esp->conf.tfm);+	int enclen = 0; -	if (x->props.mode) {-		mtu = (mtu + 2 + blksize-1)&~(blksize-1);-	} else {+	switch (x->props.mode) {+	default:+	case XFRM_MODE_TUNNEL:+		mtu = ALIGN(mtu +2, blksize);+		break;+	case XFRM_MODE_TRANSPORT:+		/* The worst case */+		mtu = ALIGN(mtu + 2, 4) + blksize - 4;+		break;+	case XFRM_MODE_BEET: 		/* The worst case. */-		mtu += 2 + blksize;+		enclen = IPV4_BEET_PHMAXLEN;+		mtu = ALIGN(mtu + enclen + 2, blksize);+		break; 	} 	if (esp->conf.padlen) 		mtu = (mtu + esp->conf.padlen-1)&~(esp->conf.padlen-1); -	return mtu + x->props.header_len + esp->auth.icv_trunc_len;+	return mtu + x->props.header_len + esp->auth.icv_trunc_len - enclen; }  static void esp4_err(struct sk_buff *skb, u32 info)@@ -429,8 +440,10 @@ 	} 	crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len); 	x->props.header_len = sizeof(struct ip_esp_hdr) + esp->conf.ivlen;-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct iphdr);+	else if (x->props.mode == XFRM_MODE_BEET)+		x->props.header_len += IPV4_BEET_PHMAXLEN; 	if (x->encap) { 		struct xfrm_encap_tmpl *encap = x->encap; diff -urN linux-2.6.9/net/ipv4/ipcomp.c linux-2.6.9-simple-patch/net/ipv4/ipcomp.c--- linux-2.6.9/net/ipv4/ipcomp.c	2004-10-19 00:55:06.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/ipcomp.c	2006-08-05 15:19:21.000000000 +0300@@ -169,7 +169,7 @@ 	hdr_len = iph->ihl * 4; 	if ((skb->len - hdr_len) < ipcd->threshold) { 		/* Don't bother compressing */-		if (x->props.mode) {+		if (x->props.mode == XFRM_MODE_TUNNEL) { 			ip_send_check(iph); 		} 		goto out_ok;@@ -245,7 +245,7 @@ 	t->id.daddr.a4 = x->id.daddr.a4; 	memcpy(&t->sel, &x->sel, sizeof(t->sel)); 	t->props.family = AF_INET;-	t->props.mode = 1;+	t->props.mode = x->props.mode; 	t->props.saddr.a4 = x->props.saddr.a4; 	t->props.flags = x->props.flags; 	@@ -454,8 +454,10 @@  	memset(ipcd, 0, sizeof(*ipcd)); 	x->props.header_len = 0;-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct iphdr);+	else if (x->props.mode == XFRM_MODE_BEET)+		x->props.header_len += IPV4_BEET_PHMAXLEN;  	down(&ipcomp_resource_sem); 	if (!ipcomp_alloc_scratches())@@ -466,7 +468,7 @@ 		goto error; 	up(&ipcomp_resource_sem); -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = ipcomp_tunnel_attach(x); 		if (err) 			goto error_tunnel;diff -urN linux-2.6.9/net/ipv4/xfrm4_input.c linux-2.6.9-simple-patch/net/ipv4/xfrm4_input.c--- linux-2.6.9/net/ipv4/xfrm4_input.c	2004-10-19 00:53:21.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/xfrm4_input.c	2006-08-05 15:08:02.000000000 +0300@@ -93,7 +93,7 @@  		iph = skb->nh.iph; -		if (x->props.mode) {+		if (x->props.mode == XFRM_MODE_TUNNEL) { 			if (iph->protocol != IPPROTO_IPIP) 				goto drop; 			if (!pskb_may_pull(skb, sizeof(struct iphdr)))@@ -111,6 +111,55 @@ 			memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); 			decaps = 1; 			break;+		} else if (x->props.mode == XFRM_MODE_BEET) {+			struct ip_beet_phdr *ph = (struct ip_beet_phdr*)(iph + 1);+			int phlen = 0;+			int optlen = 0;+			__u8 ph_nexthdr = 0, protocol = 0;++			protocol = iph->protocol;+			if (unlikely(iph->protocol == IPPROTO_BEETPH)) {+				if (!pskb_may_pull(skb, sizeof(*ph)))+					goto drop;+				phlen = ph->hdrlen * 8;+				optlen = phlen - ph->padlen - sizeof(*ph);++				if (optlen < 0 || optlen & 3 || optlen > 250)+					goto drop;+				if (!pskb_may_pull(skb, phlen))+					goto drop;++				ph_nexthdr = ph->nexthdr;+			}++			if (skb_cloned(skb) &&+			    pskb_expand_head(skb, 0, 0, GFP_ATOMIC))+				goto drop;++			skb_push(skb, sizeof(struct iphdr));+			memmove(skb->data, skb->nh.raw, sizeof(struct iphdr));+			skb->nh.raw = skb->data;++			if (unlikely(phlen)) {+				skb_pull(skb, phlen - optlen);+				memmove(skb->data, skb->nh.raw, sizeof(*iph));+				skb->nh.raw = skb->data;+				iph = skb->nh.iph;+			}++			iph = skb->nh.iph;+			iph->ihl = (sizeof(*iph) + optlen) / 4;+			iph->tot_len = htons(skb->len);+			iph->daddr = x->sel.daddr.a4;+			iph->saddr = x->sel.saddr.a4;+			if (ph_nexthdr)+				iph->protocol = ph_nexthdr;+			else+				iph->protocol = protocol;+			iph->check = 0;+			iph->check = ip_fast_csum(skb->nh.raw, iph->ihl);+			decaps = 1;+			break; 		}  		if ((err = xfrm_parse_spi(skb, skb->nh.iph->protocol, &spi, &seq)) < 0)diff -urN linux-2.6.9/net/ipv4/xfrm4_output.c linux-2.6.9-simple-patch/net/ipv4/xfrm4_output.c--- linux-2.6.9/net/ipv4/xfrm4_output.c	2004-10-19 00:53:44.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/xfrm4_output.c	2006-08-06 14:20:55.000000000 +0300@@ -33,38 +33,76 @@ 	struct dst_entry *dst = skb->dst; 	struct xfrm_state *x = dst->xfrm; 	struct iphdr *iph, *top_iph;+	int flags;+	int hdrlen, optlen;  	iph = skb->nh.iph; 	skb->h.ipiph = iph; -	skb->nh.raw = skb_push(skb, x->props.header_len);-	top_iph = skb->nh.iph;--	if (!x->props.mode) {-		skb->h.raw += iph->ihl*4;-		memmove(top_iph, iph, iph->ihl*4);-		return;+	hdrlen = x->props.header_len;+	optlen = iph->ihl * 4 - sizeof(*iph);+	if (x->props.mode == XFRM_MODE_BEET) {+		if (!optlen) {+			hdrlen -= IPV4_BEET_PHMAXLEN;+		}+		else {+			skb->h.raw -= (IPV4_BEET_PHMAXLEN - (optlen & 4));+			hdrlen -= optlen & 4;+		} 	} -	top_iph->ihl = 5;-	top_iph->version = 4;--	/* DS disclosed */-	top_iph->tos = INET_ECN_encapsulate(iph->tos, iph->tos);-	if (x->props.flags & XFRM_STATE_NOECN)-		IP_ECN_clear(top_iph);--	top_iph->frag_off = iph->frag_off & htons(IP_DF);-	if (!top_iph->frag_off)-		__ip_select_ident(top_iph, dst, 0);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人少妇影院yyyy| 亚洲女同一区二区| 亚洲国产精品ⅴa在线观看| 中文字幕av一区 二区| 一区二区三区四区激情| 亚洲一区影音先锋| 蜜臀av性久久久久蜜臀av麻豆| 国产真实乱子伦精品视频| 成人毛片老司机大片| 日本乱码高清不卡字幕| 日韩欧美在线网站| 国产精品区一区二区三区| 午夜久久久影院| 国产传媒日韩欧美成人| 91福利国产精品| 久久综合999| 亚洲成人一区二区在线观看| 国产毛片精品视频| 欧洲精品视频在线观看| 精品国产一区二区亚洲人成毛片| 亚洲人精品午夜| 欧美优质美女网站| 久久这里都是精品| 亚洲成a人片在线观看中文| 国产精品夜夜爽| 欧美日韩精品一区二区天天拍小说| 国产亲近乱来精品视频| 午夜久久久久久久久| 99久久精品国产毛片| 久久这里只有精品视频网| 一级中文字幕一区二区| 国产成人精品亚洲777人妖| 欧美日韩国产三级| 亚洲视频资源在线| 国产成人综合自拍| 日韩午夜精品视频| 亚洲国产精品久久一线不卡| 成人的网站免费观看| 欧美精品一区二区高清在线观看| 亚洲午夜久久久久久久久久久| 成人午夜免费视频| 久久久综合视频| 免费欧美高清视频| 欧美日韩国产美女| 亚洲精品日韩综合观看成人91| 国产成人精品免费一区二区| 日韩一级高清毛片| 午夜欧美视频在线观看| 色婷婷久久久亚洲一区二区三区| 国产色91在线| 精品一区二区三区欧美| 欧美日韩国产欧美日美国产精品| 亚洲乱码中文字幕| jlzzjlzz欧美大全| 日本一区免费视频| 国产精品 日产精品 欧美精品| 日韩欧美一二三| 日欧美一区二区| 欧美日韩免费电影| 亚洲国产视频直播| 欧美中文字幕一区二区三区亚洲| 成人激情图片网| 久久色视频免费观看| 久久99精品国产91久久来源| 欧美一区日韩一区| 日韩经典中文字幕一区| 欧美日韩一区二区欧美激情| 亚洲综合图片区| 欧美专区日韩专区| 亚洲国产一区二区三区| 欧美在线免费播放| 亚洲图片欧美色图| 在线视频国产一区| 亚洲午夜电影在线观看| 欧美三级日韩在线| 天堂一区二区在线| 91精品欧美一区二区三区综合在| 日日夜夜免费精品视频| 欧美一级欧美三级在线观看 | 丁香六月综合激情| 国产欧美精品一区二区色综合| 国产成人夜色高潮福利影视| 国产欧美一区二区精品仙草咪| 懂色av一区二区三区蜜臀| 国产精品视频一二三| 成人av电影在线网| 亚洲欧美偷拍卡通变态| 欧美优质美女网站| 日韩高清在线观看| 亚洲精品在线免费观看视频| 国产一级精品在线| 国产精品国产自产拍高清av王其| 99久久精品国产一区| 亚洲一二三四在线观看| 91麻豆精品国产91久久久久久久久| 免费黄网站欧美| 久久99国产乱子伦精品免费| 精品福利一区二区三区| 国产不卡免费视频| 亚洲欧美国产毛片在线| 欧美三级日韩在线| 开心九九激情九九欧美日韩精美视频电影| 日韩精品中午字幕| 成人高清伦理免费影院在线观看| 亚洲精品免费看| 在线播放/欧美激情| 国产精品一二二区| 一区二区三区在线不卡| 日韩一区二区视频| 成人免费观看视频| 亚洲国产一区二区在线播放| 欧美成人a在线| 成人av电影在线播放| 五月综合激情日本mⅴ| 久久一二三国产| 一本久久a久久免费精品不卡| 日韩激情视频网站| 国产日韩欧美精品一区| 在线观看不卡视频| 国产一区二区福利视频| 亚洲精品免费播放| 欧美xxx久久| 日本韩国欧美国产| 精品一区二区免费| 亚洲永久精品国产| 久久亚洲二区三区| 欧美性猛交xxxxxxxx| 经典三级在线一区| 亚洲自拍欧美精品| 国产欧美一区二区在线| 亚洲高清一区二区三区| 久久久久国产免费免费| 欧美日韩中文字幕一区| 国产91丝袜在线18| 日本大胆欧美人术艺术动态| 中文字幕中文乱码欧美一区二区| 欧美一区二区三区在线电影| 成人av电影在线| 激情综合色综合久久综合| 亚洲一区二区视频在线| 欧美韩国日本不卡| 精品区一区二区| 欧美日韩一区成人| 97se亚洲国产综合在线| 国产精品中文字幕欧美| 欧美aa在线视频| 亚洲国产成人高清精品| 中文字幕一区二区视频| xnxx国产精品| 欧美一区二区日韩| 欧美在线制服丝袜| 不卡视频一二三四| 国产麻豆精品在线观看| 日本vs亚洲vs韩国一区三区二区| 一区二区三区在线看| 国产精品沙发午睡系列990531| 欧美mv日韩mv亚洲| 欧美日高清视频| 日本韩国欧美国产| 成人av影视在线观看| 国产一区二区三区视频在线播放| 丝袜美腿亚洲色图| 亚洲电影视频在线| 亚洲综合一区在线| 亚洲日本va在线观看| 国产精品剧情在线亚洲| 久久精品一区蜜桃臀影院| 精品久久五月天| 日韩一区二区三区av| 欧美人与z0zoxxxx视频| 欧美色国产精品| 在线亚洲一区二区| 色噜噜夜夜夜综合网| 91丨九色丨蝌蚪丨老版| 成人午夜电影小说| 丁香激情综合国产| 丁香啪啪综合成人亚洲小说| 国产一区二区按摩在线观看| 蜜乳av一区二区| 麻豆精品视频在线观看免费| 免费看精品久久片| 久久国产成人午夜av影院| 免费人成网站在线观看欧美高清| 日韩av午夜在线观看| 日韩成人av影视| 久久精品999| 韩国在线一区二区| 国产福利一区二区三区视频在线 | 欧美体内she精视频| 欧美午夜寂寞影院| 欧美撒尿777hd撒尿| 欧美日韩国产区一| 欧美一卡二卡在线| 欧美www视频| 久久精品人人爽人人爽| 欧美韩日一区二区三区| 亚洲欧洲精品成人久久奇米网 | 在线免费观看日本欧美| 在线观看一区不卡| 欧美日韩国产高清一区|