aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* external-tests: update go versionJason A. Donenfeld2018-02-151-2/+2
|
* tools: normalize strncpy/snprintf usageJason A. Donenfeld2018-02-144-18/+22
|
* blake2s: use union instead of castingJason A. Donenfeld2018-02-142-19/+17
| | | | | This deals with alignment more easily and also helps squelch a clang-analyzer warning.
* allowedips: indicate to clang-analyzer that trie is non-nullJason A. Donenfeld2018-02-141-0/+1
| | | | | We check it in the block just above the only call to node_placement, so we're certain this is the case.
* socket: free skb if there isn't an endpointJason A. Donenfeld2018-02-121-0/+2
| | | | | | | | | | | | | | Because the packet transmission interface in Linux, in general, has the characteristic of "consuming" skbs, our own socket_send family too must always consume skbs. This means that when a caller passes an skb to a socket_send function, he looses ownership and expects for the skb to be freed by the socket_send function, not by himself. Therefore, it's important that we actually carry out this contract under all circumstances, even when there's no endpoint available. This condition could be hit by setting up a peer with a persistent keepalive but no endpoint, or by removing an endpoint once packets were queued up to be sent already.
* qemu: more granular memleak detectionJason A. Donenfeld2018-02-121-2/+15
|
* netns: replace n0 ip with ip0, per customJason A. Donenfeld2018-02-121-2/+2
|
* poly1305: fix up selftest counterJason A. Donenfeld2018-02-081-1/+1
|
* qemu: add support for powerpcJason A. Donenfeld2018-02-072-2/+21
|
* wg-quick: match from beginning rather than shift rightJason A. Donenfeld2018-02-061-2/+2
| | | | | Before, this meant that it simply took the last 15 characters, instead of erroring out when there's more than 15 chars.
* tools: endian.h is not portableJason A. Donenfeld2018-02-051-4/+9
|
* keygen-html: fix up copyrightJason A. Donenfeld2018-02-021-4/+0
|
* version: bump snapshot0.0.20180202Jason A. Donenfeld2018-02-022-2/+2
|
* qemu: update base versionsJason A. Donenfeld2018-02-021-2/+2
|
* curve25519: break more things with more test casesJason A. Donenfeld2018-02-011-0/+12
|
* curve25519: replace fiat64 with faster hacl64Jason A. Donenfeld2018-02-016-475/+888
| | | | | This reverts commit da4ff396cc5d5e0ff21f9ecbc2f951c048c63fff and adds some optimizations to hacl64.
* curve25519: replace hacl64 with fiat64Jason A. Donenfeld2018-02-016-881/+475
| | | | | | | | | | For now, it's faster: hacl64: 109782 cycles per call fiat64: 108984 cycles per call It's quite possible this commit will be reverted with nice changes from INRIA, though.
* curve25519: verify that specialized basepoint implementations are correctJason A. Donenfeld2018-02-011-3/+17
|
* tools: dedup secret normalizationJason A. Donenfeld2018-01-311-7/+1
|
* chacha20poly1305: better buffer alignmentJason A. Donenfeld2018-01-301-9/+8
|
* chacha20poly1305: use existing rol32 functionJason A. Donenfeld2018-01-301-9/+4
|
* tools: fread doesn't change errnoJason A. Donenfeld2018-01-301-4/+0
| | | | | Thus we might be responding to an old errno, which could cause this to unnecessarily fail.
* device: let udev know what kind of device we areJason A. Donenfeld2018-01-301-0/+6
|
* qemu: disable AVX-512 in userlandJason A. Donenfeld2018-01-231-0/+2
| | | | | | | We're trying to test kernel code, so the userland tools we use for doing that testing don't really matter to us. We turn off AVX512, because WireGuard supports kernels that do not support AVX512 userlands. It's easier to just blanket-disable it all, since it doesn't matter anyway.
* qemu: disable PIE for compilationJason A. Donenfeld2018-01-231-1/+3
| | | | | | Some old kernels never backported this fix to the build system, and it's required if we want to build those old kernels with PIE-by-default compilers.
* contrib: keygen-html: share curve25519 implementation with kernelJason A. Donenfeld2018-01-232-831/+31
|
* tools: share curve25519 implementations with kernelJason A. Donenfeld2018-01-232-1541/+32
|
* poly1305: add poly-specific self-testsJason A. Donenfeld2018-01-194-1/+1569
|
* curve25519-fiat32: uninline certain functionsJason A. Donenfeld2018-01-183-12/+12
| | | | | | | | | | | While this has a negative performance impact on x86_64, it has a positive performance impact on smaller machines, which is where we're actually using this code. For example, an A53: Before: fiat32: 228605 cycles per call After: fiat32: 188307 cycles per call
* version: bump snapshot0.0.20180118Jason A. Donenfeld2018-01-182-2/+2
|
* contrib: keygen-html: update curve25519 implementationJason A. Donenfeld2018-01-181-785/+769
|
* tools: import new curve25519 implementationsJason A. Donenfeld2018-01-181-1129/+1423
|
* curve25519: wire up new impls and remove donnaJason A. Donenfeld2018-01-183-1454/+3
|
* curve25519: resolve symbol clash between fe typesJason A. Donenfeld2018-01-181-7/+7
|
* curve25519: import 64-bit hacl-star implementationJason A. Donenfeld2018-01-181-0/+739
|
* curve25519: import 32-bit fiat-crypto implementationJason A. Donenfeld2018-01-181-0/+838
|
* curve25519: modularize implementationJason A. Donenfeld2018-01-185-1610/+1640
|
* poly1305: remove indirect callsSamuel Neves2018-01-181-79/+96
| | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
* tools: plug memleak in config error pathJason A. Donenfeld2018-01-181-0/+1
|
* external-tests: add python implementationPiotr Lizończyk2018-01-111-0/+94
|
* wg-quick: ifnames have max len of 15Jason A. Donenfeld2018-01-103-5/+5
|
* socket: check for null socket before fishing out sportJason A. Donenfeld2018-01-081-2/+4
| | | | Otherwise we could have a null pointer dereference.
* global: year bumpJason A. Donenfeld2018-01-03106-107/+107
|
* receive: treat packet checking as irrelevant for timersJason A. Donenfeld2018-01-031-6/+6
| | | | | | | Receiving any type of authenticated data is a receive and a traversal. When it isn't a keepalive it's a data. That's our rule. Whether or not it's the correct type of data or has the right IP header shouldn't influence timer decisions.
* version: bump snapshot0.0.20171221Jason A. Donenfeld2017-12-212-2/+2
|
* compat: kernels < 3.13 modified genl_opsJason A. Donenfeld2017-12-212-2/+8
|
* crypto: compile on UMLJason A. Donenfeld2017-12-134-2/+8
| | | | We basically just don't use FPU in UML.
* wg-quick: dumber matching for default routesJason A. Donenfeld2017-12-131-1/+1
|
* wg-quick: add the "Table" config optionLuis Ressel2017-12-132-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>
* keygen-html: remove prebuilt fileJason A. Donenfeld2017-12-127-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>