summaryrefslogtreecommitdiffhomepage
path: root/talpid-dbus/src/systemd_resolved.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-07-10Run `cargo fmt`Sebastian Holmin1-1/+1
2025-03-18Remove needsless cloning of objectsLinus Färnstrand1-2/+1
2025-01-14Fix new `clippy` warningsMarkus Pettersson1-2/+1
2024-08-27Use std LazyLock instead of once_cell LazyDavid Lönnhager1-3/+8
2024-06-14Adapt to new never type fallback by explicitly stating unit typesLinus Färnstrand1-1/+1
2024-04-03Enable single-use-lifetimes rustc lintLinus Färnstrand1-13/+10
Removes superfluous lifetime definitions. Simplifying the code
2024-02-27Replace err_derive with thiserrorJoakim Hulthe1-26/+25
`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-02-19Fix redundant importsDavid Lönnhager1-1/+0
2023-08-04Replace all use of `lazy_static` with `once_cell`Markus Pettersson1-5/+5
To align more with the upcoming standardizations within the Rust ecosystem which started with the release of `1.70.0` and the inevitable deprecation of `lazy_static`.
2022-06-21Fix the large majority of clippy warningsJonathan1-1/+1
This commit fixes most of the remaining clippy warnings in the codebase. These warnings were the more semantically difficult ones to fix. There are some warnings that remain from the rebase that will be fixed in the upcoming PR.
2022-06-14Manually fix the simpler non-semantic clippy warnsJonathan1-1/+1
This commit tries to manually fix the clippy warnings that are fairly straightforward and do not have rippling effects on the codebase nor have a very high chance of causing bugs.
2022-06-13Perform a clippy --fixjonathan1-2/+2
This is a giant commit which performs only a clippy --fix. Auditing can happen in two ways, either by reading every line or by running a `cargo clippy --fix` on the previous commit and make sure that the result is the same.
2022-01-11Use ": " as delimiter instead of " - " between messages and valueLinus Färnstrand1-2/+2
2021-11-29Reformat code without blank_lines_upper_bound = 2Linus Färnstrand1-2/+0
2021-08-09Always disable DNS over TLS in systemd-resolvedEmīls1-0/+28
2021-06-21Fix unused borrowDavid Lönnhager1-2/+2
2021-06-09Work around issue where systemd-resolved only replaces a single existing DNS ↵David Lönnhager1-1/+28
server on an interface
2021-06-09Fix D-Bus errors by using a separate connection for the route monitorDavid Lönnhager1-0/+11
2021-06-09Infer and monitor interfaces for DNS configDavid Lönnhager1-17/+139
2021-03-26Fix deadlock in systemd-resolvedEmīls1-5/+9
2021-03-02Watch DNS config changes in systemd-resolvedEmīls1-0/+396
Certain NM versions will overwrite systemd-resovled config when they're reapplying existing config, this can be invoked `nmcli general reload dns-full` or by receiving a new DHCP lease. NM will just wipe the config for interfaces it doesn't have the config for in systemd-resolved, and since our daemon prefers systemd-resolved over NM, our config would be wiped. To fix this, I've changed the systemd-resolved DNS code to listen to changes to the global DNS config and reapply the tunnel interface DNS config if it's changed in any way. To better seperate the conecrns, the systemd-resolved DBus specific code was moved to the `talpid-dbus` crate, and the DNS code that manages the state and applies changes remains in `talpid-core`. One other solution that was considered was to just prefer NM over systemd-resolved, and we already kind of could do that, but the coming NM versions (1.28 and up) seem to not be able to manage DNS via it's own /etc/resolv.conf.