Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
ecd159fc
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
ecd159fc
编写于
4月 10, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://1984.lsi.us.es/net
上级
f68e556e
6ba90067
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
20 deletion
+24
-20
include/linux/netfilter_ipv6/ip6_tables.h
include/linux/netfilter_ipv6/ip6_tables.h
+11
-1
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+10
-2
net/ipv6/netfilter/ip6_tables.c
net/ipv6/netfilter/ip6_tables.c
+0
-14
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_conntrack_core.c
+1
-1
net/netfilter/nf_conntrack_proto_tcp.c
net/netfilter/nf_conntrack_proto_tcp.c
+2
-2
未找到文件。
include/linux/netfilter_ipv6/ip6_tables.h
浏览文件 @
ecd159fc
...
...
@@ -287,7 +287,17 @@ extern unsigned int ip6t_do_table(struct sk_buff *skb,
struct
xt_table
*
table
);
/* Check for an extension */
extern
int
ip6t_ext_hdr
(
u8
nexthdr
);
static
inline
int
ip6t_ext_hdr
(
u8
nexthdr
)
{
return
(
nexthdr
==
IPPROTO_HOPOPTS
)
||
(
nexthdr
==
IPPROTO_ROUTING
)
||
(
nexthdr
==
IPPROTO_FRAGMENT
)
||
(
nexthdr
==
IPPROTO_ESP
)
||
(
nexthdr
==
IPPROTO_AH
)
||
(
nexthdr
==
IPPROTO_NONE
)
||
(
nexthdr
==
IPPROTO_DSTOPTS
);
}
/* find specified header and get offset to it */
extern
int
ipv6_find_hdr
(
const
struct
sk_buff
*
skb
,
unsigned
int
*
offset
,
int
target
,
unsigned
short
*
fragoff
);
...
...
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
浏览文件 @
ecd159fc
...
...
@@ -74,16 +74,24 @@ static int ipv4_get_l4proto(const struct sk_buff *skb, unsigned int nhoff,
iph
=
skb_header_pointer
(
skb
,
nhoff
,
sizeof
(
_iph
),
&
_iph
);
if
(
iph
==
NULL
)
return
-
NF_
DROP
;
return
-
NF_
ACCEPT
;
/* Conntrack defragments packets, we might still see fragments
* inside ICMP packets though. */
if
(
iph
->
frag_off
&
htons
(
IP_OFFSET
))
return
-
NF_
DROP
;
return
-
NF_
ACCEPT
;
*
dataoff
=
nhoff
+
(
iph
->
ihl
<<
2
);
*
protonum
=
iph
->
protocol
;
/* Check bogus IP headers */
if
(
*
dataoff
>
skb
->
len
)
{
pr_debug
(
"nf_conntrack_ipv4: bogus IPv4 packet: "
"nhoff %u, ihl %u, skblen %u
\n
"
,
nhoff
,
iph
->
ihl
<<
2
,
skb
->
len
);
return
-
NF_ACCEPT
;
}
return
NF_ACCEPT
;
}
...
...
net/ipv6/netfilter/ip6_tables.c
浏览文件 @
ecd159fc
...
...
@@ -78,19 +78,6 @@ EXPORT_SYMBOL_GPL(ip6t_alloc_initial_table);
Hence the start of any table is given by get_table() below. */
/* Check for an extension */
int
ip6t_ext_hdr
(
u8
nexthdr
)
{
return
(
nexthdr
==
IPPROTO_HOPOPTS
)
||
(
nexthdr
==
IPPROTO_ROUTING
)
||
(
nexthdr
==
IPPROTO_FRAGMENT
)
||
(
nexthdr
==
IPPROTO_ESP
)
||
(
nexthdr
==
IPPROTO_AH
)
||
(
nexthdr
==
IPPROTO_NONE
)
||
(
nexthdr
==
IPPROTO_DSTOPTS
);
}
/* Returns whether matches rule or not. */
/* Performance critical - called for every packet */
static
inline
bool
...
...
@@ -2366,7 +2353,6 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
EXPORT_SYMBOL
(
ip6t_register_table
);
EXPORT_SYMBOL
(
ip6t_unregister_table
);
EXPORT_SYMBOL
(
ip6t_do_table
);
EXPORT_SYMBOL
(
ip6t_ext_hdr
);
EXPORT_SYMBOL
(
ipv6_find_hdr
);
module_init
(
ip6_tables_init
);
...
...
net/netfilter/nf_conntrack_core.c
浏览文件 @
ecd159fc
...
...
@@ -1592,7 +1592,7 @@ static int nf_conntrack_init_net(struct net *net)
return
0
;
err_timeout:
nf_conntrack_
timeout
_fini
(
net
);
nf_conntrack_
ecache
_fini
(
net
);
err_ecache:
nf_conntrack_tstamp_fini
(
net
);
err_tstamp:
...
...
net/netfilter/nf_conntrack_proto_tcp.c
浏览文件 @
ecd159fc
...
...
@@ -584,8 +584,8 @@ static bool tcp_in_window(const struct nf_conn *ct,
* Let's try to use the data from the packet.
*/
sender
->
td_end
=
end
;
win
<<=
sender
->
td_scale
;
sender
->
td_maxwin
=
(
win
==
0
?
1
:
win
);
swin
=
win
<<
sender
->
td_scale
;
sender
->
td_maxwin
=
(
swin
==
0
?
1
:
s
win
);
sender
->
td_maxend
=
end
+
sender
->
td_maxwin
;
/*
* We haven't seen traffic in the other direction yet
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录