diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-07-17 17:02:57 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-07-17 17:02:57 -0700 |
| commit | 77ce2384578d96780737e6bfa2265ee94946eae6 (patch) | |
| tree | feff045064c1bdf0e0e511d8071218a13e70f2fb /java/jni/com_zerotierone_sdk_Node.cpp | |
| parent | 1685659e37f568c727580634e412674cc266ff31 (diff) | |
| parent | 0f03d4ef51909953f393d683bb2a26096acdd917 (diff) | |
| download | infinitytier-77ce2384578d96780737e6bfa2265ee94946eae6.tar.gz infinitytier-77ce2384578d96780737e6bfa2265ee94946eae6.zip | |
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
Diffstat (limited to 'java/jni/com_zerotierone_sdk_Node.cpp')
| -rw-r--r-- | java/jni/com_zerotierone_sdk_Node.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp index 91561ff9..01ca6d7f 100644 --- a/java/jni/com_zerotierone_sdk_Node.cpp +++ b/java/jni/com_zerotierone_sdk_Node.cpp @@ -32,6 +32,8 @@ #include <ZeroTierOne.h> #include "Mutex.hpp" +#include "PortMapper.hpp" + #include <map> #include <string> #include <assert.h> @@ -58,6 +60,7 @@ namespace { , configListener(NULL) , pathChecker(NULL) , callbacks(NULL) + , portMapper(NULL) { callbacks = (ZT_Node_Callbacks*)malloc(sizeof(ZT_Node_Callbacks)); memset(callbacks, 0, sizeof(ZT_Node_Callbacks)); @@ -78,6 +81,9 @@ namespace { free(callbacks); callbacks = NULL; + + delete portMapper; + portMapper = NULL; } uint64_t id; @@ -95,6 +101,8 @@ namespace { jobject pathChecker; ZT_Node_Callbacks *callbacks; + + ZeroTier::PortMapper *portMapper; }; @@ -833,11 +841,17 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_node_1init( return resultObject; } + uint64_t nodeId = ZT_Node_address(node); + if (nodeId != 0) { + char uniqueName[64]; + snprintf(uniqueName, sizeof(uniqueName), "ZeroTier Android/%.10llx@%u", (unsigned long long)nodeId, 9993); + ref->portMapper = new ZeroTier::PortMapper(9993, uniqueName); + } + ZeroTier::Mutex::Lock lock(nodeMapMutex); ref->node = node; nodeMap.insert(std::make_pair(ref->id, ref)); - return resultObject; } |
