aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/safemode.cpp
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2017-06-08 17:38:23 -0700
committerWladimir J. van der Laan <laanwj@gmail.com>2017-08-29 10:09:41 +0200
commitec6902d0ea2bbe75179684fc71849d5e34647a14 (patch)
tree42393f7b18521829584072668b2f2e1c1c069e00 /src/rpc/safemode.cpp
parentcee4fe1d53b2e1ff91ff48bc881cb41dfba01c52 (diff)
downloadbitcoin-ec6902d0ea2bbe75179684fc71849d5e34647a14.tar.xz
rpc: Push down safe mode checks
This contains most of the changes of 10563 "remove safe mode", but doesn't remove the safe mode yet, but put an `ObserveSafeMode()` check in individual calls with okSafeMode=false. This cleans up the ugly "okSafeMode" flag from the dispatch tables, which is not a concern for the RPC server. Extra-author: Wladimir J. van der Laan <laanwj@gmail.com>
Diffstat (limited to 'src/rpc/safemode.cpp')
-rw-r--r--src/rpc/safemode.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/rpc/safemode.cpp b/src/rpc/safemode.cpp
new file mode 100644
index 0000000000..24770ad47f
--- /dev/null
+++ b/src/rpc/safemode.cpp
@@ -0,0 +1,14 @@
+#include "safemode.h"
+
+#include "rpc/protocol.h"
+#include "util.h"
+#include "warnings.h"
+
+void ObserveSafeMode()
+{
+ std::string warning = GetWarnings("rpc");
+ if (warning != "" && !gArgs.GetBoolArg("-disablesafemode", DEFAULT_DISABLE_SAFEMODE)) {
+ throw JSONRPCError(RPC_FORBIDDEN_BY_SAFE_MODE, std::string("Safe mode: ") + warning);
+ }
+}
+