[ANNOUNCE] WireGuard Snapshot `0.0.20181006` Available

Jason A. Donenfeld Jason at zx2c4.com
Sat Oct 6 04:43:30 CEST 2018


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hello,

A new snapshot, `0.0.20181006`, has been tagged in the git repository.

Please note that this snapshot is, like the rest of the project at this point
in time, experimental, and does not consitute a real release that would be
considered secure and bug-free. WireGuard is generally thought to be fairly
stable, and most likely will not crash your computer (though it may).
However, as this is a pre-release snapshot, it comes with no guarantees, and
its security is not yet to be depended on; it is not applicable for CVEs.

With all that said, if you'd like to test this snapshot out, there are a
few relevant changes.

== Changes ==

  * Account for big-endian 2^26 conversion in Poly1305.
  * Account for big-endian NEON in Curve25519.
  * Fix macros in big-endian AArch64 code so that this will actually run there
    at all.
  * Prefer if (IS_ENABLED(...)) over ifdef mazes when possible.
  * Call simd_relax() within any preempt-disabling glue code every once in a
    while so as not to increase latency if folks pass in super long buffers.
  * Prefer compiler-defined architecture macros in assembly code, which puts us
    in closer alignment with upstream CRYPTOGAMS code, and is cleaner.
  * Non-static symbols are prefixed with wg_ to avoid polluting the global
    namespace.
  * Return a bool from simd_relax() indicating whether or not we were
    rescheduled.
  * Reflect the proper simd conditions on arm.
  * Do not reorder lines in Kbuild files for the simd asm-generic addition,
    since we don't want to cause merge conflicts.
  * WARN() if the selftests fail in Zinc, since if this is an initcall, it won't
    block module loading, so we want to be loud.
  * Document some interdependencies beside include statements.
  * Add missing static statement to fpu init functions.
  * Use union in chacha to access state words as a flat matrix, instead of
    casting a struct to a u8 and hoping all goes well. Then, by passing around
    that array as a struct for as long as possible, we can update counter[0]
    instead of state[12] in the generic blocks, which makes it clearer what's
    happening.
  * Remove __aligned(32) for chacha20_ctx since we no longer use vmovdqa on x86,
    and the other implementations do not require that kind of alignment either.
  * Submit patch to ARM tree for adjusting RiscPC's cflags to be -march=armv3 so
    that we can build code that uses umull.
  * Allow CONFIG_ARM[64] to imply [!]CONFIG_64BIT, and use zinc arch config
    variables consistently throughout.
  * Document rationale for the 2^26->2^64/32 conversion in code comments.
  * Convert all of remaining BUG_ON to WARN_ON.
  * Replace `bxeq lr` with `reteq lr` in ARM assembler to be compatible with old
    ISAs via the macro in <asm/assembler.h>.
  * Do not allow WireGuard to be a built-in if IPv6 is a module.
  * Writeback the base register and reorder multiplications in the NEON x25519
    implementation.
  * Try all combinations of different implementations in selftests, so that
    potential bugs are more immediately unearthed.
  * Self tests and SIMD glue code work with #include, which lets the compiler
    optimize these. Previously these files were .h, because they were included,
    but a simple grep of the kernel tree shows 259 other files that carry out
    this same pattern. Only they prefer to instead name the files with a .c
    instead of a .h, so we now follow the convention.
  * Support many more platforms in QEMU, especially big endian ones.
  * Kernels < 3.17 don't have read_cpuid_part, so fix building there.

This snapshot contains commits from: Jason A. Donenfeld and Nathan Chancellor.

As always, the source is available at https://git.zx2c4.com/WireGuard/ and
information about the project is available at https://www.wireguard.com/ .

This snapshot is available in compressed tarball form here:
  https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20181006.tar.xz
  SHA2-256: 9fe7cd5767eda65647463ec29ed707f917f4a77babaaf247adc4be7acaab4665
  BLAKE2b-256: 36bf22455e948a436820fe3701d6c932eb3df9a39df88a8983f1b05b2a281f69

A PGP signature of that file decompressed is available here:
  https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20181006.tar.asc
  Signing key: AB9942E6D4A4CFC3412620A749FC7012A5DE03AE

If you're a snapshot package maintainer, please bump your package version. If
you're a user, the WireGuard team welcomes any and all feedback on this latest
snapshot.

Finally, WireGuard development thrives on donations. By popular demand, we
have a webpage for this: https://www.wireguard.com/donations/

Thank you,
Jason Donenfeld


-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAlu4IUUQHGphc29uQHp4
MmM0LmNvbQAKCRBJ/HASpd4Drk2cEADG9ohn34/4DYH2Ix7eVF7gi9AjAIPULMsk
danY2JasKYyvmwPQcAKm95mSE459h3hPkx7NUfsCYx/a680TOH6JDslPeM2Xg1pd
G9Ot0KByvwNZT9pzeyvl+iJ3bNbX+apABxPvi+0Y1L9M3KBS2zYCg+Hwp0bps8vh
paFN53kfbXKRUTX9sR8tua1/bdVF5HiypApoOLuzhoVyBNRzP8zHpYP5tWtkXVUf
WCcFjWVLtL6uu1u1TXvg3SoNEz6GxzP8mrHXPntwJw31sdbgyGiuGlHAyWS5q70B
HFuENwKHmL+TXStFFR+fxu39RJtw815Jmo3wHo/P93itCqURscd0S+/mZel4M0Nb
MzbguRXChl0BPBN5N0JPOwX2RwFHqv3wqorOvFZvYzUvMYQRlyxEF1oE4eOlRhDi
8IgcoM2o8hOw7Y/8Ap6RGHV7Vs31L0J/gymJc4Au0yNHgqpNDiQweQWd4K01Kn9m
hKvfe4SmbxAyeOjCK4y3GYuCqPC1rBaQKeFXu0CcEomjxwqk+IYO4JX4mz2na7Ze
K8EUa8Gfl2PM9GQitg0VsZohIzix4IPYRySAS63aLJ3yPXeH9aes6qNfPvb9uiM0
sJt+sl+BPEPz6Ac8N7V/aPSVE6x/69a8zN2I+EDYpxMLMivKz7gLF1FCLsSY30n8
a1KYXxi0xQ==
=AmrD
-----END PGP SIGNATURE-----


More information about the WireGuard mailing list