From 8a030b5e77031c8b3347170d28758097bca1f15e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 15 May 2018 06:06:02 +0200 Subject: Store known remote nodes and connect to them next time --- include/odhtdb/DatabaseStorage.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/odhtdb/DatabaseStorage.hpp') diff --git a/include/odhtdb/DatabaseStorage.hpp b/include/odhtdb/DatabaseStorage.hpp index a004619..886412c 100644 --- a/include/odhtdb/DatabaseStorage.hpp +++ b/include/odhtdb/DatabaseStorage.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include class sqlite3; @@ -121,6 +122,9 @@ namespace odhtdb std::pair> getNodeDecryptionKey(const Hash &nodeHash); void setNodeDecryptionKey(const Hash &nodeHash, const DataView &decryptionKey); + const std::vector& getRemoteNodes() const; + void setRemoteNodes(const std::vector &remoteNodes); + const dht::crypto::Identity& getIdentity() const; // Update storage state (remove quarantine objects if they are too old, etc) @@ -131,6 +135,7 @@ namespace odhtdb void bindCheckError(int sqliteBindResult); void loadMetadataFromFile(); + void loadRemoteNodesFromFile(); bool decryptNodeData(const Hash &nodeHash, const std::shared_ptr decryptionKey); bool decryptNodeData(const Hash &nodeHash, const std::shared_ptr decryptionKey, const Signature::PublicKey *creatorPublicKey, const DataView &adminGroupId, u64 timestamp); bool decryptNodeAddData(i64 rowId, const Hash &nodeHash, const Hash &dataHash, u64 timestamp, const Signature::PublicKey *creatorPublicKey, const DataView &encryptedData, const std::shared_ptr decryptionKey); @@ -168,7 +173,10 @@ namespace odhtdb sqlite3_stmt *setNodeAddDataAdditionalDataStmt; boost::filesystem::path metadataFilePath; + boost::filesystem::path remoteNodesFilePath; + u8 passwordSalt[PASSWORD_SALT_LEN]; std::pair, std::shared_ptr> identity; + std::vector remoteNodes; }; } -- cgit v1.2.3