aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/config.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-01-24 04:11:56 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2017-02-07 12:21:22 +0100
commit666623a82e32f82e9c165bffc691a21b4d47e739 (patch)
treed93ec7ecb2a967aad32fc14cf8eb6ade0285691f /src/config.c
parentwg-quick: recommend using resolvconf in exclusive mode (diff)
downloadwireguard-tools-666623a82e32f82e9c165bffc691a21b4d47e739.tar.xz
wireguard-tools-666623a82e32f82e9c165bffc691a21b4d47e739.zip
wg: setconf should remove existing psk
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index ddeec15..e6db6ad 100644
--- a/src/config.c
+++ b/src/config.c
@@ -370,6 +370,9 @@ bool config_read_finish(struct config_ctx *ctx)
fprintf(stderr, "No private key configured\n");
goto err;
}
+ if (ctx->buf.dev->flags & WGDEVICE_REPLACE_PEERS && !key_is_valid(ctx->buf.dev->preshared_key))
+ ctx->buf.dev->flags |= WGDEVICE_REMOVE_PRESHARED_KEY;
+
for_each_wgpeer(ctx->buf.dev, peer, i) {
if (!key_is_valid(peer->public_key)) {
fprintf(stderr, "A peer is missing a public key\n");