mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 08:00:38 +03:00
read RI from buffer
This commit is contained in:
parent
f6849442a9
commit
a449dc1377
@ -95,7 +95,16 @@ namespace data
|
||||
|
||||
void RouterInfo::ReadFromBuffer (bool verifySignature)
|
||||
{
|
||||
std::stringstream str (std::string ((char *)m_Buffer, m_BufferLen));
|
||||
size_t identityLen = DEFAULT_IDENTITY_SIZE;
|
||||
memcpy (&m_RouterIdentity, m_Buffer, DEFAULT_IDENTITY_SIZE);
|
||||
if (m_RouterIdentity.certificate.type != CERTIFICATE_TYPE_NULL)
|
||||
{
|
||||
LogPrint (eLogError, "Certificate type ", m_RouterIdentity.certificate.type, " is not supported");
|
||||
SetUnreachable (true);
|
||||
return;
|
||||
}
|
||||
|
||||
std::stringstream str (std::string ((char *)m_Buffer + identityLen, m_BufferLen - identityLen));
|
||||
ReadFromStream (str);
|
||||
if (verifySignature)
|
||||
{
|
||||
@ -113,13 +122,6 @@ namespace data
|
||||
|
||||
void RouterInfo::ReadFromStream (std::istream& s)
|
||||
{
|
||||
s.read ((char *)&m_RouterIdentity, DEFAULT_IDENTITY_SIZE);
|
||||
if (m_RouterIdentity.certificate.type != CERTIFICATE_TYPE_NULL)
|
||||
{
|
||||
LogPrint (eLogError, "Certificate type ", m_RouterIdentity.certificate.type, " is not supported");
|
||||
SetUnreachable (true);
|
||||
return;
|
||||
}
|
||||
s.read ((char *)&m_Timestamp, sizeof (m_Timestamp));
|
||||
m_Timestamp = be64toh (m_Timestamp);
|
||||
// read addresses
|
||||
|
Loading…
Reference in New Issue
Block a user