diff options
author | Trumeet <17158086+Trumeet@users.noreply.github.com> | 2021-01-08 14:51:07 -0800 |
---|---|---|
committer | YuutaW <17158086+Trumeet@users.noreply.github.com> | 2021-01-08 21:26:33 -0800 |
commit | 76f32318d8ff3619cb55d543e32814f61b01ab2e (patch) | |
tree | 6a8d222796d0a0ecf1a9753dd023da31bb61ff51 | |
parent | 9360354b7a134aa2534e260e5418e06779aac4c0 (diff) | |
download | dn42peering-76f32318d8ff3619cb55d543e32814f61b01ab2e.tar dn42peering-76f32318d8ff3619cb55d543e32814f61b01ab2e.tar.gz dn42peering-76f32318d8ff3619cb55d543e32814f61b01ab2e.tar.bz2 dn42peering-76f32318d8ff3619cb55d543e32814f61b01ab2e.zip |
fix(agent/central): support optional endpoint
5 files changed, 10 insertions, 8 deletions
diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java index 565def5..c1f3971 100644 --- a/agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java +++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java @@ -69,7 +69,7 @@ class AgentServiceImpl extends VertxAgentGrpc.AgentVertxImplBase { request.getNode().getIpv6(), (int)request.getId(), request.getListenPort(), - request.getEndpoint(), + request.getEndpoint().isEmpty() ? "" : request.getEndpoint(), request.getPeerPubKey(), request.getSelfPrivKey(), request.getSelfPresharedSecret(), @@ -89,7 +89,7 @@ class AgentServiceImpl extends VertxAgentGrpc.AgentVertxImplBase { request.getNode().getIpv6(), (int)request.getId(), request.getListenPort(), - request.getEndpoint(), + request.getEndpoint().isEmpty() ? "" : request.getEndpoint(), request.getPeerPubKey(), request.getSelfPrivKey(), request.getSelfPresharedSecret(), diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java index 07083e7..c0a9bad 100644 --- a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java +++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java @@ -52,7 +52,7 @@ public interface IProvisionService { @Nonnull String localIP6, int id, int listenPort, - @Nonnull String endpointWithPort, + @Nullable String endpointWithPort, @Nonnull String peerPubKey, @Nonnull String selfPrivKey, @Nonnull String selfPresharedSecret, @@ -66,7 +66,7 @@ public interface IProvisionService { @Nonnull String localIP6, int id, int listenPort, - @Nonnull String endpointWithPort, + @Nullable String endpointWithPort, @Nonnull String peerPubKey, @Nonnull String selfPrivKey, @Nonnull String selfPresharedSecret, diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java index fa672c8..714f66e 100644 --- a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java +++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java @@ -98,7 +98,7 @@ class ProvisionServiceImpl implements IProvisionService { @Nonnull String localIP6, @Nonnull String dev, int listenPort, - @Nonnull String endpointWithPort, + @Nullable String endpointWithPort, @Nonnull String peerPubKey, @Nonnull String selfPrivKey, @Nonnull String selfPresharedSecret, @@ -206,7 +206,7 @@ class ProvisionServiceImpl implements IProvisionService { @Nonnull String localIP6, int id, int listenPort, - @Nonnull String endpointWithPort, + @Nullable String endpointWithPort, @Nonnull String peerPubKey, @Nonnull String selfPrivKey, @Nonnull String selfPresharedSecret, @@ -240,7 +240,7 @@ class ProvisionServiceImpl implements IProvisionService { @Nonnull String localIP6, int id, int listenPort, - @Nonnull String endpointWithPort, + @Nullable String endpointWithPort, @Nonnull String peerPubKey, @Nonnull String selfPrivKey, @Nonnull String selfPresharedSecret, diff --git a/agent/src/main/resources/wg.conf.ftlh b/agent/src/main/resources/wg.conf.ftlh index 57ff790..f68cb51 100644 --- a/agent/src/main/resources/wg.conf.ftlh +++ b/agent/src/main/resources/wg.conf.ftlh @@ -16,5 +16,7 @@ Table = off [Peer] PublicKey = ${peer_pub_key} PresharedKey = ${preshared_key} +<#if endpoint??> Endpoint = ${endpoint} +</#if> AllowedIPs = 0.0.0.0/0, ::/0 diff --git a/central/src/main/java/moe/yuuta/dn42peering/peer/Peer.java b/central/src/main/java/moe/yuuta/dn42peering/peer/Peer.java index 31560ad..505d441 100644 --- a/central/src/main/java/moe/yuuta/dn42peering/peer/Peer.java +++ b/central/src/main/java/moe/yuuta/dn42peering/peer/Peer.java @@ -197,7 +197,7 @@ public class Peer { return WGRequest.newBuilder() .setId(getId()) .setListenPort(Integer.parseInt(calcWireGuardPort())) - .setEndpoint(String.format("%s:%d", getWgEndpoint(), getWgEndpointPort())) + .setEndpoint(getWgEndpoint() == null ? "" : String.format("%s:%d", getWgEndpoint(), getWgEndpointPort())) .setPeerPubKey(getWgPeerPubkey()) .setSelfPrivKey(getWgSelfPrivKey()) .setSelfPresharedSecret(getWgPresharedSecret()) |