|
@@ -139,8 +139,8 @@ namespace {
|
|
|
}
|
|
|
|
|
|
return env->CallIntMethod(
|
|
|
- ref->configListener,
|
|
|
- configListenerCallbackMethod,
|
|
|
+ ref->configListener,
|
|
|
+ configListenerCallbackMethod,
|
|
|
(jlong)nwid, operationObject, networkConfigObject);
|
|
|
}
|
|
|
|
|
@@ -203,7 +203,7 @@ namespace {
|
|
|
|
|
|
void EventCallback(ZT_Node *node,
|
|
|
void *userData,
|
|
|
- enum ZT_Event event,
|
|
|
+ enum ZT_Event event,
|
|
|
const void *data)
|
|
|
{
|
|
|
LOGV("EventCallback");
|
|
@@ -291,6 +291,8 @@ namespace {
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
+ case ZT_EVENT_USER_MESSAGE:
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -348,7 +350,7 @@ namespace {
|
|
|
objectName, buffer, bufferIndex, objectSizeObj);
|
|
|
|
|
|
long retval = (long)env->CallLongMethod(
|
|
|
- ref->dataStoreGetListener, dataStoreGetCallbackMethod,
|
|
|
+ ref->dataStoreGetListener, dataStoreGetCallbackMethod,
|
|
|
nameStr, bufferObj, (jlong)bufferIndex, objectSizeObj);
|
|
|
|
|
|
if(retval > 0)
|
|
@@ -463,7 +465,7 @@ namespace {
|
|
|
LOGE("Couldn't find onSendPacketRequested method");
|
|
|
return -2;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
jobject localAddressObj = NULL;
|
|
|
if(memcmp(localAddress, &ZT_SOCKADDR_NULL, sizeof(sockaddr_storage)) != 0)
|
|
|
{
|
|
@@ -496,7 +498,7 @@ namespace {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
|
|
|
+JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
|
|
|
{
|
|
|
lookup.setJavaVM(vm);
|
|
|
return JNI_VERSION_1_6;
|
|
@@ -641,7 +643,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_node_1init(
|
|
|
ZeroTier::Mutex::Lock lock(nodeMapMutex);
|
|
|
ref->node = node;
|
|
|
nodeMap.insert(std::make_pair(ref->id, ref));
|
|
|
-
|
|
|
+
|
|
|
|
|
|
return resultObject;
|
|
|
}
|
|
@@ -659,7 +661,7 @@ JNIEXPORT void JNICALL Java_com_zerotier_sdk_Node_node_1delete(
|
|
|
|
|
|
NodeMap::iterator found;
|
|
|
{
|
|
|
- ZeroTier::Mutex::Lock lock(nodeMapMutex);
|
|
|
+ ZeroTier::Mutex::Lock lock(nodeMapMutex);
|
|
|
found = nodeMap.find(nodeId);
|
|
|
}
|
|
|
|
|
@@ -685,9 +687,9 @@ JNIEXPORT void JNICALL Java_com_zerotier_sdk_Node_node_1delete(
|
|
|
* Signature: (JJJJJII[B[J)Lcom/zerotier/sdk/ResultCode;
|
|
|
*/
|
|
|
JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processVirtualNetworkFrame(
|
|
|
- JNIEnv *env, jobject obj,
|
|
|
- jlong id,
|
|
|
- jlong in_now,
|
|
|
+ JNIEnv *env, jobject obj,
|
|
|
+ jlong id,
|
|
|
+ jlong in_now,
|
|
|
jlong in_nwid,
|
|
|
jlong in_sourceMac,
|
|
|
jlong in_destMac,
|
|
@@ -697,7 +699,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processVirtualNetworkFrame(
|
|
|
jlongArray out_nextBackgroundTaskDeadline)
|
|
|
{
|
|
|
uint64_t nodeId = (uint64_t) id;
|
|
|
-
|
|
|
+
|
|
|
ZT_Node *node = findNode(nodeId);
|
|
|
if(node == NULL)
|
|
|
{
|
|
@@ -752,9 +754,9 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processVirtualNetworkFrame(
|
|
|
* Signature: (JJLjava/net/InetSocketAddress;I[B[J)Lcom/zerotier/sdk/ResultCode;
|
|
|
*/
|
|
|
JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processWirePacket(
|
|
|
- JNIEnv *env, jobject obj,
|
|
|
+ JNIEnv *env, jobject obj,
|
|
|
jlong id,
|
|
|
- jlong in_now,
|
|
|
+ jlong in_now,
|
|
|
jobject in_localAddress,
|
|
|
jobject in_remoteAddress,
|
|
|
jbyteArray in_packetData,
|
|
@@ -820,7 +822,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processWirePacket(
|
|
|
jmethodID inetSock_getPort = lookup.findMethod(
|
|
|
InetSocketAddressClass, "getPort", "()I");
|
|
|
|
|
|
- if(env->ExceptionCheck() || inetSock_getPort == NULL)
|
|
|
+ if(env->ExceptionCheck() || inetSock_getPort == NULL)
|
|
|
{
|
|
|
LOGE("Couldn't find getPort method on InetSocketAddress");
|
|
|
return createResultObject(env, ZT_RESULT_FATAL_ERROR_INTERNAL);
|
|
@@ -844,10 +846,10 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processWirePacket(
|
|
|
}
|
|
|
|
|
|
unsigned int addrSize = env->GetArrayLength(remoteAddressArray);
|
|
|
-
|
|
|
+
|
|
|
|
|
|
sockaddr_storage localAddress = {};
|
|
|
-
|
|
|
+
|
|
|
if(localAddrObj == NULL)
|
|
|
{
|
|
|
localAddress = ZT_SOCKADDR_NULL;
|
|
@@ -939,7 +941,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processWirePacket(
|
|
|
localData,
|
|
|
packetLength,
|
|
|
&nextBackgroundTaskDeadline);
|
|
|
- if(rc != ZT_RESULT_OK)
|
|
|
+ if(rc != ZT_RESULT_OK)
|
|
|
{
|
|
|
LOGE("ZT_Node_processWirePacket returned: %d", rc);
|
|
|
}
|
|
@@ -959,7 +961,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processWirePacket(
|
|
|
* Signature: (JJ[J)Lcom/zerotier/sdk/ResultCode;
|
|
|
*/
|
|
|
JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_processBackgroundTasks(
|
|
|
- JNIEnv *env, jobject obj,
|
|
|
+ JNIEnv *env, jobject obj,
|
|
|
jlong id,
|
|
|
jlong in_now,
|
|
|
jlongArray out_nextBackgroundTaskDeadline)
|
|
@@ -1032,7 +1034,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_leave(
|
|
|
uint64_t nwid = (uint64_t)in_nwid;
|
|
|
|
|
|
ZT_ResultCode rc = ZT_Node_leave(node, nwid, NULL);
|
|
|
-
|
|
|
+
|
|
|
return createResultObject(env, rc);
|
|
|
}
|
|
|
|
|
@@ -1042,8 +1044,8 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_leave(
|
|
|
* Signature: (JJJJ)Lcom/zerotier/sdk/ResultCode;
|
|
|
*/
|
|
|
JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_multicastSubscribe(
|
|
|
- JNIEnv *env, jobject obj,
|
|
|
- jlong id,
|
|
|
+ JNIEnv *env, jobject obj,
|
|
|
+ jlong id,
|
|
|
jlong in_nwid,
|
|
|
jlong in_multicastGroup,
|
|
|
jlong in_multicastAdi)
|
|
@@ -1072,8 +1074,8 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_multicastSubscribe(
|
|
|
* Signature: (JJJJ)Lcom/zerotier/sdk/ResultCode;
|
|
|
*/
|
|
|
JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_multicastUnsubscribe(
|
|
|
- JNIEnv *env, jobject obj,
|
|
|
- jlong id,
|
|
|
+ JNIEnv *env, jobject obj,
|
|
|
+ jlong id,
|
|
|
jlong in_nwid,
|
|
|
jlong in_multicastGroup,
|
|
|
jlong in_multicastAdi)
|
|
@@ -1141,7 +1143,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_status
|
|
|
{
|
|
|
return NULL;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
nodeStatusConstructor = lookup.findMethod(
|
|
|
nodeStatusClass, "<init>", "()V");
|
|
|
if(nodeStatusConstructor == NULL)
|
|
@@ -1225,7 +1227,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_networkConfig(
|
|
|
}
|
|
|
|
|
|
ZT_VirtualNetworkConfig *vnetConfig = ZT_Node_networkConfig(node, nwid);
|
|
|
-
|
|
|
+
|
|
|
jobject vnetConfigObject = newNetworkConfig(env, *vnetConfig);
|
|
|
|
|
|
ZT_Node_freeQueryResult(node, vnetConfig);
|
|
@@ -1267,7 +1269,7 @@ JNIEXPORT jobjectArray JNICALL Java_com_zerotier_sdk_Node_peers(
|
|
|
}
|
|
|
|
|
|
ZT_PeerList *peerList = ZT_Node_peers(node);
|
|
|
-
|
|
|
+
|
|
|
if(peerList == NULL)
|
|
|
{
|
|
|
LOGE("ZT_Node_peers returned NULL");
|
|
@@ -1306,7 +1308,7 @@ JNIEXPORT jobjectArray JNICALL Java_com_zerotier_sdk_Node_peers(
|
|
|
{
|
|
|
jobject peerObj = newPeer(env, peerList->peers[i]);
|
|
|
env->SetObjectArrayElement(peerArrayObj, i, peerObj);
|
|
|
- if(env->ExceptionCheck())
|
|
|
+ if(env->ExceptionCheck())
|
|
|
{
|
|
|
LOGE("Error assigning Peer object to array");
|
|
|
break;
|