Commit graph

506 commits

Author SHA1 Message Date
Iurii Egorov
c0b400c6df Update wg-json to support AmneziaWG parameters 2024-10-01 16:02:42 +03:00
Iurii Egorov
f69cd16056 Auth notifications for unknown peers 2024-09-15 21:29:49 +03:00
Iurii Egorov
dafa38e4b0 Support for legacy clients 2024-09-03 14:48:33 +03:00
pokamest
e42813caac
Merge pull request #12 from RomikB/pipe_rebranding
unsafe rebranding: change pipe name for windows
2024-05-06 09:53:51 -07:00
RomikB
776a1b5e19 unsafe rebranding: change pipe name for windows 2024-05-05 10:31:44 +02:00
pokamest
d33c4b6936
Merge pull request #11 from amnezia-vpn/fix/android
Fix android.c
2024-03-16 13:45:39 +00:00
albexk
2fdea58d2b Fix android.c 2024-03-16 14:33:02 +03:00
tiaga
6eb1abfa4f
Merge pull request #10 from amnezia-vpn/update_actions
Improve pipeline
2024-02-13 20:18:12 +07:00
tiaga
eb9ef8a1fd Improve pipeline
- rename `wg.exe` to `awg.exe`
- set release name automatically
2024-02-13 20:16:15 +07:00
tiaga
da1e7bcea3
Merge pull request #9 from amnezia-vpn/update_linux_build
Update linux-build.yml
2024-02-13 07:07:51 +07:00
AlexanderGalkov
ff229c0c82
Update linux-build.yml
Signed-off-by: AlexanderGalkov <143902290+AlexanderGalkov@users.noreply.github.com>
2024-02-12 22:46:26 +07:00
pokamest
af245c000e
Merge pull request #8 from amnezia-vpn/fix/android
Fix missing brackets and package name
2024-02-11 09:08:09 -08:00
albexk
7b234cf29b Fix missing brackets and package name 2024-02-11 19:20:52 +03:00
tiaga
c1148485e0
Merge pull request #7 from AlexanderGalkov/test
Update linux-build.yml
2024-02-04 01:42:40 +07:00
AlexanderGalkov
5e05aab557
Update linux-build.yml
Signed-off-by: AlexanderGalkov <143902290+AlexanderGalkov@users.noreply.github.com>
2024-02-03 18:29:28 +07:00
Iurii Egorov
72776bc507
UAPI changes for Amnezia kernel module (#4)
* UAPI changes for Amnezia kernel module

* Fix indents

* Fix indents

* Fix indents

* Change protocol type

* Change protocol type

* Change protocol type

* Change protocol type

* Revert "Change protocol type"

* K

* Fix wg-quick

* Prepare packaging

* Prepare packaging

* Prepare packaging

* Prepare packaging

* naming convention fix

* Bash completions

* Naming unify

* Naming unify

* SPEC file for RPM build

* SPEC file for RPM build

* SPEC file for RPM build

* SPEC file for RPM build

---------

Co-authored-by: Mark Puha <marko10@inf.elte.hu>
2024-02-02 16:44:20 +03:00
tiaga
3ff2272d00
Merge pull request #6 from amnezia-vpn/linux-build
Improve builds
2024-02-02 18:20:05 +07:00
tiaga
422b69f410 Improve builds
- simplify pipeline for Windows and add the `retry` parameter for cURL in case of issues with downloading dependencies
- add a pipeline to make Linux builds for Ubuntu and Alpine
2024-02-02 18:14:41 +07:00
pokamest
c9ff85e9ed
Merge pull request #1 from amnezia-vpn/new_fields_to_config
New fields to config
2023-09-25 05:16:16 -07:00
Mark Puha
18901ddeaf convert indentation&fix action 2023-09-24 17:44:33 +02:00
Mark Puha
be97b12dac change build extension 2023-09-24 17:30:51 +02:00
Mark Puha
55be21e50c fix workflow 2023-09-24 17:20:25 +02:00
Mark Puha
d6baf3ad66
Update windows-build.yml
Signed-off-by: Mark Puha <p.mark95@gmail.com>
2023-09-24 14:16:26 +02:00
Mark Puha
a3c7c20be7
Merge pull request #2 from amnezia-vpn/marko1777-patch-1
Create windows-build.yml
2023-09-24 14:11:15 +02:00
Mark Puha
718159b457
Create windows-build.yml
Signed-off-by: Mark Puha <p.mark95@gmail.com>
2023-09-24 14:10:47 +02:00
Mark Puha
1257df6788 add windows buid bat 2023-09-24 14:09:24 +02:00
Mark Puha
52d6ae3b9e new fields to freebsd 2023-09-20 05:01:30 +02:00
Mark Puha
be3e4e6db8 only send new fields when present 2023-09-19 06:02:45 +02:00
Mark Puha
f0854129a7 openbsd interface io fields 2023-09-15 10:39:16 +02:00
Mark Puha
c1008024ca remove print 2023-09-15 07:18:16 +02:00
Mark Puha
4dda7f6d0a add openbsd new fields 2023-09-15 07:09:56 +02:00
Mark Puha
f80e2c90e9 add windows new fields 2023-09-15 07:09:14 +02:00
Mark Puha
8e18546c25 add flags 2023-09-10 06:56:43 +02:00
Mark Puha
6747b3ebd9 minor modifications 2023-09-09 14:31:41 +02:00
Mark Puha
f632775430 compiling version of new fields 2023-09-09 07:37:06 +02:00
Jason A. Donenfeld
13f4ac4cb7 ipc: linux: enforce IFNAMSIZ limit
libmnl doesn't check lengths, so do our own checking before copying the
interface name to the netlink buffer.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-08-04 16:04:36 +02:00
Jason A. Donenfeld
729242a114 man: set private key in PreUp rather than PostUp
This is probably more sensible, since there's no point in letting
traffic flow before the interface is configured.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-18 16:39:49 +02:00
Daniel Gröber
e6888dd74e wg-quick: run PreUp hook after creating interface
Currently PreUp hooks run before the interface is created. This is
problematic for moving the device into a Linux VRFs as this will
currently clear all assigned IPv6 addressess (possibly a bug), so if we
did this in PostUp (i.e. before add_addr) we'll have to manually re-add
all assigned addresses. This is obviously less than ideal.

Instead create the wg device just before running PreUp hooks. We apply
this to all platforms for consistency.

Test case:

    $ ip link add vrf-test type vrf table 1234
    $ ip link add wg-test type wireguard
    $ ip addr add dev wg-test 192.168.42.42/24
    $ ip addr add dev wg-test fe80::/64

    $ ip -br addr show wg-test
    wg-test          DOWN           192.168.42.42/24 fe80::/64

    $ ip link set dev wg-test master vrf-test

    $ ip -br addr show wg-test
    wg-test          DOWN           192.168.42.42/32

Signed-off-by: Daniel Gröber <dxld@darkboxed.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-18 16:38:34 +02:00
Dmitry Selivanov
b4f6b4f229 show: fix show all endpoints output
Currently "wg show all endpoints" prints interface name only once
while other "show all" commands print it on each line as man says.

Signed-off-by: Dmitry Selivanov <dseliv@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-02-08 13:47:47 -03:00
Kyle Evans
139aac59a5 ipc: freebsd: NULL out some freed memory in kernel_set_device()
The `err` path in kernel_set_device() will attempt to free() allocated
nvl_peers, but these two cases meant we could end up attempting a use
after free or a double free, as we rely on nvlist_destroy(NULL) being
a NOP as well as free(NULL).

FreeBSD-Coverity:	1500421
Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-11-03 19:57:26 +01:00
Kyle Evans
dbf49a7d17 ipc: freebsd: avoid leaking memory in kernel_get_device()
Primarily, front-load validation of an allowed-ip entry to before we
allocate `aip`, so that we don't need to free() it if we end up skipping
this entry.  Assert that `aip` is NULL after we exit the loop, as we
should have transfered ownership to the `peer` or freed it in all paths
through the allowed-ip loop.

FreeBSD-Coverity:	1500405
Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-11-03 19:57:21 +01:00
Jason A. Donenfeld
ca2e89ff21 show: apply const to right part of pointer
Without this -Wcast-qual complains:

show.c:30:43: warning: cast from 'const void *' to 'const void **' drops const qualifier [-Wcast-qual]
        const struct wgpeer *a = *(const void **)first, *b = *(const void **)second;
                                                 ^
show.c:30:71: warning: cast from 'const void *' to 'const void **' drops const qualifier [-Wcast-qual]
        const struct wgpeer *a = *(const void **)first, *b = *(const void **)second;

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-10-31 15:39:30 +01:00
Kyle Evans
7b2ae7aa2f ipc: freebsd: move if_wg path to reflect new in-tree location
When we re-added if_wg to the tree, we changed directories in dev to
strip the if_ (we don't use this prefix for other interfaces'
directories). Adjust it here as a convenience, so that when we import
wireguard-tools to FreeBSD the path will just work as-is with our usual
build.

Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-10-29 03:51:47 +02:00
Tom Yan
71799a8f6d wg-quick: linux: prevent traffic from momentarily leaking into tunnel
The wireguard route table ip rule should stay as a no-op until the
`suppress_prefixlength 0 table main` rule is in effect. Therefore, add
the wireguard default route to its route table after the latter rule is
added.

Signed-off-by: Tom Yan <tom.ty89@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-06-17 13:53:43 +02:00
Jason A. Donenfeld
5b9c1d6d74 global: dual license core files as MIT for FreeBSD
To make it easier for FreeBSD to import wg(8), dual license the core
files as MIT, so that they don't have any trouble.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-06-10 19:35:38 +02:00
Jason A. Donenfeld
c0b68d2eaf wg-quick: android: use right regex for host-vs-IP
Looks like the "is valid ifname" regex was copy and pasted from
wg-quick.bash instead of the "is valid IP" regex.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-05-10 12:40:49 +02:00
Jason A. Donenfeld
1fd9570839 reresolve-dns: use $EPOCHSECONDS instead of $(date +%s)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-01-04 13:07:49 +01:00
Mikael Magnusson
b906ecb614 embeddable-wg-library: add named wg_endpoint union
Define wg_endpoint as a named union to allow users of the emeddable
library to use the type in function arguments, variables etc.

Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-10-22 13:26:04 -06:00
Jason A. Donenfeld
1ee37b8e48 ipc: use more clever PnP enumerator
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-10-06 17:18:40 -06:00
Jason A. Donenfeld
3ba6527130 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-09-14 00:43:31 +02:00