diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-03-11 15:35:15 -0700 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-03-11 15:35:15 -0700 |
commit | 4e4867dc95126f27bbb487a5d72c58916ca53e93 (patch) | |
tree | e5a8994c3d6eed8304d45b5a3676f240524aeeec | |
parent | ipc: freebsd: add initial FreeBSD support (diff) | |
download | wireguard-tools-4e4867dc95126f27bbb487a5d72c58916ca53e93.tar.xz wireguard-tools-4e4867dc95126f27bbb487a5d72c58916ca53e93.zip |
ipc: uniformly ignore preshared keys that are zero
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | src/ipc-freebsd.h | 3 | ||||
-rw-r--r-- | src/ipc-openbsd.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ipc-freebsd.h b/src/ipc-freebsd.h index e8037af..2c10c10 100644 --- a/src/ipc-freebsd.h +++ b/src/ipc-freebsd.h @@ -136,7 +136,8 @@ static int kernel_get_device(struct wgdevice **device, const char *ifname) binary = nvlist_get_binary(nvl_peers[i], "preshared-key", &size); if (binary && size == sizeof(peer->preshared_key)) { memcpy(peer->preshared_key, binary, sizeof(peer->preshared_key)); - peer->flags |= WGPEER_HAS_PRESHARED_KEY; + if (!key_is_zero(peer->preshared_key)) + peer->flags |= WGPEER_HAS_PRESHARED_KEY; } } if (nvlist_exists_number(nvl_peers[i], "persistent-keepalive-interval")) { diff --git a/src/ipc-openbsd.h b/src/ipc-openbsd.h index 30554b1..c529d9a 100644 --- a/src/ipc-openbsd.h +++ b/src/ipc-openbsd.h @@ -129,7 +129,8 @@ static int kernel_get_device(struct wgdevice **device, const char *iface) if (wg_peer->p_flags & WG_PEER_HAS_PSK) { memcpy(peer->preshared_key, wg_peer->p_psk, sizeof(peer->preshared_key)); - peer->flags |= WGPEER_HAS_PRESHARED_KEY; + if (!key_is_zero(peer->preshared_key)) + peer->flags |= WGPEER_HAS_PRESHARED_KEY; } if (wg_peer->p_flags & WG_PEER_HAS_PKA) { |