summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ZeroTierOne.h22
-rw-r--r--node/Node.cpp1
-rw-r--r--service/ControlPlane.cpp2
3 files changed, 18 insertions, 7 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h
index 67232cd2..399f090c 100644
--- a/include/ZeroTierOne.h
+++ b/include/ZeroTierOne.h
@@ -397,6 +397,16 @@ enum ZT_Event
};
/**
+ * Node relay policy
+ */
+enum ZT_RelayPolicy
+{
+ ZT_RELAY_POLICY_NEVER = 0,
+ ZT_RELAY_POLICY_TRUSTED = 1,
+ ZT_RELAY_POLICY_ALWAYS = 2
+};
+
+/**
* Current node status
*/
typedef struct
@@ -431,6 +441,11 @@ typedef struct
const char *secretIdentity;
/**
+ * Node relay policy
+ */
+ ZT_RelayPolicy relayPolicy;
+
+ /**
* True if some kind of connectivity appears available
*/
int online;
@@ -791,13 +806,6 @@ enum ZT_VirtualNetworkConfigOperation
ZT_VIRTUAL_NETWORK_CONFIG_OPERATION_DESTROY = 4
};
-enum ZT_RelayPolicy
-{
- ZT_RELAY_POLICY_NEVER = 0,
- ZT_RELAY_POLICY_TRUSTED = 1,
- ZT_RELAY_POLICY_ALWAYS = 2
-};
-
/**
* What trust hierarchy role does this peer have?
*/
diff --git a/node/Node.cpp b/node/Node.cpp
index 3d15f5bc..9ff7f197 100644
--- a/node/Node.cpp
+++ b/node/Node.cpp
@@ -384,6 +384,7 @@ void Node::status(ZT_NodeStatus *status) const
status->worldTimestamp = RR->topology->worldTimestamp();
status->publicIdentity = RR->publicIdentityStr.c_str();
status->secretIdentity = RR->secretIdentityStr.c_str();
+ status->relayPolicy = _relayPolicy;
status->online = _online ? 1 : 0;
}
diff --git a/service/ControlPlane.cpp b/service/ControlPlane.cpp
index 07304fc9..2f9e746e 100644
--- a/service/ControlPlane.cpp
+++ b/service/ControlPlane.cpp
@@ -389,6 +389,7 @@ unsigned int ControlPlane::handleRequest(
"\t\"worldId\": %llu,\n"
"\t\"worldTimestamp\": %llu,\n"
"\t\"online\": %s,\n"
+ "\t\"relayPolicy\": \"%s\",\n"
"\t\"tcpFallbackActive\": %s,\n"
"\t\"versionMajor\": %d,\n"
"\t\"versionMinor\": %d,\n"
@@ -402,6 +403,7 @@ unsigned int ControlPlane::handleRequest(
status.worldId,
status.worldTimestamp,
(status.online) ? "true" : "false",
+ ((status.relayPolicy == ZT_RELAY_POLICY_ALWAYS) ? "always" : ((status.relayPolicy == ZT_RELAY_POLICY_NEVER) ? "never" : "trusted")),
(_svc->tcpFallbackActive()) ? "true" : "false",
ZEROTIER_ONE_VERSION_MAJOR,
ZEROTIER_ONE_VERSION_MINOR,