aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Eckert <fe@dev.tdt.de>2019-12-05 11:33:38 +0100
committerJohn Crispin <john@phrozen.org>2020-01-15 21:19:01 +0100
commit7151054abd5d43bf4c623e311a4c1046af4fff94 (patch)
tree4e8a09d2173a00c831ce3b7c7ca8aa459ebfd009
parentd9cfa827acd9155429e4f2b00bc0052156aa5d4d (diff)
downloadupstream-7151054abd5d43bf4c623e311a4c1046af4fff94.tar.gz
upstream-7151054abd5d43bf4c623e311a4c1046af4fff94.tar.bz2
upstream-7151054abd5d43bf4c623e311a4c1046af4fff94.zip
wireguard: skip peer config if public key of the peer is not defined
If a config section of a peer does not have a public key defined, the whole interface does not start. The following log is shown daemon.notice netifd: test (21071): Line unrecognized: `PublicKey=' daemon.notice netifd: test (21071): Configuration parsing erro The command 'wg show' does only show the interface name. With this change we skip the peer for this interface and emit a log message. So the other peers get configured. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
-rw-r--r--package/network/utils/wireguard-tools/files/wireguard.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/utils/wireguard-tools/files/wireguard.sh b/package/network/utils/wireguard-tools/files/wireguard.sh
index 4c811c6ba9..ccac34e45f 100644
--- a/package/network/utils/wireguard-tools/files/wireguard.sh
+++ b/package/network/utils/wireguard-tools/files/wireguard.sh
@@ -42,6 +42,11 @@ proto_wireguard_setup_peer() {
config_get endpoint_port "${peer_config}" "endpoint_port"
config_get persistent_keepalive "${peer_config}" "persistent_keepalive"
+ if [ -z "$public_key" ]; then
+ echo "Skipping peer config $peer_config because public key is not defined."
+ return 0
+ fi
+
echo "[Peer]" >> "${wg_cfg}"
echo "PublicKey=${public_key}" >> "${wg_cfg}"
if [ "${preshared_key}" ]; then