aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/timers.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-12-21version: bump snapshot0.0.20171221Jason A. Donenfeld2-2/+2
2017-12-21compat: kernels < 3.13 modified genl_opsJason A. Donenfeld2-2/+8
2017-12-13crypto: compile on UMLJason A. Donenfeld4-2/+8
We basically just don't use FPU in UML.
2017-12-13wg-quick: dumber matching for default routesJason A. Donenfeld1-1/+1
2017-12-13wg-quick: add the "Table" config optionLuis Ressel2-3/+18
* Table=auto (default) selects the current behaviour * Table=off disables creation of routes altogether * All other values are passed through to "ip route add"'s table option Signed-off-by: Luis Ressel <aranea@aixah.de>
2017-12-12keygen-html: remove prebuilt fileJason A. Donenfeld7-45/+42
We also reduce the optimization level, just in case, but add closure compiler into the mix. Suggested-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2017-12-11version: bump snapshot0.0.20171211Jason A. Donenfeld2-2/+2
2017-12-11chacha20poly1305: wire up avx512vl for skylake-xJason A. Donenfeld5-6/+99
2017-12-11chacha20: avx512vl implementationSamuel Neves2-0/+571
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-12-11poly1305: fix avx512f alignment bugSamuel Neves1-1/+1
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-12-11chacha20poly1305: cleaner generic codeJason A. Donenfeld1-90/+49
2017-12-09blake2s-x86_64: fix spacingJason A. Donenfeld1-70/+70
2017-12-09global: add SPDX tags to all filesGreg Kroah-Hartman102-371/+379
It's good to have SPDX identifiers in all files as the Linux kernel developers are working to add these identifiers to all files. Update all files with the correct SPDX license identifier based on the license text of the project or based on the license in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Modified-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-03chacha20-arm: fix with clang -fno-integrated-as.David Benjamin1-1/+3
The __clang__-guarded #defines cause gas to complain if clang is passed -fno-integrated-as. Emitting .syntax unified when those are used fixes this. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
2017-12-03poly1305: update x86-64 kernel to AVX512F onlySamuel Neves2-138/+132
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-12-03tools: no need to put this on the stackJason A. Donenfeld1-1/+1
2017-12-03tools: remove undocumented unused syntaxJason A. Donenfeld1-11/+0
2017-12-03contrib: keygen-html for generating keys in the browserJason A. Donenfeld4-0/+1020
2017-11-30kernel-tree: jury rig is the more common spellingJason A. Donenfeld1-0/+0
According to the Google Ngram viewer, jury is significantly more common than jerry.
2017-11-29netlink: rename symbol to avoid clashesJason A. Donenfeld3-6/+6
At somepoint we may need to wg_ namespace these.
2017-11-29device: clear last handshake timer on ifdownJason A. Donenfeld2-0/+2
Otherwise new handshakes might not occur immediately when the interface goes up and down. Also initialize peers to having a proper zeroed handshake jiffies.
2017-11-29compat: fix 3.10 backportJason A. Donenfeld2-0/+26
For archs that do not provide the magic csum function, we need to provide the generic function. Also, some obscure 3.10s have backported the int size macros, so we ifndef around that to avoid potentially fatal warnings.
2017-11-28device: do not clear keys during sleep on AndroidJason A. Donenfeld1-4/+4
This makes sense for the security model of laptops, but not for clicking phones on and off, where we actually want to be able to handle incoming packets.
2017-11-28curve25519: explictly depend on AS_AVXJason A. Donenfeld1-3/+3
2017-11-28compat: support RAP in assemblyJason A. Donenfeld2-0/+17
2017-11-28curve25519: modularize dispatchJason A. Donenfeld1-91/+82
2017-11-27version: bump snapshot0.0.20171127Jason A. Donenfeld2-2/+2
2017-11-27qemu: take shared lock for untarringJason A. Donenfeld1-18/+10
2017-11-26blake2s: tweak avx512 codeSamuel Neves1-64/+47
This is not as ideal as using zmm, but zmm downclocks. And it's not as fast single-threaded as using the gathers. But it is faster when multithreaded, which is what WireGuard is doing. Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-26compat: support 4.15's netlink and barrier changesJason A. Donenfeld2-1/+7
2017-11-25allowedips: simplifyJason A. Donenfeld1-35/+12
2017-11-25allowedips: optimizeJason A. Donenfeld1-14/+52
2017-11-25qemu: use netfilter.org https siteJason A. Donenfeld1-2/+2
2017-11-23chacha20: directly assign constant and initial stateJason A. Donenfeld1-59/+20
2017-11-23compat: fix typo and rangesJason A. Donenfeld1-1/+1
2017-11-23tools: fix removing preshared keysJason A. Donenfeld2-69/+73
Also clean up related logic quite a bit and add unit tests.
2017-11-22compat: support AVX512BW+VL by lyingJason A. Donenfeld1-2/+15
2017-11-22blake2s: hmac space optimizationSamuel Neves1-16/+12
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-22blake2s: AVX512F+VL implementationSamuel Neves2-0/+132
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-22poly1305-avx512: requires AVX512F+VL+BWSamuel Neves1-1/+6
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-22compat: support timespec64 on old kernelsJason A. Donenfeld1-0/+5
2017-11-22version: bump snapshot0.0.20171122Jason A. Donenfeld2-2/+2
2017-11-22chacha20poly1305: poly cleans up its own stateJason A. Donenfeld1-5/+1
2017-11-22poly1305-x86_64: unclobber %rbpSamuel Neves1-131/+145
OpenSSL's Poly1305 kernels use %rbp as a scratch register. However, the kernel expects rbp to be a valid frame pointer at any given time in order to do proper unwinding. Thus we need to alter the code in order to preserve it. The most straightforward manner in which this was accomplished was by replacing $d3 in poly1305-x86_64.pl -- formerly %r10 -- by %rdi, and replace %rbp by %r10. Because %rdi, a pointer to the context structure, does not change and is not used by poly1305_iteration, it is safe to use it here, and the overhead of saving and restoring it should be minimal. Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-22global: switch from timeval to timespecJason A. Donenfeld8-15/+15
This gets us nanoseconds instead of microseconds, which is better, and we can do this pretty much without freaking out existing userspace, which doesn't actually make use of the nano/micro seconds field: zx2c4@thinkpad ~ $ cat a.c void main() { puts(sizeof(struct timeval) == sizeof(struct timespec) ? "success" : "failure"); } zx2c4@thinkpad ~ $ gcc a.c -m64 && ./a.out success zx2c4@thinkpad ~ $ gcc a.c -m32 && ./a.out success This doesn't solve y2038 problem, but timespec64 isn't yet a thing in userspace.
2017-11-22poly1305: import MIPS64 primitive from OpenSSLJason A. Donenfeld7-20/+411
2017-11-22chacha20poly1305: import ARM primitives from OpenSSLJason A. Donenfeld12-1032/+5515
ARMv4-ARMv8, with NEON for ARMv7 and ARMv8.
2017-11-22chacha20poly1305: import x86_64 primitives from OpenSSLSamuel Neves12-2470/+5267
x86_64 only at the moment. SSSE3, AVX, AVX2, AVX512. Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
2017-11-22chacha20poly1305: add more test vectors, some of which are weirdJason A. Donenfeld1-3/+244
2017-11-22compat: new kernels have netlink fixesJason A. Donenfeld2-13/+10