[ANNOUNCE] WireGuard Snapshot `0.0.20171005` Available

Jason A. Donenfeld Jason at zx2c4.com
Fri Oct 6 03:37:43 CEST 2017

Hash: SHA256


A new snapshot, `0.0.20171005`, 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 relevent changes.

== Changes ==

  * community: code welcomed
  There's a small disorganized list of things to do, some of which are large
  projects, and others are just little cleanups:
  If anybody is interested in working on something, please don't hesitate to
  send an email to this list, team at wireguard.com, or me directly.
  * tools: simmer down silly compilers
  * tools: compile on non-Linux
  * contrib: remove worthless build artifact
  * kernel-tree: remember UAPI in patch creation
  * curve25519-neon-arm: force ARM encoding, since this is unrepresentable in Thumb
  * compat: support ptr_ring for old kernels
  * compat: conditionally redefine GENL_UNS_ADMIN_PERM
  * compat: RHEL backported netlink changes
  These here are all compatibility-related fixes mostly left over from churn of
  the previous snapshots, where we lost some compatibility with old kernels and
  weird toolchains. The above series of fixes brings us back up to par, and
  should make life slightly easier for a few packagers who had to work-around
  things in the last snapshot.
  * compat: macro rewrite netlink instead of cluttering
  * global: satisfy bitshift pedantry
  * global: use _WG prefix for include guards
  * global: add space around variable declarations
  * queueing: cleanup skb_padding
  Style, mostly.
  * Makefile: add non-verbose mode to tools
  * Makefile: clang now builds the kernel, so use scan-build
  One touch static analysis: `make check`.
  * receive: simplify message type validation
  * receive: use local keypair, not ctx keypair in error path
  * send: put keypair reference
  * receive: we're not planning on turning that into a while loop now
  * queueing: use ptr_ring instead of linked lists
  * receive: do not store endpoint in ctx
  * queueing: move from ctx to cb
  This is another huge change, and the main motivation for releasing this
  snapshot. We move from using a linked list-based queue to a ring buffer-based
  queue, which yields considerable performance increases. It also allows us to
  entirely rid ourselves of a memory cache object, which further increases
  performance and decreases latency. The move to a ring buffer will also make
  writing lock-less algorithms easier, which will eventually increase our
  performance on systems with extremely high core counts.

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 tarball form here:
  SHA2-256: 832a3b7cbb510f6986fd0c3a6b2d86bc75fc9f23b6754d8f46bc58ea8e02d608
  BLAKE2b-256: 1ca53bfe8e3a268cdbdda0ca26537b81350ec24aa708c5d1d66c459bed005156

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

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

Thank you,
Jason Donenfeld



More information about the WireGuard mailing list