mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
s and i keys for all addresses
This commit is contained in:
parent
450266818a
commit
4211c733a2
6 changed files with 18 additions and 37 deletions
|
@ -220,10 +220,7 @@ namespace data
|
|||
char transportStyle[6];
|
||||
ReadString (transportStyle, 6, s);
|
||||
if (!strncmp (transportStyle, "NTCP", 4)) // NTCP or NTCP2
|
||||
{
|
||||
address->transportStyle = eTransportNTCP;
|
||||
address->ntcp2.reset (new NTCP2Ext ());
|
||||
}
|
||||
else if (!strcmp (transportStyle, "SSU"))
|
||||
{
|
||||
address->transportStyle = eTransportSSU;
|
||||
|
@ -271,12 +268,12 @@ namespace data
|
|||
address->caps = ExtractAddressCaps (value);
|
||||
else if (!strcmp (key, "s")) // ntcp2 static key
|
||||
{
|
||||
Base64ToByteStream (value, strlen (value), address->ntcp2->staticKey, 32);
|
||||
Base64ToByteStream (value, strlen (value), address->s, 32);
|
||||
isStaticKey = true;
|
||||
}
|
||||
else if (!strcmp (key, "i")) // ntcp2 iv
|
||||
{
|
||||
Base64ToByteStream (value, strlen (value), address->ntcp2->iv, 16);
|
||||
Base64ToByteStream (value, strlen (value), address->i, 16);
|
||||
address->published = true; // presence if "i" means "published"
|
||||
}
|
||||
else if (key[0] == 'i')
|
||||
|
@ -614,10 +611,9 @@ namespace data
|
|||
addr->transportStyle = eTransportNTCP;
|
||||
addr->caps = caps;
|
||||
addr->date = 0;
|
||||
addr->ntcp2.reset (new NTCP2Ext ());
|
||||
if (port) addr->published = true;
|
||||
memcpy (addr->ntcp2->staticKey, staticKey, 32);
|
||||
memcpy (addr->ntcp2->iv, iv, 16);
|
||||
memcpy (addr->s, staticKey, 32);
|
||||
memcpy (addr->i, iv, 16);
|
||||
if (addr->IsV4 ())
|
||||
{
|
||||
m_SupportedTransports |= eNTCP2V4;
|
||||
|
@ -845,7 +841,7 @@ namespace data
|
|||
return GetAddress (
|
||||
[key](std::shared_ptr<const RouterInfo::Address> address)->bool
|
||||
{
|
||||
return address->IsNTCP2 () && !memcmp (address->ntcp2->staticKey, key, 32);
|
||||
return address->IsNTCP2 () && !memcmp (address->s, key, 32);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1197,7 +1193,7 @@ namespace data
|
|||
{
|
||||
// publish i for NTCP2
|
||||
WriteString ("i", properties); properties << '=';
|
||||
WriteString (address.ntcp2->iv.ToBase64 (), properties); properties << ';';
|
||||
WriteString (address.i.ToBase64 (16), properties); properties << ';';
|
||||
}
|
||||
|
||||
if (isPublished || address.ssu)
|
||||
|
@ -1211,7 +1207,7 @@ namespace data
|
|||
{
|
||||
// publish s and v for NTCP2
|
||||
WriteString ("s", properties); properties << '=';
|
||||
WriteString (address.ntcp2->staticKey.ToBase64 (), properties); properties << ';';
|
||||
WriteString (address.s.ToBase64 (), properties); properties << ';';
|
||||
WriteString ("v", properties); properties << '=';
|
||||
WriteString ("2", properties); properties << ';';
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue