Buildroot fork.
Go to file
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
arch arch: drop now useless support for FDPIC 2018-07-01 15:17:27 +02:00
board board/raspberrypi: update firmware option to use 64-bit mode 2018-06-30 22:07:01 +02:00
boot uboot: Introduce BR2_TARGET_UBOOT_FORMAT_DTB_IMX 2018-07-07 23:52:02 +02:00
configs configs/raspberrypi3_defconfig: increase filesystem size 2018-07-08 00:32:06 +02:00
docs docs/website/download.html: fix latest LTS version number 2018-06-19 13:45:20 +02:00
fs fs: ensure hard links in TARGET_DIR are correctly copied for filesystem input 2018-05-27 23:46:29 +02:00
linux linux: bump default to version 4.17.5 2018-07-09 23:45:17 +02:00
package wireguard: bump to 0.0.20180708 2018-07-10 22:54:12 +02:00
support support/dependencies/dependencies.sh: add details for Redhat/Fedora 2018-07-02 22:43:56 +02:00
system skeleton: PAGER without blank and unset at end of for loop 2018-06-05 18:50:49 +02:00
toolchain toolchain-external-linaro-aarch64-be: new package 2018-06-28 22:15:55 +02:00
utils support/config-fragments/autobuild: add Linaro AArch64 BE support 2018-06-28 22:15:57 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml .gitlab-ci.yml: update after removal of freescale defconfigs 2018-05-06 17:36:37 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: extend check-package test to Config.* files 2018-04-01 10:16:35 +02:00
CHANGES Update for 2018.02.3 2018-06-18 20:03:59 +02:00
Config.in Config.in: add BR2_HOST_GCC_AT_LEAST_8 2018-05-02 14:50:14 +02:00
Config.in.legacy gst1-plugins-${base, good, bad, ugly}: bump to 1.14.1 2018-06-26 22:08:36 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS DEVELOPERS: fix alphabetic order of entries 2018-07-09 23:50:54 +02:00
Makefile Kickoff 2018.08 cycle 2018-06-02 11:11:56 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches