From ced040c5033bd61a963e65e8e8525459c4b8b59d Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Tue, 9 Jun 2015 19:38:05 -0700
Subject: Logging and adding .equals() methods to MulticastGroup and
VirtualNetworkCofnig
---
java/src/com/zerotier/sdk/MulticastGroup.java | 4 +++
.../src/com/zerotier/sdk/VirtualNetworkConfig.java | 38 ++++++++++++++++++++++
2 files changed, 42 insertions(+)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/src/com/zerotier/sdk/MulticastGroup.java b/java/src/com/zerotier/sdk/MulticastGroup.java
index 5c4df87a..68114424 100644
--- a/java/src/com/zerotier/sdk/MulticastGroup.java
+++ b/java/src/com/zerotier/sdk/MulticastGroup.java
@@ -33,6 +33,10 @@ public final class MulticastGroup {
private long mac;
private long adi;
+ public boolean equals(MulticastGroup other) {
+ return mac == other.mac && adi == other.adi;
+ }
+
/**
* MAC address (least significant 48 bits)
*/
diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
index 2be03acb..35453ddc 100644
--- a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
+++ b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
@@ -54,6 +54,44 @@ public final class VirtualNetworkConfig {
}
+ public boolean equals(VirtualNetworkConfig cfg) {
+ boolean mcgEqual = true;
+ if(multicastSubscriptions.length == cfg.multicastSubscriptions.length) {
+ for(int i = 0; i < multicastSubscriptions.length; ++i) {
+ if(!multicastSubscriptions[i].equals(cfg.multicastSubscriptions[i]))
+ {
+ return false;
+ }
+ }
+ } else {
+ mcgEqual = false;
+ }
+
+ boolean aaEqual = true;
+ if(assignedAddresses.length == cfg.assignedAddresses.length) {
+ for(int i = 0; i < assignedAddresses.length; ++i) {
+ if(!assignedAddresses[i].equals(cfg.assignedAddresses[i])) {
+ return false;
+ }
+ }
+ } else {
+ aaEqual = false;
+ }
+
+ return nwid == cfg.nwid &&
+ mac == cfg.mac &&
+ name.equals(cfg.name) &&
+ status.equals(cfg.status) &&
+ type.equals(cfg.type) &&
+ mtu == cfg.mtu &&
+ dhcp == cfg.dhcp &&
+ bridge == cfg.bridge &&
+ broadcastEnabled == cfg.broadcastEnabled &&
+ portError == cfg.portError &&
+ enabled == cfg.enabled &&
+ mcgEqual && aaEqual;
+ }
+
/**
* 64-bit ZeroTier network ID
*/
--
cgit v1.2.3
From adf89901c4d2de0d2338889a7fa1e5df1ab6b9be Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Fri, 19 Jun 2015 19:00:06 -0700
Subject: dont consider multicast groups in VirtualNetworkConfig.equals()
---
java/src/com/zerotier/sdk/VirtualNetworkConfig.java | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
index 35453ddc..980f48f7 100644
--- a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
+++ b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
@@ -55,18 +55,6 @@ public final class VirtualNetworkConfig {
}
public boolean equals(VirtualNetworkConfig cfg) {
- boolean mcgEqual = true;
- if(multicastSubscriptions.length == cfg.multicastSubscriptions.length) {
- for(int i = 0; i < multicastSubscriptions.length; ++i) {
- if(!multicastSubscriptions[i].equals(cfg.multicastSubscriptions[i]))
- {
- return false;
- }
- }
- } else {
- mcgEqual = false;
- }
-
boolean aaEqual = true;
if(assignedAddresses.length == cfg.assignedAddresses.length) {
for(int i = 0; i < assignedAddresses.length; ++i) {
@@ -89,7 +77,7 @@ public final class VirtualNetworkConfig {
broadcastEnabled == cfg.broadcastEnabled &&
portError == cfg.portError &&
enabled == cfg.enabled &&
- mcgEqual && aaEqual;
+ aaEqual;
}
/**
--
cgit v1.2.3
From 759d71037ef429c0277d8bebe16cc4ac1f426c45 Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Tue, 23 Jun 2015 23:03:02 -0700
Subject: added Comparable interface to VirtualNetworkConfig so we can sort
arrays containing it.
---
java/src/com/zerotier/sdk/VirtualNetworkConfig.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
index 980f48f7..278fafd2 100644
--- a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
+++ b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java
@@ -27,11 +27,13 @@
package com.zerotier.sdk;
+import java.lang.Comparable;
+import java.lang.Override;
import java.lang.String;
import java.util.ArrayList;
import java.net.InetSocketAddress;
-public final class VirtualNetworkConfig {
+public final class VirtualNetworkConfig implements Comparable {
public static final int MAX_MULTICAST_SUBSCRIPTIONS = 4096;
public static final int ZT1_MAX_ZT_ASSIGNED_ADDRESSES = 16;
@@ -80,6 +82,14 @@ public final class VirtualNetworkConfig {
aaEqual;
}
+ public int compareTo(VirtualNetworkConfig cfg) {
+ if(cfg.nwid == this.nwid) {
+ return 0;
+ } else {
+ return this.nwid > cfg.nwid ? 1 : -1;
+ }
+ }
+
/**
* 64-bit ZeroTier network ID
*/
--
cgit v1.2.3
From c9919cc5bae5c06980a701b8a4fa4d31805d4428 Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Fri, 26 Jun 2015 18:26:57 -0700
Subject: reflect changes to ZT1_PeerRole in JNI
---
java/jni/ZT1_jniutils.cpp | 8 ++++----
java/src/com/zerotier/sdk/PeerRole.java | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/jni/ZT1_jniutils.cpp b/java/jni/ZT1_jniutils.cpp
index 6b877417..90f3bb84 100644
--- a/java/jni/ZT1_jniutils.cpp
+++ b/java/jni/ZT1_jniutils.cpp
@@ -171,11 +171,11 @@ jobject createPeerRole(JNIEnv *env, ZT1_PeerRole role)
case ZT1_PEER_ROLE_LEAF:
fieldName = "PEER_ROLE_LEAF";
break;
- case ZT1_PEER_ROLE_HUB:
- fieldName = "PEER_ROLE_HUB";
+ case ZT1_PEER_ROLE_RELAY:
+ fieldName = "PEER_ROLE_RELAY";
break;
- case ZT1_PEER_ROLE_ROOTSERVER:
- fieldName = "PEER_ROLE_ROOTSERVER";
+ case ZT1_PEER_ROLE_ROOT:
+ fieldName = "PEER_ROLE_ROOT";
break;
}
diff --git a/java/src/com/zerotier/sdk/PeerRole.java b/java/src/com/zerotier/sdk/PeerRole.java
index 7a5156e1..d7d55f05 100644
--- a/java/src/com/zerotier/sdk/PeerRole.java
+++ b/java/src/com/zerotier/sdk/PeerRole.java
@@ -34,12 +34,12 @@ public enum PeerRole {
PEER_ROLE_LEAF,
/**
- * Locally federated hub
+ * relay node
*/
- PEER_ROLE_HUB,
+ PEER_ROLE_RELAY,
/**
- * planetary rootserver
+ * root server
*/
- PEER_ROLE_ROOTSERVER
+ PEER_ROLE_ROOT
}
\ No newline at end of file
--
cgit v1.2.3
From e45475c5b5bcee4fb88e797a50eb38b6ad3d6923 Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Thu, 9 Jul 2015 20:26:23 -0700
Subject: fixed a misspelling
---
java/src/com/zerotier/sdk/EventListener.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/src/com/zerotier/sdk/EventListener.java b/java/src/com/zerotier/sdk/EventListener.java
index 078023d9..bb191c1d 100644
--- a/java/src/com/zerotier/sdk/EventListener.java
+++ b/java/src/com/zerotier/sdk/EventListener.java
@@ -42,7 +42,7 @@ public interface EventListener {
public void onEvent(Event event);
/**
- * Callback for network error events: {@link Event.EVENT_AUTHENTICATION_FAILUER}, {link Event.EVENT_INVALID_PACKET}
+ * Callback for network error events: {@link Event.EVENT_AUTHENTICATION_FAILURE}, {link Event.EVENT_INVALID_PACKET}
*
* @param event {@link Event} enum
* @param source {@link InetSocketAddress} containing the origin address of the packet
--
cgit v1.2.3
From 0b9e5928d35c43748d8cd413e05e5718f7b1fc52 Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Sat, 26 Sep 2015 13:53:38 -0700
Subject: update PacketSender interface
---
java/src/com/zerotier/sdk/PacketSender.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/src/com/zerotier/sdk/PacketSender.java b/java/src/com/zerotier/sdk/PacketSender.java
index 5302f5ce..ab31729b 100644
--- a/java/src/com/zerotier/sdk/PacketSender.java
+++ b/java/src/com/zerotier/sdk/PacketSender.java
@@ -37,11 +37,13 @@ public interface PacketSender {
* on failure. Note that success does not (of course) guarantee packet
* delivery. It only means that the packet appears to have been sent.
*
- * @param addr {@link InetSocketAddress} to send to
+ * @param localAddr {@link InetSocketAddress} to send from. Set to null if not specified.
+ * @param remoteAddr {@link InetSocketAddress} to send to
* @param packetData data to send
* @return 0 on success, any error code on failure.
*/
public int onSendPacketRequested(
- InetSocketAddress addr,
+ InetSocketAddress localAddr,
+ InetSocketAddress remoteAddr,
byte[] packetData);
}
--
cgit v1.2.3
From b7df177f33fd7a98da18ed9f756ee7272982a65d Mon Sep 17 00:00:00 2001
From: Grant Limberg
Date: Mon, 2 Nov 2015 19:18:55 -0800
Subject: updates for origin/edge
---
java/jni/Android.mk | 2 +-
java/jni/Application.mk | 2 +-
java/jni/ZT_jniutils.cpp | 18 --------
java/jni/com_zerotierone_sdk_Node.cpp | 64 ++++++----------------------
java/src/com/zerotier/sdk/Event.java | 25 -----------
java/src/com/zerotier/sdk/EventListener.java | 15 -------
6 files changed, 15 insertions(+), 111 deletions(-)
(limited to 'java/src/com/zerotier/sdk')
diff --git a/java/jni/Android.mk b/java/jni/Android.mk
index 22dfe4f1..3da3b04b 100644
--- a/java/jni/Android.mk
+++ b/java/jni/Android.mk
@@ -15,7 +15,6 @@ LOCAL_SRC_FILES := \
$(ZT1)/ext/http-parser/http_parser.c \
$(ZT1)/node/C25519.cpp \
$(ZT1)/node/CertificateOfMembership.cpp \
- $(ZT1)/node/Defaults.cpp \
$(ZT1)/node/Dictionary.cpp \
$(ZT1)/node/Identity.cpp \
$(ZT1)/node/IncomingPacket.cpp \
@@ -26,6 +25,7 @@ LOCAL_SRC_FILES := \
$(ZT1)/node/Node.cpp \
$(ZT1)/node/OutboundMulticast.cpp \
$(ZT1)/node/Packet.cpp \
+ $(ZT1)/node/Path.cpp \
$(ZT1)/node/Peer.cpp \
$(ZT1)/node/Poly1305.cpp \
$(ZT1)/node/Salsa20.cpp \
diff --git a/java/jni/Application.mk b/java/jni/Application.mk
index 2a789787..608e94c0 100644
--- a/java/jni/Application.mk
+++ b/java/jni/Application.mk
@@ -1,5 +1,5 @@
NDK_TOOLCHAIN_VERSION := clang
APP_STL := c++_static
-APP_CPPFLAGS := -O3 -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -DZT_NO_TYPE_PUNNING=1
+APP_CPPFLAGS := -O3 -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1
APP_PLATFORM := android-14
APP_ABI := all
diff --git a/java/jni/ZT_jniutils.cpp b/java/jni/ZT_jniutils.cpp
index bd8d8708..ae1aa929 100644
--- a/java/jni/ZT_jniutils.cpp
+++ b/java/jni/ZT_jniutils.cpp
@@ -133,15 +133,6 @@ jobject createEvent(JNIEnv *env, ZT_Event event)
case ZT_EVENT_FATAL_ERROR_IDENTITY_COLLISION:
fieldName = "EVENT_FATAL_ERROR_IDENTITY_COLLISION";
break;
- case ZT_EVENT_SAW_MORE_RECENT_VERSION:
- fieldName = "EVENT_SAW_MORE_RECENT_VERSION";
- break;
- case ZT_EVENT_AUTHENTICATION_FAILURE:
- fieldName = "EVENT_AUTHENTICATION_FAILURE";
- break;
- case ZT_EVENT_INVALID_PACKET:
- fieldName = "EVENT_INVALID_PACKET";
- break;
case ZT_EVENT_TRACE:
fieldName = "EVENT_TRACE";
break;
@@ -425,7 +416,6 @@ jobject newPeerPhysicalPath(JNIEnv *env, const ZT_PeerPhysicalPath &ppp)
jfieldID addressField = NULL;
jfieldID lastSendField = NULL;
jfieldID lastReceiveField = NULL;
- jfieldID fixedField = NULL;
jfieldID activeField = NULL;
jfieldID preferredField = NULL;
@@ -459,13 +449,6 @@ jobject newPeerPhysicalPath(JNIEnv *env, const ZT_PeerPhysicalPath &ppp)
return NULL;
}
- fixedField = lookup.findField(pppClass, "fixed", "Z");
- if(env->ExceptionCheck() || fixedField == NULL)
- {
- LOGE("Error finding fixed field");
- return NULL;
- }
-
activeField = lookup.findField(pppClass, "active", "Z");
if(env->ExceptionCheck() || activeField == NULL)
{
@@ -503,7 +486,6 @@ jobject newPeerPhysicalPath(JNIEnv *env, const ZT_PeerPhysicalPath &ppp)
env->SetObjectField(pppObject, addressField, addressObject);
env->SetLongField(pppObject, lastSendField, ppp.lastSend);
env->SetLongField(pppObject, lastReceiveField, ppp.lastReceive);
- env->SetBooleanField(pppObject, fixedField, ppp.fixed);
env->SetBooleanField(pppObject, activeField, ppp.active);
env->SetBooleanField(pppObject, preferredField, ppp.preferred);
diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp
index e6042649..a4c677b7 100644
--- a/java/jni/com_zerotierone_sdk_Node.cpp
+++ b/java/jni/com_zerotierone_sdk_Node.cpp
@@ -134,7 +134,8 @@ namespace {
(jlong)nwid, operationObject, networkConfigObject);
}
- void VirtualNetworkFrameFunctionCallback(ZT_Node *node,void *userData,
+ void VirtualNetworkFrameFunctionCallback(ZT_Node *node,
+ void *userData,
uint64_t nwid,
uint64_t sourceMac,
uint64_t destMac,
@@ -189,7 +190,10 @@ namespace {
}
- void EventCallback(ZT_Node *node,void *userData,enum ZT_Event event, const void *data)
+ void EventCallback(ZT_Node *node,
+ void *userData,
+ enum ZT_Event event,
+ const void *data)
{
LOGV("EventCallback");
JniRef *ref = (JniRef*)userData;
@@ -217,25 +221,6 @@ namespace {
return;
}
-
- jmethodID onOutOfDateMethod = lookup.findMethod(eventListenerClass,
- "onOutOfDate", "(Lcom/zerotier/sdk/Version;)V");
- if(onOutOfDateMethod == NULL)
- {
- LOGE("Couldn't find onOutOfDate method");
- return;
- }
-
-
- jmethodID onNetworkErrorMethod = lookup.findMethod(eventListenerClass,
- "onNetworkError", "(Lcom/zerotier/sdk/Event;Ljava/net/InetSocketAddress;)V");
- if(onNetworkErrorMethod == NULL)
- {
- LOGE("Couldn't find onNetworkError method");
- return;
- }
-
-
jmethodID onTraceMethod = lookup.findMethod(eventListenerClass,
"onTrace", "(Ljava/lang/String;)V");
if(onTraceMethod == NULL)
@@ -263,31 +248,6 @@ namespace {
env->CallVoidMethod(ref->eventListener, onEventMethod, eventObject);
}
break;
- case ZT_EVENT_SAW_MORE_RECENT_VERSION:
- {
- LOGV("Version Event");
- // call onOutOfDate()
- if(data != NULL)
- {
- int *version = (int*)data;
- jobject verisonObj = newVersion(env, version[0], version[1], version[2], 0);
- env->CallVoidMethod(ref->eventListener, onOutOfDateMethod, verisonObj);
- }
- }
- break;
- case ZT_EVENT_AUTHENTICATION_FAILURE:
- case ZT_EVENT_INVALID_PACKET:
- {
- LOGV("Network Error Event");
- // call onNetworkError()
- if(data != NULL)
- {
- sockaddr_storage *addr = (sockaddr_storage*)data;
- jobject addressObj = newInetSocketAddress(env, *addr);
- env->CallVoidMethod(ref->eventListener, onNetworkErrorMethod, addressObj);
- }
- }
- break;
case ZT_EVENT_TRACE:
{
LOGV("Trace Event");
@@ -303,7 +263,8 @@ namespace {
}
}
- long DataStoreGetFunction(ZT_Node *node,void *userData,
+ long DataStoreGetFunction(ZT_Node *node,
+ void *userData,
const char *objectName,
void *buffer,
unsigned long bufferSize,
@@ -375,7 +336,8 @@ namespace {
return retval;
}
- int DataStorePutFunction(ZT_Node *node,void *userData,
+ int DataStorePutFunction(ZT_Node *node,
+ void *userData,
const char *objectName,
const void *buffer,
unsigned long bufferSize,
@@ -440,7 +402,8 @@ namespace {
}
}
- int WirePacketSendFunction(ZT_Node *node,void *userData,\
+ int WirePacketSendFunction(ZT_Node *node,
+ void *userData,
const struct sockaddr_storage *localAddress,
const struct sockaddr_storage *remoteAddress,
const void *buffer,
@@ -625,8 +588,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_node_1init(
&WirePacketSendFunction,
&VirtualNetworkFrameFunctionCallback,
&VirtualNetworkConfigFunctionCallback,
- &EventCallback,
- NULL);
+ &EventCallback);
if(rc != ZT_RESULT_OK)
{
diff --git a/java/src/com/zerotier/sdk/Event.java b/java/src/com/zerotier/sdk/Event.java
index 436b1b22..22d350e1 100644
--- a/java/src/com/zerotier/sdk/Event.java
+++ b/java/src/com/zerotier/sdk/Event.java
@@ -86,31 +86,6 @@ public enum Event {
* umbrellas prevent rain and smoke detectors prevent fires. They do, right?
*/
EVENT_FATAL_ERROR_IDENTITY_COLLISION,
-
- /**
- * A more recent version was observed on the network
- *
- * Right now this is only triggered if a hub or rootserver reports a
- * more recent version, and only once. It can be used to trigger a
- * software update check.
- *
- * Meta-data: {@link Version}, more recent version number
- */
- EVENT_SAW_MORE_RECENT_VERSION,
-
- /**
- * A packet failed authentication
- *
- * Meta-data: {@link InetSocketAddress} containing origin address of packet
- */
- EVENT_AUTHENTICATION_FAILURE,
-
- /**
- * A received packet was not valid
- *
- * Meta-data: {@link InetSocketAddress} containing origin address of packet
- */
- EVENT_INVALID_PACKET,
/**
* Trace (debugging) message
diff --git a/java/src/com/zerotier/sdk/EventListener.java b/java/src/com/zerotier/sdk/EventListener.java
index bb191c1d..91050aaa 100644
--- a/java/src/com/zerotier/sdk/EventListener.java
+++ b/java/src/com/zerotier/sdk/EventListener.java
@@ -41,21 +41,6 @@ public interface EventListener {
*/
public void onEvent(Event event);
- /**
- * Callback for network error events: {@link Event.EVENT_AUTHENTICATION_FAILURE}, {link Event.EVENT_INVALID_PACKET}
- *
- * @param event {@link Event} enum
- * @param source {@link InetSocketAddress} containing the origin address of the packet
- */
- public void onNetworkError(Event event, InetSocketAddress source);
-
- /**
- * Callback when the node detects that it's out of date.
- *
- * @param newVersion {@link Version} object with the latest version of ZeroTier One
- */
- public void onOutOfDate(Version newVersion);
-
/**
* Trace messages
*
--
cgit v1.2.3