summaryrefslogtreecommitdiffhomepage
path: root/talpid-routing/src/unix/macos
AgeCommit message (Collapse)AuthorFilesLines
2025-09-08Refactor and document macOS route socket typesDavid Lönnhager4-397/+332
2025-07-10Run `cargo fmt`Sebastian Holmin5-10/+13
2025-07-09Fix `WireguardTunnelMonitoringError` enum sizeSebastian Holmin1-4/+4
2025-06-19Update default_routes.rsleopardracer1-1/+1
2025-06-19Update data.rsleopardracer1-2/+2
2025-06-10Update nix to 0.30 everywhereJoakim Hulthe1-4/+1
2025-06-05Fix typosomahs1-1/+1
2025-05-28Replace spawn_blocking with spawnJoakim Hulthe1-7/+2
2025-05-14Do not delay first route events in default_routesDavid Lönnhager1-4/+14
Previously, this resulted in short jump to the offline state if IPv6 was unavailable and the daemon connected within a period of NO_ROUTE_GRACE_TIME after starting
2025-04-23Compare routes by interface_index instead of link addrJoakim Hulthe1-19/+21
2025-04-23Handle changes to best default route betterJoakim Hulthe6-276/+698
2025-04-23Implement Debug for RouteSocketAddress manuallyJoakim Hulthe1-1/+35
2025-04-23Ensure that default route still exist on route eventsJoakim Hulthe1-17/+72
2025-04-23Rename _err to _would_blockJoakim Hulthe1-1/+1
2025-04-23Replace loop+bitshift with iteratorJoakim Hulthe1-23/+22
2025-04-01Fix incorrect decoding of macOS SCDynStore valueJoakim Hulthe1-48/+52
We were incorrectly reading the `Addresses`-key from the `State:/Network/Global/IPvX`-dictionaries, which do not have it. The correct place to look is `State:/Network/Service/<service_id>/IPvX`
2025-04-01Remove some `unsafe` blocksJoakim Hulthe1-17/+32
2025-02-25Allow undocumented_unsafe_blocks in some modulesJoakim Hulthe1-0/+2
2025-02-25Fix bad pointer deref in talpid-routing::unix::macos::dataJoakim Hulthe1-1/+6
2025-02-25Fix math in talpid-routing::unix::macos::data (?)Joakim Hulthe1-1/+1
2025-02-25Fix safety comment position in talpid-routing::unix::macos::dataJoakim Hulthe1-4/+4
2025-02-06Replace old waitForTunnelUp functionDavid Göransson1-1/+2
After invoking VpnService.establish() we will get a tunnel file descriptor that corresponds to the interface that was created. However, this has no guarantee of the routing table beeing up to date, and we might thus send traffic outside the tunnel. Previously this was done through looking at the tunFd to see that traffic is sent to verify that the routing table has changed. If no traffic is seen some traffic is induced to a random IP address to ensure traffic can be seen. This new implementation is slower but won't risk sending UDP traffic to a random public address at the internet.
2024-08-20Add interface/mtu change listenerDavid Lönnhager2-0/+27
2024-06-24Run `cargo +nightly fmt`Sebastian Holmin1-2/+1
2024-06-20Use only SCDynamicStore for fetching network service IPsDavid Lönnhager1-53/+42
This fixes a regression due to 9c257c424a5ed4d531fec8e813f44a4ede0baaee
2024-04-30Refactor tun moduleDavid Lönnhager1-2/+1
2024-04-30Simplify interface filteringDavid Lönnhager2-54/+37
2024-04-30Handle already-applied routes gentlyDavid Lönnhager2-6/+17
2024-04-30Add initial split tunneling implementation for macOSDavid Lönnhager2-112/+169
2024-04-03Enable single-use-lifetimes rustc lintLinus Färnstrand1-1/+1
Removes superfluous lifetime definitions. Simplifying the code
2024-03-13Fix recv errorDavid Lönnhager1-1/+1
2024-03-13Recreate routing socket if it has been shut down while readingDavid Lönnhager1-5/+13
2024-03-13Hide wait_for_responseDavid Lönnhager1-1/+1
2024-03-13Add helper for checking if routing socket has been shut downDavid Lönnhager1-0/+17
2024-03-13Log when select functions are called an unusual number of timesDavid Lönnhager2-0/+10
2024-03-08Remove superfluous commentsDavid Lönnhager1-8/+0
2024-03-08Clean up macOS routing data errorsDavid Lönnhager3-54/+59
2024-03-08Print all source errors for macOS routing errorsDavid Lönnhager3-7/+12
2024-03-07Bump nixAndrej Mihajlov2-6/+8
2024-03-07Update bitflags to v2Andrej Mihajlov1-0/+3
2024-03-07routing: use libc constantsAndrej Mihajlov1-58/+57
2024-02-27Replace err_derive with thiserrorJoakim Hulthe3-25/+24
`err_derive` is unmaintained and will probably stop working with rust edition 2024. `thiserror` is almost a drop-in replacement. This commit simply replaces all occurences of `derive(err_derive::Error)` with `derive(thiserror::Error)` and fixes the attributes, but the Error and Display impls should be identical.
2024-01-25Set default route MTU when using multihop on macOS. This prevents fragmentationDavid Lönnhager2-3/+35
2024-01-15Reconnect if default route disappears while connecting on macOSDavid Lönnhager2-1/+11
2024-01-08Set scope ID when restoring default route whose gateway is a link-local addressDavid Lönnhager2-9/+32
2024-01-05Run `cargo +nightly fmt`Sebastian Holmin1-1/+1
2024-01-03Remove excessive logging of interfaces on macOSDavid Lönnhager1-9/+2
2023-10-10Print network services when offlineDavid Lönnhager2-0/+24
2023-10-10React to any network service change in dynamic storeDavid Lönnhager2-11/+70
2023-10-09Create DynamicStore on startup in macOS route monitorDavid Lönnhager2-133/+189