From 5c052ebdf4934b41bb12ea31669411572058ebd6 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 14 Jan 2013 20:18:34 -0800 Subject: [PATCH 1/5] Temporarily turn off admin checking for subscribe. --- src/cpp/ripple/RPCHandler.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index 9af8b1d30..85a50fb00 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -2305,8 +2305,11 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest) if (jvRequest.isMember("url")) { +// Temporarily off. +#if 0 if (mRole != ADMIN) return rpcError(rpcNO_PERMISSION); +#endif std::string strUrl = jvRequest["url"].asString(); std::string strUsername = jvRequest.isMember("username") ? jvRequest["username"].asString() : ""; From 9c6d073d89af82858edada7252abded36d65791c Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 14 Jan 2013 21:21:22 -0800 Subject: [PATCH 2/5] More logging for RPC subscribe. --- src/cpp/ripple/RPCSub.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cpp/ripple/RPCSub.cpp b/src/cpp/ripple/RPCSub.cpp index c4ecc609c..cc043a9f7 100644 --- a/src/cpp/ripple/RPCSub.cpp +++ b/src/cpp/ripple/RPCSub.cpp @@ -55,9 +55,11 @@ void RPCSub::sendThread() // Send outside of the lock. if (bSend) { - // Drop result. try { + cLog(lsDEBUG) << boost::str(boost::format("callRPC calling: %s") % mIp); + + // Drop result. (void) callRPC(mIp, mPort, mUsername, mPassword, mPath, "event", jvEvent); } catch (const std::exception& e) @@ -76,9 +78,12 @@ void RPCSub::send(const Json::Value& jvObj) { // Drop the previous event. + cLog(lsDEBUG) << boost::str(boost::format("callRPC drop")); mDeque.pop_back(); } + cLog(lsDEBUG) << boost::str(boost::format("callRPC push: %s") % jvObj); + mDeque.push_back(std::make_pair(mSeq++, jvObj)); if (!mSending) @@ -86,6 +91,7 @@ void RPCSub::send(const Json::Value& jvObj) // Start a sending thread. mSending = true; + cLog(lsDEBUG) << boost::str(boost::format("callRPC start"); boost::thread(boost::bind(&RPCSub::sendThread, this)).detach(); } } From af0e39f11c6ba09b42239594d0adcdeb81599c69 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 14 Jan 2013 21:25:36 -0800 Subject: [PATCH 3/5] Typo --- src/cpp/ripple/RPCSub.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/ripple/RPCSub.cpp b/src/cpp/ripple/RPCSub.cpp index cc043a9f7..d4cb4d4b6 100644 --- a/src/cpp/ripple/RPCSub.cpp +++ b/src/cpp/ripple/RPCSub.cpp @@ -91,7 +91,7 @@ void RPCSub::send(const Json::Value& jvObj) // Start a sending thread. mSending = true; - cLog(lsDEBUG) << boost::str(boost::format("callRPC start"); + cLog(lsDEBUG) << boost::str(boost::format("callRPC start")); boost::thread(boost::bind(&RPCSub::sendThread, this)).detach(); } } From ca432d5a9c11394e5c59bd348ef448ed11eb39a3 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 14 Jan 2013 21:39:40 -0800 Subject: [PATCH 4/5] More debugging. --- src/cpp/ripple/RPCSub.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpp/ripple/RPCSub.cpp b/src/cpp/ripple/RPCSub.cpp index d4cb4d4b6..e85d8ffe2 100644 --- a/src/cpp/ripple/RPCSub.cpp +++ b/src/cpp/ripple/RPCSub.cpp @@ -21,6 +21,9 @@ RPCSub::RPCSub(const std::string& strUrl, const std::string& strUsername, const } mSeq = 1; + + if (mPort < 0) + mPort = 80; } void RPCSub::sendThread() From 026f2a7fc738b5291b69c42882f467db9a48b22b Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 14 Jan 2013 21:45:54 -0800 Subject: [PATCH 5/5] More debugging. --- src/cpp/ripple/CallRPC.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cpp/ripple/CallRPC.cpp b/src/cpp/ripple/CallRPC.cpp index 17fe7cad2..2cf58d8dd 100644 --- a/src/cpp/ripple/CallRPC.cpp +++ b/src/cpp/ripple/CallRPC.cpp @@ -659,7 +659,12 @@ Json::Value callRPC(const std::string& strIp, const int iPort, const std::string { // Connect to localhost if (!theConfig.QUIET) + { std::cerr << "Connecting to: " << strIp << ":" << iPort << std::endl; + std::cerr << "Username: " << strUsername << ":" << strPassword << std::endl; + std::cerr << "Path: " << strPassword << std::endl; + std::cerr << "Method: " << strMethod << std::endl; + } boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string(strIp), iPort); @@ -668,18 +673,21 @@ Json::Value callRPC(const std::string& strIp, const int iPort, const std::string if (stream.fail()) throw std::runtime_error("couldn't connect to server"); +cLog(lsDEBUG) << "connected" << std::endl; // HTTP basic authentication std::string strUserPass64 = EncodeBase64(strUsername + ":" + strPassword); std::map mapRequestHeaders; mapRequestHeaders["Authorization"] = std::string("Basic ") + strUserPass64; +cLog(lsDEBUG) << "requesting" << std::endl; // Send request std::string strRequest = JSONRPCRequest(strMethod, params, Json::Value(1)); - cLog(lsDEBUG) << "send request " << strMethod << " : " << strRequest << std::endl; +cLog(lsDEBUG) << "send request " << strMethod << " : " << strRequest << std::endl; + std::string strPost = createHTTPPost(strPath, strRequest, mapRequestHeaders); stream << strPost << std::flush; - // std::cerr << "post " << strPost << std::endl; +std::cerr << "post " << strPost << std::endl; // Receive reply std::map mapHeaders;