mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
This isn't really user-facing, so I marked it down from `feat` to `chore`. Closes #3817 - If we exit gracefully, `/etc/resolv.conf` is reverted - We always keep the `.before-firezone` backup in case we lose power and the revert transaction is corrupted or rolled back - We use a magic header to detect whether the last run was a crash or not. If Firezone crashes and the user wants to modify their default DNS, they need to delete that header so that Firezone won't accidentally revert its backup and trash their change. - All error variants for this module replaced with `anyhow::Error` since they were never matched by callers. I ran `cargo mutants` locally and it helped me validate the unit tests and it picked up a `match` branch that I forgot to delete. ```[tasklist] - [x] (Failed: Integration tests didn't like it) ~~Add the system default resolvers below Firezone's sentinels~~ - [x] `tracing::info` "Last run crashed" if we have to revert the file at startup ``` --------- Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>