diff options
author | Trumeet <yuuta@yuuta.moe> | 2021-04-02 19:23:01 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2021-04-02 19:23:01 -0700 |
commit | 1b7b192507aa69af598dfc896a6c77f7996d1731 (patch) | |
tree | 304ff4b994d7efb9ee32ca65919f52b7d4144f1b | |
parent | 9d2cf8c59154ae6cb9f4157f93af7ec11c63ec15 (diff) | |
download | dn42peering-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.java | 2 |
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); |