Browse Source

publish introducer cap for SSU2 address

pull/1752/head
orignal 3 years ago
parent
commit
78b1afcc8c
  1. 4
      libi2pd/RouterContext.cpp
  2. 14
      libi2pd/RouterInfo.cpp

4
libi2pd/RouterContext.cpp

@ -338,6 +338,10 @@ namespace i2p @@ -338,6 +338,10 @@ namespace i2p
{
address->port = port;
address->published = publish;
if (publish)
address->caps |= i2p::data::RouterInfo::eSSUIntroducer;
else
address->caps &= ~i2p::data::RouterInfo::eSSUIntroducer;
updated = true;
}
}

14
libi2pd/RouterInfo.cpp

@ -1205,17 +1205,23 @@ namespace data @@ -1205,17 +1205,23 @@ namespace data
else if (address.transportStyle == eTransportSSU2)
{
WriteString ("SSU2", s);
// caps
std::string caps;
if (address.published)
{
isPublished = true;
if (address.IsIntroducer ()) caps += CAPS_FLAG_SSU_INTRODUCER;
}
else
{
// caps
WriteString ("caps", properties);
properties << '=';
std::string caps;
if (address.IsV4 ()) caps += CAPS_FLAG_V4;
if (address.IsV6 ()) caps += CAPS_FLAG_V6;
if (caps.empty ()) caps += CAPS_FLAG_V4;
}
if (!caps.empty ())
{
WriteString ("caps", properties);
properties << '=';
WriteString (caps, properties);
properties << ';';
}

Loading…
Cancel
Save