Merge pull request #5238

20f732cd rpc: make fill_pow restricted (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2019-03-06 17:15:10 +02:00
commit e37767aadd
No known key found for this signature in database
GPG Key ID: 55432DF31CCD4FCD

View File

@ -1347,7 +1347,8 @@ namespace cryptonote
error_resp.message = "Internal error: can't get last block."; error_resp.message = "Internal error: can't get last block.";
return false; return false;
} }
bool response_filled = fill_block_header_response(last_block, false, last_block_height, last_block_hash, res.block_header, req.fill_pow_hash); const bool restricted = m_restricted && ctx;
bool response_filled = fill_block_header_response(last_block, false, last_block_height, last_block_hash, res.block_header, req.fill_pow_hash && !restricted);
if (!response_filled) if (!response_filled)
{ {
error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR;
@ -1388,7 +1389,8 @@ namespace cryptonote
return false; return false;
} }
uint64_t block_height = boost::get<txin_gen>(blk.miner_tx.vin.front()).height; uint64_t block_height = boost::get<txin_gen>(blk.miner_tx.vin.front()).height;
bool response_filled = fill_block_header_response(blk, orphan, block_height, block_hash, res.block_header, req.fill_pow_hash); const bool restricted = m_restricted && ctx;
bool response_filled = fill_block_header_response(blk, orphan, block_height, block_hash, res.block_header, req.fill_pow_hash && !restricted);
if (!response_filled) if (!response_filled)
{ {
error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR;
@ -1437,7 +1439,8 @@ namespace cryptonote
return false; return false;
} }
res.headers.push_back(block_header_response()); res.headers.push_back(block_header_response());
bool response_filled = fill_block_header_response(blk, false, block_height, block_hash, res.headers.back(), req.fill_pow_hash); const bool restricted = m_restricted && ctx;
bool response_filled = fill_block_header_response(blk, false, block_height, block_hash, res.headers.back(), req.fill_pow_hash && !restricted);
if (!response_filled) if (!response_filled)
{ {
error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR;
@ -1470,7 +1473,8 @@ namespace cryptonote
error_resp.message = "Internal error: can't get block by height. Height = " + std::to_string(req.height) + '.'; error_resp.message = "Internal error: can't get block by height. Height = " + std::to_string(req.height) + '.';
return false; return false;
} }
bool response_filled = fill_block_header_response(blk, false, req.height, block_hash, res.block_header, req.fill_pow_hash); const bool restricted = m_restricted && ctx;
bool response_filled = fill_block_header_response(blk, false, req.height, block_hash, res.block_header, req.fill_pow_hash && !restricted);
if (!response_filled) if (!response_filled)
{ {
error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR;
@ -1524,7 +1528,8 @@ namespace cryptonote
return false; return false;
} }
uint64_t block_height = boost::get<txin_gen>(blk.miner_tx.vin.front()).height; uint64_t block_height = boost::get<txin_gen>(blk.miner_tx.vin.front()).height;
bool response_filled = fill_block_header_response(blk, orphan, block_height, block_hash, res.block_header, req.fill_pow_hash); const bool restricted = m_restricted && ctx;
bool response_filled = fill_block_header_response(blk, orphan, block_height, block_hash, res.block_header, req.fill_pow_hash && !restricted);
if (!response_filled) if (!response_filled)
{ {
error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR;