Browse Source

rollback

pull/1082/head
orignal 7 years ago
parent
commit
8c2de4973c
  1. 7
      libi2pd/LeaseSet.cpp
  2. 2
      libi2pd/LeaseSet.h

7
libi2pd/LeaseSet.cpp

@ -135,7 +135,7 @@ namespace data
} }
} }
uint64_t LeaseSet::ExtractTimestamp (const uint8_t * buf, size_t len, uint8_t& num) const uint64_t LeaseSet::ExtractTimestamp (const uint8_t * buf, size_t len) const
{ {
if (!m_Identity) return 0; if (!m_Identity) return 0;
size_t size = m_Identity->GetFullLen (); size_t size = m_Identity->GetFullLen ();
@ -143,7 +143,7 @@ namespace data
size += 256; // encryption key size += 256; // encryption key
size += m_Identity->GetSigningPublicKeyLen (); // unused signing key size += m_Identity->GetSigningPublicKeyLen (); // unused signing key
if (size > len) return 0; if (size > len) return 0;
num = buf[size]; uint8_t num = buf[size];
size++; // num size++; // num
if (size + num*LEASE_SIZE > len) return 0; if (size + num*LEASE_SIZE > len) return 0;
uint64_t timestamp= 0 ; uint64_t timestamp= 0 ;
@ -160,8 +160,7 @@ namespace data
bool LeaseSet::IsNewer (const uint8_t * buf, size_t len) const bool LeaseSet::IsNewer (const uint8_t * buf, size_t len) const
{ {
uint8_t num1, num2; return ExtractTimestamp (buf, len) > ExtractTimestamp (m_Buffer, m_BufferLen);
return ExtractTimestamp (buf, len, num2) > ExtractTimestamp (m_Buffer, m_BufferLen, num1) || num2 < num1; // some lease might be deleted
} }
bool LeaseSet::ExpiresSoon(const uint64_t dlt, const uint64_t fudge) const bool LeaseSet::ExpiresSoon(const uint64_t dlt, const uint64_t fudge) const

2
libi2pd/LeaseSet.h

@ -82,7 +82,7 @@ namespace data
private: private:
void ReadFromBuffer (bool readIdentity = true, bool verifySignature = true); void ReadFromBuffer (bool readIdentity = true, bool verifySignature = true);
uint64_t ExtractTimestamp (const uint8_t * buf, size_t len, uint8_t& num) const; // returns max expiration time, num is number of leases uint64_t ExtractTimestamp (const uint8_t * buf, size_t len) const; // returns max expiration time
private: private:

Loading…
Cancel
Save