diff options
| author | hinto.janai <hinto.janai@protonmail.com> | 2026-04-10 13:43:53 +0000 |
|---|---|---|
| committer | hinto.janai <hinto.janai@protonmail.com> | 2026-04-10 13:49:43 +0000 |
| commit | 644a73867fd43420dccfe22a6cb421ac1aee7c54 (patch) | |
| tree | b333c7dd965097f731dd1d496a1c7e9bec45b2ae /src/rpc/core_rpc_server.cpp | |
| parent | bbc838557e3866743b12999b71d810b89de7c3ae (diff) | |
| download | monzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.tar.gz monzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.tar.xz monzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.zip | |
rpc: restrict `add_aux_pow`
Diffstat (limited to 'src/rpc/core_rpc_server.cpp')
| -rw-r--r-- | src/rpc/core_rpc_server.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 5d8a700e2..8ea3688d6 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -2062,6 +2062,15 @@ namespace cryptonote if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ADD_AUX_POW>(invoke_http_mode::JON_RPC, "add_aux_pow", req, res, r)) return r; + const bool restricted = m_restricted && ctx; + + if (restricted && req.aux_pow.size() > 10) + { + error_resp.code = CORE_RPC_ERROR_CODE_RESTRICTED; + error_resp.message = "Too many aux pow hashes"; + return false; + } + if (req.aux_pow.empty()) { error_resp.code = CORE_RPC_ERROR_CODE_WRONG_PARAM; @@ -2097,7 +2106,7 @@ namespace cryptonote while ((1u << path_domain) < aux_pow.size()) ++path_domain; uint32_t nonce; - const uint32_t max_nonce = 65535; + const uint32_t max_nonce = restricted ? 16384 : 65535; bool collision = true; for (nonce = 0; nonce <= max_nonce; ++nonce) { |
