#
03c3b87e |
| 05-Feb-2024 |
Aaron LI <aly@aaronly.me> |
wg: Refactor cookie functions to make cookie_{checker,maker} opaque
- Rename cookie_{checker,maker}_init() to cookie_{checker,maker}_alloc(), in symmetry with cookie_{checker,maker}_free(). - Make
wg: Refactor cookie functions to make cookie_{checker,maker} opaque
- Rename cookie_{checker,maker}_init() to cookie_{checker,maker}_alloc(), in symmetry with cookie_{checker,maker}_free(). - Make cookie_{checker,maker} structs opaque, and move them from wg_cookie.h to wg_cookie.c. - Update if_wg.c and selftest code accordingly.
show more ...
|
#
f9a1cfe9 |
| 15-Jan-2024 |
Aaron LI <aly@aaronly.me> |
wg: Remove INET option and the 'opt_inet.h' header
DragonFly generally assumes INET always available, and doesn't actually support an IPv6-only setup. So remove the INET option to clean up the code
wg: Remove INET option and the 'opt_inet.h' header
DragonFly generally assumes INET always available, and doesn't actually support an IPv6-only setup. So remove the INET option to clean up the code a bit.
show more ...
|
#
682f87c9 |
| 05-Jan-2024 |
Aaron LI <aly@aaronly.me> |
wg: Change some functions to return boolean for clarity
These functions are used in 'if' conditional, so only a boolean return value if necessary. Change them to return a boolean to make the code r
wg: Change some functions to return boolean for clarity
These functions are used in 'if' conditional, so only a boolean return value if necessary. Change them to return a boolean to make the code read more clearly.
show more ...
|
#
c3668ed7 |
| 07-Dec-2023 |
Aaron LI <aly@aaronly.me> |
wg: Replace strlen() with 'sizeof' in wg_{cookie,noise}.c
Get rid of unnecessary strlen() calls.
|
#
a364ee04 |
| 25-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Update copyright headers and inclusion guards
- Add the content of the ISC License to the copyright headers. - Add a copyright of me to 'if_wg.c' and 'wg_noise.c', which have been significantl
wg: Update copyright headers and inclusion guards
- Add the content of the ISC License to the copyright headers. - Add a copyright of me to 'if_wg.c' and 'wg_noise.c', which have been significantly updated by me. - Rename the inclusion guards to match the style of our existing headers.
show more ...
|
#
e6c44b2e |
| 25-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Rename macro 'SELFTESTS' to 'WG_SELFTESTS'
To make it more clear and avoid possible conflicts with others.
|
#
64544dd5 |
| 25-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Fix and clean up header inclusions
|
#
1ef0d803 |
| 25-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Style cleanups and minor updates to wg_cookie.[ch]
- Adjust code style to align with ours. - Move inline functions to the file top. - Add the 'const' qualifier to function parameters as much as
wg: Style cleanups and minor updates to wg_cookie.[ch]
- Adjust code style to align with ours. - Move inline functions to the file top. - Add the 'const' qualifier to function parameters as much as possible. - Move 'cookie_checker_validate_macs()' function to group the functions better. - Zero the input ratelimit struct in ratelimit_init(). - Fix and adjust the comments a bit.
show more ...
|
#
cfdd69bc |
| 22-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #28: adapt crypto code (chacha20poly1305)
Update to use the chacha20poly1305 implemention from 'crypto/chachapoly.[ch]'. Remove the obsolete code 'wg_crypto.c'.
Meanwhile, rename the orig
wg: Port #28: adapt crypto code (chacha20poly1305)
Update to use the chacha20poly1305 implemention from 'crypto/chachapoly.[ch]'. Remove the obsolete code 'wg_crypto.c'.
Meanwhile, rename the original 'uint64_t nonce' to 'counter' to avoid confusing with the 96-bit nonce (byte string) of ChaCha20-Poly1305.
show more ...
|
#
d94868dd |
| 18-Nov-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #27: adapt crypto code (curve25519, blake2s, siphash)
I've imported OpenBSD's blake2s implementation to 'crypto/blake2s', so don't need the 'COMPAT_NEED_BLAKE2S' code in 'wg_crypto.c'.
|
#
2bed72b3 |
| 23-Oct-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #21: replace sbintime_t with timespec/getnanouptime()
Partially based on OpenBSD's wg code.
|
#
b1d93564 |
| 21-Oct-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #19: adjust callout(9) API and replace MSEC_2_TICKS() macro
|
#
a9b5f3fd |
| 19-Oct-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #18: adjust arc4random* functions
|
#
3b7831f6 |
| 11-Oct-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #12: remove unsupported vnet code and use if_clone only
In addition, change the module unloading logic a bit: prevent from unloading and return the EBUSY error if the module is still in use.
|
#
1fdfe5a9 |
| 22-Sep-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #6: replace CK_* and *_SAFE list/queue macros
|
#
be332237 |
| 21-Sep-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #3: replace uma(9) with objcache(9)
Note that the ocflags of objcache_get() is only used when a new object needs to be allocated using the backend allocator, so we cannot depend on flags su
wg: Port #3: replace uma(9) with objcache(9)
Note that the ocflags of objcache_get() is only used when a new object needs to be allocated using the backend allocator, so we cannot depend on flags such as M_ZERO. As a result, we manually bzero() the allocated object before using it.
show more ...
|
#
139109cd |
| 21-Sep-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #2: replace mutex with lockmgr(9)
Although we also have the mutex(9) API, but our lockmgr(9) API is more versatile and heavily optimized. So replace mutex with lockmgr as well.
|
#
7ef217fe |
| 21-Sep-2023 |
Aaron LI <aly@aaronly.me> |
wg: Port #1: replace rwlock with lockmgr(9)
|
#
a6bca3d2 |
| 20-Sep-2023 |
Aaron LI <aly@aaronly.me> |
wg: Import from FreeBSD without any modifications
From FreeBSD main branch as of 2023-09-19.
Kernel module/driver: - sys/dev/wg/compat.h - sys/dev/wg/crypto.h - sys/dev/wg/if_wg.c - sys/dev/wg/if_w
wg: Import from FreeBSD without any modifications
From FreeBSD main branch as of 2023-09-19.
Kernel module/driver: - sys/dev/wg/compat.h - sys/dev/wg/crypto.h - sys/dev/wg/if_wg.c - sys/dev/wg/if_wg.h - sys/dev/wg/version.h - sys/dev/wg/wg_cookie.c - sys/dev/wg/wg_cookie.h - sys/dev/wg/wg_crypto.c - sys/dev/wg/wg_noise.c - sys/dev/wg/wg_noise.h
Module makefile: - sys/modules/if_wg/Makefile
Man page: - share/man/man4/wg.4
show more ...
|