diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2023-03-07 20:18:07 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2023-03-27 00:36:40 +0200 |
commit | 0fa0875fcb0d353f40d6858d0c2c98979798143f (patch) | |
tree | 1d6d8bf774ed7c38af42c458ac1719cf82f45f83 /tunnel/src/main | |
parent | 046cb992f265cbb2ae4a26ca5aa028dcc1a3cfaf (diff) |
WIP add ConfigDetail and PeerDetail
Diffstat (limited to 'tunnel/src/main')
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. |