aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tools (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tools: chill modern gcc outJason A. Donenfeld2016-11-051-22/+12
|
* qemu: move build outside of kernel dir to avoid kernel's make cleanJason A. Donenfeld2016-11-051-3/+0
|
* tools: abstract pkg-config to PKG_CONFIGexperimental-0.0.20161102Jason A. Donenfeld2016-11-021-2/+3
| | | | | Distros like Exherbo have multitarget setups with toolnames prefixed by the arch.
* tools: everybody hates automatic strippingJason A. Donenfeld2016-11-021-1/+1
| | | | | | | | | I happen to like it, but package managers don't. The GNU standard [1] says there should be a separate install-strip target. I don't like duplicating code like that. So, instead, I'll just remove stripping all together. [1] https://www.gnu.org/prep/standards/html_node/Standard-Targets.html
* tools: allow multiple AllowedIPs invocationsJason A. Donenfeld2016-08-301-1/+0
| | | | It turns out this is a somewhat natural thing to do in config files.
* persistent-keepalive: change range to [1,65535]Jason A. Donenfeld2016-08-082-4/+4
|
* tools: use correct headers in ipcJason A. Donenfeld2016-08-021-2/+2
|
* tools: do not show private keys in pretty outputJason A. Donenfeld2016-08-023-3/+14
|
* c: specify static array size in function paramsJason A. Donenfeld2016-08-024-10/+10
| | | | | | | | | | | | | | | The C standard states: A declaration of a parameter as ``array of type'' shall be adjusted to ``qualified pointer to type'', where the type qualifiers (if any) are those specified within the [ and ] of the array type derivation. If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression. By changing void func(int array[4]) to void func(int array[static 4]), we automatically get the compiler checking argument sizes for us, which is quite nice.
* tools: use stream instead of seqpacketexperimental-0.0.20160722Jason A. Donenfeld2016-07-221-18/+31
| | | | To support OS X and Windows, we have to. Ugh.
* tools: Use seqpacket instead of dgramJason A. Donenfeld2016-07-222-35/+6
|
* tools: add -MP to makefileJason A. Donenfeld2016-07-221-1/+1
|
* tools: add default cflagJason A. Donenfeld2016-07-211-0/+1
|
* tools: propagate set errnoJason A. Donenfeld2016-07-211-0/+1
|
* tools: abstract sockets are dangerousJason A. Donenfeld2016-07-211-28/+1
| | | | | They have no permissions, so we're probably better off just creating a socket file with the umask set, as we do in BSD.
* tools: rename kernel to ipcJason A. Donenfeld2016-07-217-25/+25
|
* tools: support horrible freebsd/osx/unix semanticsJason A. Donenfeld2016-07-211-1/+66
|
* tools: first additions of userspace integrationJason A. Donenfeld2016-07-208-50/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix numbering in man pageJason A. Donenfeld2016-07-161-2/+2
|
* persistent keepalive: use authenticated keepalivesJason A. Donenfeld2016-07-101-5/+5
|
* persistent keepalive: documentationJason A. Donenfeld2016-07-081-3/+18
|
* persistent keepalive: add userspace supportJason A. Donenfeld2016-07-084-11/+70
|
* tools: use pkg-config in MakefileJason A. Donenfeld2016-07-061-1/+2
|
* tools: always fallback to /dev/urandomJason A. Donenfeld2016-07-031-10/+8
|
* tools: improve error reporting and detectionJason A. Donenfeld2016-07-034-24/+43
|
* contrib: remove extraneous cruftJason A. Donenfeld2016-07-011-1/+3
| | | | | | | We don't want people packaging these or even using these scripts, which are only useful for limited development circumstances, so get rid of them. More widespread development testing techniques still exist in src/debug.mk and src/netns.sh
* wg.8: wording tweaksexperimental-0.0.20160630Jason A. Donenfeld2016-07-011-5/+7
| | | | Suggested-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
* Readme: use https instead of httpDaniel Kahn Gillmor2016-06-301-1/+1
| | | | | For the websites referenced that offer https instead of http, use https.
* Initial commitJason A. Donenfeld2016-06-2521-0/+3425