Expose surface addresses in info json
Surface Addresses are the addresses that the roots report back to you. This is helpful for trouble shooting. If you're behind NAT, the source port is different than what zerotier is bound to. If the list of surface address ports is larger than the list of bound addresses, you are probably behind symmetric NAT. Anways this can be added to later with a more simple "easy" or "hard" nat computed message somewhere.
This commit is contained in:
@@ -1560,6 +1560,15 @@ public:
|
||||
}
|
||||
settings["listeningOn"] = boundAddrArray;
|
||||
|
||||
std::vector<InetAddress> surfaceAddrs = _node-> SurfaceAddresses();
|
||||
auto surfaceAddrArray = json::array();
|
||||
for (int i = 0; i < surfaceAddrs.size(); i++) {
|
||||
char ipBuf[64] = { 0 };
|
||||
surfaceAddrs[i].toString(ipBuf);
|
||||
surfaceAddrArray.push_back(ipBuf);
|
||||
}
|
||||
settings["surfaceAddresses"] = surfaceAddrArray;
|
||||
|
||||
#ifdef ZT_USE_MINIUPNPC
|
||||
settings["portMappingEnabled"] = OSUtils::jsonBool(settings["portMappingEnabled"],true);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user