Commit Graph

71 Commits (1b260823f993a4902f8ef484633d8a7c7552f782)

Author SHA1 Message Date
Jake McGinty 160451c8e5 meta: cargo update 2022-01-11 02:02:05 -06:00
Jake McGinty 8dd11977af meta: structopt 0.3 -> clap 3 2022-01-11 01:51:32 -06:00
Jake McGinty 97a49c5c0e netlink-request: match semver with rest of the project 2022-01-11 01:17:24 -06:00
Jake McGinty 09e68c2c01
(linux) wireguard-control: migrate from `wireguard-control-sys` to `netlink` crates (#177)
also introduces a new `netlink-request` crate to help modularize the netlink code. this currently depends on a fork of the `netlink` project, but we should be able to use the official version soon.
2022-01-07 18:35:21 +09:00
Jake McGinty 6be3e61074 meta: release v1.5.2 2021-12-06 02:35:18 +09:00
Jake McGinty 7f6b5afe31 meta: cargo update 2021-11-21 15:46:34 +09:00
Jake McGinty 9a59ac3094 meta: release v1.5.1 2021-11-11 18:42:21 +09:00
Jake McGinty e2473951b7 meta: update dependencies 2021-11-11 18:41:44 +09:00
Jake McGinty 17dd26921f meta: update dependencies 2021-11-05 12:22:35 +09:00
Jake McGinty 1b983d636d meta: release v1.5.0 2021-09-17 14:18:09 +09:00
Jake McGinty 9b1315b079 meta: release v1.5.0-beta.5 2021-09-16 02:00:03 +09:00
Jake McGinty 4fa689d400 meta: rename wgctrl to wireguard-control
in preparation for publishing on crates.io
2021-09-15 12:43:20 +09:00
Jake McGinty 454e5458c1 meta: release v1.5.0-beta.4 2021-09-14 23:18:30 +09:00
Jake McGinty dcdaefd1ff meta: release v1.5.0-beta.3 2021-09-14 22:34:08 +09:00
Jake McGinty 2a640fd9b2 meta: release v1.5.0-beta.2 2021-09-14 17:59:48 +09:00
Jake McGinty ecdfd7f6d2 meta: cargo update 2021-09-14 17:58:22 +09:00
Jake McGinty dbb499a848 meta: release v1.5.0-beta.1 2021-09-14 17:26:46 +09:00
Jake McGinty b3d2d7f2eb wgctrl-rs(userspace): remove subtle as dependency 2021-09-13 02:15:47 +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 c618d7949b meta: cargo update && cargo fmt 2021-09-13 00:48:49 +09:00
Jake McGinty 9c5380c7f8 client, server: forbid using reserved IPv6 anycast addresses as unicast
Previously, we treated all IPv6 addresses as assignable, but that causes
problems with setups that expect the first address in a subnet to be the
router anycast address.

Note that this does not fix existing innernet networks, and those
experiencing this problem are advised to revised to recreate their
network after this fix has been merged. Sorry for the annoyance.

Fixes #131
2021-09-05 23:50:09 +09:00
Jake McGinty 8903604caa
NAT traversal: ICE-esque candidate selection (#134)
This change adds the ability for peers to report additional candidate endpoints for other peers to attempt connections with outside of the endpoint reported by the coordinating server.

While not a complete solution to the full spectrum of NAT traversal issues (TURN-esque proxying is still notably missing), it allows peers within the same NAT to connect to each other via their LAN addresses, which is a win nonetheless. In the future, more advanced candidate discovery could be used to punch through additional types of NAT cone types as well.

Co-authored-by: Matěj Laitl <matej@laitl.cz>
2021-09-01 18:58:46 +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 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 867583a992 meta: cargo update 2021-07-11 21:46:28 +09:00
Jake McGinty b23f952e79 meta: cargo update 2021-06-22 11:16:33 +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 8bd7b6e283 meta: cargo update 2021-06-14 18:10:28 +09:00
Jake McGinty 3a1f5cab6b meta: release v1.4.0-beta.1 2021-06-14 15:54:50 +09:00
Jake McGinty 72ef070ef3 shared(prompts): fail on no TTY if interactivity was needed
Fixes #98
2021-06-14 15:52:15 +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 b7f299c147 meta: cargo update & clippy 2021-06-01 00:22:48 +09:00
Jake McGinty 2d012c6bd9 meta: release v1.3.0 2021-05-21 14:46:30 +09:00
Jake McGinty fed0c859c8 meta: cargo update & fmt 2021-05-21 13:35:52 +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 e95d79db66 client: add verbose logging 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 8a021a3674 meta: cargo update 2021-05-10 04:38:46 +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 d4d0d7301a meta: release v1.3.0-beta.2 2021-05-09 20:07:27 +09:00
Jake McGinty 0000488910
client, server: create own crate for public ip resolution (#72) 2021-05-09 19:57:52 +09:00
Jake McGinty 78c2bfd6db meta: release v1.3.0-beta.1 2021-05-09 03:37:03 +09:00