From 4b5406d71c9a0ad2b65b376ed732967b6ad2a789 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 24 Jan 2019 18:07:53 +0100 Subject: Initialize project with scafolding and embeddable-wg-library --- wg-dynamic-client.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 wg-dynamic-client.c (limited to 'wg-dynamic-client.c') 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 . All Rights Reserved. + */ + +#include "netlink.h" +#include +#include +#include + +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; +} -- cgit v1.2.3-59-g8ed1b