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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simple-beet-ph-patch-2.6.9

?? HIP:Host Identity Protocol
?? 9
?? 第 1 頁 / 共 2 頁
字號:
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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩另类视频免费观看| 麻豆国产91在线播放| 日韩中文字幕区一区有砖一区| 韩国午夜理伦三级不卡影院| 91网站最新网址| 国产午夜精品一区二区三区视频| 亚洲国产毛片aaaaa无费看| 国产成人精品免费一区二区| 欧美一区二区三区性视频| 日韩一区欧美一区| 丰满放荡岳乱妇91ww| 精品伦理精品一区| 秋霞影院一区二区| 欧美日韩一区在线观看| 国产精品国产a| 粉嫩嫩av羞羞动漫久久久| 久久久亚洲精品一区二区三区| 日本亚洲免费观看| 欧美一区二区在线观看| 午夜影视日本亚洲欧洲精品| 在线观看视频欧美| 亚洲午夜在线电影| 在线观看国产91| 亚洲最色的网站| 在线观看网站黄不卡| 一区二区三区精品视频在线| 一本色道亚洲精品aⅴ| 亚洲欧美自拍偷拍色图| 91在线播放网址| 亚洲精品ww久久久久久p站| 色综合激情久久| 一区二区三区欧美| 欧美日韩成人综合天天影院| 亚洲国产日韩一区二区| 欧美日韩精品欧美日韩精品一| 亚洲国产欧美在线人成| 欧美精品免费视频| 日韩黄色免费电影| 精品奇米国产一区二区三区| 久久精品国产免费看久久精品| 日韩一区二区视频在线观看| 看片的网站亚洲| 久久久国产精品午夜一区ai换脸| 国产成人av电影在线播放| 国产精品午夜久久| 波多野结衣中文一区| 亚洲美女免费在线| 在线综合亚洲欧美在线视频| 美女视频一区二区| 国产精品免费久久| 欧美在线观看禁18| 99re在线视频这里只有精品| 蜜臀va亚洲va欧美va天堂| 欧美tk—视频vk| 粉嫩在线一区二区三区视频| 亚洲欧美激情视频在线观看一区二区三区 | 欧美亚洲综合网| 丝袜脚交一区二区| 国产欧美日韩不卡| 色婷婷av一区二区三区之一色屋| 无吗不卡中文字幕| 久久久噜噜噜久久人人看| 色综合天天综合给合国产| 日韩vs国产vs欧美| 亚洲欧洲精品一区二区精品久久久| 欧美亚洲国产怡红院影院| 偷窥少妇高潮呻吟av久久免费| 久久色在线视频| 欧美丝袜丝nylons| 国产一区二区成人久久免费影院 | 成人国产在线观看| 亚洲成人综合视频| 国产日韩欧美一区二区三区乱码 | 精品国产91亚洲一区二区三区婷婷| 国产精品亚洲视频| 日韩1区2区日韩1区2区| 国产精品久久久久久久午夜片| 欧美色区777第一页| 国产精品123| 视频一区免费在线观看| 中文字幕在线免费不卡| 日韩精品一区二区在线观看| 91福利精品第一导航| 国产一区二区三区精品视频| 亚洲第一主播视频| 亚洲色图制服诱惑| 国产亚洲精品aa午夜观看| 欧美日韩国产一级二级| 成人app软件下载大全免费| 久久se精品一区精品二区| 亚洲电影第三页| 一区二区三区自拍| 国产精品私人自拍| 欧美国产禁国产网站cc| 久久综合九色欧美综合狠狠| 欧美日韩国产精选| 欧美在线视频日韩| 91丨九色porny丨蝌蚪| 从欧美一区二区三区| 国内精品视频一区二区三区八戒 | 精品嫩草影院久久| 欧美高清性hdvideosex| 91黄色激情网站| 91九色最新地址| 99这里都是精品| 成人国产电影网| 大胆亚洲人体视频| 成人丝袜18视频在线观看| 精品亚洲国产成人av制服丝袜| 天天av天天翘天天综合网| 亚洲一二三区在线观看| 一区二区在线免费观看| 亚洲精品免费视频| 一区二区三区中文字幕电影| 亚洲精品美腿丝袜| 一区二区三区.www| 亚洲一区二区视频| 亚洲一二三四在线| 人人精品人人爱| 久久成人精品无人区| 国产精品系列在线播放| 国产成人高清在线| 91农村精品一区二区在线| 91麻豆成人久久精品二区三区| 91在线丨porny丨国产| 在线一区二区观看| 欧美日韩国产一区| 欧美大胆人体bbbb| 国产午夜亚洲精品理论片色戒| 国产午夜亚洲精品不卡| 一色桃子久久精品亚洲| 亚洲欧美激情一区二区| 婷婷中文字幕一区三区| 久久精品国产精品亚洲综合| 国v精品久久久网| 日本道精品一区二区三区| 欧美一区午夜视频在线观看| 精品国内二区三区| 欧美国产精品中文字幕| 亚洲自拍另类综合| 黄页网站大全一区二区| 99久久亚洲一区二区三区青草| 欧美午夜免费电影| 亚洲精品一线二线三线| 自拍偷拍国产精品| 视频一区在线播放| 成人性生交大片免费看在线播放 | 91在线免费视频观看| 色88888久久久久久影院按摩| 69久久99精品久久久久婷婷| 国产欧美一区二区三区在线老狼| 亚洲欧美国产77777| 精品一区精品二区高清| 99re这里只有精品首页| 日韩欧美黄色影院| 亚洲人成精品久久久久| 久久国产精品一区二区| 91精品91久久久中77777| 精品久久久久av影院| 一区二区三区高清在线| 国产一区二区精品久久99| 欧美在线你懂的| 中文字幕一区二区三| 蜜臀av亚洲一区中文字幕| 91污片在线观看| 国产日韩欧美综合一区| 日韩成人免费看| 色噜噜狠狠色综合欧洲selulu| 日韩精品中文字幕在线不卡尤物| 亚洲九九爱视频| 国产v日产∨综合v精品视频| 91麻豆精品国产91久久久久| 中文字幕一区二区三区不卡在线| 久久99国内精品| 在线电影一区二区三区| 亚洲另类一区二区| av一二三不卡影片| 国产性色一区二区| 精品一二三四在线| 欧美电影免费观看完整版| 亚洲国产一二三| 91精品91久久久中77777| 亚洲欧洲三级电影| 成人av免费在线观看| 久久久精品免费观看| 国内国产精品久久| 日韩一二三四区| 日韩国产高清在线| 欧美精选午夜久久久乱码6080| 亚洲欧美日韩精品久久久久| 本田岬高潮一区二区三区| 国产欧美一区视频| 丁香五精品蜜臀久久久久99网站| 精品对白一区国产伦| 激情综合五月婷婷| 久久这里只有精品视频网| 极品销魂美女一区二区三区| 精品国产91久久久久久久妲己 | 亚洲精品一区二区精华| 免费一级片91|