Jake McGinty
d4822afc98
meta: cargo clippy & fmt
2021-09-14 12:24:04 +09:00
Jake McGinty
b395f7f736
wgctrl-rs(userspace): fix linux build
2021-09-13 02:17:44 +09:00
Jake McGinty
b3d2d7f2eb
wgctrl-rs(userspace): remove subtle as dependency
2021-09-13 02:15:47 +09:00
Jake McGinty
c652a8f799
wgctrl-rs: no longer expose bytes of Key publicly
2021-09-13 02:05:57 +09:00
Jake McGinty
fa52dade2e
wgctrl-rs(userspace): use curve25519-dalek directly instead of x25519-dalek
...
This removes our need to use a forked version that had an updated rand dependency
2021-09-13 02:00:29 +09:00
Jake McGinty
e97eb737a4
shared(PeerDiff): refactor struct and update peer endpoints only when handshake failed
...
The past behavior of clients was to, on every fetch from the server, update each of its peer's endpoints with the one reported from the server. While this wasn't a problem on certain types of NATs to help with holepunching, in some situations it caused previously working connections to no longer work (when one peer had a port-restricted or symmetric cone type NAT).
2021-08-05 09:38:14 +09:00
Jake McGinty
b169435355
meta: release v1.4.1
2021-08-03 01:26:38 +09:00
Jake McGinty
82325509db
meta: cargo clippy & fmt
2021-08-02 23:10:20 +09:00
Jake McGinty
40e8ca68f9
wgctrl-rs(userspace): gracefully handle stale `.name` files on macOS
...
* wgctrl-rs(userspace): clean stale namefiles on starting up interface
Fixes #114
* wgctrl-rs(userspace): check connectability of interface socket in enumerate()
2021-08-02 22:12:29 +09:00
Jake McGinty
bbfb11e175
meta: cargo update & clippy fixes
2021-07-27 14:14:50 +09:00
Jake McGinty
118986e5e3
meta: release v1.4.0
2021-07-11 22:16:20 +09:00
Jake McGinty
7bc1033b58
meta: cargo clippy
2021-06-16 20:34:53 +09:00
Jake McGinty
d8513d3d54
meta: release v1.4.0-beta.3
2021-06-16 20:28:52 +09:00
Jake McGinty
93b4b0b43c
meta: release v1.4.0-beta.2
2021-06-14 23:53:02 +09:00
Jake McGinty
3a1f5cab6b
meta: release v1.4.0-beta.1
2021-06-14 15:54:50 +09:00
Jake McGinty
449b4b8278
client: support running as non-root ( #94 )
...
shared(wg): use netlink instead of execve calls to "ip"
hostsfile: write to hostsfile in-place
2021-06-10 22:57:47 +09:00
Jake McGinty
ba0b062ce9
meta: release v1.3.1
2021-06-01 00:58:09 +09:00
Jake McGinty
2d012c6bd9
meta: release v1.3.0
2021-05-21 14:46:30 +09:00
Jake McGinty
e2011b4260
meta: release v1.3.0-beta.7
2021-05-20 13:05:03 +09:00
Jake McGinty
25a4a0eb41
meta: release v1.3.0-beta.6
2021-05-20 03:44:45 +09:00
Jake McGinty
c512985214
meta: remove unused code and format
2021-05-20 03:18:43 +09:00
Jake McGinty
5b744d1f78
client, wgctrl: fix various linux userspace issues
...
Fixes #75
2021-05-20 03:16:48 +09:00
Jake McGinty
08b975e847
meta: release v1.3.0-beta.5
2021-05-19 16:59:27 +09:00
Jake McGinty
3892a99156
wgctrl: use wireguard backends explicitly (with OS-specific defaults) ( #85 )
...
Based on the conversation from #5 (comment) - this changes innernet's behavior on Linux from automatically falling back to the userspace, instead requiring --backend userspace to be specified.
This should help people avoid weird situations in environments like Docker.
2021-05-19 16:54:07 +09:00
Jake McGinty
46f2a1e24c
wgctrl-rs: fix ipv6 endpoint encoding (thanks @mk-fg)
...
Previously, it remained the `Default::default()` value.
Added test to validate correctness
2021-05-11 13:52:06 +09:00
Jake McGinty
ac01b8c9aa
meta: release v1.3.0-beta.4
2021-05-10 04:18:47 +09:00
Jake McGinty
9d4eb80177
meta: release v1.3.0-beta.3
2021-05-09 21:37:19 +09:00
Jake McGinty
981f7e8701
shared: add better visibility into IO errors
2021-05-09 21:34:11 +09:00
Jake McGinty
d4d0d7301a
meta: release v1.3.0-beta.2
2021-05-09 20:07:27 +09:00
Jake McGinty
78c2bfd6db
meta: release v1.3.0-beta.1
2021-05-09 03:37:03 +09:00
Jake McGinty
c01c2be4bb
server: switch from using warp directly to hyper ( #67 )
...
Closes #53
2021-05-06 12:32:54 +09:00
Jake McGinty
c6bb8052fb
meta: release v1.2.0
2021-04-24 23:39:28 +09:00
Jake McGinty
378aa8383c
meta: release v1.2.0-beta.1
2021-04-21 01:13:44 +09:00
Matt Blessed
849cc4cd4f
use proper c char types ( #54 )
...
related: https://github.com/tonarino/innernet/issues/50
2021-04-19 15:23:46 +09:00
Jake McGinty
6d28e7f4ab
{client,server}: allow peer/cidr creation with CLI arguments ( #48 )
...
Fixes #20
2021-04-15 00:25:31 +09:00
Jake McGinty
cb0e76c39b
meta: release v1.1.0
2021-04-11 16:42:24 +09:00
Jake McGinty
10ae9b51eb
wgctrl-rs: remove loud debug println
2021-04-11 16:38:32 +09:00
Jake McGinty
e8790f3178
meta: release v1.1.0-rc.2
2021-04-11 13:34:09 +09:00
Jake McGinty
dde58c8f45
wgctrl-rs: create /var/run/wireguard if it's not there
...
wireguard-go wasn't writing the name file if the directory didn't
already exist.
2021-04-11 13:30:38 +09:00
Jake McGinty
6c55dafce6
meta: release v1.1.0-rc.1
2021-04-09 22:47:33 +09:00
Jake McGinty
bd7987f82f
meta: release v1.0.2-rc.2
2021-04-09 15:02:44 +09:00
Jake McGinty
ee890ccaa7
meta: release v1.0.2-rc.1
2021-04-09 14:14:43 +09:00
Jake McGinty
a87d56cfc9
{client,server}: send and require a header that contains the server public key
...
This is a stop-gap CSRF protection mechanism from unsophisticated attacks. It's to be considered a temporary solution until a more complete one can be implemented, but it should be sufficient in most cases for the time being.
See https://github.com/tonarino/innernet/issues/38 for further discussion.
2021-04-09 13:48:00 +09:00
Jake McGinty
bcd68df772
wgctrl-sys: correct InterfaceName parsing and simplify a bit
...
It was dropping the last character in the name, and I modified it to
instead just error on any &str that has a '\0' in it. The strictness
feels acceptable and simplifies the code a bit.
2021-04-09 12:27:49 +09:00
BlackHoleFox
b1e1ff8f4f
wgctrl-sys: Remove some unsafe in the kernel backend
...
Validates WireGuard interfaces against the linux specification for interface names.
Refactor userspace and other OSes to use InterfaceName
2021-04-09 10:28:37 +09:00
Jake McGinty
9b55619002
wgctrl-rs: environment variable userspace impl overrides
...
wgctrl-rs will now look for the WG_USERSPACE_IMPLEMENTATION or
WG_QUICK_USERSPACE_IMPLEMENTATION environment variables to
override the default wireguard-go userspace implementation choice.
Closes #34
2021-04-08 11:54:01 +09:00
Jake McGinty
1e1436bfa5
(cargo-release) version v1.0.1
2021-04-08 11:09:54 +09:00
Jake McGinty
99ee399b6e
wgctrl-rs: fix typo in comment
2021-04-08 11:09:54 +09:00
Jake McGinty
41fd9014c0
wgctrl-rs: modprobe wireguard if it's available but not loaded
...
Fixes #5
2021-04-08 11:04:35 +09:00
Jake McGinty
17f56556ea
meta: include tickets for git-based cargo dependencies
2021-04-06 13:33:55 +09:00