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

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

?? ip6t_esp.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/* Kernel module to match ESP parameters. *//* (C) 2001-2002 Andras Kis-Szabo <kisza@sch.bme.hu> * * 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/module.h>#include <linux/skbuff.h>#include <linux/ipv6.h>#include <linux/types.h>#include <net/checksum.h>#include <net/ipv6.h>#include <linux/netfilter_ipv6/ip6_tables.h>#include <linux/netfilter_ipv6/ip6t_esp.h>MODULE_LICENSE("GPL");MODULE_DESCRIPTION("IPv6 ESP match");MODULE_AUTHOR("Andras Kis-Szabo <kisza@sch.bme.hu>");#if 0#define DEBUGP printk#else#define DEBUGP(format, args...)#endif/* Returns 1 if the spi is matched by the range, 0 otherwise */static inline intspi_match(u_int32_t min, u_int32_t max, u_int32_t spi, int invert){	int r=0;        DEBUGP("esp spi_match:%c 0x%x <= 0x%x <= 0x%x",invert? '!':' ',        	min,spi,max);	r=(spi >= min && spi <= max) ^ invert;	DEBUGP(" result %s\n",r? "PASS\n" : "FAILED\n");	return r;}static intmatch(const struct sk_buff *skb,      const struct net_device *in,      const struct net_device *out,      const void *matchinfo,      int offset,      const void *protohdr,      u_int16_t datalen,      int *hotdrop){	struct ip_esp_hdr *esp = NULL;	const struct ip6t_esp *espinfo = matchinfo;	unsigned int temp;	int len;	u8 nexthdr;	unsigned int ptr;	/* Make sure this isn't an evil packet */	/*DEBUGP("ipv6_esp entered \n");*/	/* type of the 1st exthdr */	nexthdr = skb->nh.ipv6h->nexthdr;	/* pointer to the 1st exthdr */	ptr = sizeof(struct ipv6hdr);	/* available length */	len = skb->len - ptr;	temp = 0;        while (ip6t_ext_hdr(nexthdr)) {        	struct ipv6_opt_hdr *hdr;        	int hdrlen;		DEBUGP("ipv6_esp header iteration \n");		/* Is there enough space for the next ext header? */                if (len < (int)sizeof(struct ipv6_opt_hdr))                        return 0;		/* No more exthdr -> evaluate */                if (nexthdr == NEXTHDR_NONE) {			break;		}		/* ESP -> evaluate */                if (nexthdr == NEXTHDR_ESP) {			temp |= MASK_ESP;			break;		}		hdr=(struct ipv6_opt_hdr *)skb->data+ptr;		/* Calculate the header length */                if (nexthdr == NEXTHDR_FRAGMENT) {                        hdrlen = 8;                } else if (nexthdr == NEXTHDR_AUTH)                        hdrlen = (hdr->hdrlen+2)<<2;                else                        hdrlen = ipv6_optlen(hdr);		/* set the flag */		switch (nexthdr){			case NEXTHDR_HOP:			case NEXTHDR_ROUTING:			case NEXTHDR_FRAGMENT:			case NEXTHDR_AUTH:			case NEXTHDR_DEST:				break;			default:				DEBUGP("ipv6_esp match: unknown nextheader %u\n",nexthdr);				return 0;				break;		}                nexthdr = hdr->nexthdr;                len -= hdrlen;                ptr += hdrlen;		if ( ptr > skb->len ) {			DEBUGP("ipv6_esp: new pointer too large! \n");			break;		}        }	/* ESP header not found */	if ( temp != MASK_ESP ) return 0;       if (len < (int)sizeof(struct ip_esp_hdr)){	       *hotdrop = 1;       		return 0;       }	esp = (struct ip_esp_hdr *) (skb->data + ptr);	DEBUGP("IPv6 ESP SPI %u %08X\n", ntohl(esp->spi), ntohl(esp->spi));	return (esp != NULL)		&& spi_match(espinfo->spis[0], espinfo->spis[1],			      ntohl(esp->spi),			      !!(espinfo->invflags & IP6T_ESP_INV_SPI));}/* Called when user tries to insert an entry of this type. */static intcheckentry(const char *tablename,	   const struct ip6t_ip6 *ip,	   void *matchinfo,	   unsigned int matchinfosize,	   unsigned int hook_mask){	const struct ip6t_esp *espinfo = matchinfo;	if (matchinfosize != IP6T_ALIGN(sizeof(struct ip6t_esp))) {		DEBUGP("ip6t_esp: matchsize %u != %u\n",			 matchinfosize, IP6T_ALIGN(sizeof(struct ip6t_esp)));		return 0;	}	if (espinfo->invflags & ~IP6T_ESP_INV_MASK) {		DEBUGP("ip6t_esp: unknown flags %X\n",			 espinfo->invflags);		return 0;	}	return 1;}static struct ip6t_match esp_match = {	.name		= "esp",	.match		= &match,	.checkentry	= &checkentry,	.me		= THIS_MODULE,};static int __init init(void){	return ip6t_register_match(&esp_match);}static void __exit cleanup(void){	ip6t_unregister_match(&esp_match);}module_init(init);module_exit(cleanup);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品婷婷国产综合久久竹菊| 久久成人麻豆午夜电影| 欧美一区二区高清| 一本久久a久久精品亚洲| 精品一区二区免费看| 一区二区三区欧美激情| 国产欧美日本一区二区三区| 欧美久久婷婷综合色| 99精品久久免费看蜜臀剧情介绍| 激情综合网最新| 国产日韩精品一区二区浪潮av | 日韩电影在线一区| 日韩一区中文字幕| 国产精品美女久久福利网站| 欧美成人高清电影在线| 4hu四虎永久在线影院成人| 在线观看网站黄不卡| 97久久精品人人澡人人爽| 国产不卡视频在线播放| 激情综合网最新| 极品瑜伽女神91| 亚洲天堂2016| 国产欧美日本一区视频| 国产精品电影一区二区三区| 日韩视频在线你懂得| 日韩色在线观看| 日韩午夜小视频| 精品久久一区二区三区| 久久久久久一二三区| 久久久精品国产免大香伊| 26uuu精品一区二区| 精品久久久久久久一区二区蜜臀| 日韩视频永久免费| 精品国产第一区二区三区观看体验 | 天天综合网 天天综合色| 一区二区三区蜜桃| 图片区小说区区亚洲影院| 日韩精品一二区| 青青草97国产精品免费观看无弹窗版 | 国产精品欧美一区喷水| 久久久久久久久伊人| 中文字幕第一页久久| 亚洲欧美区自拍先锋| 一级中文字幕一区二区| 日韩和欧美的一区| 九九九久久久精品| www.色精品| 欧美色男人天堂| 亚洲精品一区二区三区四区高清| 国产欧美日韩三级| 亚洲国产cao| 激情久久久久久久久久久久久久久久| 国产99久久久国产精品潘金网站| 国产成人免费网站| 日本高清成人免费播放| 日韩欧美色综合网站| 激情综合色丁香一区二区| 在线亚洲精品福利网址导航| 久久久亚洲精品一区二区三区| 日韩中文字幕av电影| 日本道精品一区二区三区 | 大陆成人av片| 国产午夜精品一区二区三区视频| 美女在线视频一区| 欧美日韩视频在线一区二区| 亚洲精品成人在线| 91香蕉视频mp4| 国产精品卡一卡二卡三| 国产精品中文字幕日韩精品| 精品伦理精品一区| 久久疯狂做爰流白浆xx| 欧美一区二区在线播放| 日韩成人免费电影| 欧美一级精品在线| 日韩电影一二三区| 欧美一区二区视频在线观看2022| 亚洲高清中文字幕| 制服丝袜中文字幕一区| 青青草伊人久久| 精品剧情在线观看| 国产伦精品一区二区三区免费迷| 日韩一区二区精品在线观看| 久久99久久久久| 亚洲精品在线电影| 国产91丝袜在线观看| 中文字幕成人在线观看| 91亚洲国产成人精品一区二区三| 亚洲欧美一区二区三区久本道91| 91麻豆高清视频| 亚洲一区二区精品久久av| 欧美日韩精品免费观看视频| 青青草原综合久久大伊人精品 | 毛片av一区二区| 精品国产伦一区二区三区观看体验| 日韩av成人高清| 日韩一区二区三区视频| 国产中文字幕一区| 国产精品家庭影院| 欧美三级中文字幕在线观看| 视频一区二区三区中文字幕| 日韩欧美久久久| 高清成人在线观看| 亚洲图片你懂的| 欧美日韩国产精品自在自线| 麻豆成人免费电影| 中文字幕免费一区| 欧美日韩精品欧美日韩精品一综合| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久影视传媒| 91福利小视频| 国产一区二区视频在线播放| 亚洲免费av高清| 日韩一区二区中文字幕| 成人av免费在线播放| 日韩国产欧美视频| 日本一区免费视频| 欧美日韩不卡一区二区| 国产69精品一区二区亚洲孕妇| 亚洲美女区一区| 精品日韩在线观看| 91国产免费观看| 国产精品一区一区| 婷婷综合五月天| 亚洲人妖av一区二区| 精品国产在天天线2019| 在线观看av一区| 国产成人高清视频| 日韩高清在线一区| 亚洲精品ww久久久久久p站| 精品免费国产一区二区三区四区| 91亚洲精品久久久蜜桃| 国产一区二区三区av电影| 日韩黄色片在线观看| 一级精品视频在线观看宜春院 | 美女一区二区久久| 国产精品久久久久aaaa樱花| 日韩免费在线观看| 欧美精品v日韩精品v韩国精品v| 成人一级片网址| 黄色日韩网站视频| 日本中文一区二区三区| 亚洲与欧洲av电影| 中文字幕在线不卡| 欧美经典一区二区三区| 久久综合狠狠综合久久综合88 | 国产宾馆实践打屁股91| 免费一区二区视频| 天天免费综合色| 一区二区三区在线影院| 亚洲人123区| 国产精品乱码人人做人人爱| 久久久久久电影| 精品国产伦理网| 久久久久久久久久美女| 欧美tickling网站挠脚心| 日韩一级免费观看| 日韩一级精品视频在线观看| 欧美一区二区观看视频| 91精品婷婷国产综合久久性色| 色狠狠桃花综合| 色又黄又爽网站www久久| 色综合婷婷久久| 91小视频在线| 色哟哟国产精品| 一本大道综合伊人精品热热| 色综合久久久网| 91福利在线导航| 3d成人h动漫网站入口| 欧美一区二区观看视频| 久久久久国色av免费看影院| 久久久五月婷婷| 国产精品久久久久婷婷二区次| 亚洲日本在线a| 亚洲图片欧美综合| 久久成人免费网站| 成人免费观看男女羞羞视频| 色偷偷88欧美精品久久久| 欧美丰满嫩嫩电影| 精品国产凹凸成av人导航| 国产欧美精品在线观看| 一区二区欧美视频| 美女尤物国产一区| 成a人片亚洲日本久久| 欧美日韩夫妻久久| 亚洲精品一区二区精华| 亚洲成a人片在线不卡一二三区| 蜜臀久久久久久久| 懂色av一区二区夜夜嗨| 日本福利一区二区| 2023国产一二三区日本精品2022| 亚洲色图视频网| 美日韩一区二区三区| 色婷婷av一区二区三区软件| 欧美一区二区三区影视| 中文字幕一区二区三区乱码在线| 午夜精品123| 99视频精品在线| 日韩美女视频在线| 亚洲美女区一区| 国产不卡免费视频|