Commit graph

17 commits

Author SHA1 Message Date
Jason A. Donenfeld 150fa57ed0 wireguard: bump to 0.0.20180708
* chacha20poly1305: use slow crypto on -rt kernels on arm too

Leftover from the last commit of the previous snapshot that we forgot to
handle.

* tools: getentropy requires macOS 10.12

Small build time fixup for old versions of macOS.

* queueing: remove useless spinlocks on sc
* queueing: re-enable preemption periodically to lower latency
* simd: encapsulate fpu amortization into nice functions
* simd: no need to restore fpu state when no preemption

This will improve general system latency on preempt-enabled systems, like
desktops.

* dns-hatchet: apply resolv.conf's selinux context to new resolv.conf

Fixes wg-quick's dns hatchet on CentOS.

* qemu: bump default kernel

By bumping to 4.17.2, we actually uncovered a bug in the SLUB allocator, which
upstream is now fixing: https://lkml.org/lkml/2018/6/18/1407

* noise: take locks for ss precomputation
* netlink: maintain static_identity lock over entire private key update

Minor locking correctness fixes and optimizations.

* noise: wait for crng before taking locks

We now make sure that an outgoing packet which needs a potentially unseeded
rng won't block a call to wg(8), which takes similar locks for retrieving
data.

* receive: drop handshake packets if rng is not initialized

If the rng is unseeded, we drop incoming handshake packets, so that it's not
possible for an attacker to fill the handshake queue thereby provoking
cookies.

* ratelimiter: mitigate reference underflow
* ratelimiter: do not allow concurrent init and uninit

Minor correctness and hardening fixes, which don't fix anything particular in
WireGuard, but might be useful if our ratelimiter is ever used elsewhere.

* compat: use stabler lkml links
* poly1305: add missing string.h header

Minor fixups.

* receive: don't toggle bh

The last snapshot caused a big performance regression, which we partially
revert here. This general matter, though, will be revisited in the future,
perhaps by switching to NAPI.

* main: test poly1305 before chacha20poly1305
* poly1305: give linker the correct constant data section size

While the default bfd linker did the right thing, gold would sometimes merge
section incorrectly because of an incorrect section length field, resulting in
wrong calculations.

* simd: add missing header

Fixes a compile error on a few odd kernels.

* global: fix a few typos
* manpages: eliminate whitespace at the end of the line
* tools: fix misspelling of strchrnul in comment

Cosmetic fixups.

* global: use ktime boottime instead of jiffies
* global: use fast boottime instead of normal boottime
* compat: more robust ktime backport

We now use the equivalent of clock_gettime(CLOCK_BOOTTIME) for doing age
checks on time-limited objects, such as ephemeral keys, so that on systems
where we don't clear before sleep (like Android), we make sure to invalidate
the objects after the proper amount of time, taking into account time spent
asleep.

* wg-quick: android: prevent outgoing handshake packets from being dropped

Recent android phones block outgoing packets using iptables while the system
is asleep. This makes sense for most services, but not for a tunnel device
itself, so we work around this by inserting our own iptables rule.

* device: print daddr not saddr in missing peer error
* receive: style

Debug messages now make sense again.

* wg-quick: android: support excluding applications

Android now supports excluding certain apps (uids) from the tunnel.

* selftest: ratelimiter: improve chance of success via retry
* qemu: bump default kernel version
* qemu: decide debug kernel based on KERNEL_VERSION

Some improvements to our testing infrastructure.

* receive: use NAPI on the receive path

This is a big change that should both improve preemption latency (by not
disabling it unconditionally) and vastly improve rx performance on most
systems by using NAPI. The main purpose of this snapshot is to test out this
technique.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-07-10 22:54:12 +02:00
Peter Korsgaard 630fd8785b wireguard: bump version to 0.0.20180613
Contains a fix for a crash when forwarding packets from devices that use
flow offloading and a x86 FPU issue on -rt kernels.

Also add a post-release upstream patch fixing a compilation issue related to
memcpy().

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-06-20 23:26:38 +02:00
Peter Korsgaard f6b9d59f61 wireguard: bump version to 0.0.20180524
Contains a number of fixes, including fixes for building with GCC 8.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-05-27 19:01:22 +02:00
Jason A. Donenfeld 062dcceed0 wireguard: bump to version 0.0.20180420
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-27 18:21:36 +02:00
Peter Korsgaard 54e210522f wireguard: bump version to 0.0.20180304
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-13 22:11:19 +01:00
Peter Korsgaard b1e4a38383 wireguard: bump version to 0.0.20180218
Fixes a memory leak and various minor tooling fixes.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-19 20:35:22 +01:00
Peter Korsgaard 3f9971a059 wireguard: bump to version 0.0.20180202
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-03 19:56:29 +01:00
Peter Korsgaard c01b762ab7 wireguard: bump version to 0.0.20180118
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2018-01-18 21:57:55 +01:00
Peter Korsgaard 07e0ded55d wireguard: bump to version 0.0.20171221
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-12-22 10:18:13 +01:00
Peter Korsgaard 6bfa6b2a04 wireguard: bump version
Various bugfixes, including a compat fix for <= 3.10.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-12-11 20:00:51 +01:00
Peter Korsgaard 7e794acfcd wireguard: bump to version 0.0.20171111
Contains a number of important fixes. From the relase notes:

https://lists.zx2c4.com/pipermail/wireguard/2017-November/001935.html

  * netlink: plug memory leak
  * qemu: check for memory leaks

  There was a small memory leak on the netlink configuration layer that's now
  been fixed.

  * netlink: make sure we reserve space for NLMSG_DONE

  A rather important change - due to an upstream kernel bug, that's existed
  since the advent of netlink itself, sometimes wg(8) failed to receive valid
  data back from kernelspace, resulting in "ENOBUFS" when trying to dump all
  peers. This patch works around it while we wait for upstream to commit the
  fix.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-14 14:04:29 +01:00
Jason A. Donenfeld d1a06aeeb9 wireguard: bump to version 0.0.20171101
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-01 21:23:52 +01:00
Peter Korsgaard b5781dd96a wireguard: bump to version 0.0.20171011
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-15 15:53:34 +02:00
Peter Korsgaard eb4c089eaf wireguard: bump to version 0.0.20171005
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-06 16:55:18 +02:00
Peter Korsgaard 1afda25ed2 wireguard: needs 3.10+ kernel
The dependency is actually only for the kernel module (and thus on the
runtime kernel version rather than kernel headers), but as we don't know the
runtime version in kconfig and the user space part doesn't make much sense
without the kernel module this will have to do.

[Peter: extend commit message, add comment to Config.in as suggested by
	Arnout, fix off-by-one in comment text]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-05 22:54:20 +02:00
Peter Korsgaard c0036e30ae wireguard: bump version to 0.0.20171001
And add a hash for the license file while we're at it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-03 17:31:17 +02:00
Aurélien Chabot 5a47141ebb wireguard: add new package
[Peter: Fix help text, drop suboptions, drop patches, fix dependencies,
 handle optional bash dependency, use kernel-module infrastructure,
 enable needed kernel options]
Signed-off-by: Aurélien Chabot <aurelien@chabot.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-02 22:59:26 +02:00