aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* device: do not clear keys on sleep for PM_AUTOSLEEPJason A. Donenfeld2018-10-271-4/+11
| | | | | | | | | | | This way other devices that use Android style wakelocks will also have the same semantics. We also move this logic into the handler so that it's slightly cleaner and gives us some opportunity to leave a normal comment. Suggested-by: Theodore Ts'o <tytso@mit.edu> Suggested-by: Andrew Lunn <andrew@lunn.ch> Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* curve25519-x86_64: this was relicensed to BSD-3-Clause upstreamJason A. Donenfeld2018-10-271-1/+1
|
* timers: it is always reasonable to remove a timerJason A. Donenfeld2018-10-273-17/+6
| | | | | | | | | | | | | | If struct timer_list has not been setup, it is zeroed, in which case timer_pending is false, so calling del_timer is safe. Calling del_timer is also safe on a timer that has already been del_timer'd. And calling del_timer is safe after a peer is dead, since the whole point of it being dead is that no more timers are created and all contexts eventually stop. Finally del_timer uses a lock, which means it's safe to call it concurrently. Therefore, we do not need any guards around calls to del_timer. While we're at it, we can get rid of the old lingering timers_enabled boolean which wasn't doing anything anyway anymore.
* ratelimiter: make hash calls explicitJason A. Donenfeld2018-10-271-11/+14
|
* makefile: include selftests in style checkJason A. Donenfeld2018-10-271-1/+1
|
* timers: do not use wg_peer_get_maybe_zeroJason A. Donenfeld2018-10-271-35/+13
| | | | | | | | | peer_remove calls sets is_dead to true and calls timers_stop before putting the last reference, which means whenever timers do actually trigger, they should only trigger with a reference, and therefore we don't need the maybe_zero dance. This also narrows the scope of using maybe_zero to just be lookup structures (the two hashtables and allowedips), which is what the idiom is actually meant for.
* allowedips: fix sparse warnings in optional selftestsJason A. Donenfeld2018-10-271-12/+14
|
* poly1305-donna64: mark large constants as ULLJason A. Donenfeld2018-10-271-24/+24
|
* send: consider dropped stage packets to be droppedJason A. Donenfeld2018-10-275-4/+15
| | | | Suggested-by: Andrew Lunn <andrew@lunn.ch>
* allowedips: fix up macros and annotationsJason A. Donenfeld2018-10-251-63/+70
| | | | Suggested-by: Andrew Lunn <andrew@lunn.ch>
* ratelimiter: refcounter doesn't need to be atomicJason A. Donenfeld2018-10-251-4/+4
| | | | Suggested-by: Jann Horn <jann@thejh.net>
* global: do not allow compiler to reorder is_valid or is_deadJason A. Donenfeld2018-10-254-14/+17
| | | | Suggested-by: Jann Horn <jann@thejh.net>
* peer: another peer_remove cleanupJason A. Donenfeld2018-10-252-12/+42
|
* wg.8: AllowedIPs isn't actually requiredJason A. Donenfeld2018-10-191-1/+1
| | | | | | | An empty allowed IPs is totally valid, for folks wishing to move IP addresses between multiple peers atomically. Suggested-by: Comex <comexk@gmail.com>
* wg.8: specify that wg(8) shows runtime info tooJason A. Donenfeld2018-10-191-1/+1
| | | | Suggested-by: Comex <comexk@gmail.com>
* version: bump snapshot0.0.20181018Jason A. Donenfeld2018-10-182-2/+2
|
* tools: wg-quick: wait for interface to disappear on freebsdJason A. Donenfeld2018-10-131-0/+9
|
* tools: don't fail if a netlink interface dump is inconsistentJason A. Donenfeld2018-10-131-2/+9
| | | | | | | | | | Netlink returns NLM_F_DUMP_INTR if the set of all tunnels changed during the dump. That's unfortunate, but is pretty common on busy systems that are adding and removing tunnels all the time. Rather than retrying, potentially indefinitely, we just work with the partial results. Reported-by: Robert Gerus <ar@is-a.cat>
* main: get rid of unloaded debug messageJason A. Donenfeld2018-10-101-1/+0
|
* tools: compile on gnu99Jason A. Donenfeld2018-10-091-1/+1
| | | | | | | We don't actually use any C11 features, so we can at least compile with ancient gcc. Reported-by: Aaron M. D. Jones <aaronmdjones@gmail.com>
* tools: use libc's endianness macro if no compiler macroJason A. Donenfeld2018-10-091-0/+10
| | | | | | This lets us be compiled with ancient gcc. Reported-by: Jeff Brandt <jeff@jeffcolo.net>
* global: give if statements brackets and other cleanupsJason A. Donenfeld2018-10-0910-27/+40
|
* main: change module descriptionJason A. Donenfeld2018-10-081-1/+1
| | | | Suggested-by: Jiri Pirko <jiri@resnulli.us>
* device: use textual error labels alwaysJason A. Donenfeld2018-10-081-22/+23
| | | | Suggested-by: Jiri Pirko <jiri@resnulli.us>
* allowedips: swap endianness early onArnd Bergmann2018-10-081-6/+9
| | | | | | | | Otherwise if gcc's optimizer is able to look far in but not overly far in, we wind up with "warning: 'key' may be used uninitialized in this function [-Wmaybe-uninitialized]". Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* timers: avoid using control statements in macroJason A. Donenfeld2018-10-081-8/+23
| | | | Suggested-by: Andrew Lunn <andrew@lunn.ch>
* allowedips: remove control statement from macro by rewritingJason A. Donenfeld2018-10-081-68/+119
| | | | | | | This is a significant rearrangement that makes things less clear, to satisfy a checkpatch.pl requirement. Suggested-by: Andrew Lunn <andrew@lunn.ch>
* global: more nitsJason A. Donenfeld2018-10-0817-83/+91
|
* global: rename struct wireguard_ to struct wg_Jason A. Donenfeld2018-10-0822-231/+220
| | | | | | This required a bit of pruning of our christmas trees. Suggested-by: Jiri Pirko <jiri@resnulli.us>
* netlink: do not stuff index into nla typeJason A. Donenfeld2018-10-083-29/+21
| | | | | | | It's not used for anything, and LKML doesn't like the type being used as an index value. Suggested-by: Eugene Syromiatnikov <esyr@redhat.com>
* qemu: kill after 20 minutesJason A. Donenfeld2018-10-081-1/+1
|
* compat: look in Kbuild and Makefile since they differ based on archJason A. Donenfeld2018-10-081-1/+1
|
* global: prefix functions used in callbacks with wg_Jason A. Donenfeld2018-10-089-90/+95
| | | | Suggested-by: Jiri Pirko <jiri@resnulli.us>
* compat: don't output for grep errorsDavide Garberi2018-10-071-2/+2
| | | | | | | | This will make it so that kernels not having arch/$(SRCARCH)/Kbuild no longer give any (non-fatal) grep errors such as "grep: arch/arm64/Kbuild: No such file or directory". Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* version: bump snapshot0.0.20181007Jason A. Donenfeld2018-10-072-2/+2
|
* global: style nitsJason A. Donenfeld2018-10-075-32/+30
|
* crypto: clean up remaining .h->.cJason A. Donenfeld2018-10-0710-13/+13
|
* allowedips: document additional nobsJason A. Donenfeld2018-10-071-0/+12
|
* makefile: do more generic wildcard so as to avoid rename issuesJason A. Donenfeld2018-10-072-2/+2
| | | | | | | Commit ad5e4210 (global: rename include'd C files to be .c) breaks install target for dkms sources. Fix installing selftest/*.c. Suggested-by: Christian Hesse <mail@eworm.de>
* crypto: use BIT(i) & bitmap instead of (bitmap >> i) & 1Jason A. Donenfeld2018-10-071-2/+2
| | | | | | | | | | | Pros: clearer if you're not familiar with the shift idiom, uses kernel macro. Cons: doesn't work any more if the lvalue ever ceases to be a bool. Neutral: generates the same machine code. Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* crypto: disable broken implementations in selftestsJason A. Donenfeld2018-10-071-9/+8
|
* compat: clang cannot handle __builtin_constant_pJason A. Donenfeld2018-10-071-0/+7
| | | | | | Or, put differently, we don't want to go chasing down random versions of clang used by XDA users, so we just disable this checking on clang all together.
* compat: make asm/simd.h conditional on its existenceJason A. Donenfeld2018-10-075-23/+24
| | | | Android kernels backported it, complicating things.
* compat: account for ancient ARM assemblerJason A. Donenfeld2018-10-061-0/+25
|
* version: bump snapshot0.0.20181006Jason A. Donenfeld2018-10-062-2/+2
|
* crypto: test all SIMD combinationsJason A. Donenfeld2018-10-0620-40/+82
|
* global: rename include'd C files to be .cJason A. Donenfeld2018-10-0625-34/+34
| | | | | | | | | This is done by 259 other files in the kernel tree: linux $ rg '#include.*\.c' -l | wc -l 259 Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* allowedips: remove ifdefs in favor of IS_ENABLEDJason A. Donenfeld2018-10-062-20/+34
|
* wg-quick.8: add policy routing exampleJason A. Donenfeld2018-10-051-0/+26
| | | | | Suggested-by: Toke Høiland-Jørgensen <toke@toke.dk> Suggested-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
* curve25519-arm: rearrange multiplications for better in-order performanceJason A. Donenfeld2018-10-041-12/+12
| | | | Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>