Browse Source

net: disable resolving from storage structures

CNetAddr/CService/CSubnet can no longer resolve DNS.
0.13
Cory Fields 9 years ago
parent
commit
d39f5b425d
  1. 28
      src/netbase.cpp
  2. 14
      src/netbase.h
  3. 2
      src/torcontrol.cpp

28
src/netbase.cpp

@ -688,19 +688,19 @@ CNetAddr::CNetAddr(const struct in6_addr& ipv6Addr, const uint32_t scope)
scopeId = scope; scopeId = scope;
} }
CNetAddr::CNetAddr(const char *pszIp, bool fAllowLookup) CNetAddr::CNetAddr(const char *pszIp)
{ {
Init(); Init();
std::vector<CNetAddr> vIP; std::vector<CNetAddr> vIP;
if (LookupHost(pszIp, vIP, 1, fAllowLookup)) if (LookupHost(pszIp, vIP, 1, false))
*this = vIP[0]; *this = vIP[0];
} }
CNetAddr::CNetAddr(const std::string &strIp, bool fAllowLookup) CNetAddr::CNetAddr(const std::string &strIp)
{ {
Init(); Init();
std::vector<CNetAddr> vIP; std::vector<CNetAddr> vIP;
if (LookupHost(strIp.c_str(), vIP, 1, fAllowLookup)) if (LookupHost(strIp.c_str(), vIP, 1, false))
*this = vIP[0]; *this = vIP[0];
} }
@ -1123,35 +1123,35 @@ bool CService::SetSockAddr(const struct sockaddr *paddr)
} }
} }
CService::CService(const char *pszIpPort, bool fAllowLookup) CService::CService(const char *pszIpPort)
{ {
Init(); Init();
CService ip; CService ip;
if (Lookup(pszIpPort, ip, 0, fAllowLookup)) if (Lookup(pszIpPort, ip, 0, false))
*this = ip; *this = ip;
} }
CService::CService(const char *pszIpPort, int portDefault, bool fAllowLookup) CService::CService(const char *pszIpPort, int portDefault)
{ {
Init(); Init();
CService ip; CService ip;
if (Lookup(pszIpPort, ip, portDefault, fAllowLookup)) if (Lookup(pszIpPort, ip, portDefault, false))
*this = ip; *this = ip;
} }
CService::CService(const std::string &strIpPort, bool fAllowLookup) CService::CService(const std::string &strIpPort)
{ {
Init(); Init();
CService ip; CService ip;
if (Lookup(strIpPort.c_str(), ip, 0, fAllowLookup)) if (Lookup(strIpPort.c_str(), ip, 0, false))
*this = ip; *this = ip;
} }
CService::CService(const std::string &strIpPort, int portDefault, bool fAllowLookup) CService::CService(const std::string &strIpPort, int portDefault)
{ {
Init(); Init();
CService ip; CService ip;
if (Lookup(strIpPort.c_str(), ip, portDefault, fAllowLookup)) if (Lookup(strIpPort.c_str(), ip, portDefault, false))
*this = ip; *this = ip;
} }
@ -1245,7 +1245,7 @@ CSubNet::CSubNet():
memset(netmask, 0, sizeof(netmask)); memset(netmask, 0, sizeof(netmask));
} }
CSubNet::CSubNet(const std::string &strSubnet, bool fAllowLookup) CSubNet::CSubNet(const std::string &strSubnet)
{ {
size_t slash = strSubnet.find_last_of('/'); size_t slash = strSubnet.find_last_of('/');
std::vector<CNetAddr> vIP; std::vector<CNetAddr> vIP;
@ -1255,7 +1255,7 @@ CSubNet::CSubNet(const std::string &strSubnet, bool fAllowLookup)
memset(netmask, 255, sizeof(netmask)); memset(netmask, 255, sizeof(netmask));
std::string strAddress = strSubnet.substr(0, slash); std::string strAddress = strSubnet.substr(0, slash);
if (LookupHost(strAddress.c_str(), vIP, 1, fAllowLookup)) if (LookupHost(strAddress.c_str(), vIP, 1, false))
{ {
network = vIP[0]; network = vIP[0];
if (slash != strSubnet.npos) if (slash != strSubnet.npos)

14
src/netbase.h

@ -49,8 +49,8 @@ class CNetAddr
public: public:
CNetAddr(); CNetAddr();
CNetAddr(const struct in_addr& ipv4Addr); CNetAddr(const struct in_addr& ipv4Addr);
explicit CNetAddr(const char *pszIp, bool fAllowLookup = false); explicit CNetAddr(const char *pszIp);
explicit CNetAddr(const std::string &strIp, bool fAllowLookup = false); explicit CNetAddr(const std::string &strIp);
void Init(); void Init();
void SetIP(const CNetAddr& ip); void SetIP(const CNetAddr& ip);
@ -119,7 +119,7 @@ class CSubNet
public: public:
CSubNet(); CSubNet();
explicit CSubNet(const std::string &strSubnet, bool fAllowLookup = false); explicit CSubNet(const std::string &strSubnet);
//constructor for single ip subnet (<ipv4>/32 or <ipv6>/128) //constructor for single ip subnet (<ipv4>/32 or <ipv6>/128)
explicit CSubNet(const CNetAddr &addr); explicit CSubNet(const CNetAddr &addr);
@ -154,10 +154,10 @@ class CService : public CNetAddr
CService(const CNetAddr& ip, unsigned short port); CService(const CNetAddr& ip, unsigned short port);
CService(const struct in_addr& ipv4Addr, unsigned short port); CService(const struct in_addr& ipv4Addr, unsigned short port);
CService(const struct sockaddr_in& addr); CService(const struct sockaddr_in& addr);
explicit CService(const char *pszIpPort, int portDefault, bool fAllowLookup = false); explicit CService(const char *pszIpPort, int portDefault);
explicit CService(const char *pszIpPort, bool fAllowLookup = false); explicit CService(const char *pszIpPort);
explicit CService(const std::string& strIpPort, int portDefault, bool fAllowLookup = false); explicit CService(const std::string& strIpPort, int portDefault);
explicit CService(const std::string& strIpPort, bool fAllowLookup = false); explicit CService(const std::string& strIpPort);
void Init(); void Init();
void SetPort(unsigned short portIn); void SetPort(unsigned short portIn);
unsigned short GetPort() const; unsigned short GetPort() const;

2
src/torcontrol.cpp

@ -438,7 +438,7 @@ void TorController::add_onion_cb(TorControlConnection& conn, const TorControlRep
private_key = i->second; private_key = i->second;
} }
service = CService(service_id+".onion", GetListenPort(), false); service = CService(service_id+".onion", GetListenPort());
LogPrintf("tor: Got service ID %s, advertising service %s\n", service_id, service.ToString()); LogPrintf("tor: Got service ID %s, advertising service %s\n", service_id, service.ToString());
if (WriteBinaryFile(GetPrivateKeyFile(), private_key)) { if (WriteBinaryFile(GetPrivateKeyFile(), private_key)) {
LogPrint("tor", "tor: Cached service private key to %s\n", GetPrivateKeyFile()); LogPrint("tor", "tor: Cached service private key to %s\n", GetPrivateKeyFile());

Loading…
Cancel
Save