From 991a80428d10370d78dfa8686a2cf24009f79908 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 9 Jan 2014 22:26:30 -0500 Subject: [PATCH] fixed few small issues --- NTCPSession.cpp | 6 +++--- RouterInfo.h | 2 +- Streaming.cpp | 12 +++++++----- Streaming.h | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/NTCPSession.cpp b/NTCPSession.cpp index 3174e4f5..61e7944f 100644 --- a/NTCPSession.cpp +++ b/NTCPSession.cpp @@ -1,13 +1,13 @@ #include #include #include "I2PEndian.h" -#include #include #include #include #include #include "base64.h" #include "Log.h" +#include "Timestamp.h" #include "CryptoConst.h" #include "I2NPProtocol.h" #include "RouterContext.h" @@ -149,7 +149,7 @@ namespace ntcp memcpy (xy, m_Phase1.pubKey, 256); memcpy (xy + 256, y, 256); CryptoPP::SHA256().CalculateDigest(m_Phase2.encrypted.hxy, xy, 512); - uint32_t tsB = htobe32 (time(0)); + uint32_t tsB = htobe32 (i2p::util::GetSecondsSinceEpoch ()); m_Phase2.encrypted.timestamp = tsB; // TODO: fill filler @@ -217,7 +217,7 @@ namespace ntcp { m_Phase3.size = htons (sizeof (m_Phase3.ident)); memcpy (&m_Phase3.ident, &i2p::context.GetRouterIdentity (), sizeof (m_Phase3.ident)); - uint32_t tsA = htobe32 (time(0)); + uint32_t tsA = htobe32 (i2p::util::GetSecondsSinceEpoch ()); m_Phase3.timestamp = tsA; SignedData s; diff --git a/RouterInfo.h b/RouterInfo.h index ceda10cb..a8d59adf 100644 --- a/RouterInfo.h +++ b/RouterInfo.h @@ -7,7 +7,7 @@ #include #include #include -#include "LeaseSet.h" +#include "Identity.h" namespace i2p { diff --git a/Streaming.cpp b/Streaming.cpp index 79feedeb..fc746ebc 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -24,7 +24,9 @@ namespace stream { const uint8_t * end = buf + len; buf += 4; // sendStreamID - buf += 4; // receiveStreamID + if (!m_SendStreamID) + m_SendStreamID = be32toh (*(uint32_t *)buf); + buf += 4; // receiveStreamID buf += 4; // sequenceNum buf += 4; // ackThrough int nackCount = buf[0]; @@ -150,10 +152,10 @@ namespace stream I2NPMessage * StreamingDestination::GetLeaseSet () { - if (!m_LeaseSet) - m_LeaseSet = CreateLeaseSet (); - else - FillI2NPMessageHeader (m_LeaseSet, eI2NPDatabaseStore); // refresh msgID + if (m_LeaseSet) // temporary always create new LeaseSet + DeleteI2NPMessage (m_LeaseSet); + m_LeaseSet = CreateLeaseSet (); + return m_LeaseSet; } diff --git a/Streaming.h b/Streaming.h index 86aeac31..26e84e3a 100644 --- a/Streaming.h +++ b/Streaming.h @@ -35,7 +35,7 @@ namespace stream uint32_t GetSendStreamID () const { return m_SendStreamID; }; uint32_t GetRecvStreamID () const { return m_RecvStreamID; }; const i2p::data::LeaseSet * GetRemoteLeaseSet () const { return m_RemoteLeaseSet; }; - bool IsEstablished () const { return !m_SendStreamID; }; + bool IsEstablished () const { return m_SendStreamID; }; void HandleNextPacket (const uint8_t * buf, size_t len); size_t Send (uint8_t * buf, size_t len, int timeout); // timeout in seconds