aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* netns: use time-based test instead of quantity-basedJason A. Donenfeld2017-10-311-4/+4
|
* netns: use read built-in instead of ncat hack for dmesgJason A. Donenfeld2017-10-311-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.
* 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-111-1/+1
|
* 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
|
* tools: warn once on unrecognized itemsJason A. Donenfeld2017-10-092-0/+22
| | | | | | | | DaveM suggests we do in fact do this. Others on the same thread weren't happy about the length of the proposed message, so we also give a bit of a less dramatic warning. This reverts commit a2cc976a3b572cf308cc2d97c080eacac60416fe.
* routingtable: iterate progressivelyJason A. Donenfeld2017-10-094-53/+81
|
* routingtable: only use device's mutex, not a special rt oneJason A. Donenfeld2017-10-096-100/+38
|
* crypto/x86_64: satisfy stack validation 2.0Jason A. Donenfeld2017-10-093-31/+29
| | | | | We change this to look like the code gcc generates, so as to keep the objtool checker somewhat happy.
* qemu: bump stable kernelJason A. Donenfeld2017-10-091-1/+1
|
* Makefile: quiet recursive makeJason A. Donenfeld2017-10-091-10/+10
|
* tools: try again if dump is interruptedJason A. Donenfeld2017-10-081-1/+4
|
* socket: gcc inlining makes this fasterJason A. Donenfeld2017-10-063-11/+10
|
* socket: don't bother recomparing afterwardsJason A. Donenfeld2017-10-061-6/+4
| | | | | | | It doesn't actually matter if this races, so there's no point in making the hot path slower with the stack copy. Suggested-by: Willy Tarreau <w@1wt.eu>