Do not include Signature.h in Identity.h.

This commit is contained in:
EinMByte 2015-08-30 11:30:28 +02:00
parent a24d99d678
commit 828ac404eb
3 changed files with 18 additions and 6 deletions

View File

@ -5,6 +5,7 @@
#include <cryptopp/dsa.h> #include <cryptopp/dsa.h>
#include "util/base64.h" #include "util/base64.h"
#include "crypto/CryptoConst.h" #include "crypto/CryptoConst.h"
#include "crypto/Signature.h"
#include "crypto/ElGamal.h" #include "crypto/ElGamal.h"
#include "RouterContext.h" #include "RouterContext.h"
#include "Identity.h" #include "Identity.h"
@ -370,6 +371,7 @@ namespace data
delete verifier; delete verifier;
} }
PrivateKeys& PrivateKeys::operator=(const Keys& keys) PrivateKeys& PrivateKeys::operator=(const Keys& keys)
{ {
m_Public = Identity (keys); m_Public = Identity (keys);
@ -392,6 +394,11 @@ namespace data
return *this; return *this;
} }
PrivateKeys::~PrivateKeys()
{
delete m_Signer;
}
size_t PrivateKeys::FromBuffer (const uint8_t * buf, size_t len) size_t PrivateKeys::FromBuffer (const uint8_t * buf, size_t len)
{ {
size_t ret = m_Public.FromBuffer (buf, len); size_t ret = m_Public.FromBuffer (buf, len);

View File

@ -7,12 +7,16 @@
#include <memory> #include <memory>
#include "util/base64.h" #include "util/base64.h"
#include "crypto/ElGamal.h" #include "crypto/ElGamal.h"
#include "crypto/Signature.h"
namespace i2p namespace i2p {
{
namespace data // Forward declaration to avoid include
{ namespace crypto {
class Signer;
class Verifier;
}
namespace data {
template<int sz> template<int sz>
class Tag class Tag
{ {
@ -183,7 +187,7 @@ namespace data
PrivateKeys (const Keys& keys): m_Signer (nullptr) { *this = keys; }; PrivateKeys (const Keys& keys): m_Signer (nullptr) { *this = keys; };
PrivateKeys& operator=(const Keys& keys); PrivateKeys& operator=(const Keys& keys);
PrivateKeys& operator=(const PrivateKeys& other); PrivateKeys& operator=(const PrivateKeys& other);
~PrivateKeys () { delete m_Signer; }; ~PrivateKeys ();
const IdentityEx& GetPublic () const { return m_Public; }; const IdentityEx& GetPublic () const { return m_Public; };
const uint8_t * GetPrivateKey () const { return m_PrivateKey; }; const uint8_t * GetPrivateKey () const { return m_PrivateKey; };

View File

@ -16,6 +16,7 @@
#include "util/Log.h" #include "util/Log.h"
#include "Identity.h" #include "Identity.h"
#include "crypto/CryptoConst.h" #include "crypto/CryptoConst.h"
#include "crypto/Signature.h"
#include "NetworkDatabase.h" #include "NetworkDatabase.h"
#include "util/util.h" #include "util/util.h"