summaryrefslogtreecommitdiffhomepage
path: root/talpid-core
AgeCommit message (Collapse)AuthorFilesLines
2025-10-30Refactor `talpid-core/build.rs` to require fewer target cfgsMarkus Pettersson1-21/+17
2025-10-30Bump `mnl`&`nftnl` supporting setting linker directives via Cargo configMarkus Pettersson1-2/+2
2025-10-24Integrate GotaTun cleanlyMarkus Pettersson1-4/+0
Refactor `trait Tunnel` and factor `start_daita` into `set_config`. Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net>
2025-10-20Unload ST driver only if a successful reset occursDavid Lönnhager2-24/+43
2025-10-20Promote widestring to workspace dependencyMarkus Pettersson1-1/+1
Do not care about talpid-openvpn since it's slated for removal
2025-10-14Add warning about BSODDavid Lönnhager1-0/+3
2025-10-14Remove logging when split tunneling failsDavid Lönnhager1-9/+0
This fixes a bug that was triggered by spawning processes when split tunneling failed
2025-10-09Remove `duct` from `talpid-core`Markus Pettersson2-12/+20
2025-10-07Define networks as const valuesMarkus Pettersson3-63/+52
2025-10-03Update winregDavid Lönnhager1-1/+1
2025-10-03Bump windows-sys version to latestDavid Lönnhager8-29/+39
This also refactors and documents some code
2025-10-03Add a UDS for wiresharking gotatun multihop trafficJoakim Hulthe1-0/+1
2025-09-30Rename block_when_disconnected to lockdown_mode in talpid cratesTobias Järvelöv6-40/+38
2025-09-23Promote `rand` to a workspace dependencyMarkus Pettersson1-1/+1
2025-09-18Add multiplexer POC to daemon, TSM, and relay selectorDavid Lönnhager8-94/+185
2025-09-18Specify any number of relay endpoints in WinFwDavid Lönnhager2-2/+6
2025-09-15Update ipnetwork and convert LazyLock to constJoakim Hulthe1-1/+1
2025-09-08Refactor and document macOS route socket typesDavid Lönnhager1-0/+1
2025-09-08Use PF_ROUTE socket to track missing loopback alias instead of pollingDavid Lönnhager1-52/+34
2025-09-08Create new resolver loopback interface alias/IP if it is removedDavid Lönnhager1-0/+65
2025-09-03Add pnputil and devicequery log output for split tunneling and tun devDavid Lönnhager11-8/+440
2025-09-03Move get_system_dir to talpid-windowsDavid Lönnhager1-20/+7
2025-09-03Move multibyte_to_wide to talpid-windowsDavid Lönnhager1-74/+2
2025-09-03Filter out AAAA records on macOS when IPv6 in tunnel is disabledDavid Lönnhager2-10/+64
2025-09-03Add last WG handshake to statsDavid Lönnhager1-1/+1
2025-08-25Do not bind DNS resolver to special loopback addrsJoakim Hulthe2-6/+11
Make sure we don't use 127.255.255.255/8 for the local DNS resolver, as that is a broadcast address.
2025-08-21Block traffic to exit hop from non-relay client process in WinFwDavid Lönnhager6-17/+69
This fixes an issue where traffic could leak unencrypted from the entry hop to the exit hop IP when using multihop
2025-08-19Support deserializing ESMessage version 10Joakim Hulthe6-16/+172
2025-08-19Add test for ESMessage::deserializeJoakim Hulthe3-0/+47
2025-08-19Check eslogger PIDs before using themJoakim Hulthe1-2/+15
2025-07-15Fix `collapsible_if` clippy lintMarkus Pettersson3-19/+18
2025-07-15Fix dangling pointer when applying blocked state on WindowsDavid Lönnhager1-2/+3
2025-07-15Revert (partially) changes to flushing mDNS states on macOSDavid Lönnhager1-10/+4
For poorly understood reasons, blocking mDNS queries can result in the tunnel breaking
2025-07-10Run `cargo fmt`Sebastian Holmin36-97/+113
2025-07-09Inline format argumentsLinus Färnstrand4-8/+8
2025-07-09Use `std::ptr::eq` when comparing raw pointersSebastian Holmin1-3/+3
2025-07-09Fix length comparison to zeroLinus Färnstrand1-1/+1
2025-07-09Use `io:Error::other`Sebastian Holmin2-9/+5
2025-07-04Persist blocking firewall rules across a reboot conditionallyMarkus Pettersson4-10/+106
2025-07-04Split up winfw module into a folder structureMarkus Pettersson3-549/+640
The main thing is to separate the unsafe FFI wrappers, which now reside in the winfw::sys module, from the safe rust bindings in the main module. While doing so, cleanup Windows firewall module: - Add safety comments to a lot of unsafe code. - Mark remaining unsafe blocks - Cleanup logsink fn - Return early to avoid indentation, add safety comments & use c string literal
2025-07-04Add new ephemeral WinFW policy for blocking until next rebootMarkus Pettersson1-3/+16
Define a new WinFW policy WINFW_CLEANUP_POLICY_BLOCK_UNTIL_REBOOT that behaves just like WINFW_CLEANUP_POLICY_CONTINUE_BLOCKING, but only until next reboot.
2025-06-19Add RPC for checking if split tunneling is available on LinuxDavid Lönnhager1-2/+13
2025-06-19Do not add split-tunneling fw rules if no net_clsJoakim Hulthe1-4/+27
2025-06-19Make daemon start without split tunnelingDavid Lönnhager1-18/+46
2025-06-12Fix tun file descriptor ownershipJoakim Hulthe1-1/+1
We accidentally borrowed the file descriptor when we should have moved it. This commit adds more `OwnedFd` and friends to help handle ownership correctly. Signed-off-by: Joakim Hulthe <joakim.hulthe@mullvad.net>
2025-06-11Make flakey unit test less flakeyJoakim Hulthe1-1/+3
For some reason, the UDP socket is not unbound right away when stopping the handler, so the test would sometimes fail with "Address in use"
2025-06-10Update nix to 0.30 everywhereJoakim Hulthe1-2/+2
2025-06-09Set SO_REUSEADDR on local DNS resolver socketDavid Lönnhager3-35/+198
This fixes an issue where bind() fails due to other sockets Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net>
2025-05-26Add BoringtunJoakim Hulthe2-4/+4
Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net> Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: David Göransson <david.goransson@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net>
2025-05-22Reconnect when unavailable IP version becomes availableDavid Lönnhager1-2/+5