Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2017-11-01 | timers: switch to kees' new timer_list functions | Jason A. Donenfeld | 2 | -17/+22 | |
2017-11-01 | wg-quick: save all hooks on save | Jason A. Donenfeld | 1 | -5/+13 | |
2017-10-31 | version: bump snapshot0.0.20171031 | Jason A. Donenfeld | 2 | -2/+2 | |
2017-10-31 | wg-quick: fsync the temporary file before renaming | Jason A. Donenfeld | 1 | -0/+1 | |
This ensures that on an unclean shutdown, we either see the old content or the new content, but not empty content. Suggested-by: Ka Ho Ng <ngkaho1234@gmail.com> | |||||
2017-10-31 | wg-quick: allow for saving existing interface | Jason A. Donenfeld | 2 | -2/+14 | |
2017-10-31 | contrib: add reresolve-dns | Jason A. Donenfeld | 2 | -0/+48 | |
2017-10-31 | tools: correct type for CTRL_ATTR_FAMILY_ID | Jason A. Donenfeld | 1 | -4/+4 | |
Suggested-by: Jörg Thalheim <joerg@thalheim.io> | |||||
2017-10-31 | wg-quick: allow for the hatchet, but not by default | Jason A. Donenfeld | 4 | -0/+55 | |
2017-10-31 | global: use fewer BUG_ONs | Jason A. Donenfeld | 2 | -3/+5 | |
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||
2017-10-31 | timers: guard entire setting in block | Jason A. Donenfeld | 1 | -4/+6 | |
2017-10-31 | curve25519: only enable int128 if compiler support is sound | Jason A. Donenfeld | 1 | -1/+1 | |
2017-10-31 | device: expand scope of destruct lock | Jason A. Donenfeld | 1 | -2/+2 | |
2017-10-31 | global: get rid of useless forward declarations | Jason A. Donenfeld | 3 | -11/+0 | |
2017-10-31 | device: only take reference if netns is different | Jason A. Donenfeld | 3 | -9/+56 | |
If we take two references, the namespace and the device are never freed in the usual manner. We should thus only take a reference to another namespace when it is a different namespace from our own. | |||||
2017-10-31 | wg-quick: remember to rewind DNS settings on failure | Jason A. Donenfeld | 1 | -3/+8 | |
2017-10-31 | wg-quick: allow specifiying multiple hooks | Jason A. Donenfeld | 2 | -18/+21 | |
2017-10-31 | qemu: test using four cores | Jason A. Donenfeld | 1 | -1/+1 | |
2017-10-31 | global: style nits | Jason A. Donenfeld | 27 | -274/+470 | |
2017-10-31 | qemu: work around ccache bugs | Jason A. Donenfeld | 1 | -1/+1 | |
2017-10-31 | global: infuriating kernel iterator style | Jason A. Donenfeld | 13 | -48/+48 | |
One types: for (i = 0 ... So one should also type: for_each_obj (obj ... But the upstream kernel style guidelines are insane, and so we must instead do: for_each_obj(obj ... Ugly, but one must choose his battles wisely. | |||||
2017-10-31 | peer: store total number of peers instead of iterating | Jason A. Donenfeld | 3 | -15/+4 | |
This is faster, since it means adding a new peer is O(1) instead of O(n). It's also safe to do because we're holding the device_update_lock on both the ++ and the --. | |||||
2017-10-31 | peer: get rid of peer_for_each magic | Jason A. Donenfeld | 3 | -41/+17 | |
Since the peer list is protected by the device_update_lock, and since items are removed from the peer list before putting their final reference, we don't actually need to take a reference when iterating. This allows us to simplify the macro considerably. Suggested-by: Johannes Berg <johannes@sipsolutions.net> | |||||
2017-10-31 | compat: be sure to include header before testing | Jason A. Donenfeld | 1 | -0/+1 | |
Reported-by: Aaron M. D. Jones <aaronmdjones@gmail.com> | |||||
2017-10-31 | qemu: allow for cross compilation | Jason A. Donenfeld | 14 | -98/+249 | |
2017-10-31 | crypto/avx: make sure we can actually use ymm registers | Jason A. Donenfeld | 4 | -3/+23 | |
2017-10-31 | blake2: include headers for macros | Jason A. Donenfeld | 1 | -0/+2 | |
2017-10-31 | global: accept decent check_patch.pl suggestions | Jason A. Donenfeld | 13 | -30/+44 | |
2017-10-31 | compat: fix up stat calculation for udp tunnel | Jason A. Donenfeld | 2 | -5/+16 | |
2017-10-31 | stats: more robust accounting | Jason A. Donenfeld | 4 | -6/+18 | |
2017-10-31 | selftest: initialize mutex in routingtable selftest | Jason A. Donenfeld | 1 | -0/+2 | |
2017-10-31 | netns: use time-based test instead of quantity-based | Jason A. Donenfeld | 1 | -4/+4 | |
2017-10-31 | netns: use read built-in instead of ncat hack for dmesg | Jason A. Donenfeld | 1 | -4/+2 | |
This misses lines that are greater than 128 bytes -- read returns -EINVAL -- but the lines we care about anyway are less than that, so we simply keep looping and skip the bad reads when this happens. Not ideal, but probably the best we can do in pure bash. And, importantly, it's much better than streaming this over a TCP socket, which was an even uglier hack. | |||||
2017-10-17 | version: bump snapshot0.0.20171017 | Jason A. Donenfeld | 2 | -2/+2 | |
2017-10-17 | tools: account for padding being in zero attribute | Jason A. Donenfeld | 1 | -0/+6 | |
2017-10-17 | tools: newline after warning | Jason A. Donenfeld | 1 | -1/+1 | |
2017-10-17 | tools: style | Jason A. Donenfeld | 1 | -1/+1 | |
2017-10-17 | qemu: put hvc directive into configuration | Jason A. Donenfeld | 2 | -2/+3 | |
2017-10-17 | netns: disable accept_dad for all interfaces | Jason A. Donenfeld | 1 | -0/+2 | |
Upstream's a2d3f3e33853ef52e5f66b41c3e8ee5710aa3305 broke things in strange and confusing ways. | |||||
2017-10-17 | tools: add pass example to wg-quick man page | Jason A. Donenfeld | 1 | -22/+9 | |
2017-10-17 | tools: don't insist on having a private key | Jason A. Donenfeld | 1 | -5/+0 | |
This lets us do flexible things from wg-quick such as: PostUp = wg set %i private-key <(pass WireGuard/private-keys/%i) It also was never a very sensible policy to enforce. Suggested-by: Luis Ressel <aranea@aixah.de> | |||||
2017-10-17 | tools: retry resolution except when fatal | Jason A. Donenfeld | 3 | -21/+23 | |
The reference to this is <https://sourceware.org/glibc/wiki/NameResolver>, which mentions: "From the perspective of the application that calls getaddrinfo() it perhaps doesn't matter that much since EAI_FAIL, EAI_NONAME and EAI_NODATA are all permanent failure codes and the causes are all permanent failures in the sense that there is no point in retrying later." This should cover more early-boot situations. While we're at it, we clean up the logic a bit so that we don't have a retry message on the final non-retrying attempt. We also peer into errno when receiving EAI_SYSTEM, to report to the user what actually happened. Also, fix the quoting back tick front tick mess. | |||||
2017-10-17 | tools: encoding: be more paranoid | Jason A. Donenfeld | 1 | -2/+2 | |
Needless, but overkill can be fun. | |||||
2017-10-17 | Makefile: even prettier output | Jason A. Donenfeld | 2 | -3/+7 | |
2017-10-17 | qemu: newer packages | Jason A. Donenfeld | 1 | -37/+50 | |
2017-10-17 | qemu: always create directory before untarring | Jason A. Donenfeld | 1 | -1/+9 | |
2017-10-17 | qemu: phase out bitbanging | Jason A. Donenfeld | 3 | -28/+5 | |
Although I was secretly proud of having figured out these unholy hacks, it turns out -no-reboot lets us do things in a platform-independent way. Suggested-by: Jann Horn <jann@thejh.net> | |||||
2017-10-17 | qemu: open /dev/console if we're started early | Jason A. Donenfeld | 1 | -3/+19 | |
2017-10-17 | qemu: simplify shutdown | Jason A. Donenfeld | 1 | -4/+2 | |
Now that we have the watchdog, killing the watchdog process is another way of shutting down. | |||||
2017-10-17 | qemu: add more debugging options to main makefile | Jason A. Donenfeld | 2 | -13/+11 | |
2017-10-17 | qemu: work on ubuntu toolchain | Jason A. Donenfeld | 1 | -1/+1 | |