net: Split resolving out of CService

This commit is contained in:
Cory Fields
2016-05-31 13:51:11 -04:00
parent 31d6b1d5f0
commit f96c7c4d91
9 changed files with 94 additions and 101 deletions

View File

@@ -437,8 +437,7 @@ void TorController::add_onion_cb(TorControlConnection& conn, const TorControlRep
if ((i = m.find("PrivateKey")) != m.end())
private_key = i->second;
}
service = CService(service_id+".onion", GetListenPort());
LookupNumeric(std::string(service_id+".onion").c_str(), service, GetListenPort());
LogPrintf("tor: Got service ID %s, advertising service %s\n", service_id, service.ToString());
if (WriteBinaryFile(GetPrivateKeyFile(), private_key)) {
LogPrint("tor", "tor: Cached service private key to %s\n", GetPrivateKeyFile());
@@ -462,7 +461,9 @@ void TorController::auth_cb(TorControlConnection& conn, const TorControlReply& r
// Now that we know Tor is running setup the proxy for onion addresses
// if -onion isn't set to something else.
if (GetArg("-onion", "") == "") {
proxyType addrOnion = proxyType(CService("127.0.0.1", 9050), true);
CService resolved;
assert(LookupNumeric("127.0.0.1", resolved, 9050));
proxyType addrOnion = proxyType(resolved, true);
SetProxy(NET_TOR, addrOnion);
SetLimited(NET_TOR, false);
}