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

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

?? ip_nat_proto_udp.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/* (C) 1999-2001 Paul `Rusty' Russell * (C) 2002-2004 Netfilter Core Team <coreteam@netfilter.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */#include <linux/types.h>#include <linux/init.h>#include <linux/netfilter.h>#include <linux/ip.h>#include <linux/udp.h>#include <linux/if.h>#include <linux/netfilter_ipv4/ip_nat.h>#include <linux/netfilter_ipv4/ip_nat_core.h>#include <linux/netfilter_ipv4/ip_nat_rule.h>#include <linux/netfilter_ipv4/ip_nat_protocol.h>static intudp_in_range(const struct ip_conntrack_tuple *tuple,	     enum ip_nat_manip_type maniptype,	     const union ip_conntrack_manip_proto *min,	     const union ip_conntrack_manip_proto *max){	u_int16_t port;	if (maniptype == IP_NAT_MANIP_SRC)		port = tuple->src.u.udp.port;	else		port = tuple->dst.u.udp.port;	return ntohs(port) >= ntohs(min->udp.port)		&& ntohs(port) <= ntohs(max->udp.port);}static intudp_unique_tuple(struct ip_conntrack_tuple *tuple,		 const struct ip_nat_range *range,		 enum ip_nat_manip_type maniptype,		 const struct ip_conntrack *conntrack){	static u_int16_t port, *portptr;	unsigned int range_size, min, i;	if (maniptype == IP_NAT_MANIP_SRC)		portptr = &tuple->src.u.udp.port;	else		portptr = &tuple->dst.u.udp.port;	/* If no range specified... */	if (!(range->flags & IP_NAT_RANGE_PROTO_SPECIFIED)) {		/* If it's dst rewrite, can't change port */		if (maniptype == IP_NAT_MANIP_DST)			return 0;		if (ntohs(*portptr) < 1024) {			/* Loose convention: >> 512 is credential passing */			if (ntohs(*portptr)<512) {				min = 1;				range_size = 511 - min + 1;			} else {				min = 600;				range_size = 1023 - min + 1;			}		} else {			min = 1024;			range_size = 65535 - 1024 + 1;		}	} else {		min = ntohs(range->min.udp.port);		range_size = ntohs(range->max.udp.port) - min + 1;	}	for (i = 0; i < range_size; i++, port++) {		*portptr = htons(min + port % range_size);		if (!ip_nat_used_tuple(tuple, conntrack))			return 1;	}	return 0;}static intudp_manip_pkt(struct sk_buff **pskb,	      unsigned int hdroff,	      const struct ip_conntrack_manip *manip,	      enum ip_nat_manip_type maniptype){	struct udphdr *hdr;	u_int32_t oldip;	u_int16_t *portptr;	if (!skb_ip_make_writable(pskb, hdroff + sizeof(hdr)))		return 0;	hdr = (void *)(*pskb)->data + hdroff;	if (maniptype == IP_NAT_MANIP_SRC) {		/* Get rid of src ip and src pt */		oldip = (*pskb)->nh.iph->saddr;		portptr = &hdr->source;	} else {		/* Get rid of dst ip and dst pt */		oldip = (*pskb)->nh.iph->daddr;		portptr = &hdr->dest;	}	if (hdr->check) /* 0 is a special case meaning no checksum */		hdr->check = ip_nat_cheat_check(~oldip, manip->ip,					ip_nat_cheat_check(*portptr ^ 0xFFFF,							   manip->u.udp.port,							   hdr->check));	*portptr = manip->u.udp.port;	return 1;}static unsigned intudp_print(char *buffer,	  const struct ip_conntrack_tuple *match,	  const struct ip_conntrack_tuple *mask){	unsigned int len = 0;	if (mask->src.u.udp.port)		len += sprintf(buffer + len, "srcpt=%u ",			       ntohs(match->src.u.udp.port));	if (mask->dst.u.udp.port)		len += sprintf(buffer + len, "dstpt=%u ",			       ntohs(match->dst.u.udp.port));	return len;}static unsigned intudp_print_range(char *buffer, const struct ip_nat_range *range){	if (range->min.udp.port != 0 || range->max.udp.port != 0xFFFF) {		if (range->min.udp.port == range->max.udp.port)			return sprintf(buffer, "port %u ",				       ntohs(range->min.udp.port));		else			return sprintf(buffer, "ports %u-%u ",				       ntohs(range->min.udp.port),				       ntohs(range->max.udp.port));	}	else return 0;}struct ip_nat_protocol ip_nat_protocol_udp= { { NULL, NULL }, "UDP", IPPROTO_UDP,    udp_manip_pkt,    udp_in_range,    udp_unique_tuple,    udp_print,    udp_print_range};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一二三区| 欧美成人女星排名| 夫妻av一区二区| 日本美女一区二区三区视频| 亚洲福利视频导航| 日韩精品电影一区亚洲| 日韩精品久久久久久| 老司机一区二区| 国产一区二区三区不卡在线观看| 国产一区二区三区在线看麻豆| 国产精品99久久久久久宅男| 懂色av一区二区夜夜嗨| 91在线你懂得| 3d动漫精品啪啪一区二区竹菊 | 日韩高清在线电影| 美女视频一区二区| 成人免费看视频| 91黄色小视频| 精品国产免费一区二区三区四区| 国产午夜精品福利| 亚洲午夜影视影院在线观看| 精品写真视频在线观看| 成人h版在线观看| 欧美精品视频www在线观看 | 欧美日韩亚洲综合一区二区三区 | 91久久精品网| 欧美不卡一区二区| 亚洲另类中文字| 久久精品噜噜噜成人88aⅴ| 成人av在线播放网址| 欧美日韩国产片| 国产精品三级电影| 天堂影院一区二区| 成a人片国产精品| 日韩欧美国产成人一区二区| 亚洲欧洲韩国日本视频| 美腿丝袜在线亚洲一区| 91麻豆精品视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲男同性恋视频| 国产精品996| 欧美一级精品大片| 亚洲一区二区三区四区不卡| 国产很黄免费观看久久| 在线成人av影院| 亚洲影视在线播放| aaa亚洲精品| 久久久一区二区三区捆绑**| 奇米精品一区二区三区在线观看一 | 粉嫩aⅴ一区二区三区四区| 欧美日韩国产影片| 亚洲乱码国产乱码精品精的特点 | 一区二区高清免费观看影视大全 | 91在线观看高清| 精品88久久久久88久久久| 天堂av在线一区| 欧美性大战久久| 一区二区三区91| 91黄色激情网站| 亚洲男女一区二区三区| 成人黄色a**站在线观看| 国产亚洲综合av| 国产91综合一区在线观看| 精品久久久影院| 国产永久精品大片wwwapp| 日韩欧美国产三级电影视频| 免费成人美女在线观看| 欧美一级理论片| 久久99久久99精品免视看婷婷 | 亚洲第一成年网| 欧美又粗又大又爽| 亚洲伊人色欲综合网| 在线观看亚洲成人| 午夜精品成人在线视频| 日韩一区二区在线免费观看| 日韩制服丝袜先锋影音| 日韩一区二区在线观看视频播放| 日韩av电影免费观看高清完整版 | 国产一区激情在线| 国产日韩精品视频一区| 成人小视频免费在线观看| 国产精品二三区| 欧美三级蜜桃2在线观看| 蜜桃av一区二区三区电影| 精品国产成人在线影院| 国产宾馆实践打屁股91| 亚洲视频每日更新| 欧美性视频一区二区三区| 日本欧美大码aⅴ在线播放| 久久亚洲私人国产精品va媚药| 国产成人在线视频播放| 亚洲免费av高清| 欧美一区二区三区在线电影| 国产麻豆精品95视频| 一区二区三区久久| 日韩视频免费观看高清完整版| 国产乱子伦视频一区二区三区| 国产精品日韩精品欧美在线| 欧美亚洲禁片免费| 九九视频精品免费| 亚洲色图视频网| 91精品国产综合久久精品图片| 精品无码三级在线观看视频| 自拍偷自拍亚洲精品播放| 欧美日韩精品三区| 国产综合一区二区| 亚洲另类在线一区| 久久先锋影音av鲁色资源网| 欧美伊人精品成人久久综合97| 看电影不卡的网站| 亚洲免费视频成人| 精品99一区二区| 在线观看精品一区| 成人黄色网址在线观看| 日本美女一区二区| 亚洲自拍偷拍av| 国产精品久久久久久久午夜片 | 国产91精品一区二区| 日精品一区二区| 亚洲丝袜自拍清纯另类| 日韩精品一区二区三区视频| 欧美性感一区二区三区| 亚洲电影在线免费观看| 精品成人免费观看| 91国偷自产一区二区开放时间 | 日韩高清在线观看| 最新中文字幕一区二区三区| 欧美成人官网二区| 欧美日韩一区二区在线观看| 99精品黄色片免费大全| 国产精品一区二区三区99| 三级亚洲高清视频| 天天综合色天天综合色h| 亚洲精品中文在线影院| 国产精品国产三级国产aⅴ中文| 精品国产sm最大网站免费看| 欧美日韩情趣电影| 欧美亚洲一区三区| 日本高清不卡视频| 国产精品中文欧美| 午夜电影一区二区三区| 1024成人网| 亚洲色图在线播放| 亚洲天天做日日做天天谢日日欢 | 福利视频网站一区二区三区| 裸体歌舞表演一区二区| 全国精品久久少妇| 日韩av网站免费在线| 天天色综合天天| 日本中文字幕一区| 婷婷成人激情在线网| 免费视频一区二区| 日韩精品乱码免费| 麻豆精品一区二区| 美腿丝袜一区二区三区| 精品一区二区三区视频| 国产精品亚洲午夜一区二区三区| 国模套图日韩精品一区二区| 欧美午夜精品一区二区三区| 国产乱码精品一区二区三区av| 国内欧美视频一区二区| 国内精品伊人久久久久av影院| 久久精品99国产精品| 国产一区二区日韩精品| 懂色av一区二区三区免费看| 国产超碰在线一区| 日本福利一区二区| 欧美精品丝袜中出| 精品裸体舞一区二区三区| 国产亚洲欧美日韩俺去了| 中文字幕精品一区| 亚洲日本护士毛茸茸| 日韩国产一区二| 国产一二精品视频| 91视频一区二区三区| 欧美日韩免费视频| 久久午夜羞羞影院免费观看| 国产精品久久久久精k8| 视频一区中文字幕| 成人妖精视频yjsp地址| 51午夜精品国产| 国产欧美日韩久久| 亚洲一区二区av在线| 久久成人免费网| va亚洲va日韩不卡在线观看| 91精品久久久久久久久99蜜臂| 久久久国产精华| 亚洲第一会所有码转帖| 国产91在线观看| 欧美肥胖老妇做爰| 国产精品久久久久久户外露出| 日本不卡123| 91一区二区在线| 精品国产91亚洲一区二区三区婷婷| 国产精品三级电影| 国产在线麻豆精品观看| 欧美亚日韩国产aⅴ精品中极品| 国产无遮挡一区二区三区毛片日本| 亚洲成人一区二区在线观看| av亚洲精华国产精华精华|