]> Git Repo - VerusCoin.git/blobdiff - src/httprpc.cpp
Build fix
[VerusCoin.git] / src / httprpc.cpp
index 2a465ee54e5cebc458b217fd33a232152d7b5df4..e8dca1c6f6ba0d9219af111f75b7b9136d224f22 100644 (file)
@@ -1,10 +1,10 @@
 #include "httprpc.h"
 
-#include "base58.h"
 #include "chainparams.h"
 #include "httpserver.h"
-#include "rpcprotocol.h"
-#include "rpcserver.h"
+#include "key_io.h"
+#include "rpc/protocol.h"
+#include "rpc/server.h"
 #include "random.h"
 #include "sync.h"
 #include "util.h"
@@ -17,7 +17,7 @@
 static const char *WWW_AUTH_HEADER_DATA = "Basic realm=\"jsonrpc\"";
 
 /** Simple one-shot callback timer to be used by the RPC mechanism to e.g.
- * re-lock the wellet.
+ * re-lock the wallet.
  */
 class HTTPRPCTimer : public RPCTimerBase
 {
@@ -126,6 +126,21 @@ static bool HTTPReq_JSONRPC(HTTPRequest* req, const std::string &)
         // singleton request
         if (valRequest.isObject()) {
             jreq.parse(valRequest);
+            
+            if (!RPCAuthorized(authHeader.second)) {
+                LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", req->GetPeer().ToString());
+                MilliSleep(250);
+                
+                req->WriteHeader("WWW-Authenticate", WWW_AUTH_HEADER_DATA);
+                req->WriteReply(HTTP_UNAUTHORIZED);
+                return false;
+            }
+
+            extern bool printoutAPI;
+            if (printoutAPI ==  true)
+            {
+                printf("%s %s\n", jreq.strMethod.c_str(), jreq.params.write().c_str());
+            }
 
             UniValue result = tableRPC.execute(jreq.strMethod, jreq.params);
 
This page took 0.023809 seconds and 4 git commands to generate.