diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-01-24 18:07:53 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-01-24 18:47:02 +0100 |
commit | 4b5406d71c9a0ad2b65b376ed732967b6ad2a789 (patch) | |
tree | 23a5b4cafde5dc88ed2c4addf8ff17ece13543b7 /wg-dynamic-client.c | |
download | wg-dynamic-4b5406d71c9a0ad2b65b376ed732967b6ad2a789.tar.xz wg-dynamic-4b5406d71c9a0ad2b65b376ed732967b6ad2a789.zip |
Initialize project with scafolding and embeddable-wg-library
Diffstat (limited to 'wg-dynamic-client.c')
-rw-r--r-- | wg-dynamic-client.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/wg-dynamic-client.c b/wg-dynamic-client.c new file mode 100644 index 0000000..2825eb2 --- /dev/null +++ b/wg-dynamic-client.c @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: LGPL-2.1+ +/* + * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. + */ + +#include "netlink.h" +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +int main(int argc __attribute__((unused)), char *argv[] __attribute__((unused))) +{ + char *device_names, *device_name; + size_t len; + + device_names = wg_list_device_names(); + if (!device_names) { + perror("Unable to get device names"); + return 1; + } + wg_for_each_device_name(device_names, device_name, len) { + wg_device *device; + wg_peer *peer; + wg_key_b64_string key; + + if (wg_get_device(&device, device_name) < 0) { + perror("Unable to get device"); + continue; + } + wg_key_to_base64(key, device->public_key); + printf("%s has public key %s\n", device_name, key); + wg_for_each_peer(device, peer) { + wg_key_to_base64(key, peer->public_key); + printf(" - peer %s\n", key); + } + wg_free_device(device); + } + free(device_names); + return 0; +} |