sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Vlad Glagolev (1eb01a38e941cc3da2525d67b413b2ed4d57d147)
- From: Vlad Glagolev <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (1eb01a38e941cc3da2525d67b413b2ed4d57d147)
- Date: Fri, 28 Feb 2020 19:30:57 +0000
GIT changes to master grimoire by Vlad Glagolev <stealth AT sourcemage.org>:
net/i2pd/BUILD | 6 +
net/i2pd/DEPENDS | 10 ++
net/i2pd/DETAILS | 4 -
net/i2pd/HISTORY | 6 +
net/i2pd/gcc46.patch | 176
++++++++++++++++++++++++++++++++++++++++++++--
net/i2pd/gcc46_upnp.patch | 29 ++++---
6 files changed, 212 insertions(+), 19 deletions(-)
New commits:
commit 1eb01a38e941cc3da2525d67b413b2ed4d57d147
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
i2pd: => 2.30
diff --git a/net/i2pd/BUILD b/net/i2pd/BUILD
index 2ed0344..97330af 100755
--- a/net/i2pd/BUILD
+++ b/net/i2pd/BUILD
@@ -1,5 +1,11 @@
+. "${GRIMOIRE}/FUNCTIONS" &&
+
OPTS="${I2PD_OPTS} ${OPTS}" &&
+if spell_ok gcc && is_version_less $(installed_version gcc) 4.7; then
+ LDFLAGS="-lboost_chrono ${LDFLAGS}"
+fi &&
+
make $OPTS all api api_client &&
if list_find "$LDFLAGS" "-s"; then
diff --git a/net/i2pd/DEPENDS b/net/i2pd/DEPENDS
index ef566fb..4fb20cc 100755
--- a/net/i2pd/DEPENDS
+++ b/net/i2pd/DEPENDS
@@ -1,5 +1,13 @@
+. "${GRIMOIRE}/FUNCTIONS" &&
+
+local BOOST_SUBDEPS="SYSTEM DATE_TIME FILESYSTEM PROGRAM_OPTIONS" &&
+
+if spell_ok gcc && is_version_less $(installed_version gcc) 4.7; then
+ BOOST_SUBDEPS="CHRONO ${BOOST_SUBDEPS}"
+fi &&
+
depends -sub CXX gcc &&
-depends -sub "SYSTEM DATE_TIME FILESYSTEM PROGRAM_OPTIONS" boost &&
+depends -sub "${BOOST_SUBDEPS}" boost &&
depends SSL &&
depends zlib &&
diff --git a/net/i2pd/DETAILS b/net/i2pd/DETAILS
index d7a24d7..a566148 100755
--- a/net/i2pd/DETAILS
+++ b/net/i2pd/DETAILS
@@ -1,8 +1,8 @@
SPELL=i2pd
- VERSION=2.29.0
-
SOURCE_HASH=sha512:dfa1c212c217eb2eae40f3f8151d35164c52df630e658dcb261cc9532623377dee376d1c493e8b8bdcae3245ae389e06adf5ef551951d4e139f1626b8432c15b
+ VERSION=2.30.0
SOURCE=${SPELL}-${VERSION}.tar.gz
SOURCE_URL[0]=https://github.com/PurpleI2P/${SPELL}/archive/${VERSION}.tar.gz
+
SOURCE_HASH=sha512:d27c5e5b7ae7c78be14ad96ac458c0f3a45e31ee5fbdf59d5c6278d0195909badc5917a258b5de37d6a255c20a8c3cb0c0ddc3291a110444a96f475b662a119b
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
DOC_DIRS=""
WEB_SITE=https://github.com/PurpleI2P/i2pd
diff --git a/net/i2pd/HISTORY b/net/i2pd/HISTORY
index 33f96ca..1fd66fa 100644
--- a/net/i2pd/HISTORY
+++ b/net/i2pd/HISTORY
@@ -1,3 +1,9 @@
+2020-02-26 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 2.30.0
+ * DEPENDS: updated boost subdepends for gcc<4.7
+ * BUILD: updated LDFLAGS for gcc<4.7
+ * gcc46{,_upnp}.patch: updated for new version
+
2019-10-26 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 2.29.0
diff --git a/net/i2pd/gcc46.patch b/net/i2pd/gcc46.patch
index 7ff49f8..b49a639 100644
--- a/net/i2pd/gcc46.patch
+++ b/net/i2pd/gcc46.patch
@@ -6,9 +6,9 @@
else ifeq ($(shell expr match ${CXXVER} "4\.6"),3) # = 4.6
- NEEDED_CXXFLAGS += -std=c++0x
+ NEEDED_CXXFLAGS += -std=c++0x -D_GLIBCXX_USE_NANOSLEEP=1
- else ifeq ($(shell expr match ${CXXVER} "[5-7]\.[0-9]"),3) # gcc >= 5.0
+ else ifeq ($(shell expr match ${CXXVER} "[5-9]"),1) # gcc >= 5
NEEDED_CXXFLAGS += -std=c++11
- else # not supported
+ LDLIBS = -latomic
--- libi2pd/Tunnel.cpp.orig 2016-10-17 00:37:40.000000000 -0400
+++ libi2pd/Tunnel.cpp 2016-10-19 19:56:06.096526898 -0400
@@ -406,7 +406,7 @@
@@ -121,9 +121,9 @@
@@ -7,8 +7,6 @@
{
public:
- HTTPProxy(const std::string& name, const std::string&
address, int port, const std::string & outproxy,
std::shared_ptr<i2p::client::ClientDestination> localDestination);
+ HTTPProxy(const std::string& name, const std::string&
address, int port, const std::string & outproxy, bool addresshelper,
std::shared_ptr<i2p::client::ClientDestination> localDestination);
- HTTPProxy(const std::string& name, const std::string&
address, int port, std::shared_ptr<i2p::client::ClientDestination>
localDestination = nullptr) :
-- HTTPProxy(name, address, port, "",
localDestination) {} ;
+- HTTPProxy(name, address, port, "", true,
localDestination) {} ;
~HTTPProxy() {};
std::string GetOutproxyURL() const { return
m_OutproxyUrl; }
@@ -221,3 +221,171 @@
};
struct Address
+--- libi2pd/Blinding.h.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/Blinding.h 2020-02-26 17:03:22.152844367 -0800
+@@ -39,7 +39,7 @@
+
+ std::vector<uint8_t> m_PublicKey;
+ i2p::data::SigningKeyType m_SigType, m_BlindedSigType;
+- bool m_IsClientAuth = false;
++ bool m_IsClientAuth;
+ };
+ }
+ }
+--- libi2pd/LeaseSet.h.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/LeaseSet.h 2020-02-26 17:21:50.775527499 -0800
+@@ -165,8 +165,8 @@
+ private:
+
+ uint8_t m_StoreType;
+- uint32_t m_PublishedTimestamp = 0;
+- bool m_IsPublic = true, m_IsPublishedEncrypted =
false;
++ uint32_t m_PublishedTimestamp;
++ bool m_IsPublic, m_IsPublishedEncrypted;
+ std::shared_ptr<i2p::crypto::Verifier>
m_TransientVerifier;
+ CryptoKeyType m_EncryptionType;
+ std::shared_ptr<i2p::crypto::CryptoKeyEncryptor>
m_Encryptor; // for standardLS2
+--- libi2pd/LeaseSet.cpp.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/LeaseSet.cpp 2020-02-26 17:20:39.170099671 -0800
+@@ -252,7 +252,7 @@
+ }
+
+ LeaseSet2::LeaseSet2 (uint8_t storeType, const uint8_t * buf, size_t
len, bool storeLeases, CryptoKeyType preferredCrypto):
+- LeaseSet (storeLeases), m_StoreType (storeType),
m_EncryptionType (preferredCrypto)
++ LeaseSet (storeLeases), m_StoreType (storeType),
m_EncryptionType (preferredCrypto), m_PublishedTimestamp (0), m_IsPublic
(true), m_IsPublishedEncrypted (false)
+ {
+ SetBuffer (buf, len);
+ if (storeType == NETDB_STORE_TYPE_ENCRYPTED_LEASESET2)
+@@ -263,7 +263,7 @@
+
+ LeaseSet2::LeaseSet2 (const uint8_t * buf, size_t len,
std::shared_ptr<const BlindedPublicKey> key,
+ const uint8_t * secret, CryptoKeyType preferredCrypto):
+- LeaseSet (true), m_StoreType
(NETDB_STORE_TYPE_ENCRYPTED_LEASESET2), m_EncryptionType (preferredCrypto)
++ LeaseSet (true), m_StoreType
(NETDB_STORE_TYPE_ENCRYPTED_LEASESET2), m_EncryptionType (preferredCrypto),
m_PublishedTimestamp (0), m_IsPublic (true), m_IsPublishedEncrypted (false)
+ {
+ ReadFromBufferEncrypted (buf, len, key, secret);
+ }
+--- libi2pd/RouterContext.h.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/RouterContext.h 2020-02-26 17:25:18.440768256 -0800
+@@ -5,7 +5,7 @@
+ #include <string>
+ #include <memory>
+ #include <mutex>
+-#include <chrono>
++#include <boost/chrono.hpp>
+ #include <boost/asio.hpp>
+ #include "Identity.h"
+ #include "RouterInfo.h"
+@@ -142,7 +142,7 @@
+ std::shared_ptr<i2p::crypto::CryptoKeyDecryptor>
m_Decryptor;
+ uint64_t m_LastUpdateTime; // in seconds
+ bool m_AcceptsTunnels, m_IsFloodfill;
+- std::chrono::time_point<std::chrono::steady_clock>
m_StartupTime;
++
boost::chrono::time_point<boost::chrono::steady_clock> m_StartupTime;
+ uint64_t m_BandwidthLimit; // allowed bandwidth
+ int m_ShareRatio;
+ RouterStatus m_Status;
+--- libi2pd/RouterContext.cpp.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/RouterContext.cpp 2020-02-26 17:26:07.070058807 -0800
+@@ -27,7 +27,7 @@
+ void RouterContext::Init ()
+ {
+ srand (i2p::util::GetMillisecondsSinceEpoch () % 1000);
+- m_StartupTime = std::chrono::steady_clock::now();
++ m_StartupTime = boost::chrono::steady_clock::now();
+
+ if (!Load ())
+ CreateNewRouter ();
+@@ -717,7 +717,7 @@
+
+ uint32_t RouterContext::GetUptime () const
+ {
+- return std::chrono::duration_cast<std::chrono::seconds>
(std::chrono::steady_clock::now() - m_StartupTime).count ();
++ return boost::chrono::duration_cast<boost::chrono::seconds>
(boost::chrono::steady_clock::now() - m_StartupTime).count ();
+ }
+
+ bool RouterContext::Decrypt (const uint8_t * encrypted, uint8_t *
data, BN_CTX * ctx) const
+--- libi2pd/ECIESX25519AEADRatchetSession.h.orig 2020-02-25
09:08:50.000000000 -0800
++++ libi2pd/ECIESX25519AEADRatchetSession.h 2020-02-26 18:05:27.839321012
-0800
+@@ -115,10 +115,10 @@
+ uint8_t m_H[32], m_CK[64] /* [chainkey, key] */,
m_RemoteStaticKey[32];
+ uint8_t m_Aepk[32]; // Alice's ephemeral keys TODO:
for incoming only
+ i2p::crypto::X25519Keys m_EphemeralKeys;
+- SessionState m_State = eSessionStateNew;
+- uint64_t m_LastActivityTimestamp = 0; // incoming
++ SessionState m_State;
++ uint64_t m_LastActivityTimestamp; // incoming
+ RatchetTagSet m_SendTagset, m_ReceiveTagset;
+- int m_NumReceiveTags = 0;
++ int m_NumReceiveTags;
+ std::unique_ptr<i2p::data::IdentHash>
m_Destination;// TODO: might not need it
+ };
+ }
+--- libi2pd/ECIESX25519AEADRatchetSession.cpp.orig 2020-02-25
09:08:50.000000000 -0800
++++ libi2pd/ECIESX25519AEADRatchetSession.cpp 2020-02-26 18:08:10.465397719
-0800
+@@ -61,7 +61,7 @@
+ }
+
+ ECIESX25519AEADRatchetSession::ECIESX25519AEADRatchetSession
(GarlicDestination * owner):
+- GarlicRoutingSession (owner, true)
++ GarlicRoutingSession (owner, true), m_State(eSessionStateNew),
m_LastActivityTimestamp(0), m_NumReceiveTags(0)
+ {
+ ResetKeys ();
+ }
+--- libi2pd/Garlic.cpp.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/Garlic.cpp 2020-02-26 18:22:34.385236705 -0800
+@@ -959,7 +959,7 @@
+
+ void GarlicDestination::AddECIESx25519SessionTag (int index, uint64_t
tag, ECIESX25519AEADRatchetSessionPtr session)
+ {
+- m_ECIESx25519Tags.emplace (tag,
ECIESX25519AEADRatchetIndexSession{index, session,
i2p::util::GetSecondsSinceEpoch ()});
++ m_ECIESx25519Tags.insert({tag,
ECIESX25519AEADRatchetIndexSession{index, session,
i2p::util::GetSecondsSinceEpoch ()}});
+ }
+
+ void GarlicDestination::AddECIESx25519Session (const uint8_t *
staticKey, ECIESX25519AEADRatchetSessionPtr session)
+@@ -976,7 +976,7 @@
+ return;
+ }
+ }
+- m_ECIESx25519Sessions.emplace (staticKeyTag, session);
++ m_ECIESx25519Sessions.insert({staticKeyTag, session});
+ }
+
+ }
+--- libi2pd/Timestamp.cpp.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/Timestamp.cpp 2020-02-26 18:38:19.787128311 -0800
+@@ -187,7 +187,7 @@
+
+ void GetDateString (uint64_t timestamp, char * date)
+ {
+- using clock = std::chrono::system_clock;
++ typedef std::chrono::system_clock clock;
+ auto t = clock::to_time_t (clock::time_point
(std::chrono::seconds(timestamp)));
+ struct tm tm;
+ #ifdef _WIN32
+--- libi2pd/Identity.h.orig 2020-02-25 09:08:50.000000000 -0800
++++ libi2pd/Identity.h 2020-02-27 14:45:08.012926508 -0800
+@@ -135,9 +135,9 @@
+ {
+ public:
+
+- PrivateKeys () = default;
+- PrivateKeys (const PrivateKeys& other) { *this =
other; };
+- PrivateKeys (const Keys& keys) { *this = keys; };
++ PrivateKeys (): m_TransientSignatureLen(0),
m_TransientSigningPrivateKeyLen(0) {};
++ PrivateKeys (const PrivateKeys& other):
m_TransientSignatureLen(0), m_TransientSigningPrivateKeyLen(0) { *this =
other; };
++ PrivateKeys (const Keys& keys):
m_TransientSignatureLen(0), m_TransientSigningPrivateKeyLen(0) { *this =
keys; };
+ PrivateKeys& operator=(const Keys& keys);
+ PrivateKeys& operator=(const PrivateKeys& other);
+ ~PrivateKeys () = default;
+@@ -182,8 +182,8 @@
+ uint8_t m_SigningPrivateKey[128]; // assume private
key doesn't exceed 128 bytes
+ mutable std::unique_ptr<i2p::crypto::Signer> m_Signer;
+ std::vector<uint8_t> m_OfflineSignature; // non zero
length, if applicable
+- size_t m_TransientSignatureLen = 0;
+- size_t m_TransientSigningPrivateKeyLen = 0;
++ size_t m_TransientSignatureLen;
++ size_t m_TransientSigningPrivateKeyLen;
+ };
+
+ // kademlia
diff --git a/net/i2pd/gcc46_upnp.patch b/net/i2pd/gcc46_upnp.patch
index e21317b..a5c3c9e 100644
--- a/net/i2pd/gcc46_upnp.patch
+++ b/net/i2pd/gcc46_upnp.patch
@@ -1,17 +1,22 @@
--- daemon/UPnP.h.orig 2016-10-17 00:37:40.000000000 -0400
+++ daemon/UPnP.h 2016-10-19 20:56:18.628270468 -0400
-@@ -53,9 +53,9 @@
- struct IGDdatas m_upnpData;
+@@ -60,7 +60,7 @@
+ std::mutex m_StartedMutex;
+ boost::asio::io_service m_Service;
+ boost::asio::deadline_timer m_Timer;
+- bool m_upnpUrlsInitialized=false;
++ bool m_upnpUrlsInitialized;
+ struct UPNPUrls m_upnpUrls;
+ struct IGDdatas m_upnpData;
- // For miniupnpc
-- char * m_MulticastIf = 0;
-- char * m_Minissdpdpath = 0;
-- struct UPNPDev * m_Devlist = 0;
-+ char * m_MulticastIf;
-+ char * m_Minissdpdpath;
-+ struct UPNPDev * m_Devlist;
- char m_NetworkAddr[64];
- char m_externalIPAddress[40];
+@@ -65,7 +65,7 @@
+ struct IGDdatas m_upnpData;
+
+ // For miniupnpc
+- struct UPNPDev * m_Devlist = 0;
++ struct UPNPDev * m_Devlist;
+ char m_NetworkAddr[64];
+ char m_externalIPAddress[40];
};
--- daemon/UPnP.cpp.orig 2016-10-17 00:37:40.000000000 -0400
+++ daemon/UPnP.cpp 2016-10-19 21:02:23.135699101 -0400
@@ -20,7 +25,7 @@
namespace transport
{
- UPnP::UPnP () : m_IsRunning(false), m_Thread (nullptr), m_Timer
(m_Service)
-+ UPnP::UPnP () : m_IsRunning(false), m_Thread (nullptr), m_Timer
(m_Service), m_MulticastIf(0), m_Minissdpdpath(0), m_Devlist(0)
++ UPnP::UPnP () : m_IsRunning(false), m_Thread (nullptr), m_Timer
(m_Service), m_Devlist(0), m_upnpUrlsInitialized(false)
{
}
- [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (1eb01a38e941cc3da2525d67b413b2ed4d57d147), Vlad Glagolev, 02/28/2020
Archive powered by MHonArc 2.6.24.