summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md7
-rw-r--r--talpid-core/src/routing/linux.rs4
2 files changed, 10 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad8a93a850..d993c6690e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,9 @@ Line wrap the file at 100 chars. Th
#### Windows
- Add support for custom DNS resolvers (CLI only).
+#### Linux
+- Use NetworkManager to create a WireGuard interface.
+
### Changed
- Use the API to fetch API IP addresses instead of DNS.
- Remove WireGuard keys during uninstallation after the firewall is unlocked.
@@ -58,6 +61,10 @@ Line wrap the file at 100 chars. Th
#### Windows
- Fix log output encoding for Windows modules.
+#### Linux
+- Handle statically added routes.
+- Stop reconnecting when using WireGuard and NetworkManager.
+
### Security
- Restore the last target state if the daemon crashes. Previously, if auto-connect and
"Always require VPN" were disabled, the service would reset the firewall upon starting back up,
diff --git a/talpid-core/src/routing/linux.rs b/talpid-core/src/routing/linux.rs
index 4516f19127..dbe35f2c96 100644
--- a/talpid-core/src/routing/linux.rs
+++ b/talpid-core/src/routing/linux.rs
@@ -196,7 +196,9 @@ impl RouteManagerImpl {
async fn initialize_exclusions_routes(&mut self) -> Result<()> {
self.purge_exclusions_routes().await?;
- let main_routes = self.get_routes(None).await?;
+ let mut main_routes = self.get_routes(None).await?.into_iter().collect::<Vec<_>>();
+ main_routes.sort_by(|a, b| a.prefix.prefix().cmp(&b.prefix.prefix()));
+
for mut route in main_routes {
route.table_id = self.split_table_id;
self.add_route_direct(route).await?;