summaryrefslogtreecommitdiffhomepage
path: root/tunnel/src/main
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2023-03-07 20:18:07 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2023-03-27 00:36:40 +0200
commit0fa0875fcb0d353f40d6858d0c2c98979798143f (patch)
tree1d6d8bf774ed7c38af42c458ac1719cf82f45f83 /tunnel/src/main
parent046cb992f265cbb2ae4a26ca5aa028dcc1a3cfaf (diff)
WIP add ConfigDetail and PeerDetail
Diffstat (limited to 'tunnel/src/main')
-rw-r--r--tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java3
-rw-r--r--tunnel/src/main/java/com/wireguard/android/backend/Tunnel.java6
-rw-r--r--tunnel/src/main/java/com/wireguard/config/InetEndpoint.java4
3 files changed, 13 insertions, 0 deletions
diff --git a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
index d7cae373..714ba4fe 100644
--- a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
+++ b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java
@@ -658,6 +658,9 @@ public final class GoBackend implements Backend {
final InetEndpoint ep = peer.getEndpoint().orElse(null);
if (ep == null)
continue;
+ // FIXME
+ tunnel.onEndpointChange(peer.getPublicKey(), ep);
+ Log.i(TAG, "onEndpointChange " + peer.getPublicKey() + ", " + ep);
if (ep.getResolved(resolver, true).orElse(null) == null) {
if (i < DNS_RESOLUTION_RETRIES - 1) {
Log.w(TAG, "DNS host \"" + ep.getHost() + "\" failed to resolve; trying again");
diff --git a/tunnel/src/main/java/com/wireguard/android/backend/Tunnel.java b/tunnel/src/main/java/com/wireguard/android/backend/Tunnel.java
index 6c0f54e3..1dfadbce 100644
--- a/tunnel/src/main/java/com/wireguard/android/backend/Tunnel.java
+++ b/tunnel/src/main/java/com/wireguard/android/backend/Tunnel.java
@@ -5,6 +5,10 @@
package com.wireguard.android.backend;
+import androidx.annotation.Nullable;
+
+import com.wireguard.config.InetEndpoint;
+import com.wireguard.crypto.Key;
import com.wireguard.util.NonNullForAll;
import java.util.regex.Pattern;
@@ -61,4 +65,6 @@ public interface Tunnel {
* @param newDhcp The new DHCP info of the tunnel.
*/
void onDhcpChange(Dhcp newDhcp);
+
+ void onEndpointChange(@Nullable Key publicKey, @Nullable InetEndpoint newEndpoint);
}
diff --git a/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java b/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java
index 9d087cd6..86f5f9a8 100644
--- a/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java
+++ b/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java
@@ -81,6 +81,10 @@ public final class InetEndpoint {
return port;
}
+ public Optional<InetEndpoint> getResolved() {
+ return Optional.ofNullable(resolved);
+ }
+
/**
* Generate an {@code InetEndpoint} instance with the same port and the host resolved using DNS
* to a numeric address. If the host is already numeric, the existing instance may be returned.