mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 02:54:01 +01:00
include https hosts to reseeder's list
This commit is contained in:
parent
ad5bac6598
commit
8e795cc2aa
14
Reseed.cpp
14
Reseed.cpp
|
@ -40,10 +40,11 @@ namespace data
|
||||||
"https://netdb.i2p2.no/", // Only SU3 (v2) support
|
"https://netdb.i2p2.no/", // Only SU3 (v2) support
|
||||||
"https://reseed.i2p-projekt.de/", // Only HTTPS
|
"https://reseed.i2p-projekt.de/", // Only HTTPS
|
||||||
"https://cowpuncher.drollette.com/netdb/", // Only HTTPS and SU3 (v2) support -- will move to a new location
|
"https://cowpuncher.drollette.com/netdb/", // Only HTTPS and SU3 (v2) support -- will move to a new location
|
||||||
"https://i2p.mooo.com/netDb/",
|
// following hosts are fine but don't support AES256
|
||||||
|
/*"https://i2p.mooo.com/netDb/",
|
||||||
"https://link.mx24.eu/", // Only HTTPS and SU3 (v2) support
|
"https://link.mx24.eu/", // Only HTTPS and SU3 (v2) support
|
||||||
"https://i2pseed.zarrenspry.info/", // Only HTTPS and SU3 (v2) support
|
"https://i2pseed.zarrenspry.info/", // Only HTTPS and SU3 (v2) support
|
||||||
"https://ieb9oopo.mooo.com/" // Only HTTPS and SU3 (v2) support
|
"https://ieb9oopo.mooo.com/" // Only HTTPS and SU3 (v2) support*/
|
||||||
};
|
};
|
||||||
|
|
||||||
Reseeder::Reseeder()
|
Reseeder::Reseeder()
|
||||||
|
@ -119,16 +120,17 @@ namespace data
|
||||||
int Reseeder::ReseedNowSU3 ()
|
int Reseeder::ReseedNowSU3 ()
|
||||||
{
|
{
|
||||||
CryptoPP::AutoSeededRandomPool rnd;
|
CryptoPP::AutoSeededRandomPool rnd;
|
||||||
auto ind = rnd.GenerateWord32 (0, httpReseedHostList.size() - 1);
|
auto ind = rnd.GenerateWord32 (0, httpReseedHostList.size() - 1 + httpsReseedHostList.size () - 1);
|
||||||
std::string reseedHost = httpReseedHostList[ind];
|
std::string reseedHost = (ind < httpReseedHostList.size()) ? httpReseedHostList[ind] :
|
||||||
|
httpsReseedHostList[ind - httpReseedHostList.size()];
|
||||||
return ReseedFromSU3 (reseedHost);
|
return ReseedFromSU3 (reseedHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Reseeder::ReseedFromSU3 (const std::string& host)
|
int Reseeder::ReseedFromSU3 (const std::string& host, bool https)
|
||||||
{
|
{
|
||||||
std::string url = host + "i2pseeds.su3";
|
std::string url = host + "i2pseeds.su3";
|
||||||
LogPrint (eLogInfo, "Dowloading SU3 from ", host);
|
LogPrint (eLogInfo, "Dowloading SU3 from ", host);
|
||||||
std::string su3 = i2p::util::http::httpRequest (url);
|
std::string su3 = https ? HttpsRequest (url) : i2p::util::http::httpRequest (url);
|
||||||
if (su3.length () > 0)
|
if (su3.length () > 0)
|
||||||
{
|
{
|
||||||
std::stringstream s(su3);
|
std::stringstream s(su3);
|
||||||
|
|
6
Reseed.h
6
Reseed.h
|
@ -28,20 +28,20 @@ namespace data
|
||||||
int ReseedNowSU3 ();
|
int ReseedNowSU3 ();
|
||||||
|
|
||||||
void LoadCertificates ();
|
void LoadCertificates ();
|
||||||
|
|
||||||
std::string HttpsRequest (const std::string& address); // TODO: move to private section
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void LoadCertificate (const std::string& filename);
|
void LoadCertificate (const std::string& filename);
|
||||||
std::string LoadCertificate (CryptoPP::ByteQueue& queue); // returns issuer's name
|
std::string LoadCertificate (CryptoPP::ByteQueue& queue); // returns issuer's name
|
||||||
|
|
||||||
int ReseedFromSU3 (const std::string& host);
|
int ReseedFromSU3 (const std::string& host, bool https = false);
|
||||||
int ProcessSU3File (const char * filename);
|
int ProcessSU3File (const char * filename);
|
||||||
int ProcessSU3Stream (std::istream& s);
|
int ProcessSU3Stream (std::istream& s);
|
||||||
|
|
||||||
bool FindZipDataDescriptor (std::istream& s);
|
bool FindZipDataDescriptor (std::istream& s);
|
||||||
|
|
||||||
|
std::string HttpsRequest (const std::string& address);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
std::map<std::string, PublicKey> m_SigningKeys;
|
std::map<std::string, PublicKey> m_SigningKeys;
|
||||||
|
|
Loading…
Reference in a new issue