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

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

?? 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 頁 / 共 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一区二区三区免费野_久草精品视频
国产视频一区在线观看| 免费亚洲电影在线| 国产精品原创巨作av| 欧美一二三在线| 日韩国产精品91| 欧美酷刑日本凌虐凌虐| 偷拍一区二区三区| 成人免费视频网站在线观看| 2022国产精品视频| 国产乱妇无码大片在线观看| 精品国产免费视频| 国产一区二区不卡| 国产人成一区二区三区影院| 国产成人久久精品77777最新版本| 亚洲精品一区在线观看| 精品一区二区av| 亚洲精品在线观看视频| 国产一区二区毛片| 欧美综合一区二区| 亚洲精品视频免费观看| 成人综合婷婷国产精品久久蜜臀| 久久亚洲精精品中文字幕早川悠里| 久久国产免费看| 国产亚洲欧美日韩俺去了| 成人精品电影在线观看| 亚洲视频免费在线观看| 欧美午夜一区二区三区| 欧美aaaaa成人免费观看视频| 欧美一区二区网站| 国产真实精品久久二三区| 久久精品一级爱片| 91精品福利视频| 亚洲综合一二三区| 日韩欧美高清一区| 成人久久久精品乱码一区二区三区| 国产精品国产成人国产三级 | 欧美色精品天天在线观看视频| 一区二区三区美女视频| 日韩一级欧美一级| 老司机午夜精品99久久| 久久久亚洲精品石原莉奈 | 丝袜亚洲另类欧美综合| 久久一日本道色综合| 97精品电影院| 樱桃视频在线观看一区| 精品理论电影在线观看| 色综合久久中文综合久久97| 青青草91视频| 国产亚洲欧美一区在线观看| 91国产免费看| 国产福利一区二区三区视频| 亚洲线精品一区二区三区| 一区二区三区中文在线观看| 日韩亚洲欧美在线观看| 99视频热这里只有精品免费| 亚洲国产一二三| 久久婷婷色综合| 欧美挠脚心视频网站| 成人污污视频在线观看| 奇米888四色在线精品| 亚洲人午夜精品天堂一二香蕉| 日韩视频一区二区三区 | 欧美三级电影在线观看| 国产一区二区三区免费看| 亚洲伦理在线精品| 中文字幕一区二区三区在线播放 | 欧美在线观看视频在线| 99精品国产99久久久久久白柏| 国产尤物一区二区在线| 麻豆精品精品国产自在97香蕉| 午夜精彩视频在线观看不卡| 亚洲一区免费在线观看| 亚洲欧美另类久久久精品2019| 国产精品成人网| 中文字幕欧美一区| 中文字幕欧美一| 亚洲激情av在线| 一区二区三区在线观看动漫| 亚洲免费av观看| 一区二区三区四区精品在线视频| 中文字幕在线一区免费| 最近日韩中文字幕| 亚洲美女一区二区三区| 亚洲激情图片qvod| 天堂成人国产精品一区| 亚洲人成人一区二区在线观看 | 亚洲三级免费电影| ㊣最新国产の精品bt伙计久久| 亚洲国产精品精华液2区45| 国产欧美日韩亚州综合| 中文无字幕一区二区三区| 国产精品久久久久久亚洲毛片| 亚洲国产成人在线| 亚洲婷婷综合久久一本伊一区| 亚洲另类在线视频| 亚洲444eee在线观看| 久久国产精品99久久久久久老狼| 久久不见久久见免费视频7 | 极品少妇xxxx精品少妇| 国产精品一级在线| 成人免费毛片片v| 99精品国产视频| 欧美亚洲一区三区| 日韩欧美中文字幕一区| 国产日韩精品一区二区浪潮av | 99久久精品国产导航| 色婷婷综合视频在线观看| 欧美日韩一区二区三区不卡| 欧美疯狂性受xxxxx喷水图片| 精品久久国产字幕高潮| 日本一区二区三区视频视频| 亚洲欧美日韩精品久久久久| 五月婷婷激情综合网| 激情亚洲综合在线| 91在线免费看| 日韩一区二区三区观看| 国产精品福利一区| 婷婷激情综合网| 东方欧美亚洲色图在线| 欧美亚洲国产一区在线观看网站| 日韩天堂在线观看| 自拍偷拍国产亚洲| 久久av资源站| 色香蕉久久蜜桃| 精品粉嫩超白一线天av| 亚洲精品中文在线观看| 顶级嫩模精品视频在线看| 欧美影片第一页| 久久丝袜美腿综合| 亚洲一区国产视频| 粉嫩av一区二区三区在线播放| 91久久奴性调教| 国产婷婷色一区二区三区四区| 亚洲成人黄色小说| 粉嫩aⅴ一区二区三区四区五区| 欧美日韩一区二区电影| 国产精品视频第一区| 美女在线一区二区| 色综合久久久久| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区三区中文字幕 | 国产精品不卡在线| 国产曰批免费观看久久久| 欧美日韩一区国产| 亚洲日本免费电影| 成人黄色777网| 26uuu亚洲| 免费看精品久久片| 欧美日韩在线三区| 综合激情成人伊人| 丁香亚洲综合激情啪啪综合| 欧美一级日韩一级| 亚洲一区在线观看网站| 成人免费毛片嘿嘿连载视频| 91精品国产综合久久小美女| 一区二区三区资源| 99re热视频这里只精品 | 国产精品卡一卡二卡三| 久久av资源网| 日韩欧美一级二级三级| 日本欧美在线观看| 欧美日韩一区三区| 亚洲一区二区精品久久av| 91麻豆自制传媒国产之光| 国产精品理论在线观看| 国产盗摄精品一区二区三区在线| 日韩一区二区在线看| 日韩电影在线看| 欧美精品 国产精品| 性欧美大战久久久久久久久| 欧美性大战久久久久久久| 亚洲激情五月婷婷| 色婷婷久久久久swag精品| 亚洲丝袜另类动漫二区| 成人av网在线| 亚洲女人小视频在线观看| 99re视频精品| 一卡二卡欧美日韩| 欧美日韩午夜精品| 日韩二区在线观看| 日韩欧美久久久| 国产精品一品视频| 欧美高清在线一区二区| av欧美精品.com| 曰韩精品一区二区| 欧美日韩一级二级| 免费高清在线视频一区·| 精品国产91久久久久久久妲己| 国产精品主播直播| 中文字幕一区二区三中文字幕| 一本一道波多野结衣一区二区| 洋洋成人永久网站入口| 欧美人伦禁忌dvd放荡欲情| 免费人成在线不卡| 国产亚洲一本大道中文在线| 99久久精品国产网站| 亚洲一区二区三区免费视频| 在线影院国内精品| 丝瓜av网站精品一区二区| 日韩三级精品电影久久久|