diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-03-09 09:55:46 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-03-16 12:54:27 +0100 |
| commit | e7727b3888d2c32050d75a8fe5482e3ff42fd85d (patch) | |
| tree | 56966eb4e9b0cbf13b97950d8827696b33fd9da2 | |
| parent | bf5de2975055790e0dd319324b5342f11b6e92e3 (diff) | |
| download | mullvadvpn-e7727b3888d2c32050d75a8fe5482e3ff42fd85d.tar.xz mullvadvpn-e7727b3888d2c32050d75a8fe5482e3ff42fd85d.zip | |
Add reset-firewall command to mullvad-setup
| -rw-r--r-- | mullvad-setup/src/main.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/mullvad-setup/src/main.rs b/mullvad-setup/src/main.rs index 9034d7c1f7..484ca82c87 100644 --- a/mullvad-setup/src/main.rs +++ b/mullvad-setup/src/main.rs @@ -1,11 +1,14 @@ use clap::{crate_authors, crate_description, crate_name, SubCommand}; use std::process; +use talpid_core::firewall::{self, Firewall, FirewallArguments}; use talpid_types::ErrorExt; pub const PRODUCT_VERSION: &str = include_str!(concat!(env!("OUT_DIR"), "/product-version.txt")); #[derive(err_derive::Error, Debug)] pub enum Error { + #[error(display = "Firewall error")] + FirewallError(#[error(source)] firewall::Error), } fn main() { @@ -47,5 +50,12 @@ fn prepare_restart() -> Result<(), Error> { } fn reset_firewall() -> Result<(), Error> { - Ok(()) + // TODO: ensure daemon isn't running + + let mut firewall = Firewall::new(FirewallArguments { + initialize_blocked: false, + allow_lan: None, + }).map_err(Error::FirewallError)?; + + firewall.reset_policy().map_err(Error::FirewallError) } |
