aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authors_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-08-25 14:18:56 +0000
committers_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-08-25 14:18:56 +0000
commit7d7797b141dbd4ed9db1dda94684beb3395c2534 (patch)
tree954999d5c687be73948c582ad54b2fcc187c9bb3
parent401926283a200994ecd7df8eae8ced8e0b067c46 (diff)
more rpc methods allowed in safe mode
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@143 1a98c847-1fd6-4fd8-948a-caf3550aa51b
-rw-r--r--rpc.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/rpc.cpp b/rpc.cpp
index 541a8b874c..e29a5041d4 100644
--- a/rpc.cpp
+++ b/rpc.cpp
@@ -669,6 +669,25 @@ pair<string, rpcfn_type> pCallTable[] =
};
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());
- // Observe lockdown
+ // Observe safe mode
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);
// Execute