Forráskód Böngészése

Merge remote-tracking branch 'origin/expose-surface-addresses' into dev

Joseph Henry 2 éve
szülő
commit
3b11915eab
2 módosított fájl, 12 hozzáadás és 0 törlés
  1. 3 0
      node/Node.hpp
  2. 9 0
      service/OneService.cpp

+ 3 - 0
node/Node.hpp

@@ -35,6 +35,7 @@
 #include "NetworkController.hpp"
 #include "Hashtable.hpp"
 #include "Bond.hpp"
+#include "SelfAwareness.hpp"
 
 // Bit mask for "expecting reply" hash
 #define ZT_EXPECTING_REPLIES_BUCKET_MASK1 255
@@ -187,6 +188,8 @@ public:
 
 	inline const Identity &identity() const { return _RR.identity; }
 
+	inline const std::vector<InetAddress> SurfaceAddresses() const { return _RR.sa->whoami(); }
+
 	inline Bond *bondController() const { return _RR.bc; }
 
 	/**

+ 9 - 0
service/OneService.cpp

@@ -1536,6 +1536,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