diff options
-rw-r--r-- | include/ZeroTierOne.h | 22 | ||||
-rw-r--r-- | node/Node.cpp | 1 | ||||
-rw-r--r-- | service/ControlPlane.cpp | 2 |
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, |