Mercurial > hg > bitcoin
changeset 250:8c9f73243ec7 draft
more rpc methods allowed in safe mode
author | Satoshi Nakamoto <satoshin@gmx.com> |
---|---|
date | Sat, 28 Aug 2010 00:54:37 +0000 |
parents | cb4f9fbb1863 |
children | e07f6a800185 |
files | rpc.cpp |
diffstat | 1 files changed, 21 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/rpc.cpp +++ b/rpc.cpp @@ -669,6 +669,25 @@ }; 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 @@ 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