summaryrefslogtreecommitdiff
path: root/java/src/com/zerotier/sdk/VirtualNetworkDNS.java
diff options
context:
space:
mode:
authorAdam Ierymenko <[email protected]>2023-03-07 16:50:34 -0500
committerGitHub <[email protected]>2023-03-07 16:50:34 -0500
commit1c5897895bb0f2c8b054dfc2465c9cc5548fb954 (patch)
tree8ac0ecb8013d09a304549ea683c442991cbcff02 /java/src/com/zerotier/sdk/VirtualNetworkDNS.java
parentdea47f601d458ff810c7949f35bc06f6ba6df170 (diff)
1.10.4 merge into main (#1893)
* add note about forceTcpRelay * Create a sample systemd unit for tcp proxy * set gitattributes for rust & cargo so hashes dont conflict on Windows * Revert "set gitattributes for rust & cargo so hashes dont conflict on Windows" This reverts commit 032dc5c108195f6bbc2e224f00da5b785df4b7f9. * Turn off autocrlf for rust source Doesn't appear to play nice well when it comes to git and vendored cargo package hashes * Fix #1883 (#1886) Still unknown as to why, but the call to `nc->GetProperties()` can fail when setting a friendly name on the Windows virtual ethernet adapter. Ensure that `ncp` is not null before continuing and accessing the device GUID. * Don't vendor packages for zeroidc (#1885) * Added docker environment way to join networks (#1871) * add StringUtils * fix headers use recommended headers and remove unused headers * move extern "C" only JNI functions need to be exported * cleanup * fix ANDROID-50: RESULT_ERROR_BAD_PARAMETER typo * fix typo in log message * fix typos in JNI method signatures * fix typo * fix ANDROID-51: fieldName is uninitialized * fix ANDROID-35: memory leak * fix missing DeleteLocalRef in loops * update to use unique error codes * add GETENV macro * add LOG_TAG defines * ANDROID-48: add ZT_jnicache.cpp * ANDROID-48: use ZT_jnicache.cpp and remove ZT_jnilookup.cpp and ZT_jniarray.cpp * add Event.fromInt * add PeerRole.fromInt * add ResultCode.fromInt * fix ANDROID-36: issues with ResultCode * add VirtualNetworkConfigOperation.fromInt * fix ANDROID-40: VirtualNetworkConfigOperation out-of-sync with ZT_VirtualNetworkConfigOperation enum * add VirtualNetworkStatus.fromInt * fix ANDROID-37: VirtualNetworkStatus out-of-sync with ZT_VirtualNetworkStatus enum * add VirtualNetworkType.fromInt * make NodeStatus a plain data class * fix ANDROID-52: synchronization bug with nodeMap * Node init work: separate Node construction and init * add Node.toString * make PeerPhysicalPath a plain data class * remove unused PeerPhysicalPath.fixed * add array functions * make Peer a plain data class * make Version a plain data class * fix ANDROID-42: copy/paste error * fix ANDROID-49: VirtualNetworkConfig.equals is wrong * reimplement VirtualNetworkConfig.equals * reimplement VirtualNetworkConfig.compareTo * add VirtualNetworkConfig.hashCode * make VirtualNetworkConfig a plain data class * remove unused VirtualNetworkConfig.enabled * reimplement VirtualNetworkDNS.equals * add VirtualNetworkDNS.hashCode * make VirtualNetworkDNS a plain data class * reimplement VirtualNetworkRoute.equals * reimplement VirtualNetworkRoute.compareTo * reimplement VirtualNetworkRoute.toString * add VirtualNetworkRoute.hashCode * make VirtualNetworkRoute a plain data class * add isSocketAddressEmpty * add addressPort * add fromSocketAddressObject * invert logic in a couple of places and return early * newInetAddress and newInetSocketAddress work allow newInetSocketAddress to return NULL if given empty address * fix ANDROID-38: stack corruption in onSendPacketRequested * use GETENV macro * JniRef work JniRef does not use callbacks struct, so remove fix NewGlobalRef / DeleteGlobalRef mismatch * use PRId64 macros * switch statement work * comments and logging * Modifier 'public' is redundant for interface members * NodeException can be made a checked Exception * 'NodeException' does not define a 'serialVersionUID' field * 'finalize()' should not be overridden this is fine to do because ZeroTierOneService calls close() when it is done * error handling, error reporting, asserts, logging * simplify loadLibrary * rename Node.networks -> Node.networkConfigs * Windows file permissions fix (#1887) * Allow macOS interfaces to use multiple IP addresses (#1879) Co-authored-by: Sean OMeara <[email protected]> Co-authored-by: Grant Limberg <[email protected]> * Fix condition where full HELLOs might not be sent when necessary (#1877) Co-authored-by: Grant Limberg <[email protected]> * 1.10.4 version bumps * Add security policy to repo (#1889) * [+] add e2k64 arch (#1890) * temp fix for ANDROID-56: crash inside newNetworkConfig from too many args * 1.10.4 release notes --------- Co-authored-by: travis laduke <[email protected]> Co-authored-by: Grant Limberg <[email protected]> Co-authored-by: Grant Limberg <[email protected]> Co-authored-by: Leonardo Amaral <[email protected]> Co-authored-by: Brenton Bostick <[email protected]> Co-authored-by: Sean OMeara <[email protected]> Co-authored-by: Joseph Henry <[email protected]> Co-authored-by: Roman Peshkichev <[email protected]>
Diffstat (limited to 'java/src/com/zerotier/sdk/VirtualNetworkDNS.java')
-rw-r--r--java/src/com/zerotier/sdk/VirtualNetworkDNS.java63
1 files changed, 55 insertions, 8 deletions
diff --git a/java/src/com/zerotier/sdk/VirtualNetworkDNS.java b/java/src/com/zerotier/sdk/VirtualNetworkDNS.java
index 7046fd42..6e4bb3d2 100644
--- a/java/src/com/zerotier/sdk/VirtualNetworkDNS.java
+++ b/java/src/com/zerotier/sdk/VirtualNetworkDNS.java
@@ -8,15 +8,48 @@ package com.zerotier.sdk;
import java.net.InetSocketAddress;
import java.util.ArrayList;
+/**
+ * DNS configuration to be pushed on a virtual network
+ *
+ * Defined in ZeroTierOne.h as ZT_VirtualNetworkDNS
+ */
public class VirtualNetworkDNS implements Comparable<VirtualNetworkDNS> {
- private String domain;
- private ArrayList<InetSocketAddress> servers;
- public VirtualNetworkDNS() {}
+ private final String domain;
+ private final ArrayList<InetSocketAddress> servers;
+
+ public VirtualNetworkDNS(String domain, ArrayList<InetSocketAddress> servers) {
+ this.domain = domain;
+ this.servers = servers;
+ }
+
+ @Override
+ public String toString() {
+ return "VirtualNetworkDNS(" + domain + ", " + servers + ")";
+ }
+
+ @Override
+ public boolean equals(Object o) {
+
+ if (o == null) {
+ return false;
+ }
+
+ if (!(o instanceof VirtualNetworkDNS)) {
+ return false;
+ }
- public boolean equals(VirtualNetworkDNS o) {
- if (o == null) return false;
- return domain.equals(o.domain) && servers.equals(o.servers);
+ VirtualNetworkDNS d = (VirtualNetworkDNS) o;
+
+ if (!domain.equals(d.domain)) {
+ return false;
+ }
+
+ if (!servers.equals(d.servers)) {
+ return false;
+ }
+
+ return true;
}
@Override
@@ -24,7 +57,21 @@ public class VirtualNetworkDNS implements Comparable<VirtualNetworkDNS> {
return domain.compareTo(o.domain);
}
- public String getSearchDomain() { return domain; }
+ @Override
+ public int hashCode() {
+
+ int result = 17;
+ result = 37 * result + domain.hashCode();
+ result = 37 * result + servers.hashCode();
+
+ return result;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
- public ArrayList<InetSocketAddress> getServers() { return servers; }
+ public ArrayList<InetSocketAddress> getServers() {
+ return servers;
+ }
}