aboutsummaryrefslogtreecommitdiff
path: root/src/rpc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc')
-rw-r--r--src/rpc/daemon_handler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rpc/daemon_handler.cpp b/src/rpc/daemon_handler.cpp
index 0ca5c3699..276682974 100644
--- a/src/rpc/daemon_handler.cpp
+++ b/src/rpc/daemon_handler.cpp
@@ -50,6 +50,7 @@ constexpr size_t restricted_max_fake_outs = 5000;
constexpr auto restricted_histogram_cutoff = std::chrono::hours{3 * 24};
constexpr size_t restricted_max_txs = 100;
constexpr size_t restricted_max_key_images = 5000;
+constexpr size_t restricted_max_block_headers = 1000;
}
namespace cryptonote
@@ -697,6 +698,13 @@ namespace rpc
void DaemonHandler::handle(const GetBlockHeadersByHeight::Request& req, GetBlockHeadersByHeight::Response& res)
{
+ if (m_restricted && req.heights.size() > restricted_max_block_headers)
+ {
+ res.status = Message::STATUS_FAILED;
+ res.error_details = "Too many block headers requested in restricted mode";
+ return;
+ }
+
res.headers.resize(req.heights.size());
for (size_t i=0; i < req.heights.size(); i++)