diff options
Diffstat (limited to 'tunnel')
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 384ea74a..f76452b8 100644 --- a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java +++ b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java @@ -637,6 +637,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. |