aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-16 16:15:06 -0800
committerTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-16 16:15:06 -0800
commitb11d8042bce05cd88724f23d454ee3fa3a70d301 (patch)
treed8532008dfe40d8faeb43681a2597e4138b55cc7
parent8c71583e0633714c01def657228af9b0d47c68df (diff)
downloaddn42peering-b11d8042bce05cd88724f23d454ee3fa3a70d301.tar
dn42peering-b11d8042bce05cd88724f23d454ee3fa3a70d301.tar.gz
dn42peering-b11d8042bce05cd88724f23d454ee3fa3a70d301.tar.bz2
dn42peering-b11d8042bce05cd88724f23d454ee3fa3a70d301.zip
fix(central/agent): fix WireGuard no-endpoint peeringv1.4
-rw-r--r--agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java4
-rw-r--r--central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java9
2 files changed, 11 insertions, 2 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 d9312c1..75b8184 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
@@ -72,7 +72,7 @@ class AgentServiceImpl extends VertxAgentGrpc.AgentVertxImplBase {
request.getNode().getIpv6NonLL(),
(int)request.getId(),
request.getListenPort(),
- request.getEndpoint().isEmpty() ? "" : request.getEndpoint(),
+ request.getEndpoint().isEmpty() ? null : request.getEndpoint(),
request.getPeerPubKey(),
request.getSelfPrivKey(),
request.getSelfPresharedSecret(),
@@ -93,7 +93,7 @@ class AgentServiceImpl extends VertxAgentGrpc.AgentVertxImplBase {
request.getNode().getIpv6NonLL(),
(int)request.getId(),
request.getListenPort(),
- request.getEndpoint().isEmpty() ? "" : request.getEndpoint(),
+ request.getEndpoint().isEmpty() ? null : request.getEndpoint(),
request.getPeerPubKey(),
request.getSelfPrivKey(),
request.getSelfPresharedSecret(),
diff --git a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
index 0c5b6b1..74f3943 100644
--- a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
+++ b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
@@ -941,6 +941,15 @@ public class ManageHandler implements ISubRouter {
return Future.failedFuture(e);
}
}
+ // wg-quick will also not clear EndPoint setting if we just reload it.
+ if(canReload && // Only check if no other factors prevent us from reloading.
+ inPeer.getType() == Peer.VPNType.WIREGUARD &&
+ existingPeer.getType() == Peer.VPNType.WIREGUARD) {
+ if(inPeer.getWgEndpoint() == null &&
+ existingPeer.getWgEndpoint() != null) {
+ canReload = false;
+ }
+ }
Future<Void> future;
if (canReload) {
future = Future.<Node>future(f -> nodeService.getNode(inPeer.getNode(), f))