mirror of
https://github.com/monero-project/monero.git
synced 2025-12-30 22:50:54 -08:00
Merge pull request #2615
10013e94 Protect node privacy by proper filtering in restricted-mode RPC answers (binaryFate)
This commit is contained in:
@@ -591,7 +591,7 @@ namespace cryptonote
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
bool core_rpc_server::on_is_key_image_spent(const COMMAND_RPC_IS_KEY_IMAGE_SPENT::request& req, COMMAND_RPC_IS_KEY_IMAGE_SPENT::response& res)
|
||||
bool core_rpc_server::on_is_key_image_spent(const COMMAND_RPC_IS_KEY_IMAGE_SPENT::request& req, COMMAND_RPC_IS_KEY_IMAGE_SPENT::response& res, bool request_has_rpc_origin)
|
||||
{
|
||||
CHECK_CORE_BUSY();
|
||||
std::vector<crypto::key_image> key_images;
|
||||
@@ -623,7 +623,7 @@ namespace cryptonote
|
||||
// check the pool too
|
||||
std::vector<cryptonote::tx_info> txs;
|
||||
std::vector<cryptonote::spent_key_image_info> ki;
|
||||
r = m_core.get_pool_transactions_and_spent_keys_info(txs, ki);
|
||||
r = m_core.get_pool_transactions_and_spent_keys_info(txs, ki, !request_has_rpc_origin || !m_restricted);
|
||||
if(!r)
|
||||
{
|
||||
res.status = "Failed";
|
||||
@@ -870,26 +870,26 @@ namespace cryptonote
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
bool core_rpc_server::on_get_transaction_pool(const COMMAND_RPC_GET_TRANSACTION_POOL::request& req, COMMAND_RPC_GET_TRANSACTION_POOL::response& res)
|
||||
bool core_rpc_server::on_get_transaction_pool(const COMMAND_RPC_GET_TRANSACTION_POOL::request& req, COMMAND_RPC_GET_TRANSACTION_POOL::response& res, bool request_has_rpc_origin)
|
||||
{
|
||||
CHECK_CORE_BUSY();
|
||||
m_core.get_pool_transactions_and_spent_keys_info(res.transactions, res.spent_key_images);
|
||||
m_core.get_pool_transactions_and_spent_keys_info(res.transactions, res.spent_key_images, !request_has_rpc_origin || !m_restricted);
|
||||
res.status = CORE_RPC_STATUS_OK;
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
bool core_rpc_server::on_get_transaction_pool_hashes(const COMMAND_RPC_GET_TRANSACTION_POOL_HASHES::request& req, COMMAND_RPC_GET_TRANSACTION_POOL_HASHES::response& res)
|
||||
bool core_rpc_server::on_get_transaction_pool_hashes(const COMMAND_RPC_GET_TRANSACTION_POOL_HASHES::request& req, COMMAND_RPC_GET_TRANSACTION_POOL_HASHES::response& res, bool request_has_rpc_origin)
|
||||
{
|
||||
CHECK_CORE_BUSY();
|
||||
m_core.get_pool_transaction_hashes(res.tx_hashes);
|
||||
m_core.get_pool_transaction_hashes(res.tx_hashes, !request_has_rpc_origin || !m_restricted);
|
||||
res.status = CORE_RPC_STATUS_OK;
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
bool core_rpc_server::on_get_transaction_pool_stats(const COMMAND_RPC_GET_TRANSACTION_POOL_STATS::request& req, COMMAND_RPC_GET_TRANSACTION_POOL_STATS::response& res)
|
||||
bool core_rpc_server::on_get_transaction_pool_stats(const COMMAND_RPC_GET_TRANSACTION_POOL_STATS::request& req, COMMAND_RPC_GET_TRANSACTION_POOL_STATS::response& res, bool request_has_rpc_origin)
|
||||
{
|
||||
CHECK_CORE_BUSY();
|
||||
m_core.get_pool_transaction_stats(res.pool_stats);
|
||||
m_core.get_pool_transaction_stats(res.pool_stats, !request_has_rpc_origin || !m_restricted);
|
||||
res.status = CORE_RPC_STATUS_OK;
|
||||
return true;
|
||||
}
|
||||
@@ -1852,7 +1852,7 @@ namespace cryptonote
|
||||
|
||||
const command_line::arg_descriptor<bool> core_rpc_server::arg_restricted_rpc = {
|
||||
"restricted-rpc"
|
||||
, "Restrict RPC to view only commands"
|
||||
, "Restrict RPC to view only commands and do not return privacy sensitive data in RPC calls"
|
||||
, false
|
||||
};
|
||||
} // namespace cryptonote
|
||||
|
||||
Reference in New Issue
Block a user