Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
4d3383d0
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看板
提交
4d3383d0
编写于
5月 27, 2009
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6
上级
b63dc8fe
eeff9bee
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
33 addition
and
1 deletion
+33
-1
include/linux/netfilter/nf_conntrack_tcp.h
include/linux/netfilter/nf_conntrack_tcp.h
+4
-0
net/netfilter/nf_conntrack_proto_dccp.c
net/netfilter/nf_conntrack_proto_dccp.c
+4
-0
net/netfilter/nf_conntrack_proto_tcp.c
net/netfilter/nf_conntrack_proto_tcp.c
+18
-0
net/netfilter/nfnetlink_log.c
net/netfilter/nfnetlink_log.c
+6
-0
net/netfilter/xt_hashlimit.c
net/netfilter/xt_hashlimit.c
+1
-1
未找到文件。
include/linux/netfilter/nf_conntrack_tcp.h
浏览文件 @
4d3383d0
...
...
@@ -35,6 +35,9 @@ enum tcp_conntrack {
/* Has unacknowledged data */
#define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10
/* The field td_maxack has been set */
#define IP_CT_TCP_FLAG_MAXACK_SET 0x20
struct
nf_ct_tcp_flags
{
__u8
flags
;
__u8
mask
;
...
...
@@ -46,6 +49,7 @@ struct ip_ct_tcp_state {
u_int32_t
td_end
;
/* max of seq + len */
u_int32_t
td_maxend
;
/* max of ack + max(win, 1) */
u_int32_t
td_maxwin
;
/* max(win) */
u_int32_t
td_maxack
;
/* max of ack */
u_int8_t
td_scale
;
/* window scale factor */
u_int8_t
flags
;
/* per direction options */
};
...
...
net/netfilter/nf_conntrack_proto_dccp.c
浏览文件 @
4d3383d0
...
...
@@ -22,6 +22,7 @@
#include <linux/netfilter/nfnetlink_conntrack.h>
#include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_l4proto.h>
#include <net/netfilter/nf_conntrack_ecache.h>
#include <net/netfilter/nf_log.h>
static
DEFINE_RWLOCK
(
dccp_lock
);
...
...
@@ -553,6 +554,9 @@ static int dccp_packet(struct nf_conn *ct, const struct sk_buff *skb,
ct
->
proto
.
dccp
.
state
=
new_state
;
write_unlock_bh
(
&
dccp_lock
);
if
(
new_state
!=
old_state
)
nf_conntrack_event_cache
(
IPCT_PROTOINFO
,
ct
);
dn
=
dccp_pernet
(
net
);
nf_ct_refresh_acct
(
ct
,
ctinfo
,
skb
,
dn
->
dccp_timeout
[
new_state
]);
...
...
net/netfilter/nf_conntrack_proto_tcp.c
浏览文件 @
4d3383d0
...
...
@@ -634,6 +634,14 @@ static bool tcp_in_window(const struct nf_conn *ct,
sender
->
td_end
=
end
;
sender
->
flags
|=
IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED
;
}
if
(
tcph
->
ack
)
{
if
(
!
(
sender
->
flags
&
IP_CT_TCP_FLAG_MAXACK_SET
))
{
sender
->
td_maxack
=
ack
;
sender
->
flags
|=
IP_CT_TCP_FLAG_MAXACK_SET
;
}
else
if
(
after
(
ack
,
sender
->
td_maxack
))
sender
->
td_maxack
=
ack
;
}
/*
* Update receiver data.
*/
...
...
@@ -918,6 +926,16 @@ static int tcp_packet(struct nf_conn *ct,
"nf_ct_tcp: invalid state "
);
return
-
NF_ACCEPT
;
case
TCP_CONNTRACK_CLOSE
:
if
(
index
==
TCP_RST_SET
&&
(
ct
->
proto
.
tcp
.
seen
[
!
dir
].
flags
&
IP_CT_TCP_FLAG_MAXACK_SET
)
&&
before
(
ntohl
(
th
->
seq
),
ct
->
proto
.
tcp
.
seen
[
!
dir
].
td_maxack
))
{
/* Invalid RST */
write_unlock_bh
(
&
tcp_lock
);
if
(
LOG_INVALID
(
net
,
IPPROTO_TCP
))
nf_log_packet
(
pf
,
0
,
skb
,
NULL
,
NULL
,
NULL
,
"nf_ct_tcp: invalid RST "
);
return
-
NF_ACCEPT
;
}
if
(
index
==
TCP_RST_SET
&&
((
test_bit
(
IPS_SEEN_REPLY_BIT
,
&
ct
->
status
)
&&
ct
->
proto
.
tcp
.
last_index
==
TCP_SYN_SET
)
...
...
net/netfilter/nfnetlink_log.c
浏览文件 @
4d3383d0
...
...
@@ -581,6 +581,12 @@ nfulnl_log_packet(u_int8_t pf,
+
nla_total_size
(
sizeof
(
struct
nfulnl_msg_packet_hw
))
+
nla_total_size
(
sizeof
(
struct
nfulnl_msg_packet_timestamp
));
if
(
in
&&
skb_mac_header_was_set
(
skb
))
{
size
+=
nla_total_size
(
skb
->
dev
->
hard_header_len
)
+
nla_total_size
(
sizeof
(
u_int16_t
))
/* hwtype */
+
nla_total_size
(
sizeof
(
u_int16_t
));
/* hwlen */
}
spin_lock_bh
(
&
inst
->
lock
);
if
(
inst
->
flags
&
NFULNL_CFG_F_SEQ
)
...
...
net/netfilter/xt_hashlimit.c
浏览文件 @
4d3383d0
...
...
@@ -926,7 +926,7 @@ static int dl_seq_show(struct seq_file *s, void *v)
if
(
!
hlist_empty
(
&
htable
->
hash
[
*
bucket
]))
{
hlist_for_each_entry
(
ent
,
pos
,
&
htable
->
hash
[
*
bucket
],
node
)
if
(
dl_seq_real_show
(
ent
,
htable
->
family
,
s
))
return
1
;
return
-
1
;
}
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录