This repository has been archived on 2024-01-23. You can view files and clone it, but cannot push or open issues or pull requests.
Jason A. Donenfeld bc1f6be5db global: switch from timeval to timespec
This gets us nanoseconds instead of microseconds, which is better, and
we can do this pretty much without freaking out existing userspace,
which doesn't actually make use of the nano/micro seconds field:

zx2c4@thinkpad ~ $ cat a.c
void main()
{
        puts(sizeof(struct timeval) == sizeof(struct timespec) ? "success" : "failure");
}
zx2c4@thinkpad ~ $ gcc a.c -m64 && ./a.out
success
zx2c4@thinkpad ~ $ gcc a.c -m32 && ./a.out
success

This doesn't solve y2038 problem, but timespec64 isn't yet a thing in
userspace.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-22 18:32:48 +01:00
2017-11-10 16:20:09 +09:00
2016-06-25 16:48:39 +02:00

WireGuard — fast, modern, secure kernel VPN tunnel

by Jason A. Donenfeld of Edge Security

WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. It runs over UDP.

More information may be found at WireGuard.com.

License

This project is released under the GPLv2.

Description
No description provided
Readme 763 KiB
Languages
C 68.5%
Shell 15.1%
Roff 4.3%
C++ 3.8%
Haskell 1.6%
Other 6.7%