MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / RPCAuthorized

Function RPCAuthorized

src/httprpc.cpp:84–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84static bool RPCAuthorized(const std::string& strAuth, std::string& strAuthUsernameOut)
85{
86 if (!strAuth.starts_with("Basic "))
87 return false;
88 std::string_view strUserPass64 = TrimStringView(std::string_view{strAuth}.substr(6));
89 auto userpass_data = DecodeBase64(strUserPass64);
90 std::string strUserPass;
91 if (!userpass_data) return false;
92 strUserPass.assign(userpass_data->begin(), userpass_data->end());
93
94 size_t colon_pos = strUserPass.find(':');
95 if (colon_pos == std::string::npos) {
96 return false; // Invalid basic auth.
97 }
98 std::string user = strUserPass.substr(0, colon_pos);
99 std::string pass = strUserPass.substr(colon_pos + 1);
100 strAuthUsernameOut = user;
101 return CheckUserAuthorized(user, pass);
102}
103
104UniValue ExecuteHTTPRPC(const UniValue& valRequest, JSONRPCRequest& jreq, HTTPStatusCode& status)
105{

Callers 1

HTTPReq_JSONRPCFunction · 0.85

Calls 7

TrimStringViewFunction · 0.85
DecodeBase64Function · 0.85
CheckUserAuthorizedFunction · 0.85
findMethod · 0.80
assignMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected