Skip to content

Commit b648974

Browse files
committed
Merge #12778: RPC: Add username and ip logging for RPC method requests
4d74c78 Add username and ip logging for RPC method requests (Gabriel Davidian) Pull request description: Adds username and IP logging (if enabled via -logips command) to RPC method request logging. This closes #12223 Tree-SHA512: a441228e80ea6884ec379c66e949d86df3689770f1b3c3608015cf5a36d2dfb38051298a7f6ea6dfdfbf0b3b6c896e414c8dc54e9833bb73dd65bdb1832f4395
2 parents e49ba2e + 4d74c78 commit b648974

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

src/httprpc.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,9 @@ static bool HTTPReq_JSONRPC(HTTPRequest* req, const std::string &)
158158
}
159159

160160
JSONRPCRequest jreq;
161+
jreq.peerAddr = req->GetPeer().ToString();
161162
if (!RPCAuthorized(authHeader.second, jreq.authUser)) {
162-
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", req->GetPeer().ToString());
163+
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", jreq.peerAddr);
163164

164165
/* Deter brute-forcing
165166
If this results in a DoS the user really

src/rpc/server.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,11 @@ void JSONRPCRequest::parse(const UniValue& valRequest)
367367
if (!valMethod.isStr())
368368
throw JSONRPCError(RPC_INVALID_REQUEST, "Method must be a string");
369369
strMethod = valMethod.get_str();
370-
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s\n", SanitizeString(strMethod));
370+
if (fLogIPs)
371+
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s user=%s peeraddr=%s\n", SanitizeString(strMethod),
372+
this->authUser, this->peerAddr);
373+
else
374+
LogPrint(BCLog::RPC, "ThreadRPCServer method=%s user=%s\n", SanitizeString(strMethod), this->authUser);
371375

372376
// Parse params
373377
UniValue valParams = find_value(request, "params");

src/rpc/server.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class JSONRPCRequest
4545
bool fHelp;
4646
std::string URI;
4747
std::string authUser;
48+
std::string peerAddr;
4849

4950
JSONRPCRequest() : id(NullUniValue), params(NullUniValue), fHelp(false) {}
5051
void parse(const UniValue& valRequest);

0 commit comments

Comments
 (0)