Add username and ip logging for RPC method requests
This commit is contained in:
parent
7466a26cab
commit
4d74c78c69
3 changed files with 8 additions and 2 deletions
|
@ -158,8 +158,9 @@ static bool HTTPReq_JSONRPC(HTTPRequest* req, const std::string &)
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONRPCRequest jreq;
|
JSONRPCRequest jreq;
|
||||||
|
jreq.peerAddr = req->GetPeer().ToString();
|
||||||
if (!RPCAuthorized(authHeader.second, jreq.authUser)) {
|
if (!RPCAuthorized(authHeader.second, jreq.authUser)) {
|
||||||
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", req->GetPeer().ToString());
|
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", jreq.peerAddr);
|
||||||
|
|
||||||
/* Deter brute-forcing
|
/* Deter brute-forcing
|
||||||
If this results in a DoS the user really
|
If this results in a DoS the user really
|
||||||
|
|
|
@ -367,7 +367,11 @@ void JSONRPCRequest::parse(const UniValue& valRequest)
|
||||||
if (!valMethod.isStr())
|
if (!valMethod.isStr())
|
||||||
throw JSONRPCError(RPC_INVALID_REQUEST, "Method must be a string");
|
throw JSONRPCError(RPC_INVALID_REQUEST, "Method must be a string");
|
||||||
strMethod = valMethod.get_str();
|
strMethod = valMethod.get_str();
|
||||||
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s\n", SanitizeString(strMethod));
|
if (fLogIPs)
|
||||||
|
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s user=%s peeraddr=%s\n", SanitizeString(strMethod),
|
||||||
|
this->authUser, this->peerAddr);
|
||||||
|
else
|
||||||
|
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s user=%s\n", SanitizeString(strMethod), this->authUser);
|
||||||
|
|
||||||
// Parse params
|
// Parse params
|
||||||
UniValue valParams = find_value(request, "params");
|
UniValue valParams = find_value(request, "params");
|
||||||
|
|
|
@ -45,6 +45,7 @@ public:
|
||||||
bool fHelp;
|
bool fHelp;
|
||||||
std::string URI;
|
std::string URI;
|
||||||
std::string authUser;
|
std::string authUser;
|
||||||
|
std::string peerAddr;
|
||||||
|
|
||||||
JSONRPCRequest() : id(NullUniValue), params(NullUniValue), fHelp(false) {}
|
JSONRPCRequest() : id(NullUniValue), params(NullUniValue), fHelp(false) {}
|
||||||
void parse(const UniValue& valRequest);
|
void parse(const UniValue& valRequest);
|
||||||
|
|
Loading…
Reference in a new issue