mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2024-11-08 01:10:40 +00:00
Merge remote-tracking branch 'purple/openssl'
This commit is contained in:
commit
9ae9ea18e1
@ -343,10 +343,11 @@ namespace client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressBook::LoadHostsFromStream (std::istream& f)
|
bool AddressBook::LoadHostsFromStream (std::istream& f)
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> l(m_AddressBookMutex);
|
std::unique_lock<std::mutex> l(m_AddressBookMutex);
|
||||||
int numAddresses = 0;
|
int numAddresses = 0;
|
||||||
|
bool incomplete = false;
|
||||||
std::string s;
|
std::string s;
|
||||||
while (!f.eof ())
|
while (!f.eof ())
|
||||||
{
|
{
|
||||||
@ -370,15 +371,21 @@ namespace client
|
|||||||
numAddresses++;
|
numAddresses++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
LogPrint (eLogError, "Addressbook: malformed address ", addr, " for ", name);
|
LogPrint (eLogError, "Addressbook: malformed address ", addr, " for ", name);
|
||||||
}
|
incomplete = f.eof ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
incomplete = f.eof ();
|
||||||
}
|
}
|
||||||
LogPrint (eLogInfo, "Addressbook: ", numAddresses, " addresses processed");
|
LogPrint (eLogInfo, "Addressbook: ", numAddresses, " addresses processed");
|
||||||
if (numAddresses > 0)
|
if (numAddresses > 0)
|
||||||
{
|
{
|
||||||
m_IsLoaded = true;
|
if (!incomplete) m_IsLoaded = true;
|
||||||
m_Storage->Save (m_Addresses);
|
m_Storage->Save (m_Addresses);
|
||||||
}
|
}
|
||||||
|
return !incomplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressBook::LoadSubscriptions ()
|
void AddressBook::LoadSubscriptions ()
|
||||||
@ -776,13 +783,12 @@ namespace client
|
|||||||
i2p::data::GzipInflator inflator;
|
i2p::data::GzipInflator inflator;
|
||||||
inflator.Inflate (s, uncompressed);
|
inflator.Inflate (s, uncompressed);
|
||||||
if (!uncompressed.fail ())
|
if (!uncompressed.fail ())
|
||||||
m_Book.LoadHostsFromStream (uncompressed);
|
return m_Book.LoadHostsFromStream (uncompressed);
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m_Book.LoadHostsFromStream (s);
|
return m_Book.LoadHostsFromStream (s);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AddressResolver::AddressResolver (std::shared_ptr<ClientDestination> destination):
|
AddressResolver::AddressResolver (std::shared_ptr<ClientDestination> destination):
|
||||||
|
@ -66,7 +66,7 @@ namespace client
|
|||||||
void InsertAddress (const std::string& address, const std::string& base64); // for jump service
|
void InsertAddress (const std::string& address, const std::string& base64); // for jump service
|
||||||
void InsertAddress (std::shared_ptr<const i2p::data::IdentityEx> address);
|
void InsertAddress (std::shared_ptr<const i2p::data::IdentityEx> address);
|
||||||
|
|
||||||
void LoadHostsFromStream (std::istream& f);
|
bool LoadHostsFromStream (std::istream& f);
|
||||||
void DownloadComplete (bool success, const i2p::data::IdentHash& subscription, const std::string& etag, const std::string& lastModified);
|
void DownloadComplete (bool success, const i2p::data::IdentHash& subscription, const std::string& etag, const std::string& lastModified);
|
||||||
//This method returns the ".b32.i2p" address
|
//This method returns the ".b32.i2p" address
|
||||||
std::string ToAddress(const i2p::data::IdentHash& ident) { return GetB32Address(ident); }
|
std::string ToAddress(const i2p::data::IdentHash& ident) { return GetB32Address(ident); }
|
||||||
|
@ -435,8 +435,13 @@ namespace crypto
|
|||||||
std::unique_ptr<Ed25519>& GetEd25519 ()
|
std::unique_ptr<Ed25519>& GetEd25519 ()
|
||||||
{
|
{
|
||||||
if (!g_Ed25519)
|
if (!g_Ed25519)
|
||||||
g_Ed25519.reset (new Ed25519());
|
{
|
||||||
|
auto c = new Ed25519();
|
||||||
|
if (!g_Ed25519) // make sure it was not created already
|
||||||
|
g_Ed25519.reset (c);
|
||||||
|
else
|
||||||
|
delete c;
|
||||||
|
}
|
||||||
return g_Ed25519;
|
return g_Ed25519;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user