show LS2 in Leasets' list

This commit is contained in:
orignal 2019-01-14 18:39:02 -05:00
parent 884cf756ed
commit 670ffe2078

View File

@ -462,26 +462,35 @@ namespace http {
[&s, &counter](const i2p::data::IdentHash dest, std::shared_ptr<i2p::data::LeaseSet> leaseSet) [&s, &counter](const i2p::data::IdentHash dest, std::shared_ptr<i2p::data::LeaseSet> leaseSet)
{ {
// create copy of lease set so we extract leases // create copy of lease set so we extract leases
int storeType = leaseSet->GetStoreType (); auto storeType = leaseSet->GetStoreType ();
i2p::data::LeaseSet ls(leaseSet->GetBuffer(), leaseSet->GetBufferLen()); std::unique_ptr<i2p::data::LeaseSet> ls;
if (storeType == i2p::data::NETDB_STORE_TYPE_LEASESET)
ls.reset (new i2p::data::LeaseSet (leaseSet->GetBuffer(), leaseSet->GetBufferLen()));
else
ls.reset (new i2p::data::LeaseSet2 (storeType, leaseSet->GetBuffer(), leaseSet->GetBufferLen()));
if (!ls) return;
s << "<div class='leaseset"; s << "<div class='leaseset";
if (ls.IsExpired()) if (ls->IsExpired())
s << " expired"; // additional css class for expired s << " expired"; // additional css class for expired
s << "'>\r\n"; s << "'>\r\n";
if (!ls.IsValid()) if (!ls->IsValid())
s << "<div class='invalid'>!! Invalid !! </div>\r\n"; s << "<div class='invalid'>!! Invalid !! </div>\r\n";
s << "<div class='slide'><label for='slide" << counter << "'>" << dest.ToBase32() << "</label>\r\n"; s << "<div class='slide'><label for='slide" << counter << "'>" << dest.ToBase32() << "</label>\r\n";
s << "<input type='checkbox' id='slide" << (counter++) << "'/>\r\n<p class='content'>\r\n"; s << "<input type='checkbox' id='slide" << (counter++) << "'/>\r\n<p class='content'>\r\n";
s << "<b>Store type:</b> " << storeType << "<br>\r\n"; s << "<b>Store type:</b> " << (int)storeType << "<br>\r\n";
s << "<b>Expires:</b> " << ConvertTime(ls.GetExpirationTime()) << "<br>\r\n"; s << "<b>Expires:</b> " << ConvertTime(ls->GetExpirationTime()) << "<br>\r\n";
auto leases = ls.GetNonExpiredLeases(); if (storeType == i2p::data::NETDB_STORE_TYPE_LEASESET || storeType == i2p::data::NETDB_STORE_TYPE_STANDARD_LEASESET2)
s << "<b>Non Expired Leases: " << leases.size() << "</b><br>\r\n"; {
for ( auto & l : leases ) // leases information is available
{ auto leases = ls->GetNonExpiredLeases();
s << "<b>Gateway:</b> " << l->tunnelGateway.ToBase64() << "<br>\r\n"; s << "<b>Non Expired Leases: " << leases.size() << "</b><br>\r\n";
s << "<b>TunnelID:</b> " << l->tunnelID << "<br>\r\n"; for ( auto & l : leases )
s << "<b>EndDate:</b> " << ConvertTime(l->endDate) << "<br>\r\n"; {
} s << "<b>Gateway:</b> " << l->tunnelGateway.ToBase64() << "<br>\r\n";
s << "<b>TunnelID:</b> " << l->tunnelID << "<br>\r\n";
s << "<b>EndDate:</b> " << ConvertTime(l->endDate) << "<br>\r\n";
}
}
s << "</p>\r\n</div>\r\n</div>\r\n"; s << "</p>\r\n</div>\r\n</div>\r\n";
} }
); );