aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2021-04-02 19:23:01 -0700
committerTrumeet <yuuta@yuuta.moe>2021-04-02 19:23:01 -0700
commit1b7b192507aa69af598dfc896a6c77f7996d1731 (patch)
tree304ff4b994d7efb9ee32ca65919f52b7d4144f1b
parent9d2cf8c59154ae6cb9f4157f93af7ec11c63ec15 (diff)
downloaddn42peering-1b7b192507aa69af598dfc896a6c77f7996d1731.tar
dn42peering-1b7b192507aa69af598dfc896a6c77f7996d1731.tar.gz
dn42peering-1b7b192507aa69af598dfc896a6c77f7996d1731.tar.bz2
dn42peering-1b7b192507aa69af598dfc896a6c77f7996d1731.zip
fix(agent): null pointer while rendering WireGuard configuration
getPeerIPv6() will return "" rather than null if the actual value should be null. However, '<#if peer_ipv6??>' in the template will only check it for null, not for empty. Therefore, when peer_ipv6 equals to "", the peer_ipv6_ll will not be set and thus, lead to a null pointer rendering error at wg_conf.ftlh:8.
-rw-r--r--agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java
index de89953..fbdbd3f 100644
--- a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java
+++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java
@@ -100,8 +100,8 @@ public class WireGuardProvisioner implements IProvisioner<WireGuardConfig> {
params.put("dev", config.getInterface());
params.put("self_ipv4", node.getIpv4());
params.put("peer_ipv4", config.getPeerIPv4());
- params.put("peer_ipv6", config.getPeerIPv6());
if (!config.getPeerIPv6().equals("")) {
+ params.put("peer_ipv6", config.getPeerIPv6());
try {
final boolean ll = Inet6Address.getByName(config.getPeerIPv6()).isLinkLocalAddress();
params.put("peer_ipv6_ll", ll);