summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xnet/i2pd/DETAILS4
-rw-r--r--net/i2pd/HISTORY4
-rw-r--r--net/i2pd/gcc46.patch61
3 files changed, 62 insertions, 7 deletions
diff --git a/net/i2pd/DETAILS b/net/i2pd/DETAILS
index e422939e14..c7dbda3d73 100755
--- a/net/i2pd/DETAILS
+++ b/net/i2pd/DETAILS
@@ -1,8 +1,8 @@
SPELL=i2pd
- VERSION=2.11.0
+ VERSION=2.12.0
SOURCE=${SPELL}-${VERSION}.tar.gz
SOURCE_URL[0]=https://github.com/PurpleI2P/${SPELL}/archive/${VERSION}.tar.gz
- SOURCE_HASH=sha256:4d7946e33a6a1dd4439590ea23b494f36e6fbcb81f7b36857bf264413a19e9db:UPSTREAM_HASH
+ SOURCE_HASH=sha256:afb763aea2a4f4b51e327352d5da82ec08e84735d28db9af7710563a117fc648:UPSTREAM_HASH
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
DOCS="docs/configuration.md docs/usage.md"
DOC_DIRS=""
diff --git a/net/i2pd/HISTORY b/net/i2pd/HISTORY
index db49b973fe..19698a247d 100644
--- a/net/i2pd/HISTORY
+++ b/net/i2pd/HISTORY
@@ -1,3 +1,7 @@
+2017-02-16 Vlad Glagolev <stealth@sourcemage.org>
+ * DETAILS: updated spell to 2.12.0
+ * gcc46.patch: updated
+
2016-12-21 Vlad Glagolev <stealth@sourcemage.org>
* DETAILS: updated spell to 2.11.0
* CONFIGURE: added WebSockets option
diff --git a/net/i2pd/gcc46.patch b/net/i2pd/gcc46.patch
index 2c3db939ec..fbe907db94 100644
--- a/net/i2pd/gcc46.patch
+++ b/net/i2pd/gcc46.patch
@@ -75,22 +75,26 @@
bool found = false;
{
std::unique_lock<std::mutex> l(m_TestsMutex);
---- Event.h.orig
-+++ Event.h
-@@ -21,11 +21,12 @@
+--- Event.h.orig 2017-02-16 13:28:19.692773653 -0500
++++ Event.h 2017-02-16 13:30:19.903805378 -0500
+@@ -25,6 +25,7 @@
class EventCore
{
public:
+ EventCore(): m_listener(nullptr) {}
void QueueEvent(const EventType & ev);
+ void CollectEvent(const std::string & type, const std::string & ident, uint64_t val);
void SetListener(EventListener * l);
-
- private:
+@@ -39,7 +40,7 @@
+ uint64_t Val;
+ };
+ std::map<std::string, CollectedEvent> m_collected;
- EventListener * m_listener = nullptr;
+ EventListener * m_listener;
};
#ifdef WITH_EVENTS
extern EventCore core;
+ extern EventCore core;
--- Log.cpp.orig
+++ Log.cpp
@@ -30,11 +30,11 @@
@@ -110,3 +114,50 @@
};
#endif
+--- NTCPSession.cpp.orig
++++ NTCPSession.cpp
+@@ -167,7 +167,13 @@ namespace transport
+ return;
+ }
+ }
+-
++#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7)
++// due the bug in gcc 4.7. std::shared_future.get() is not const
++ if (!m_DHKeysPair)
++ m_DHKeysPair = transports.GetNextDHKeysPair ();
++ CreateAESKey (m_Establisher->phase1.pubKey);
++ SendPhase2 ();
++#else
+ // TODO: check for number of pending keys
+ auto s = shared_from_this ();
+ auto keyCreated = std::async (std::launch::async, [s] ()
+@@ -180,7 +186,8 @@ namespace transport
+ {
+ keyCreated.get ();
+ s->SendPhase2 ();
+- });
++ });
++#endif
+ }
+ }
+
+@@ -239,6 +246,11 @@ namespace transport
+ }
+ else
+ {
++#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7)
++// due the bug in gcc 4.7. std::shared_future.get() is not const
++ CreateAESKey (m_Establisher->phase2.pubKey);
++ HandlePhase2 ();
++#else
+ auto s = shared_from_this ();
+ // create AES key in separate thread
+ auto keyCreated = std::async (std::launch::async, [s] ()
+@@ -251,6 +263,7 @@ namespace transport
+ keyCreated.get (); // we might wait if no more pending operations
+ s->HandlePhase2 ();
+ });
++#endif
+ }
+ }
+