Merge pull request #6173

8231c7cd rpc: fix bootstrap RPC payment RPC being made in raw JSON, not JSON RPC (moneromooo-monero)
81c26589 rpc: don't auto fail RPC needing payment in bootstrap mode (moneromooo-monero)
This commit is contained in:
Alexander Blair 2020-01-24 20:19:41 -08:00
commit e8f94e7f1d
No known key found for this signature in database
GPG Key ID: C64552D877C32479
1 changed files with 10 additions and 6 deletions

View File

@ -1961,7 +1961,11 @@ namespace cryptonote
m_was_bootstrap_ever_used = true; m_was_bootstrap_ever_used = true;
} }
r = r && res.status == CORE_RPC_STATUS_OK; if (r && res.status != CORE_RPC_STATUS_PAYMENT_REQUIRED && res.status != CORE_RPC_STATUS_OK)
{
MINFO("Failing RPC " << command_name << " due to peer return status " << res.status);
r = false;
}
res.untrusted = true; res.untrusted = true;
return true; return true;
} }
@ -2941,7 +2945,7 @@ namespace cryptonote
RPC_TRACKER(rpc_access_info); RPC_TRACKER(rpc_access_info);
bool r; bool r;
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_INFO>(invoke_http_mode::JON, "rpc_access_info", req, res, r)) if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_INFO>(invoke_http_mode::JON_RPC, "rpc_access_info", req, res, r))
return r; return r;
// if RPC payment is not enabled // if RPC payment is not enabled
@ -3013,7 +3017,7 @@ namespace cryptonote
{ {
RPC_TRACKER(rpc_access_submit_nonce); RPC_TRACKER(rpc_access_submit_nonce);
bool r; bool r;
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_SUBMIT_NONCE>(invoke_http_mode::JON, "rpc_access_submit_nonce", req, res, r)) if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_SUBMIT_NONCE>(invoke_http_mode::JON_RPC, "rpc_access_submit_nonce", req, res, r))
return r; return r;
// if RPC payment is not enabled // if RPC payment is not enabled
@ -3072,7 +3076,7 @@ namespace cryptonote
RPC_TRACKER(rpc_access_pay); RPC_TRACKER(rpc_access_pay);
bool r; bool r;
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_PAY>(invoke_http_mode::JON, "rpc_access_pay", req, res, r)) if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_PAY>(invoke_http_mode::JON_RPC, "rpc_access_pay", req, res, r))
return r; return r;
// if RPC payment is not enabled // if RPC payment is not enabled
@ -3131,7 +3135,7 @@ namespace cryptonote
RPC_TRACKER(rpc_access_data); RPC_TRACKER(rpc_access_data);
bool r; bool r;
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_DATA>(invoke_http_mode::JON, "rpc_access_data", req, res, r)) if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_DATA>(invoke_http_mode::JON_RPC, "rpc_access_data", req, res, r))
return r; return r;
if (!m_rpc_payment) if (!m_rpc_payment)
@ -3159,7 +3163,7 @@ namespace cryptonote
RPC_TRACKER(rpc_access_account); RPC_TRACKER(rpc_access_account);
bool r; bool r;
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_ACCOUNT>(invoke_http_mode::JON, "rpc_access_account", req, res, r)) if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ACCESS_ACCOUNT>(invoke_http_mode::JON_RPC, "rpc_access_account", req, res, r))
return r; return r;
if (!m_rpc_payment) if (!m_rpc_payment)