summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Node.cpp12
-rw-r--r--node/Node.hpp6
-rw-r--r--node/World.hpp10
3 files changed, 26 insertions, 2 deletions
diff --git a/node/Node.cpp b/node/Node.cpp
index 388a4fb2..6dc89387 100644
--- a/node/Node.cpp
+++ b/node/Node.cpp
@@ -362,8 +362,6 @@ uint64_t Node::address() const
void Node::status(ZT_NodeStatus *status) const
{
status->address = RR->identity.address().toInt();
- status->worldId = RR->topology->planetWorldId();
- status->worldTimestamp = RR->topology->planetWorldTimestamp();
status->publicIdentity = RR->publicIdentityStr.c_str();
status->secretIdentity = RR->secretIdentityStr.c_str();
status->online = _online ? 1 : 0;
@@ -714,6 +712,16 @@ void Node::setTrustedPaths(const struct sockaddr_storage *networks,const uint64_
RR->topology->setTrustedPaths(reinterpret_cast<const InetAddress *>(networks),ids,count);
}
+World Node::planet() const
+{
+ return RR->topology->planet();
+}
+
+std::vector<World> Node::moons() const
+{
+ return RR->topology->moons();
+}
+
void Node::ncSendConfig(uint64_t nwid,uint64_t requestPacketId,const Address &destination,const NetworkConfig &nc,bool sendLegacyFormatConfig)
{
if (destination == RR->identity.address()) {
diff --git a/node/Node.hpp b/node/Node.hpp
index d83ce968..a1d4b719 100644
--- a/node/Node.hpp
+++ b/node/Node.hpp
@@ -24,6 +24,7 @@
#include <string.h>
#include <map>
+#include <vector>
#include "Constants.hpp"
@@ -54,6 +55,8 @@
namespace ZeroTier {
+class World;
+
/**
* Implementation of Node object as defined in CAPI
*
@@ -210,6 +213,9 @@ public:
void postCircuitTestReport(const ZT_CircuitTestReport *report);
void setTrustedPaths(const struct sockaddr_storage *networks,const uint64_t *ids,unsigned int count);
+ World planet() const;
+ std::vector<World> moons() const;
+
/**
* Register that we are expecting a reply to a packet ID
*
diff --git a/node/World.hpp b/node/World.hpp
index 8fe6dd2e..6e835bec 100644
--- a/node/World.hpp
+++ b/node/World.hpp
@@ -136,6 +136,16 @@ public:
inline uint64_t timestamp() const { return _ts; }
/**
+ * @return C25519 signature
+ */
+ inline const C25519::Signature &signature() const { return _signature; }
+
+ /**
+ * @return Public key that must sign next update
+ */
+ inline const C25519::Public &updatesMustBeSignedBy() const { return _updatesMustBeSignedBy; }
+
+ /**
* Check whether a world update should replace this one
*
* @param update Candidate update