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