aboutsummaryrefslogtreecommitdiff
path: root/tests/unit_tests/block_queue.cpp
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2020-12-08 17:55:24 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2020-12-10 21:59:18 +0000
commitd660f22ed1aa544750e57b6f90fcf4e3e2ded038 (patch)
tree6e2dbe6a5a05bcfa5352f25b741ee817442cadb7 /tests/unit_tests/block_queue.cpp
parentMerge pull request #7108 (diff)
downloadmonero-d660f22ed1aa544750e57b6f90fcf4e3e2ded038.tar.xz
protocol: drop origin IP if a block fails to verify in sync mode
It would otherwise be possible for a peer to send bad blocks, then disconnect and reconnect again, escaping bans
Diffstat (limited to '')
-rw-r--r--tests/unit_tests/block_queue.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/tests/unit_tests/block_queue.cpp b/tests/unit_tests/block_queue.cpp
index 77c7f97ff..01c742c11 100644
--- a/tests/unit_tests/block_queue.cpp
+++ b/tests/unit_tests/block_queue.cpp
@@ -52,36 +52,38 @@ TEST(block_queue, empty)
TEST(block_queue, add_stepwise)
{
+ epee::net_utils::network_address na;
cryptonote::block_queue bq;
- bq.add_blocks(0, 200, uuid1());
+ bq.add_blocks(0, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 199);
- bq.add_blocks(200, 200, uuid1());
+ bq.add_blocks(200, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 399);
- bq.add_blocks(401, 200, uuid1());
+ bq.add_blocks(401, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 600);
- bq.add_blocks(400, 10, uuid1());
+ bq.add_blocks(400, 10, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 600);
}
TEST(block_queue, flush_uuid)
{
cryptonote::block_queue bq;
+ epee::net_utils::network_address na;
- bq.add_blocks(0, 200, uuid1());
+ bq.add_blocks(0, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 199);
- bq.add_blocks(200, 200, uuid2());
+ bq.add_blocks(200, 200, uuid2(), na);
ASSERT_EQ(bq.get_max_block_height(), 399);
bq.flush_spans(uuid2());
ASSERT_EQ(bq.get_max_block_height(), 199);
bq.flush_spans(uuid1());
ASSERT_EQ(bq.get_max_block_height(), 0);
- bq.add_blocks(0, 200, uuid1());
+ bq.add_blocks(0, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 199);
- bq.add_blocks(200, 200, uuid2());
+ bq.add_blocks(200, 200, uuid2(), na);
ASSERT_EQ(bq.get_max_block_height(), 399);
bq.flush_spans(uuid1());
ASSERT_EQ(bq.get_max_block_height(), 399);
- bq.add_blocks(0, 200, uuid1());
+ bq.add_blocks(0, 200, uuid1(), na);
ASSERT_EQ(bq.get_max_block_height(), 399);
}