]> Git Repo - VerusCoin.git/blobdiff - src/httprpc.cpp
Build fix
[VerusCoin.git] / src / httprpc.cpp
index 10002683fd72de3b4d7ae4d513df614359591d6c..e8dca1c6f6ba0d9219af111f75b7b9136d224f22 100644 (file)
@@ -13,8 +13,8 @@
 
 #include <boost/algorithm/string.hpp> // boost::trim
 
-/** WWW-Authenticate to present with 401 Unauthorized response */
-static const charWWW_AUTH_HEADER_DATA = "Basic realm=\"jsonrpc\"";
+// WWW-Authenticate to present with 401 Unauthorized response
+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 wallet.
@@ -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.027572 seconds and 4 git commands to generate.