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

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

?? beet-ph-patch-v1.0-2.6.15.6

?? HIP:Host Identity Protocol
?? 6
?? 第 1 頁 / 共 2 頁
字號:
-	if (!top_iph->frag_off)-		__ip_select_ident(top_iph, dst, 0);--	top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);+	skb->nh.raw = skb_push(skb, hdrlen);+ 	top_iph = skb->nh.iph;+	hdrlen = iph->ihl * 4 - optlen;+	switch (x->props.mode) {+	case XFRM_MODE_TRANSPORT:+		skb->h.raw += hdrlen;+		memmove(top_iph, iph, hdrlen);+ 		return;+ +	case XFRM_MODE_BEET:+		skb->h.raw += hdrlen;+		memmove(top_iph, iph, hdrlen);+		if (unlikely(optlen)) {+			struct ip_beet_phdr *ph;++			BUG_ON(optlen < 0);++			ph = (struct ip_beet_phdr *)skb->h.raw;+			ph->padlen = 4 - (optlen & 4);+			ph->hdrlen = (optlen + ph->padlen + sizeof(*ph)) / 8;+			ph->nexthdr = top_iph->protocol;+ +			top_iph->protocol = IPPROTO_BEETPH;+			top_iph->ihl = sizeof(struct iphdr) / 4;+		}+		break;+ +	default:+	case XFRM_MODE_TUNNEL:+		top_iph->ihl = 5;+		top_iph->version = 4;+ +		/* DS disclosed */+		top_iph->tos = INET_ECN_encapsulate(iph->tos, iph->tos);+ +		flags = x->props.flags;+		if (flags & XFRM_STATE_NOECN)+			IP_ECN_clear(top_iph);+ +		top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) ?+			0 : (iph->frag_off & htons(IP_DF));+		if (!top_iph->frag_off)+			__ip_select_ident(top_iph, dst, 0);++		top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);++		top_iph->protocol = IPPROTO_IPIP;+		memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options));+		break;+	}  	top_iph->saddr = x->props.saddr.a4; 	top_iph->daddr = x->id.daddr.a4;-	top_iph->protocol = IPPROTO_IPIP;--	memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); }  static int xfrm4_tunnel_check_size(struct sk_buff *skb)@@ -107,7 +142,7 @@ 			goto error_nolock; 	} -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm4_tunnel_check_size(skb); 		if (err) 			goto error_nolock;diff -urN 2.6.15.6/net/ipv4/xfrm4_tunnel.c beet/net/ipv4/xfrm4_tunnel.c--- 2.6.15.6/net/ipv4/xfrm4_tunnel.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv4/xfrm4_tunnel.c	2006-03-04 11:42:10.000000000 +0200@@ -85,15 +85,22 @@  static int ipip_init_state(struct xfrm_state *x) {-	if (!x->props.mode)-		return -EINVAL;- 	if (x->encap) 		return -EINVAL; -	x->props.header_len = sizeof(struct iphdr);--	return 0;+	switch (x->props.mode) {+	case XFRM_MODE_TRANSPORT:+		return -EINVAL;+	default:+	case XFRM_MODE_TUNNEL:+		x->props.header_len = sizeof(struct iphdr);+		break;+	case XFRM_MODE_BEET:+		x->props.header_len += IPV4_BEET_PHMAXLEN;+		break;+	}+ + 	return 0; }  static void ipip_destroy(struct xfrm_state *x)diff -urN 2.6.15.6/net/ipv6/ah6.c beet/net/ipv6/ah6.c--- 2.6.15.6/net/ipv6/ah6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/ah6.c	2006-03-11 14:44:56.000000000 +0200@@ -393,7 +393,7 @@ 		goto error; 	 	x->props.header_len = XFRM_ALIGN8(sizeof(struct ipv6_auth_hdr) + ahp->icv_trunc_len);-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct ipv6hdr); 	x->data = ahp; diff -urN 2.6.15.6/net/ipv6/esp6.c beet/net/ipv6/esp6.c--- 2.6.15.6/net/ipv6/esp6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/esp6.c	2006-03-11 14:44:56.000000000 +0200@@ -358,7 +358,7 @@ 	if (crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len)) 		goto error; 	x->props.header_len = sizeof(struct ipv6_esp_hdr) + esp->conf.ivlen;-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct ipv6hdr); 	x->data = esp; 	return 0;diff -urN 2.6.15.6/net/ipv6/ipcomp6.c beet/net/ipv6/ipcomp6.c--- 2.6.15.6/net/ipv6/ipcomp6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/ipcomp6.c	2006-03-11 14:44:56.000000000 +0200@@ -433,7 +433,7 @@  	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 ipv6hdr); 	 	down(&ipcomp6_resource_sem);@@ -445,7 +445,7 @@ 		goto error; 	up(&ipcomp6_resource_sem); -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = ipcomp6_tunnel_attach(x); 		if (err) 			goto error_tunnel;diff -urN 2.6.15.6/net/ipv6/xfrm6_input.c beet/net/ipv6/xfrm6_input.c--- 2.6.15.6/net/ipv6/xfrm6_input.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/xfrm6_input.c	2006-03-06 23:56:49.000000000 +0200@@ -80,7 +80,7 @@  		xfrm_vec[xfrm_nr++].xvec = x; -		if (x->props.mode) { /* XXX */+		if (x->props.mode == XFRM_MODE_TUNNEL) { 			if (nexthdr != IPPROTO_IPV6) 				goto drop; 			if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))@@ -97,6 +97,30 @@ 			skb->nh.raw = skb->data; 			decaps = 1; 			break;+		} else if (x->props.mode == XFRM_MODE_BEET) {+			int size = sizeof(struct ipv6hdr);+			if (skb_cloned(skb) &&+			    pskb_expand_head(skb, 0, 0, GFP_ATOMIC))+				goto drop;++			skb_push(skb, size);+			memmove(skb->data, skb->nh.raw, size);+			skb->nh.raw = skb->data;++			skb->mac.raw = memmove(skb->data - skb->mac_len,+					       skb->mac.raw, skb->mac_len);++			if (x->sel.family == AF_INET6) {+				struct ipv6hdr *ip6h = skb->nh.ipv6h;+				ip6h = skb->nh.ipv6h;+				ip6h->payload_len = htons(skb->len - size);+				ipv6_addr_copy(&ip6h->daddr, (struct in6_addr *) &x->sel.daddr.a6);+				ipv6_addr_copy(&ip6h->saddr, (struct in6_addr *) &x->sel.saddr.a6);+			} else+				BUG_ON(1);++			decaps = 1;+			break; 		}  		if ((err = xfrm_parse_spi(skb, nexthdr, &spi, &seq)) < 0)diff -urN 2.6.15.6/net/ipv6/xfrm6_output.c beet/net/ipv6/xfrm6_output.c--- 2.6.15.6/net/ipv6/xfrm6_output.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/xfrm6_output.c	2006-03-11 13:54:36.000000000 +0200@@ -42,7 +42,8 @@ 	skb_push(skb, x->props.header_len); 	iph = skb->nh.ipv6h; -	if (!x->props.mode) {+	if (x->props.mode == XFRM_MODE_TRANSPORT ||+	    x->props.mode == XFRM_MODE_BEET) { 		u8 *prevhdr; 		int hdr_len; @@ -50,26 +51,28 @@ 		skb->nh.raw = prevhdr - x->props.header_len; 		skb->h.raw = skb->data + hdr_len; 		memmove(skb->data, iph, hdr_len);-		return;+		if (x->props.mode == XFRM_MODE_TRANSPORT)+			return; 	}  	skb->nh.raw = skb->data; 	top_iph = skb->nh.ipv6h; 	skb->nh.raw = &top_iph->nexthdr; 	skb->h.ipv6h = top_iph + 1;--	top_iph->version = 6;-	top_iph->priority = iph->priority;-	top_iph->flow_lbl[0] = iph->flow_lbl[0];-	top_iph->flow_lbl[1] = iph->flow_lbl[1];-	top_iph->flow_lbl[2] = iph->flow_lbl[2];-	dsfield = ipv6_get_dsfield(top_iph);-	dsfield = INET_ECN_encapsulate(dsfield, dsfield);-	if (x->props.flags & XFRM_STATE_NOECN)-		dsfield &= ~INET_ECN_MASK;-	ipv6_change_dsfield(top_iph, 0, dsfield);-	top_iph->nexthdr = IPPROTO_IPV6; -	top_iph->hop_limit = dst_metric(dst->child, RTAX_HOPLIMIT);+	if(x->props.mode == XFRM_MODE_TUNNEL) {+		top_iph->version = 6;+		top_iph->priority = iph->priority;+		top_iph->flow_lbl[0] = iph->flow_lbl[0];+		top_iph->flow_lbl[1] = iph->flow_lbl[1];+		top_iph->flow_lbl[2] = iph->flow_lbl[2];+		dsfield = ipv6_get_dsfield(top_iph);+		dsfield = INET_ECN_encapsulate(dsfield, dsfield);+		if (x->props.flags & XFRM_STATE_NOECN)+			dsfield &= ~INET_ECN_MASK;+		ipv6_change_dsfield(top_iph, 0, dsfield);+		top_iph->nexthdr = IPPROTO_IPV6; +		top_iph->hop_limit = dst_metric(dst->child, RTAX_HOPLIMIT);+	} 	ipv6_addr_copy(&top_iph->saddr, (struct in6_addr *)&x->props.saddr); 	ipv6_addr_copy(&top_iph->daddr, (struct in6_addr *)&x->id.daddr); }@@ -104,7 +107,7 @@ 			goto error_nolock; 	} -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm6_tunnel_check_size(skb); 		if (err) 			goto error_nolock;diff -urN 2.6.15.6/net/key/af_key.c beet/net/key/af_key.c--- 2.6.15.6/net/key/af_key.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/key/af_key.c	2006-03-11 14:44:56.000000000 +0200@@ -1074,7 +1074,8 @@ 		/* Nobody uses this, but we try. */ 		x->sel.family = pfkey_sadb_addr2xfrm_addr(addr, &x->sel.saddr); 		x->sel.prefixlen_s = addr->sadb_address_prefixlen;-	}+	} else+		x->sel.family = x->props.family; /* Conservative */  	if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { 		struct sadb_x_nat_t_type* n_type;diff -urN 2.6.15.6/net/xfrm/xfrm_user.c beet/net/xfrm/xfrm_user.c--- 2.6.15.6/net/xfrm/xfrm_user.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/xfrm/xfrm_user.c	2006-03-11 14:44:56.000000000 +0200@@ -148,8 +148,9 @@  	err = -EINVAL; 	switch (p->mode) {-	case 0:-	case 1:+	case XFRM_MODE_TRANSPORT:+	case XFRM_MODE_TUNNEL:+	case XFRM_MODE_BEET: 		break;  	default:@@ -609,6 +610,7 @@ 	int i;  	xp->xfrm_nr = nr;+	xp->family = ut->family; 	for (i = 0; i < nr; i++, ut++) { 		struct xfrm_tmpl *t = &xp->xfrm_vec[i]; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久嫩草精品久久久精品| 精品亚洲成a人在线观看| 日韩电影在线一区二区三区| 日韩精品免费视频人成| 久久精品国产网站| 97国产精品videossex| 欧美色男人天堂| 国产亚洲自拍一区| 午夜影视日本亚洲欧洲精品| 狠狠色丁香久久婷婷综合丁香| 成人性生交大片免费看中文网站| 欧美日韩一区二区在线观看视频| 欧美v亚洲v综合ⅴ国产v| 夜色激情一区二区| 国产精品综合在线视频| 欧美午夜片在线观看| 国产欧美日韩激情| 九一九一国产精品| 欧美女孩性生活视频| 国产精品看片你懂得| 国产主播一区二区三区| 911精品产国品一二三产区| 最新成人av在线| 国产69精品久久99不卡| 精品国产一区二区三区久久影院| 日本在线不卡一区| 欧美日本一区二区| 一区二区三区美女视频| av高清久久久| 欧美国产精品一区二区| 国产二区国产一区在线观看 | 欧美精选一区二区| 亚洲最大色网站| 欧美日韩一区成人| 亚洲国产sm捆绑调教视频| 色婷婷久久久综合中文字幕 | 在线不卡中文字幕| 丝袜美腿高跟呻吟高潮一区| 欧美二区三区91| 免费人成网站在线观看欧美高清| 69堂国产成人免费视频| 日本不卡中文字幕| 欧美大片一区二区| 成人午夜在线视频| 亚洲精品国产成人久久av盗摄| 日韩天堂在线观看| 欧美日韩一区二区三区不卡| 婷婷综合另类小说色区| 国产成人免费视频一区| 久久久亚洲高清| 成人少妇影院yyyy| 中文字幕亚洲成人| 欧美揉bbbbb揉bbbbb| 亚洲一区二区三区四区五区黄| 色94色欧美sute亚洲13| 国产精品美女www爽爽爽| 亚洲国产另类精品专区| 99精品视频在线观看免费| 亚洲视频一二区| 91国产免费看| 老司机午夜精品99久久| 在线看一区二区| 欧美老女人第四色| 精品国产一区二区在线观看| 久久久久久久综合日本| 国产精品美女久久久久aⅴ| 国产日产精品一区| 国产精品二三区| 亚洲成人免费影院| 国产精品伊人色| 一本高清dvd不卡在线观看| 在线免费观看日本一区| 日韩免费高清电影| 国产精品美女久久久久久2018| 成人欧美一区二区三区小说 | 久久99久国产精品黄毛片色诱| 精品一区二区久久| 日本久久电影网| 日韩精品最新网址| 亚洲一卡二卡三卡四卡 | 一区二区三区四区国产精品| 日av在线不卡| 在线视频国产一区| 国产精品久久久久7777按摩| 日韩不卡一区二区| 欧洲av在线精品| 中文字幕亚洲一区二区va在线| 久久99久久99精品免视看婷婷| 欧美三区在线视频| 一区二区三区在线视频观看| 成人性生交大片免费看中文| 精品1区2区在线观看| 麻豆精品视频在线观看视频| 在线视频你懂得一区| 国产精品国产三级国产三级人妇 | 欧美激情在线免费观看| 麻豆国产欧美一区二区三区| 欧美色偷偷大香| 亚洲女与黑人做爰| 在线视频你懂得一区二区三区| 亚洲欧美一区二区在线观看| 成人av电影免费在线播放| 久久蜜桃一区二区| 成人黄色片在线观看| 国产精品人成在线观看免费| av亚洲精华国产精华| 日韩毛片在线免费观看| 色网综合在线观看| 亚洲风情在线资源站| 日韩欧美不卡在线观看视频| 韩国av一区二区三区四区| 中文字幕的久久| 91成人免费网站| 亚洲成a人v欧美综合天堂下载| 9191国产精品| av成人老司机| 日韩二区在线观看| 中文字幕永久在线不卡| 欧美午夜宅男影院| 国产激情视频一区二区在线观看 | 亚洲欧美一区二区在线观看| 欧美主播一区二区三区| 看国产成人h片视频| 国产精品污污网站在线观看 | 色狠狠桃花综合| 久久99国内精品| 亚洲午夜精品一区二区三区他趣| 精品视频资源站| www.亚洲色图.com| 国产伦精一区二区三区| 日日摸夜夜添夜夜添国产精品 | 午夜精品一区二区三区三上悠亚| 久久一夜天堂av一区二区三区| 91激情在线视频| 99久久精品国产观看| 蜜臀av性久久久久av蜜臀妖精| 亚洲一区二区欧美日韩| 国产精品久久网站| 亚洲国产精品激情在线观看| 精品国产自在久精品国产| 欧美一区二区三区系列电影| 色婷婷综合久久久| 91蝌蚪porny| 91亚洲资源网| 色综合夜色一区| 91电影在线观看| 99久久免费精品| 日本精品视频一区二区| 色婷婷综合久色| 欧美三日本三级三级在线播放| 欧美日韩视频专区在线播放| 欧美日韩中文一区| 在线不卡一区二区| 精品sm捆绑视频| 亚洲久本草在线中文字幕| 亚洲激情综合网| 日本成人超碰在线观看| 国产乱对白刺激视频不卡| 国产精品资源在线观看| 国产成人综合自拍| 一本久道久久综合中文字幕| 欧美日韩精品一区二区天天拍小说| 欧美精品久久久久久久多人混战| 日韩免费观看高清完整版 | 欧美一区二区三区视频免费播放 | 亚洲综合色婷婷| 蜜桃精品在线观看| 国产精品中文有码| 欧美日韩卡一卡二| 国产欧美日韩综合| 国产高清成人在线| 欧美日韩精品福利| 最新久久zyz资源站| 亚洲成人动漫在线免费观看| 风间由美一区二区三区在线观看| 欧美在线观看一区二区| 中文字幕字幕中文在线中不卡视频| 午夜欧美大尺度福利影院在线看| 国产白丝网站精品污在线入口| 欧美日韩高清在线播放| 国产精品久久久久7777按摩| 黄一区二区三区| 日韩一级大片在线| 午夜精品一区在线观看| 91蝌蚪porny九色| 久久蜜桃av一区精品变态类天堂 | 日韩欧美色电影| 亚洲123区在线观看| 99re66热这里只有精品3直播 | 久久av资源网| 欧美二区乱c少妇| 日韩精品每日更新| 欧美日韩激情一区| 日日嗨av一区二区三区四区| 欧美理论在线播放| 日本欧美加勒比视频| 欧美精品一区在线观看| 国产精品一区二区在线观看不卡 | 91网址在线看| 亚洲人成人一区二区在线观看|