aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* qemu: work around bogus QEMU virt ARM machinesjd/broken-arm-qemu-serialJason A. Donenfeld2017-10-243-8/+21
| | | | | | | | | The virt machine type in QEMU only supports one native serial port, which means we're forced to add in a whole PCI bus if we want to get any more information out. Bad situation. This should be reverted as soon as upstream QEMU does something about it.
* qemu: allow for cross compilationJason A. Donenfeld2017-10-2414-97/+248
|
* crypto/avx: make sure we can actually use ymm registersJason A. Donenfeld2017-10-234-3/+23
|
* blake2: include headers for macrosJason A. Donenfeld2017-10-231-0/+2
|
* global: accept decent check_patch.pl suggestionsJason A. Donenfeld2017-10-2313-30/+44
|
* compat: fix up stat calculation for udp tunnelJason A. Donenfeld2017-10-232-5/+16
|
* stats: more robust accountingJason A. Donenfeld2017-10-234-6/+16
|
* selftest: initialize mutex in routingtable selftestJason A. Donenfeld2017-10-231-0/+2
|
* netns: use time-based test instead of quantity-basedJason A. Donenfeld2017-10-231-4/+4
|
* netns: use read built-in instead of ncat hack for dmesgJason A. Donenfeld2017-10-231-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.
* compat: these patches will soon work their way into stableJason A. Donenfeld2017-10-231-1/+1
|
* version: bump snapshot0.0.20171017Jason A. Donenfeld2017-10-172-2/+2
|
* tools: account for padding being in zero attributeJason A. Donenfeld2017-10-171-0/+6
|
* tools: newline after warningJason A. Donenfeld2017-10-171-1/+1
|
* tools: styleJason A. Donenfeld2017-10-171-1/+1
|
* qemu: put hvc directive into configurationJason A. Donenfeld2017-10-172-2/+3
|
* netns: disable accept_dad for all interfacesJason A. Donenfeld2017-10-171-0/+2
| | | | | Upstream's a2d3f3e33853ef52e5f66b41c3e8ee5710aa3305 broke things in strange and confusing ways.
* tools: add pass example to wg-quick man pageJason A. Donenfeld2017-10-171-22/+9
|
* tools: don't insist on having a private keyJason A. Donenfeld2017-10-171-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>
* tools: retry resolution except when fatalJason A. Donenfeld2017-10-173-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.
* tools: encoding: be more paranoidJason A. Donenfeld2017-10-171-2/+2
| | | | Needless, but overkill can be fun.
* Makefile: even prettier outputJason A. Donenfeld2017-10-172-3/+7
|
* qemu: newer packagesJason A. Donenfeld2017-10-171-37/+50
|
* qemu: always create directory before untarringJason A. Donenfeld2017-10-171-1/+9
|
* qemu: phase out bitbangingJason A. Donenfeld2017-10-173-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>
* qemu: open /dev/console if we're started earlyJason A. Donenfeld2017-10-171-3/+19
|
* qemu: simplify shutdownJason A. Donenfeld2017-10-171-4/+2
| | | | | Now that we have the watchdog, killing the watchdog process is another way of shutting down.
* qemu: add more debugging options to main makefileJason A. Donenfeld2017-10-172-13/+11
|
* qemu: work on ubuntu toolchainJason A. Donenfeld2017-10-171-1/+1
|
* qemu: add build-only targetJason A. Donenfeld2017-10-171-0/+3
| | | | Useful for IDEs
* selftest: better test index for rate limiterJason A. Donenfeld2017-10-171-2/+13
|
* blake2s: modernize API and have faster _finalJason A. Donenfeld2017-10-172-48/+64
|
* Makefile: do not clean before clocJason A. Donenfeld2017-10-171-2/+2
|
* receive: improve control flowJason A. Donenfeld2017-10-171-4/+2
|
* compat: support READ_ONCEJason A. Donenfeld2017-10-171-0/+4
|
* device: no need to take lock for integer comparisonJason A. Donenfeld2017-10-171-4/+3
|
* device: our use of queues means this check is worthlessJason A. Donenfeld2017-10-171-6/+0
|
* socket: eliminate dead codeJason A. Donenfeld2017-10-171-2/+1
|
* send: improve dead packet control flowJason A. Donenfeld2017-10-171-6/+3
|
* noise: no need to take the RCU lock if we're not dereferencingJason A. Donenfeld2017-10-171-4/+2
|
* compat: just make ro_after_init read_mostlyJason A. Donenfeld2017-10-172-3/+5
|
* noise: handshake constants can be read-only after initJason A. Donenfeld2017-10-171-2/+2
|
* version: bump snapshot0.0.20171011Jason A. Donenfeld2017-10-112-2/+2
|
* contrib: filter compat linesJason A. Donenfeld2017-10-112-1/+29
|
* receive: disable bh before using stats seq lockJason A. Donenfeld2017-10-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | Otherwise we might get a situation like this: CPU0 CPU1 ---- ---- lock(tstats lock); local_irq_disable(); lock(queue lock); lock(tstats lock); <Interrupt> lock(queue lock); CPU1 is waiting for CPU0 to release tstats lock. But CPU0, in the interrupt handler, is waiting for CPU1 to release queue lock. The solution is to disable interrupts on CPU0, so that this can't happen. Note that this only affects 32-bit, since u64_stats_update_begin nops out on native 64-bit platforms. Reported-by: René van Dorst <opensource@vdorst.com>
* tools: man: include kill-switch documentation using fwmarkJason A. Donenfeld2017-10-111-0/+36
|
* socket: set skb->mark in addition to flowiJason A. Donenfeld2017-10-111-0/+2
| | | | | Otherwise netfilter's ip_route_me_harder doesn't know how to reroute this and we get a nasty loop.
* send: do not requeue if packet is deadJason A. Donenfeld2017-10-111-1/+6
|
* compat: move version logic to compat.h and out of main .cJason A. Donenfeld2017-10-113-8/+22
|
* tools: store tail pointer to make coalescing peers fastJason A. Donenfeld2017-10-102-74/+70
|