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.
wireguard-tools/contrib/embeddable-wg-library
Jason A. Donenfeld 74a6f97b7a wg: genkey: account for short reads of /dev/urandom
Apparently Haiku has a misbehaving /dev/urandom.

While we're at it, simplify the function signature to completely succeed
or completely fail and make sure the caller checks the result.

Reported-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Nitpicked-by: Aaron Jones <aaronmdjones@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-28 23:53:00 +01:00
..
.gitignore contrib: add embeddable wireguard library 2018-02-17 05:55:03 +01:00
Makefile contrib: add embeddable wireguard library 2018-02-17 05:55:03 +01:00
README contrib: add embeddable wireguard library 2018-02-17 05:55:03 +01:00
test.c global: update copyright 2019-01-07 19:26:10 -05:00
wireguard.c wg: genkey: account for short reads of /dev/urandom 2019-02-28 23:53:00 +01:00
wireguard.h netlink: use __kernel_timespec for handshake time 2019-01-23 14:29:44 +01:00

README

Embeddable WireGuard C Library
==============================

This is a mini single-file library, meant to be embedded directly into the
source code of your program. It is *not* meant to be built as a shared
library.


Usage
-----

Copy wireguard.c and wireguard.h into your project. They should build with
any C89 compiler. There are no dependencies except libc.

Please see the set of simple functions in wireguard.h for information on
how to use, as well as the example code in test.c.


License
-------

Because this uses code from libmnl, wireguard.c and wireguard.h are licensed
under the LGPL-2.1+.