mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 00:00:29 +03:00
fixed crash when shows leasesets
This commit is contained in:
parent
289c308600
commit
e190dab7d6
@ -625,7 +625,10 @@ namespace http {
|
|||||||
if (storeType == i2p::data::NETDB_STORE_TYPE_LEASESET)
|
if (storeType == i2p::data::NETDB_STORE_TYPE_LEASESET)
|
||||||
ls.reset (new i2p::data::LeaseSet (leaseSet->GetBuffer(), leaseSet->GetBufferLen()));
|
ls.reset (new i2p::data::LeaseSet (leaseSet->GetBuffer(), leaseSet->GetBufferLen()));
|
||||||
else
|
else
|
||||||
ls.reset (new i2p::data::LeaseSet2 (storeType, leaseSet->GetBuffer(), leaseSet->GetBufferLen()));
|
{
|
||||||
|
ls.reset (new i2p::data::LeaseSet2 (storeType));
|
||||||
|
ls->Update (leaseSet->GetBuffer(), leaseSet->GetBufferLen(), false);
|
||||||
|
}
|
||||||
if (!ls) return;
|
if (!ls) return;
|
||||||
s << "<div class=\"leaseset listitem";
|
s << "<div class=\"leaseset listitem";
|
||||||
if (ls->IsExpired())
|
if (ls->IsExpired())
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2022, The PurpleI2P Project
|
* Copyright (c) 2013-2023, The PurpleI2P Project
|
||||||
*
|
*
|
||||||
* This file is part of Purple i2pd project and licensed under BSD3
|
* This file is part of Purple i2pd project and licensed under BSD3
|
||||||
*
|
*
|
||||||
@ -315,7 +315,7 @@ namespace data
|
|||||||
{
|
{
|
||||||
// standard LS2 header
|
// standard LS2 header
|
||||||
std::shared_ptr<const IdentityEx> identity;
|
std::shared_ptr<const IdentityEx> identity;
|
||||||
if (readIdentity)
|
if (readIdentity || !GetIdentity ())
|
||||||
{
|
{
|
||||||
identity = std::make_shared<IdentityEx>(buf, len);
|
identity = std::make_shared<IdentityEx>(buf, len);
|
||||||
SetIdentity (identity);
|
SetIdentity (identity);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021, The PurpleI2P Project
|
* Copyright (c) 2013-2023, The PurpleI2P Project
|
||||||
*
|
*
|
||||||
* This file is part of Purple i2pd project and licensed under BSD3
|
* This file is part of Purple i2pd project and licensed under BSD3
|
||||||
*
|
*
|
||||||
@ -145,6 +145,7 @@ namespace data
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
LeaseSet2 (uint8_t storeType): LeaseSet (true), m_StoreType (storeType) {}; // for update
|
||||||
LeaseSet2 (uint8_t storeType, const uint8_t * buf, size_t len, bool storeLeases = true, CryptoKeyType preferredCrypto = CRYPTO_KEY_TYPE_ELGAMAL);
|
LeaseSet2 (uint8_t storeType, const uint8_t * buf, size_t len, bool storeLeases = true, CryptoKeyType preferredCrypto = CRYPTO_KEY_TYPE_ELGAMAL);
|
||||||
LeaseSet2 (const uint8_t * buf, size_t len, std::shared_ptr<const BlindedPublicKey> key, const uint8_t * secret = nullptr, CryptoKeyType preferredCrypto = CRYPTO_KEY_TYPE_ELGAMAL); // store type 5, called from local netdb only
|
LeaseSet2 (const uint8_t * buf, size_t len, std::shared_ptr<const BlindedPublicKey> key, const uint8_t * secret = nullptr, CryptoKeyType preferredCrypto = CRYPTO_KEY_TYPE_ELGAMAL); // store type 5, called from local netdb only
|
||||||
uint8_t GetStoreType () const { return m_StoreType; };
|
uint8_t GetStoreType () const { return m_StoreType; };
|
||||||
|
Loading…
Reference in New Issue
Block a user