Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
517fd2c9
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
517fd2c9
编写于
3月 06, 2019
作者:
K
Kevin Heifner
提交者:
GitHub
3月 06, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6881 from EOSIO/feature/1.6.3-security-omnibus
Consolidated Security Fixes for 1.6.3
上级
1d485322
12d99615
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
4 deletion
+17
-4
libraries/chain/controller.cpp
libraries/chain/controller.cpp
+1
-3
plugins/net_plugin/net_plugin.cpp
plugins/net_plugin/net_plugin.cpp
+16
-1
未找到文件。
libraries/chain/controller.cpp
浏览文件 @
517fd2c9
...
...
@@ -1040,9 +1040,7 @@ struct controller_impl {
recovered_keys
,
{},
trx_context
.
delay
,
[](){}
/*std::bind(&transaction_context::add_cpu_usage_and_check_time, &trx_context,
std::placeholders::_1)*/
,
[
&
trx_context
](){
trx_context
.
checktime
();
},
false
);
}
...
...
plugins/net_plugin/net_plugin.cpp
浏览文件 @
517fd2c9
...
...
@@ -724,6 +724,7 @@ namespace eosio {
void
rejected_block
(
const
block_id_type
&
id
);
void
recv_block
(
const
connection_ptr
&
conn
,
const
block_id_type
&
msg
,
uint32_t
bnum
);
void
expire_blocks
(
uint32_t
bnum
);
void
recv_transaction
(
const
connection_ptr
&
conn
,
const
transaction_id_type
&
id
);
void
recv_notice
(
const
connection_ptr
&
conn
,
const
notice_message
&
msg
,
bool
generated
);
...
...
@@ -1656,11 +1657,23 @@ namespace eosio {
}
void
dispatch_manager
::
rejected_block
(
const
block_id_type
&
id
)
{
fc_dlog
(
logger
,
"not sending rejected transaction ${tid}"
,(
"tid"
,
id
)
);
fc_dlog
(
logger
,
"rejected block ${id}"
,
(
"id"
,
id
)
);
auto
range
=
received_blocks
.
equal_range
(
id
);
received_blocks
.
erase
(
range
.
first
,
range
.
second
);
}
void
dispatch_manager
::
expire_blocks
(
uint32_t
lib_num
)
{
for
(
auto
i
=
received_blocks
.
begin
();
i
!=
received_blocks
.
end
();
)
{
const
block_id_type
&
blk_id
=
i
->
first
;
uint32_t
blk_num
=
block_header
::
num_from_id
(
blk_id
);
if
(
blk_num
<=
lib_num
)
{
i
=
received_blocks
.
erase
(
i
);
}
else
{
++
i
;
}
}
}
void
dispatch_manager
::
bcast_transaction
(
const
transaction_metadata_ptr
&
ptrx
)
{
std
::
set
<
connection_ptr
>
skips
;
const
auto
&
id
=
ptrx
->
id
;
...
...
@@ -2565,6 +2578,7 @@ namespace eosio {
}
else
{
sync_master
->
rejected_block
(
c
,
blk_num
);
dispatcher
->
rejected_block
(
blk_id
);
}
}
...
...
@@ -2626,6 +2640,7 @@ namespace eosio {
controller
&
cc
=
chain_plug
->
chain
();
uint32_t
lib
=
cc
.
last_irreversible_block_num
();
dispatcher
->
expire_blocks
(
lib
);
for
(
auto
&
c
:
connections
)
{
auto
&
stale_txn
=
c
->
trx_state
.
get
<
by_block_num
>
();
stale_txn
.
erase
(
stale_txn
.
lower_bound
(
1
),
stale_txn
.
upper_bound
(
lib
)
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录