diff mbox series

[OpenWrt-Devel] wireguard: skip peer config if public key of the peer is not defined

Message ID 20191204103047.17139-1-fe@dev.tdt.de
State Superseded
Headers show
Series [OpenWrt-Devel] wireguard: skip peer config if public key of the peer is not defined | expand

Commit Message

Florian Eckert Dec. 4, 2019, 10:30 a.m. UTC
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>
---
 package/network/services/wireguard/files/wireguard.sh | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Adrian Schmutzler Dec. 4, 2019, 8:41 p.m. UTC | #1
Hi,

> +	if [ -z "$public_key" ]; then
> +		echo "Skipping peer config $peer_config public key not
> defined"

That's not a sentence. Either add a colon after $peer_config or make it a
real sentence:

"Skipping peer config $peer_config because public key is not defined."

Best

Adrian
diff mbox series

Patch

diff --git a/package/network/services/wireguard/files/wireguard.sh b/package/network/services/wireguard/files/wireguard.sh
index 4c811c6ba9..f89be583f7 100644
--- a/package/network/services/wireguard/files/wireguard.sh
+++ b/package/network/services/wireguard/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 public key not defined"
+		return 0
+	fi
+
 	echo "[Peer]" >> "${wg_cfg}"
 	echo "PublicKey=${public_key}" >> "${wg_cfg}"
 	if [ "${preshared_key}" ]; then