Browse Source

read intro key for SSU address

pull/15/head
orignal 11 years ago
parent
commit
3016c42e2e
  1. 14
      RouterInfo.cpp
  2. 3
      RouterInfo.h

14
RouterInfo.cpp

@ -122,6 +122,8 @@ namespace data @@ -122,6 +122,8 @@ namespace data
}
else if (!strcmp (key, "port"))
address.port = boost::lexical_cast<int>(value);
else if (!strcmp (key, "key"))
Base64ToByteStream (value, strlen (value), address.key, 32);
}
m_Addresses.push_back(address);
}
@ -289,10 +291,20 @@ namespace data @@ -289,10 +291,20 @@ namespace data
}
RouterInfo::Address * RouterInfo::GetNTCPAddress (bool v4only)
{
return GetAddress (eTransportNTCP, v4only);
}
RouterInfo::Address * RouterInfo::GetSSUAddress (bool v4only)
{
return GetAddress (eTransportSSU, v4only);
}
RouterInfo::Address * RouterInfo::GetAddress (TransportStyle s, bool v4only)
{
for (auto& address : m_Addresses)
{
if (address.transportStyle == eTransportNTCP)
if (address.transportStyle == s)
{
if (!v4only || address.host.is_v4 ())
return &address;

3
RouterInfo.h

@ -39,6 +39,7 @@ namespace data @@ -39,6 +39,7 @@ namespace data
int port;
uint64_t date;
uint8_t cost;
uint8_t key[32]; // into key for SSU
};
RouterInfo (const char * filename);
@ -54,6 +55,7 @@ namespace data @@ -54,6 +55,7 @@ namespace data
uint64_t GetTimestamp () const { return m_Timestamp; };
const std::vector<Address>& GetAddresses () const { return m_Addresses; };
Address * GetNTCPAddress (bool v4only = true);
Address * GetSSUAddress (bool v4only = true);
const RoutingKey& GetRoutingKey () const { return m_RoutingKey; };
void AddNTCPAddress (const char * host, int port);
@ -88,6 +90,7 @@ namespace data @@ -88,6 +90,7 @@ namespace data
size_t ReadString (char * str, std::istream& s);
void WriteString (const std::string& str, std::ostream& s);
void UpdateIdentHashBase64 ();
Address * GetAddress (TransportStyle s, bool v4only);
private:

Loading…
Cancel
Save