Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2017-05-30 | compat: ship padata if kernel doesn't have it | Jason A. Donenfeld | 3 | -11/+1055 | |
2017-05-30 | man: update wg-quick(8) to show Debian resolvconf braindamage | Jason A. Donenfeld | 1 | -2/+2 | |
While OpenResolv supports explicit ordering directives such as `-m` and exclusivity directives such as `-x`, Debian's own resolvconf supports none of this, instead using a hard coded list of interface name templates for determining ordering. While trying to emulate `-x` is difficult [*], we can at least try to mostly emulate `-m 0` by masquerading as a `tun*` interface to resolvconf. Ugly, but it works. [*] One heavy handed way of emulating `-x` would be something like: # echo nameserver 8.8.8.8 > /etc/resolv.conf.wg0-exclusive # mount --bind -o ro /etc/resolv.conf.wg0-exclusive /etc/resolv.conf # rm -f /etc/resolv.conf.wg0-exclusive This in practice works quite well, but is a bit heavy to put in a man page. It also doesn't "stack" well. For example, if we simply run `umount /etc/resolv.conf`, how do we know which resolv.conf entry we're unmounting? | |||||
2017-05-30 | chacha20poly1305: add NEON versions for ARM and ARM64 | Jason A. Donenfeld | 6 | -12/+1048 | |
2017-05-21 | chacha20poly1305: move constants to rodata | Jason A. Donenfeld | 5 | -14/+27 | |
2017-05-18 | wg-quick: use src routing for default routes in v6 | Jason A. Donenfeld | 1 | -3/+11 | |
Otherwise, traffic is sent with the IP address of a different interface, and then packets don't actually get delivered. | |||||
2017-05-18 | man: fix psk mention in wg-quick man page | Jason A. Donenfeld | 1 | -2/+2 | |
2017-05-17 | version: bump snapshot0.0.20170517 | Jason A. Donenfeld | 2 | -2/+2 | |
2017-05-17 | tools: opt-in globally to GNU-isms to keep the BSDs happy | Jason A. Donenfeld | 2 | -2/+1 | |
2017-05-17 | tools: support text-based ipc | Jason A. Donenfeld | 8 | -131/+321 | |
2017-05-17 | tools: check for proto error on set too | Jason A. Donenfeld | 1 | -3/+4 | |
2017-05-17 | Kbuild: optimize debug builds too | Jason A. Donenfeld | 1 | -1/+1 | |
2017-05-17 | tests: check for stats counter increases | Jason A. Donenfeld | 1 | -0/+4 | |
The kernel API for this has changed a lot, so this test is important to ensure our compat layer is doing the right thing. | |||||
2017-05-17 | qemu: new location for test kernels | Jason A. Donenfeld | 1 | -3/+3 | |
2017-05-17 | tools: stricter key file reading | Jason A. Donenfeld | 1 | -31/+40 | |
2017-05-17 | jerry-rig: symlinks are better for tree patching | Jason A. Donenfeld | 3 | -5/+6 | |
Use a symlink instead of lots of ../../.. Suggested-by: Benedikt Morbach <benedikt.morbach@googlemail.com> | |||||
2017-05-17 | noise: redesign preshared key mode | Jason A. Donenfeld | 19 | -225/+224 | |
2017-05-17 | chacha20poly1305: implement vectorized hchacha20 | Jason A. Donenfeld | 2 | -21/+157 | |
2017-05-17 | qemu: new packages and better debugging | Jason A. Donenfeld | 2 | -12/+13 | |
2017-05-17 | tools: wg-quick: auto MTU discovery | Jason A. Donenfeld | 2 | -1/+28 | |
2017-05-17 | tools: retry name resolution on temporary failure | Jason A. Donenfeld | 1 | -1/+10 | |
This should solve many problems at init time. | |||||
2017-05-17 | compat: remember to call iptunnel_xmit_stats | Jason A. Donenfeld | 1 | -4/+13 | |
Upstream's 039f50629b7f860f36644ed1f34b27da9aa62f43 only came in 4.5 | |||||
2017-05-17 | compat: use real crypto_memneq | Jason A. Donenfeld | 4 | -14/+181 | |
2017-05-17 | compat: work around ubnt offloading | Jason A. Donenfeld | 1 | -0/+4 | |
2017-05-04 | compat: ssse3 support | Jason A. Donenfeld | 1 | -0/+4 | |
2017-04-24 | compat: use existing iptunnel_xmit function for stats | Jason A. Donenfeld | 1 | -7/+2 | |
2017-04-21 | version: bump snapshot0.0.20170421 | Jason A. Donenfeld | 2 | -2/+2 | |
2017-04-21 | routingtable: rewrite core functions | Jason A. Donenfeld | 5 | -439/+634 | |
When removing by peer, prev needs to be set to *nptr in order to traverse that part of the trie. The other remove by IP function can simply be removed, as it's not in use. The root freeing function can use pre-order traversal instead of post-order. The pre-order traversal code in general is now a nice iterator macro. The common bits function can use the fast fls instructions and the match function can be rewritten to simply compare common bits. While we're at it, let's add tons of new tests, randomized checking against a dumb implementation, and graphviz output. And in general, it's nice to clean things up. | |||||
2017-04-21 | compat: work on old 3.10 | Jason A. Donenfeld | 2 | -0/+35 | |
2017-04-21 | config: don't allow no-privatekey to mask preshared | Jason A. Donenfeld | 1 | -1/+2 | |
2017-04-21 | cookie: move the bangs | Jason A. Donenfeld | 1 | -2/+2 | |
2017-04-20 | tools: no hyphen in preshared, to keep uniformity | Jason A. Donenfeld | 4 | -5/+5 | |
2017-04-19 | tools: argc is always 1 | Jason A. Donenfeld | 1 | -1/+1 | |
2017-04-19 | tools: check for malloc failure | Jason A. Donenfeld | 1 | -0/+4 | |
2017-04-19 | tools: side channel resistant base64 | Jason A. Donenfeld | 10 | -260/+87 | |
2017-04-14 | netns: cleanup and add diagram | Jason A. Donenfeld | 1 | -7/+18 | |
2017-04-14 | device: use rcu_barrier_bh | Jason A. Donenfeld | 1 | -2/+2 | |
2017-04-14 | qemu: work on ARM64 | Jason A. Donenfeld | 3 | -5/+21 | |
2017-04-09 | receive: netif_rx consumes | Jason A. Donenfeld | 1 | -1/+3 | |
2017-04-09 | version: bump snapshot0.0.20170409 | Jason A. Donenfeld | 2 | -2/+2 | |
2017-04-09 | compat: warn on < 4.1 | Jason A. Donenfeld | 1 | -0/+2 | |
2017-04-09 | compat: careful with destructors | Jason A. Donenfeld | 2 | -7/+7 | |
2017-04-09 | compat: support 3.10 | Jason A. Donenfeld | 3 | -5/+106 | |
2017-04-09 | compat: support 3.12 | Jason A. Donenfeld | 8 | -7/+240 | |
2017-04-09 | compat: support 3.14 | Jason A. Donenfeld | 3 | -8/+132 | |
2017-04-09 | compat: support 3.16 | Jason A. Donenfeld | 8 | -111/+579 | |
2017-04-09 | data: alloca is actually as dangerous as they say | Jason A. Donenfeld | 1 | -6/+4 | |
It turns out that calling alloca from an inline function means that the memory isn't ever deallocated until the caller function exits, which means we were using tons of stack space for every iteration of the call. So, we hard code the sg array. While 128 seems like a reasonable number, we actually wind up using "MAX_SKB_FRAGS * 2 + 1". An skb has its data segment, so that's 1. Then it has its frags, which are MAX_SKB_FRAGS at max. Then it has its frag list, which, so far as I can tell, are potentially unbounded. So we just hope it's no more than MAX_SKB_FRAGS, and so we plan for at most two of those. | |||||
2017-04-08 | debug: cleanups | Jason A. Donenfeld | 2 | -3/+3 | |
2017-04-08 | qemu: ensure kernel is configured before headers are installed | Jason A. Donenfeld | 1 | -1/+1 | |
2017-04-08 | data: cleanup parallel workqueue and use two max_active | Jason A. Donenfeld | 7 | -29/+31 | |
2017-04-04 | data: simplify flow | Jason A. Donenfeld | 4 | -94/+45 | |