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:
parent
64a5e0d93f
commit
82c799b9d1
2 changed files with 12 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue