more rpc methods allowed in safe mode
This commit is contained in:
parent
522dfe3422
commit
87cfcfd374
1 changed files with 21 additions and 2 deletions
23
rpc.cpp
23
rpc.cpp
|
@ -669,6 +669,25 @@ pair<string, rpcfn_type> pCallTable[] =
|
||||||
};
|
};
|
||||||
map<string, rpcfn_type> mapCallTable(pCallTable, pCallTable + sizeof(pCallTable)/sizeof(pCallTable[0]));
|
map<string, rpcfn_type> mapCallTable(pCallTable, pCallTable + sizeof(pCallTable)/sizeof(pCallTable[0]));
|
||||||
|
|
||||||
|
string pAllowInSafeMode[] =
|
||||||
|
{
|
||||||
|
"help",
|
||||||
|
"stop",
|
||||||
|
"getblockcount",
|
||||||
|
"getblocknumber",
|
||||||
|
"getconnectioncount",
|
||||||
|
"getdifficulty",
|
||||||
|
"getgenerate",
|
||||||
|
"setgenerate",
|
||||||
|
"gethashespersec",
|
||||||
|
"getinfo",
|
||||||
|
"getnewaddress",
|
||||||
|
"setlabel",
|
||||||
|
"getlabel",
|
||||||
|
"getaddressesbylabel",
|
||||||
|
};
|
||||||
|
set<string> setAllowInSafeMode(pAllowInSafeMode, pAllowInSafeMode + sizeof(pAllowInSafeMode)/sizeof(pAllowInSafeMode[0]));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -974,9 +993,9 @@ void ThreadRPCServer2(void* parg)
|
||||||
|
|
||||||
printf("ThreadRPCServer method=%s\n", strMethod.c_str());
|
printf("ThreadRPCServer method=%s\n", strMethod.c_str());
|
||||||
|
|
||||||
// Observe lockdown
|
// Observe safe mode
|
||||||
string strWarning = GetWarnings("rpc");
|
string strWarning = GetWarnings("rpc");
|
||||||
if (strWarning != "" && !mapArgs.count("-overridesafety") && strMethod != "getinfo" && strMethod != "help" && strMethod != "stop" && strMethod != "getgenerate" && strMethod != "setgenerate")
|
if (strWarning != "" && !mapArgs.count("-overridesafety") && !setAllowInSafeMode.count(strMethod))
|
||||||
throw runtime_error(strWarning);
|
throw runtime_error(strWarning);
|
||||||
|
|
||||||
// Execute
|
// Execute
|
||||||
|
|
Loading…
Reference in a new issue