Skip to content
Permalink
Browse files

rpc: restrict the recent cutoff size in restricted RPC mode

  • Loading branch information...
moneromooo-monero committed May 12, 2019
1 parent 434e617 commit 542cab02e1cc1acba09c4759826ef57bbd6c2191
Showing with 9 additions and 0 deletions.
  1. +9 −0 src/rpc/core_rpc_server.cpp
@@ -59,6 +59,8 @@ using namespace epee;
#define MAX_RESTRICTED_FAKE_OUTS_COUNT 40
#define MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT 5000

#define OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION (3 * 86400) // 3 days max, the wallet requests 1.8 days

namespace
{
void add_reason(std::string &reasons, const char *reason)
@@ -1882,6 +1884,13 @@ namespace cryptonote
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_GET_OUTPUT_HISTOGRAM>(invoke_http_mode::JON_RPC, "get_output_histogram", req, res, r))
return r;

const bool restricted = m_restricted && ctx;
if (restricted && req.recent_cutoff > 0 && req.recent_cutoff < (uint64_t)time(NULL) - OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION)
{
res.status = "Recent cutoff is too old";
return true;
}

std::map<uint64_t, std::tuple<uint64_t, uint64_t, uint64_t>> histogram;
try
{

0 comments on commit 542cab0

Please sign in to comment.
You can’t perform that action at this time.