diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2020-05-13 17:34:23 +0200 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2020-05-13 17:34:23 +0200 |
commit | 92479e318f2dd3373099f191df7d2ab268bab34d (patch) | |
tree | 969a24d9aa2497bdb9ea7a450d83662e9bebc517 /sysdep/unix/wg_user.c | |
parent | bbfddf117595d7a3bb078e5836d94fe074972a21 (diff) |
work-around problem with listen_port mutex dead lock
Diffstat (limited to 'sysdep/unix/wg_user.c')
-rw-r--r-- | sysdep/unix/wg_user.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sysdep/unix/wg_user.c b/sysdep/unix/wg_user.c index 7c33f086..8c8f9dc4 100644 --- a/sysdep/unix/wg_user.c +++ b/sysdep/unix/wg_user.c @@ -194,8 +194,13 @@ static int user_put_device(wg_device *dev, byte **buf, uint *size) { wg_put_u16("set", 1, buf, size); - wg_put_key("private_key", dev->private_key, buf, size); - wg_put_u16("listen_port", dev->listen_port, buf, size); + if (dev->flags & WGDEVICE_HAS_PRIVATE_KEY) + wg_put_key("private_key", dev->private_key, buf, size); +#if 0 + /* Setting listen_port causes dead-lock in wireguard-go. */ + if (dev->flags & WGDEVICE_HAS_LISTEN_PORT) + wg_put_u16("listen_port", dev->listen_port, buf, size); +#endif wg_put_bool("replace_peers", dev->flags & WGDEVICE_REPLACE_PEERS, buf, size); wg_peer *peer = NULL; |