[PATCH 1/1] wg syncconf: explicitly reset PresharedKey/PersistentKeepalive

Andreas Weigel andreas.weigel at posteo.de
Fri Apr 22 17:45:06 UTC 2022


make wg syncconf correctly clear a preshared key or keepalive in case
the file config does not define those; currently syncconf does not
change these settings at all if runtime has them set but file does not
---
 src/setconf.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/setconf.c b/src/setconf.c
index bfd0a3a..8661a92 100644
--- a/src/setconf.c
+++ b/src/setconf.c
@@ -63,6 +63,14 @@ static bool sync_conf(struct wgdevice *file)
 	}
 
 	for_each_wgpeer(file, peer) {
+		if (!(peer->flags & WGPEER_HAS_PRESHARED_KEY)) {
+			memset(peer->preshared_key, 0, WG_KEY_LEN);
+			peer->flags |= WGPEER_HAS_PRESHARED_KEY;
+		}
+		if (!(peer->flags & WGPEER_HAS_PERSISTENT_KEEPALIVE_INTERVAL)) {
+			peer->persistent_keepalive_interval = 0;
+			peer->flags |= WGPEER_HAS_PERSISTENT_KEEPALIVE_INTERVAL;
+		}
 		pubkeys[i].pubkey = peer->public_key;
 		pubkeys[i].from_file = true;
 		++i;
-- 
2.25.1



More information about the WireGuard mailing list