aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/genkey.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* global: update copyrightJason A. Donenfeld2019-01-071-1/+1
|
* global: put SPDX identifier on its own lineJason A. Donenfeld2018-09-201-2/+2
| | | | | The kernel has very specific rules correlating file type with comment type, and also SPDX identifiers can't be merged with other comments.
* tools: getentropy requires 10.12Jason A. Donenfeld2018-06-141-1/+7
|
* tools: support getentropy(3)Jason A. Donenfeld2018-06-081-0/+11
|
* global: year bumpJason A. Donenfeld2018-01-031-1/+1
|
* global: add SPDX tags to all filesGreg Kroah-Hartman2017-12-091-1/+4
| | | | | | | | | | | | | It's good to have SPDX identifiers in all files as the Linux kernel developers are working to add these identifiers to all files. Update all files with the correct SPDX license identifier based on the license text of the project or based on the license in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Modified-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tools: use proper __linux__ ifdefJason A. Donenfeld2017-06-121-1/+1
|
* tools: support text-based ipcJason A. Donenfeld2017-05-171-1/+1
|
* tools: argc is always 1Jason A. Donenfeld2017-04-191-1/+1
|
* tools: side channel resistant base64Jason A. Donenfeld2017-04-191-11/+6
|
* Update copyrightJason A. Donenfeld2017-01-101-1/+1
|
* tools: syscall.h should actually be sys/syscall.hJason A. Donenfeld2016-12-301-1/+1
|
* headers: cleanup noticesJason A. Donenfeld2016-11-211-1/+1
|
* tools: first additions of userspace integrationJason A. Donenfeld2016-07-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is designed to work with a server that follows this: struct sockaddr_un addr = { .sun_family = AF_UNIX, .sun_path = "/var/run/wireguard/wguserspace0.sock" }; int fd, ret; ssize_t len; socklen_t socklen; struct wgdevice *device; fd = socket(AF_UNIX, SOCK_DGRAM, 0); if (fd < 0) exit(1); if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) exit(1); for (;;) { /* First we look at how big the next message is, so we know how much to * allocate. Note on BSD you can instead use ioctl(fd, FIONREAD, &len). */ len = recv(fd, NULL, 0, MSG_PEEK | MSG_TRUNC); if (len < 0) { handle_error(); continue; } /* Next we allocate a buffer for the received data. */ device = NULL; if (len) { device = malloc(len); if (!device) { handle_error(); continue; } } /* Finally we receive the data, storing too the return address. */ socklen = sizeof(addr); len = recvfrom(fd, device, len, 0, (struct sockaddr *)&addr, (socklen_t *)&socklen); if (len < 0) { handle_error(); free(device); continue; } if (!len) { /* If len is zero, it's a "get" request, so we send our device back. */ device = get_current_wireguard_device(&len); sendto(fd, device, len, 0, (struct sockaddr *)&addr, socklen); } else { /* Otherwise, we just received a wgdevice, so we should "set" and send back the return status. */ ret = set_current_wireguard_device(device); sendto(fd, &ret, sizeof(ret), 0, (struct sockaddr *)&addr, socklen); free(device); } }
* tools: always fallback to /dev/urandomJason A. Donenfeld2016-07-031-10/+8
|
* tools: improve error reporting and detectionJason A. Donenfeld2016-07-031-3/+8
|
* Initial commitJason A. Donenfeld2016-06-251-0/+59