diff options
| author | Odd Stranne <odd@mullvad.net> | 2018-05-25 16:14:04 +0200 |
|---|---|---|
| committer | Odd Stranne <odd@mullvad.net> | 2018-05-25 16:14:04 +0200 |
| commit | 14262e3bab7f14c77ad4cc376ebdf55f5a35f620 (patch) | |
| tree | 8c6cc3505d9818a0edf75432f0d0a44213ecb361 | |
| parent | f94fef169b1c1e683af1e4b1528bb386de052567 (diff) | |
| parent | 155abdd39df1b8f0db9347e569e0656260db22cc (diff) | |
| download | mullvadvpn-14262e3bab7f14c77ad4cc376ebdf55f5a35f620.tar.xz mullvadvpn-14262e3bab7f14c77ad4cc376ebdf55f5a35f620.zip | |
Merge branch 'restructure-windows-code'
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | .gitmodules | 12 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | appveyor.yml | 12 | ||||
| -rw-r--r-- | build_winfw.sh (renamed from build_wfp.sh) | 20 | ||||
| -rw-r--r-- | talpid-core/build.rs | 16 | ||||
| -rw-r--r-- | talpid-core/src/firewall/windows/mod.rs | 114 | ||||
| m--------- | wfpctl/libwfp | 0 | ||||
| -rw-r--r-- | wfpctl/src/extras/cli/modules/wfpctl.h | 25 | ||||
| -rw-r--r-- | wfpctl/src/wfpctl/wfpctl.def | 9 | ||||
| m--------- | windows/googletest | 0 | ||||
| m--------- | windows/libwfp | 0 | ||||
| m--------- | windows/windows-libraries | 0 | ||||
| -rw-r--r-- | windows/winfw/extras.sln (renamed from wfpctl/extras.sln) | 6 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/cli.cpp (renamed from wfpctl/src/extras/cli/cli.cpp) | 6 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/cli.vcxproj (renamed from wfpctl/src/extras/cli/cli.vcxproj) | 30 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/cli.vcxproj.filters (renamed from wfpctl/src/extras/cli/cli.vcxproj.filters) | 28 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/icommand.h (renamed from wfpctl/src/extras/cli/commands/icommand.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/events.cpp (renamed from wfpctl/src/extras/cli/commands/list/events.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/events.h (renamed from wfpctl/src/extras/cli/commands/list/events.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/filters.cpp (renamed from wfpctl/src/extras/cli/commands/list/filters.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/filters.h (renamed from wfpctl/src/extras/cli/commands/list/filters.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/layers.cpp (renamed from wfpctl/src/extras/cli/commands/list/layers.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/layers.h (renamed from wfpctl/src/extras/cli/commands/list/layers.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/providercontexts.cpp (renamed from wfpctl/src/extras/cli/commands/list/providercontexts.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/providercontexts.h (renamed from wfpctl/src/extras/cli/commands/list/providercontexts.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/providers.cpp (renamed from wfpctl/src/extras/cli/commands/list/providers.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/providers.h (renamed from wfpctl/src/extras/cli/commands/list/providers.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/sessions.cpp (renamed from wfpctl/src/extras/cli/commands/list/sessions.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/sessions.h (renamed from wfpctl/src/extras/cli/commands/list/sessions.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/sublayers.cpp (renamed from wfpctl/src/extras/cli/commands/list/sublayers.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/list/sublayers.h (renamed from wfpctl/src/extras/cli/commands/list/sublayers.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/monitor/m_events.cpp (renamed from wfpctl/src/extras/cli/commands/monitor/m_events.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/monitor/m_events.h (renamed from wfpctl/src/extras/cli/commands/monitor/m_events.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/deinit.cpp (renamed from wfpctl/src/extras/cli/commands/wfpctl/deinit.cpp) | 8 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/deinit.h (renamed from wfpctl/src/extras/cli/commands/wfpctl/deinit.h) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/init.cpp (renamed from wfpctl/src/extras/cli/commands/wfpctl/init.cpp) | 8 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/init.h (renamed from wfpctl/src/extras/cli/commands/wfpctl/init.h) | 6 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/policy.cpp (renamed from wfpctl/src/extras/cli/commands/wfpctl/policy.cpp) | 24 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/commands/winfw/policy.h (renamed from wfpctl/src/extras/cli/commands/wfpctl/policy.h) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/filterengineprovider.h (renamed from wfpctl/src/extras/cli/filterengineprovider.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/inlineformatter.h (renamed from wfpctl/src/extras/cli/inlineformatter.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/ipropertydecorator.h (renamed from wfpctl/src/extras/cli/ipropertydecorator.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/imodule.h (renamed from wfpctl/src/extras/cli/modules/imodule.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/list.h (renamed from wfpctl/src/extras/cli/modules/list.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/module.cpp (renamed from wfpctl/src/extras/cli/modules/module.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/module.h (renamed from wfpctl/src/extras/cli/modules/module.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/monitor.h (renamed from wfpctl/src/extras/cli/modules/monitor.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/modules/winfw.h | 25 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/objectproperties.cpp (renamed from wfpctl/src/extras/cli/objectproperties.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/objectproperties.h (renamed from wfpctl/src/extras/cli/objectproperties.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/propertydecorator.cpp (renamed from wfpctl/src/extras/cli/propertydecorator.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/propertydecorator.h (renamed from wfpctl/src/extras/cli/propertydecorator.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/propertylist.h (renamed from wfpctl/src/extras/cli/propertylist.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/stdafx.cpp (renamed from wfpctl/src/extras/cli/stdafx.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/stdafx.h (renamed from wfpctl/src/extras/cli/stdafx.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/subcommanddispatcher.cpp (renamed from wfpctl/src/extras/cli/subcommanddispatcher.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/subcommanddispatcher.h (renamed from wfpctl/src/extras/cli/subcommanddispatcher.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/targetver.h (renamed from wfpctl/src/extras/cli/targetver.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/util.cpp (renamed from wfpctl/src/extras/cli/util.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/extras/cli/util.h (renamed from wfpctl/src/extras/cli/util.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/dllmain.cpp (renamed from wfpctl/src/wfpctl/dllmain.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/fwcontext.cpp (renamed from wfpctl/src/wfpctl/wfpcontext.cpp) | 22 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/fwcontext.h (renamed from wfpctl/src/wfpctl/wfpcontext.h) | 14 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/iobjectinstaller.h (renamed from wfpctl/src/wfpctl/iobjectinstaller.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/mullvadguids.cpp (renamed from wfpctl/src/wfpctl/mullvadguids.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/mullvadguids.h (renamed from wfpctl/src/wfpctl/mullvadguids.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/mullvadobjects.cpp (renamed from wfpctl/src/wfpctl/mullvadobjects.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/mullvadobjects.h (renamed from wfpctl/src/wfpctl/mullvadobjects.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/blockall.cpp (renamed from wfpctl/src/wfpctl/rules/blockall.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/blockall.h (renamed from wfpctl/src/wfpctl/rules/blockall.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/ifirewallrule.h (renamed from wfpctl/src/wfpctl/rules/ifirewallrule.h) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitdhcp.cpp (renamed from wfpctl/src/wfpctl/rules/permitdhcp.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitdhcp.h (renamed from wfpctl/src/wfpctl/rules/permitdhcp.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitlan.cpp (renamed from wfpctl/src/wfpctl/rules/permitlan.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitlan.h (renamed from wfpctl/src/wfpctl/rules/permitlan.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitlanservice.cpp (renamed from wfpctl/src/wfpctl/rules/permitlanservice.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitlanservice.h (renamed from wfpctl/src/wfpctl/rules/permitlanservice.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitloopback.cpp (renamed from wfpctl/src/wfpctl/rules/permitloopback.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitloopback.h (renamed from wfpctl/src/wfpctl/rules/permitloopback.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitvpnrelay.cpp (renamed from wfpctl/src/wfpctl/rules/permitvpnrelay.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitvpnrelay.h (renamed from wfpctl/src/wfpctl/rules/permitvpnrelay.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitvpntunnel.cpp (renamed from wfpctl/src/wfpctl/rules/permitvpntunnel.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/permitvpntunnel.h (renamed from wfpctl/src/wfpctl/rules/permitvpntunnel.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/restrictdns.cpp (renamed from wfpctl/src/wfpctl/rules/restrictdns.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/restrictdns.h (renamed from wfpctl/src/wfpctl/rules/restrictdns.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/sessioncontroller.cpp (renamed from wfpctl/src/wfpctl/sessioncontroller.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/sessioncontroller.h (renamed from wfpctl/src/wfpctl/sessioncontroller.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/sessionrecord.cpp (renamed from wfpctl/src/wfpctl/sessionrecord.cpp) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/sessionrecord.h (renamed from wfpctl/src/wfpctl/sessionrecord.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/stdafx.cpp (renamed from wfpctl/src/wfpctl/stdafx.cpp) | 2 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/stdafx.h (renamed from wfpctl/src/wfpctl/stdafx.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/targetver.h (renamed from wfpctl/src/wfpctl/targetver.h) | 0 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/winfw.cpp (renamed from wfpctl/src/wfpctl/wfpctl.cpp) | 86 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/winfw.def | 9 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/winfw.h (renamed from wfpctl/src/wfpctl/wfpctl.h) | 70 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/winfw.vcxproj (renamed from wfpctl/src/wfpctl/wfpctl.vcxproj) | 36 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/winfw.vcxproj.filters (renamed from wfpctl/src/wfpctl/wfpctl.vcxproj.filters) | 10 | ||||
| -rw-r--r-- | windows/winfw/winfw.sln (renamed from wfpctl/wfpctl.sln) | 6 |
99 files changed, 319 insertions, 313 deletions
diff --git a/.gitignore b/.gitignore index aee01ac6d3..60e800fde9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,5 @@ build .DS_Store *.log dist-assets/relays.json -wfpctl/bin/ +windows/winfw/bin/ **/.vs/ diff --git a/.gitmodules b/.gitmodules index 89f6d60365..3e95167fce 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,12 @@ -[submodule "wfpctl/libwfp"] - path = wfpctl/libwfp - url = https://github.com/mullvad/libwfp.git [submodule "dist-assets/binaries"] path = dist-assets/binaries url = https://github.com/mullvad/mullvadvpn-app-binaries +[submodule "windows/libwfp"] + path = windows/libwfp + url = https://github.com/mullvad/libwfp +[submodule "windows/windows-libraries"] + path = windows/windows-libraries + url = https://github.com/mullvad/windows-libraries +[submodule "windows/googletest"] + path = windows/googletest + url = https://github.com/mullvad/googletest @@ -65,10 +65,10 @@ The specific build tool version that is required is `v141`. - The host has to have `bash` installed. -- Before compiling the daemon, one must run `build_wfp.sh` to build a C++ +- Before compiling the daemon, one must run `build_winfw.sh` to build a C++ library that sets firewall rules on Windows. ```bash - bash build_wfp.sh + bash build_winfw.sh ``` ## Building and running the Electron GUI app diff --git a/appveyor.yml b/appveyor.yml index bea6eea4ac..7f6d5d711d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,23 +13,23 @@ environment: # overridden on a case by case basis down below RUST_VERSION: stable RUST_BACKTRACE: "1" - WFP_BUILD_MODES: "Debug" + CPP_BUILD_MODES: "Debug" # These are all the build jobs. Adjust as necessary. Comment out what you # don't need matrix: - TARGET: i686-pc-windows-msvc - WFP_BUILD_TARGETS: "x86" + CPP_BUILD_TARGETS: "x86" - TARGET: x86_64-pc-windows-msvc - WFP_BUILD_TARGETS: "x64" + CPP_BUILD_TARGETS: "x64" # Testing other channels - TARGET: x86_64-pc-windows-msvc - WFP_BUILD_TARGETS: "x64" + CPP_BUILD_TARGETS: "x64" RUST_VERSION: beta - TARGET: x86_64-pc-windows-msvc - WFP_BUILD_TARGETS: "x64" + CPP_BUILD_TARGETS: "x64" RUST_VERSION: nightly install: @@ -51,7 +51,7 @@ install: # This is the "test phase", tweak it as you see fit test_script: - - bash -x build_wfp.sh + - bash -x build_winfw.sh - cargo build - cargo test diff --git a/build_wfp.sh b/build_winfw.sh index b27086be36..521fe007fa 100644 --- a/build_wfp.sh +++ b/build_winfw.sh @@ -1,13 +1,13 @@ set -eu # List of solutions to build -WFP_SOLUTIONS=${WFP_SOLUTIONS:-"wfpctl"} +CPP_SOLUTIONS=${CPP_SOLUTIONS:-"winfw"} # Override this variable to set your own list of build configurations for # wfpctl -WFP_BUILD_MODES=${WFP_BUILD_MODES:-"Debug Release"} +CPP_BUILD_MODES=${CPP_BUILD_MODES:-"Debug Release"} # Override this variable to set different target platforms for wfpctl -WFP_BUILD_TARGETS=${WFP_BUILD_TARGETS:-"x86 x64"} +CPP_BUILD_TARGETS=${CPP_BUILD_TARGETS:-"x86 x64"} # Override this to set a different cargo target directory CARGO_TARGET_DIR=${CARGO_TARGET_DIR:-"./target/"} @@ -22,9 +22,9 @@ function build_wfpctl rm -r $path/bin/* || true set -x - for mode in $WFP_BUILD_MODES; do - for target in $WFP_BUILD_TARGETS; do - cmd.exe "/c msbuild.exe $(to_win_path $path/wfpctl.sln) /p:Configuration=$mode /p:Platform=$target /t:$WFP_SOLUTIONS" + for mode in $CPP_BUILD_MODES; do + for target in $CPP_BUILD_TARGETS; do + cmd.exe "/c msbuild.exe $(to_win_path $path/winfw.sln) /p:Configuration=$mode /p:Platform=$target /t:$CPP_SOLUTIONS" done done @@ -50,12 +50,12 @@ function copy_outputs { local wfp_root_path=$1 - for mode in $WFP_BUILD_MODES; do - for target in $WFP_BUILD_TARGETS; do + for mode in $CPP_BUILD_MODES; do + for target in $CPP_BUILD_TARGETS; do local dll_path=$(get_wfp_output_path $wfp_root_path $target $mode) local cargo_target=$(get_cargo_target_dir $target $mode) mkdir -p $cargo_target - cp "$dll_path/wfpctl.dll" $cargo_target + cp "$dll_path/winfw.dll" $cargo_target done done @@ -153,7 +153,7 @@ function rustc_host_arch function main { - local wfp_root_path=${WFP_ROOT_PATH:-"./wfpctl"} + local wfp_root_path=${CPP_ROOT_PATH:-"./windows/winfw"} build_wfpctl $wfp_root_path copy_outputs $wfp_root_path diff --git a/talpid-core/build.rs b/talpid-core/build.rs index 87fb943322..5eb744c15d 100644 --- a/talpid-core/build.rs +++ b/talpid-core/build.rs @@ -3,9 +3,9 @@ mod win { use std::env; use std::path::PathBuf; - static WFP_BUILD_DIR: &'static str = "..\\wfpctl\\bin"; + static WINFW_BUILD_DIR: &'static str = "..\\windows\\winfw\\bin"; - pub fn default_wfpctl_output_dir() -> PathBuf { + pub fn default_winfw_output_dir() -> PathBuf { let target = env::var("TARGET").expect("TARGET env var not set"); let target_dir = match target.as_str() { @@ -14,7 +14,7 @@ mod win { _ => panic!("uncrecognized target: {}", target), }; - manifest_dir().join(WFP_BUILD_DIR).join(&target_dir) + manifest_dir().join(WINFW_BUILD_DIR).join(&target_dir) } fn manifest_dir() -> PathBuf { @@ -39,17 +39,17 @@ fn main() { use std::path::PathBuf; use win::*; - let wfpctl_dir = env::var_os("WFPCTL_INCLUDE_DIR") + let winfw_dir = env::var_os("WINFW_INCLUDE_DIR") .map(PathBuf::from) - .unwrap_or_else(default_wfpctl_output_dir); + .unwrap_or_else(default_winfw_output_dir); println!( "cargo:rustc-link-search={}", - wfpctl_dir + winfw_dir .to_str() - .expect("failed to construct path for wfpctl include directory") + .expect("failed to construct path for winfw include directory") ); - println!("cargo:rustc-link-lib=dylib=wfpctl"); + println!("cargo:rustc-link-lib=dylib=winfw"); } #[cfg(not(windows))] diff --git a/talpid-core/src/firewall/windows/mod.rs b/talpid-core/src/firewall/windows/mod.rs index c0a3782253..1ae9bf6f1e 100644 --- a/talpid-core/src/firewall/windows/mod.rs +++ b/talpid-core/src/firewall/windows/mod.rs @@ -13,14 +13,14 @@ use self::widestring::WideCString; error_chain!{ errors{ #[doc = "Windows firewall module error"] - WfpctlFailure(desc: &'static str){ - description("Opaque Wfpctl failure") - display("Wfpctl failed when {}", desc) + WinFwFailure(desc: &'static str){ + description("Opaque WinFw failure") + display("WinFw failed when {}", desc) } } } -const WFPCTL_TIMEOUT_SECONDS: u32 = 2; +const WINFW_TIMEOUT_SECONDS: u32 = 2; /// The Windows implementation for the `Firewall` trait. pub struct WindowsFirewall { @@ -32,9 +32,9 @@ impl Firewall for WindowsFirewall { fn new() -> Result<Self> { let ok = - unsafe { Wfpctl_Initialize(WFPCTL_TIMEOUT_SECONDS, Some(error_sink), ptr::null_mut()) }; - ok.into_result("initialise wfpctl").map(|_| { - trace!("Successfully initialized wfpctl"); + unsafe { WinFw_Initialize(WINFW_TIMEOUT_SECONDS, Some(error_sink), ptr::null_mut()) }; + ok.into_result("initialize WinFw").map(|_| { + trace!("Successfully initialized WinFw"); WindowsFirewall { _unused: [] } }) } @@ -45,7 +45,7 @@ impl Firewall for WindowsFirewall { relay_endpoint, allow_lan, } => { - let cfg = &WfpCtlSettings::new(allow_lan); + let cfg = &WinFwSettings::new(allow_lan); self.set_connecting_state(&relay_endpoint, &cfg) } SecurityPolicy::Connected { @@ -53,7 +53,7 @@ impl Firewall for WindowsFirewall { tunnel, allow_lan, } => { - let cfg = &WfpCtlSettings::new(allow_lan); + let cfg = &WinFwSettings::new(allow_lan); self.set_connected_state(&relay_endpoint, &cfg, &tunnel) } } @@ -61,17 +61,17 @@ impl Firewall for WindowsFirewall { fn reset_policy(&mut self) -> Result<()> { trace!("Resetting firewall policy"); - let ok = unsafe { Wfpctl_Reset() }; + let ok = unsafe { WinFw_Reset() }; ok.into_result("resetting firewall") } } impl Drop for WindowsFirewall { fn drop(&mut self) { - if unsafe { Wfpctl_Deinitialize().is_ok() } { - trace!("Successfully deinitialized wfpctl"); + if unsafe { WinFw_Deinitialize().is_ok() } { + trace!("Successfully deinitialized WinFw"); } else { - error!("Failed to deinitialize wfpctl"); + error!("Failed to deinitialize WinFw"); }; } } @@ -80,19 +80,19 @@ impl WindowsFirewall { fn set_connecting_state( &mut self, endpoint: &Endpoint, - wfp_settings: &WfpCtlSettings, + winfw_settings: &WinFwSettings, ) -> Result<()> { trace!("Applying 'connecting' firewall policy"); let ip_str = Self::widestring_ip(&endpoint.address.ip()); - // ip_str has to outlive wfp_relay - let wfp_relay = WfpCtlRelay { + // ip_str has to outlive winfw_relay + let winfw_relay = WinFwRelay { ip: ip_str.as_wide_c_str().as_ptr(), port: endpoint.address.port(), - protocol: WfpCtlProt::from(endpoint.protocol), + protocol: WinFwProt::from(endpoint.protocol), }; - let ok = unsafe { Wfpctl_ApplyPolicyConnecting(wfp_settings, &wfp_relay) }; + let ok = unsafe { WinFw_ApplyPolicyConnecting(winfw_settings, &winfw_relay) }; ok.into_result("applying 'connecting' policy") } @@ -104,7 +104,7 @@ impl WindowsFirewall { fn set_connected_state( &mut self, endpoint: &Endpoint, - wfp_settings: &WfpCtlSettings, + winfw_settings: &WinFwSettings, tunnel_metadata: &::tunnel::TunnelMetadata, ) -> Result<()> { trace!("Applying 'connected' firewall policy"); @@ -114,17 +114,17 @@ impl WindowsFirewall { let tunnel_alias = WideCString::new(tunnel_metadata.interface.encode_utf16().collect::<Vec<_>>()).unwrap(); - // ip_str, gateway_str and tunnel_alias have to outlive wfp_relay - let wfp_relay = WfpCtlRelay { + // ip_str, gateway_str and tunnel_alias have to outlive winfw_relay + let winfw_relay = WinFwRelay { ip: ip_str.as_wide_c_str().as_ptr(), port: endpoint.address.port(), - protocol: WfpCtlProt::from(endpoint.protocol), + protocol: WinFwProt::from(endpoint.protocol), }; let ok = unsafe { - Wfpctl_ApplyPolicyConnected( - wfp_settings, - &wfp_relay, + WinFw_ApplyPolicyConnected( + winfw_settings, + &winfw_relay, tunnel_alias.as_wide_c_str().as_ptr(), gateway_str.as_wide_c_str().as_ptr(), ) @@ -145,15 +145,15 @@ mod ffi { use talpid_types::net::TransportProtocol; #[repr(C)] - pub struct WfpCtlResult { + pub struct WinFwResult { ok: bool, } - impl WfpCtlResult { + impl WinFwResult { pub fn into_result(self, description: &'static str) -> Result<()> { match self.ok { true => Ok(()), - false => Err(ErrorKind::WfpctlFailure(description).into()), + false => Err(ErrorKind::WinFwFailure(description).into()), } } @@ -166,44 +166,44 @@ mod ffi { pub extern "system" fn error_sink(msg: *const c_char, _ctx: *mut libc::c_void) { if msg == ptr::null() { - error!("log message from wfpctl is NULL"); + error!("log message from WinFw is NULL"); } else { error!("{}", unsafe { CStr::from_ptr(msg).to_string_lossy() }); } } #[repr(C)] - pub struct WfpCtlRelay { + pub struct WinFwRelay { pub ip: *const libc::wchar_t, pub port: u16, - pub protocol: WfpCtlProt, + pub protocol: WinFwProt, } #[repr(u8)] #[derive(Clone, Copy)] - pub enum WfpCtlProt { + pub enum WinFwProt { Tcp = 0u8, Udp = 1u8, } - impl From<TransportProtocol> for WfpCtlProt { - fn from(prot: TransportProtocol) -> WfpCtlProt { + impl From<TransportProtocol> for WinFwProt { + fn from(prot: TransportProtocol) -> WinFwProt { match prot { - TransportProtocol::Tcp => WfpCtlProt::Tcp, - TransportProtocol::Udp => WfpCtlProt::Udp, + TransportProtocol::Tcp => WinFwProt::Tcp, + TransportProtocol::Udp => WinFwProt::Udp, } } } #[repr(C)] - pub struct WfpCtlSettings { + pub struct WinFwSettings { permitDhcp: bool, permitLan: bool, } - impl WfpCtlSettings { - pub fn new(permit_lan: bool) -> WfpCtlSettings { - WfpCtlSettings { + impl WinFwSettings { + pub fn new(permit_lan: bool) -> WinFwSettings { + WinFwSettings { permitDhcp: true, permitLan: permit_lan, } @@ -211,31 +211,31 @@ mod ffi { } extern "system" { - #[link_name(Wfpctl_Initialize)] - pub fn Wfpctl_Initialize( + #[link_name(WinFw_Initialize)] + pub fn WinFw_Initialize( timeout: libc::c_uint, sink: Option<ErrorSink>, sink_context: *mut libc::c_void, - ) -> WfpCtlResult; + ) -> WinFwResult; - #[link_name(Wfpctl_Deinitialize)] - pub fn Wfpctl_Deinitialize() -> WfpCtlResult; + #[link_name(WinFw_Deinitialize)] + pub fn WinFw_Deinitialize() -> WinFwResult; - #[link_name(Wfpctl_ApplyPolicyConnecting)] - pub fn Wfpctl_ApplyPolicyConnecting( - settings: &WfpCtlSettings, - relay: &WfpCtlRelay, - ) -> WfpCtlResult; + #[link_name(WinFw_ApplyPolicyConnecting)] + pub fn WinFw_ApplyPolicyConnecting( + settings: &WinFwSettings, + relay: &WinFwRelay, + ) -> WinFwResult; - #[link_name(Wfpctl_ApplyPolicyConnected)] - pub fn Wfpctl_ApplyPolicyConnected( - settings: &WfpCtlSettings, - relay: &WfpCtlRelay, + #[link_name(WinFw_ApplyPolicyConnected)] + pub fn WinFw_ApplyPolicyConnected( + settings: &WinFwSettings, + relay: &WinFwRelay, tunnelIfaceAlias: *const libc::wchar_t, primaryDns: *const libc::wchar_t, - ) -> WfpCtlResult; + ) -> WinFwResult; - #[link_name(Wfpctl_Reset)] - pub fn Wfpctl_Reset() -> WfpCtlResult; + #[link_name(WinFw_Reset)] + pub fn WinFw_Reset() -> WinFwResult; } } diff --git a/wfpctl/libwfp b/wfpctl/libwfp deleted file mode 160000 -Subproject 7aaf045d008d475a050b33b6a352337528fd3b6 diff --git a/wfpctl/src/extras/cli/modules/wfpctl.h b/wfpctl/src/extras/cli/modules/wfpctl.h deleted file mode 100644 index b690454e19..0000000000 --- a/wfpctl/src/extras/cli/modules/wfpctl.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "module.h" -#include "cli/util.h" -#include "cli/commands/wfpctl/init.h" -#include "cli/commands/wfpctl/deinit.h" -#include "cli/commands/wfpctl/policy.h" - -namespace modules -{ - -class Wfpctl : public Module -{ -public: - - Wfpctl(MessageSink messageSink) - : Module(L"wfpctl", L"Exercise functionality provided by \"wfpctl.dll\".") - { - addCommand(std::make_unique<commands::wfpctl::Init>(messageSink)); - addCommand(std::make_unique<commands::wfpctl::Deinit>(messageSink)); - addCommand(std::make_unique<commands::wfpctl::Policy>(messageSink)); - } -}; - -} diff --git a/wfpctl/src/wfpctl/wfpctl.def b/wfpctl/src/wfpctl/wfpctl.def deleted file mode 100644 index a175f1afb2..0000000000 --- a/wfpctl/src/wfpctl/wfpctl.def +++ /dev/null @@ -1,9 +0,0 @@ -LIBRARY wfpctl -EXPORTS - -Wfpctl_Initialize -Wfpctl_Deinitialize -Wfpctl_ApplyPolicyConnecting -Wfpctl_ApplyPolicyConnected -Wfpctl_ApplyPolicyNetBlocked -Wfpctl_Reset diff --git a/windows/googletest b/windows/googletest new file mode 160000 +Subproject a62e38a3ae35117e01d248672754c43a8d42b82 diff --git a/windows/libwfp b/windows/libwfp new file mode 160000 +Subproject f6b7651506e403fb0d16d351e7b3266202c9be4 diff --git a/windows/windows-libraries b/windows/windows-libraries new file mode 160000 +Subproject 75c07635f1430ccd9403da058d76e01435ec65a diff --git a/wfpctl/extras.sln b/windows/winfw/extras.sln index c33b884922..948a3f9104 100644 --- a/wfpctl/extras.sln +++ b/windows/winfw/extras.sln @@ -10,14 +10,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cli", "src\extras\cli\cli.v {801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB} = {801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcommon", "libwfp\src\libcommon\libcommon.vcxproj", "{B52E2D10-A94A-4605-914A-2DCEF6A757EF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcommon", "..\windows-libraries\src\libcommon\libcommon.vcxproj", "{B52E2D10-A94A-4605-914A-2DCEF6A757EF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwfp", "libwfp\src\libwfp\libwfp.vcxproj", "{2164E6D9-6023-4932-A08F-7A5C15E2CA0B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwfp", "..\libwfp\src\libwfp\libwfp.vcxproj", "{2164E6D9-6023-4932-A08F-7A5C15E2CA0B}" ProjectSection(ProjectDependencies) = postProject {B52E2D10-A94A-4605-914A-2DCEF6A757EF} = {B52E2D10-A94A-4605-914A-2DCEF6A757EF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wfpctl", "src\wfpctl\wfpctl.vcxproj", "{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winfw", "src\winfw\winfw.vcxproj", "{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}" ProjectSection(ProjectDependencies) = postProject {B52E2D10-A94A-4605-914A-2DCEF6A757EF} = {B52E2D10-A94A-4605-914A-2DCEF6A757EF} {2164E6D9-6023-4932-A08F-7A5C15E2CA0B} = {2164E6D9-6023-4932-A08F-7A5C15E2CA0B} diff --git a/wfpctl/src/extras/cli/cli.cpp b/windows/winfw/src/extras/cli/cli.cpp index 9595c24234..a1758df8ee 100644 --- a/wfpctl/src/extras/cli/cli.cpp +++ b/windows/winfw/src/extras/cli/cli.cpp @@ -7,7 +7,7 @@ #include "modules/imodule.h" #include "modules/list.h" #include "modules/monitor.h" -#include "modules/wfpctl.h" +#include "modules/winfw.h" #include "libcommon/string.h" #include <iostream> #include <conio.h> @@ -33,8 +33,8 @@ void InitializeModules() auto monitor = std::make_unique<modules::Monitor>(OutputConsole); g_modules.insert(std::make_pair(common::string::Lower(monitor->name()), std::move(monitor))); - auto wfpctl = std::make_unique<modules::Wfpctl>(OutputConsole); - g_modules.insert(std::make_pair(common::string::Lower(wfpctl->name()), std::move(wfpctl))); + auto winfw = std::make_unique<modules::WinFw>(OutputConsole); + g_modules.insert(std::make_pair(common::string::Lower(winfw->name()), std::move(winfw))); } void ProcessHelp(const std::wstring &request) diff --git a/wfpctl/src/extras/cli/cli.vcxproj b/windows/winfw/src/extras/cli/cli.vcxproj index 86d6094f63..93ade5ea56 100644 --- a/wfpctl/src/extras/cli/cli.vcxproj +++ b/windows/winfw/src/extras/cli/cli.vcxproj @@ -97,14 +97,14 @@ <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\libwfp\src\;$(ProjectDir)..\..\..\..\windows-libraries\src\</AdditionalIncludeDirectories> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> </ClCompile> <Link> <SubSystem>Console</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>wfpctl.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>winfw.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> </Link> </ItemDefinitionGroup> @@ -115,7 +115,7 @@ <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\libwfp\src\;$(ProjectDir)..\..\..\..\windows-libraries\src\</AdditionalIncludeDirectories> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> </ClCompile> @@ -123,7 +123,7 @@ <SubSystem>Console</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <AdditionalDependencies>wfpctl.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>winfw.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> @@ -135,7 +135,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\libwfp\src\;$(ProjectDir)..\..\..\..\windows-libraries\src\</AdditionalIncludeDirectories> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> </ClCompile> @@ -144,7 +144,7 @@ <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>wfpctl.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>winfw.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> </Link> </ItemDefinitionGroup> @@ -157,7 +157,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\libwfp\src\;$(ProjectDir)..\..\..\..\windows-libraries\src\</AdditionalIncludeDirectories> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> </ClCompile> @@ -167,7 +167,7 @@ <OptimizeReferences>true</OptimizeReferences> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <AdditionalDependencies>wfpctl.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>winfw.lib;libcommon.lib;libwfp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemGroup> @@ -180,9 +180,9 @@ <ClInclude Include="commands\list\sessions.h" /> <ClInclude Include="commands\list\sublayers.h" /> <ClInclude Include="commands\monitor\m_events.h" /> - <ClInclude Include="commands\wfpctl\deinit.h" /> - <ClInclude Include="commands\wfpctl\init.h" /> - <ClInclude Include="commands\wfpctl\policy.h" /> + <ClInclude Include="commands\winfw\deinit.h" /> + <ClInclude Include="commands\winfw\init.h" /> + <ClInclude Include="commands\winfw\policy.h" /> <ClInclude Include="filterengineprovider.h" /> <ClInclude Include="inlineformatter.h" /> <ClInclude Include="ipropertydecorator.h" /> @@ -190,7 +190,7 @@ <ClInclude Include="modules\list.h" /> <ClInclude Include="modules\module.h" /> <ClInclude Include="modules\monitor.h" /> - <ClInclude Include="modules\wfpctl.h" /> + <ClInclude Include="modules\winfw.h" /> <ClInclude Include="objectproperties.h" /> <ClInclude Include="propertydecorator.h" /> <ClInclude Include="propertylist.h" /> @@ -209,9 +209,9 @@ <ClCompile Include="commands\list\sessions.cpp" /> <ClCompile Include="commands\list\sublayers.cpp" /> <ClCompile Include="commands\monitor\m_events.cpp" /> - <ClCompile Include="commands\wfpctl\deinit.cpp" /> - <ClCompile Include="commands\wfpctl\init.cpp" /> - <ClCompile Include="commands\wfpctl\policy.cpp" /> + <ClCompile Include="commands\winfw\deinit.cpp" /> + <ClCompile Include="commands\winfw\init.cpp" /> + <ClCompile Include="commands\winfw\policy.cpp" /> <ClCompile Include="modules\module.cpp" /> <ClCompile Include="objectproperties.cpp" /> <ClCompile Include="propertydecorator.cpp" /> diff --git a/wfpctl/src/extras/cli/cli.vcxproj.filters b/windows/winfw/src/extras/cli/cli.vcxproj.filters index fabc1492f8..4f737b5a67 100644 --- a/wfpctl/src/extras/cli/cli.vcxproj.filters +++ b/windows/winfw/src/extras/cli/cli.vcxproj.filters @@ -13,7 +13,7 @@ <Filter Include="commands\monitor"> <UniqueIdentifier>{ff50eaf3-6e11-41ad-bae9-24427a025d33}</UniqueIdentifier> </Filter> - <Filter Include="commands\wfpctl"> + <Filter Include="commands\winfw"> <UniqueIdentifier>{571487f4-437d-4ad1-a409-f2b143f6803e}</UniqueIdentifier> </Filter> </ItemGroup> @@ -66,18 +66,18 @@ </ClInclude> <ClInclude Include="ipropertydecorator.h" /> <ClInclude Include="propertydecorator.h" /> - <ClInclude Include="commands\wfpctl\policy.h"> - <Filter>commands\wfpctl</Filter> + <ClInclude Include="commands\winfw\policy.h"> + <Filter>commands\winfw</Filter> </ClInclude> <ClInclude Include="subcommanddispatcher.h" /> - <ClInclude Include="modules\wfpctl.h"> + <ClInclude Include="modules\winfw.h"> <Filter>modules</Filter> </ClInclude> - <ClInclude Include="commands\wfpctl\init.h"> - <Filter>commands\wfpctl</Filter> + <ClInclude Include="commands\winfw\init.h"> + <Filter>commands\winfw</Filter> </ClInclude> - <ClInclude Include="commands\wfpctl\deinit.h"> - <Filter>commands\wfpctl</Filter> + <ClInclude Include="commands\winfw\deinit.h"> + <Filter>commands\winfw</Filter> </ClInclude> </ItemGroup> <ItemGroup> @@ -113,15 +113,15 @@ <Filter>commands\monitor</Filter> </ClCompile> <ClCompile Include="propertydecorator.cpp" /> - <ClCompile Include="commands\wfpctl\policy.cpp"> - <Filter>commands\wfpctl</Filter> + <ClCompile Include="commands\winfw\policy.cpp"> + <Filter>commands\winfw</Filter> </ClCompile> <ClCompile Include="subcommanddispatcher.cpp" /> - <ClCompile Include="commands\wfpctl\init.cpp"> - <Filter>commands\wfpctl</Filter> + <ClCompile Include="commands\winfw\init.cpp"> + <Filter>commands\winfw</Filter> </ClCompile> - <ClCompile Include="commands\wfpctl\deinit.cpp"> - <Filter>commands\wfpctl</Filter> + <ClCompile Include="commands\winfw\deinit.cpp"> + <Filter>commands\winfw</Filter> </ClCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/wfpctl/src/extras/cli/commands/icommand.h b/windows/winfw/src/extras/cli/commands/icommand.h index a9503a205b..a9503a205b 100644 --- a/wfpctl/src/extras/cli/commands/icommand.h +++ b/windows/winfw/src/extras/cli/commands/icommand.h diff --git a/wfpctl/src/extras/cli/commands/list/events.cpp b/windows/winfw/src/extras/cli/commands/list/events.cpp index 4396eff980..4396eff980 100644 --- a/wfpctl/src/extras/cli/commands/list/events.cpp +++ b/windows/winfw/src/extras/cli/commands/list/events.cpp diff --git a/wfpctl/src/extras/cli/commands/list/events.h b/windows/winfw/src/extras/cli/commands/list/events.h index cc727712f0..cc727712f0 100644 --- a/wfpctl/src/extras/cli/commands/list/events.h +++ b/windows/winfw/src/extras/cli/commands/list/events.h diff --git a/wfpctl/src/extras/cli/commands/list/filters.cpp b/windows/winfw/src/extras/cli/commands/list/filters.cpp index 9c7917bf66..9c7917bf66 100644 --- a/wfpctl/src/extras/cli/commands/list/filters.cpp +++ b/windows/winfw/src/extras/cli/commands/list/filters.cpp diff --git a/wfpctl/src/extras/cli/commands/list/filters.h b/windows/winfw/src/extras/cli/commands/list/filters.h index 4c0345f3b3..4c0345f3b3 100644 --- a/wfpctl/src/extras/cli/commands/list/filters.h +++ b/windows/winfw/src/extras/cli/commands/list/filters.h diff --git a/wfpctl/src/extras/cli/commands/list/layers.cpp b/windows/winfw/src/extras/cli/commands/list/layers.cpp index 3dc4368894..3dc4368894 100644 --- a/wfpctl/src/extras/cli/commands/list/layers.cpp +++ b/windows/winfw/src/extras/cli/commands/list/layers.cpp diff --git a/wfpctl/src/extras/cli/commands/list/layers.h b/windows/winfw/src/extras/cli/commands/list/layers.h index 92a62c58e0..92a62c58e0 100644 --- a/wfpctl/src/extras/cli/commands/list/layers.h +++ b/windows/winfw/src/extras/cli/commands/list/layers.h diff --git a/wfpctl/src/extras/cli/commands/list/providercontexts.cpp b/windows/winfw/src/extras/cli/commands/list/providercontexts.cpp index 6612ce03dc..6612ce03dc 100644 --- a/wfpctl/src/extras/cli/commands/list/providercontexts.cpp +++ b/windows/winfw/src/extras/cli/commands/list/providercontexts.cpp diff --git a/wfpctl/src/extras/cli/commands/list/providercontexts.h b/windows/winfw/src/extras/cli/commands/list/providercontexts.h index b87886eac7..b87886eac7 100644 --- a/wfpctl/src/extras/cli/commands/list/providercontexts.h +++ b/windows/winfw/src/extras/cli/commands/list/providercontexts.h diff --git a/wfpctl/src/extras/cli/commands/list/providers.cpp b/windows/winfw/src/extras/cli/commands/list/providers.cpp index a06318d74b..a06318d74b 100644 --- a/wfpctl/src/extras/cli/commands/list/providers.cpp +++ b/windows/winfw/src/extras/cli/commands/list/providers.cpp diff --git a/wfpctl/src/extras/cli/commands/list/providers.h b/windows/winfw/src/extras/cli/commands/list/providers.h index 2a09a88b67..2a09a88b67 100644 --- a/wfpctl/src/extras/cli/commands/list/providers.h +++ b/windows/winfw/src/extras/cli/commands/list/providers.h diff --git a/wfpctl/src/extras/cli/commands/list/sessions.cpp b/windows/winfw/src/extras/cli/commands/list/sessions.cpp index 27000c903d..27000c903d 100644 --- a/wfpctl/src/extras/cli/commands/list/sessions.cpp +++ b/windows/winfw/src/extras/cli/commands/list/sessions.cpp diff --git a/wfpctl/src/extras/cli/commands/list/sessions.h b/windows/winfw/src/extras/cli/commands/list/sessions.h index b9d8f04ea2..b9d8f04ea2 100644 --- a/wfpctl/src/extras/cli/commands/list/sessions.h +++ b/windows/winfw/src/extras/cli/commands/list/sessions.h diff --git a/wfpctl/src/extras/cli/commands/list/sublayers.cpp b/windows/winfw/src/extras/cli/commands/list/sublayers.cpp index 0c8a5f2f58..0c8a5f2f58 100644 --- a/wfpctl/src/extras/cli/commands/list/sublayers.cpp +++ b/windows/winfw/src/extras/cli/commands/list/sublayers.cpp diff --git a/wfpctl/src/extras/cli/commands/list/sublayers.h b/windows/winfw/src/extras/cli/commands/list/sublayers.h index e9b34bbd52..e9b34bbd52 100644 --- a/wfpctl/src/extras/cli/commands/list/sublayers.h +++ b/windows/winfw/src/extras/cli/commands/list/sublayers.h diff --git a/wfpctl/src/extras/cli/commands/monitor/m_events.cpp b/windows/winfw/src/extras/cli/commands/monitor/m_events.cpp index 294ae38e9c..294ae38e9c 100644 --- a/wfpctl/src/extras/cli/commands/monitor/m_events.cpp +++ b/windows/winfw/src/extras/cli/commands/monitor/m_events.cpp diff --git a/wfpctl/src/extras/cli/commands/monitor/m_events.h b/windows/winfw/src/extras/cli/commands/monitor/m_events.h index e8724129e8..e8724129e8 100644 --- a/wfpctl/src/extras/cli/commands/monitor/m_events.h +++ b/windows/winfw/src/extras/cli/commands/monitor/m_events.h diff --git a/wfpctl/src/extras/cli/commands/wfpctl/deinit.cpp b/windows/winfw/src/extras/cli/commands/winfw/deinit.cpp index fc5f5e0b2e..d0fc5cfffb 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/deinit.cpp +++ b/windows/winfw/src/extras/cli/commands/winfw/deinit.cpp @@ -1,8 +1,8 @@ #include "stdafx.h" #include "deinit.h" -#include "wfpctl/wfpctl.h" +#include "winfw/winfw.h" -namespace commands::wfpctl +namespace commands::winfw { Deinit::Deinit(MessageSink messageSink) @@ -17,7 +17,7 @@ std::wstring Deinit::name() std::wstring Deinit::description() { - return L"Deinitialize wfpctl; Destroy session and all associated objects"; + return L"Deinitialize winfw; Destroy session and all associated objects"; } void Deinit::handleRequest(const std::vector<std::wstring> &arguments) @@ -27,7 +27,7 @@ void Deinit::handleRequest(const std::vector<std::wstring> &arguments) throw std::runtime_error("Invalid argument(s). Cannot complete request."); } - m_messageSink((Wfpctl_Deinitialize() + m_messageSink((WinFw_Deinitialize() ? L"Deinitialization completed successfully." : L"Deinitialization failed. See above for details, if any.")); } diff --git a/wfpctl/src/extras/cli/commands/wfpctl/deinit.h b/windows/winfw/src/extras/cli/commands/winfw/deinit.h index f445566f02..2395f381de 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/deinit.h +++ b/windows/winfw/src/extras/cli/commands/winfw/deinit.h @@ -3,7 +3,7 @@ #include "cli/commands/icommand.h" #include "cli/util.h" -namespace commands::wfpctl +namespace commands::winfw { class Deinit : public ICommand diff --git a/wfpctl/src/extras/cli/commands/wfpctl/init.cpp b/windows/winfw/src/extras/cli/commands/winfw/init.cpp index eb569f55e7..6236027725 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/init.cpp +++ b/windows/winfw/src/extras/cli/commands/winfw/init.cpp @@ -2,7 +2,7 @@ #include "init.h" #include "libcommon/string.h" -namespace commands::wfpctl +namespace commands::winfw { Init::Init(MessageSink messageSink) @@ -17,7 +17,7 @@ std::wstring Init::name() std::wstring Init::description() { - return L"Initialize wfpctl; Create session and fundamental objects"; + return L"Initialize winfw; Create session and fundamental objects"; } void Init::handleRequest(const std::vector<std::wstring> &arguments) @@ -36,7 +36,7 @@ void Init::handleRequest(const std::vector<std::wstring> &arguments) timeout = wcstoul(keyvalue.begin()->second.c_str(), nullptr, 10); } - auto success = Wfpctl_Initialize(timeout, &Init::ErrorForwarder, this); + auto success = WinFw_Initialize(timeout, &Init::ErrorForwarder, this); m_messageSink((success ? L"Initialization completed successfully." @@ -44,7 +44,7 @@ void Init::handleRequest(const std::vector<std::wstring> &arguments) } //static -void WFPCTL_API Init::ErrorForwarder(const char *errorMessage, void *context) +void WINFW_API Init::ErrorForwarder(const char *errorMessage, void *context) { auto thiz = reinterpret_cast<Init *>(context); diff --git a/wfpctl/src/extras/cli/commands/wfpctl/init.h b/windows/winfw/src/extras/cli/commands/winfw/init.h index 96686a2680..f3589535bf 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/init.h +++ b/windows/winfw/src/extras/cli/commands/winfw/init.h @@ -2,9 +2,9 @@ #include "cli/commands/icommand.h" #include "cli/util.h" -#include "wfpctl/wfpctl.h" +#include "winfw/winfw.h" -namespace commands::wfpctl +namespace commands::winfw { class Init : public ICommand @@ -22,7 +22,7 @@ private: MessageSink m_messageSink; - static void WFPCTL_API ErrorForwarder(const char *errorMessage, void *context); + static void WINFW_API ErrorForwarder(const char *errorMessage, void *context); }; } diff --git a/wfpctl/src/extras/cli/commands/wfpctl/policy.cpp b/windows/winfw/src/extras/cli/commands/winfw/policy.cpp index 3d4ce2aaf6..04906332aa 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/policy.cpp +++ b/windows/winfw/src/extras/cli/commands/winfw/policy.cpp @@ -1,18 +1,18 @@ #include "stdafx.h" #include "policy.h" #include "libcommon/string.h" -#include "wfpctl/wfpctl.h" +#include "winfw/winfw.h" #include <functional> -namespace commands::wfpctl +namespace commands::winfw { namespace detail { -WfpctlSettings CreateSettings(const std::wstring &dhcp, const std::wstring &lan) +WinFwSettings CreateSettings(const std::wstring &dhcp, const std::wstring &lan) { - WfpctlSettings s; + WinFwSettings s; s.permitDhcp = (0 == _wcsicmp(dhcp.c_str(), L"yes")); s.permitLan = (0 == _wcsicmp(lan.c_str(), L"yes")); @@ -20,14 +20,14 @@ WfpctlSettings CreateSettings(const std::wstring &dhcp, const std::wstring &lan) return s; } -WfpctlProtocol TranslateProtocol(const std::wstring &protocol) +WinFwProtocol TranslateProtocol(const std::wstring &protocol) { - return (0 == _wcsicmp(protocol.c_str(), L"tcp") ? WfpctlProtocol::Tcp : WfpctlProtocol::Udp); + return (0 == _wcsicmp(protocol.c_str(), L"tcp") ? WinFwProtocol::Tcp : WinFwProtocol::Udp); } -WfpctlRelay CreateRelay(const wchar_t *ip, const std::wstring &port, const std::wstring &protocol) +WinFwRelay CreateRelay(const wchar_t *ip, const std::wstring &port, const std::wstring &protocol) { - WfpctlRelay r; + WinFwRelay r; r.ip = ip; r.port = common::string::LexicalCast<uint16_t>(port); @@ -108,7 +108,7 @@ void Policy::processConnecting(const KeyValuePairs &arguments) GetArgumentValue(arguments, L"protocol") ); - auto success = Wfpctl_ApplyPolicyConnecting + auto success = WinFw_ApplyPolicyConnecting ( settings, relay @@ -136,7 +136,7 @@ void Policy::processConnected(const KeyValuePairs &arguments) GetArgumentValue(arguments, L"protocol") ); - auto success = Wfpctl_ApplyPolicyConnected + auto success = WinFw_ApplyPolicyConnected ( settings, relay, @@ -151,7 +151,7 @@ void Policy::processConnected(const KeyValuePairs &arguments) void Policy::processNetBlocked() { - auto success = Wfpctl_ApplyPolicyNetBlocked(); + auto success = WinFw_ApplyPolicyNetBlocked(); m_messageSink((success ? L"Successfully applied policy." @@ -160,7 +160,7 @@ void Policy::processNetBlocked() void Policy::processReset() { - auto success = Wfpctl_Reset(); + auto success = WinFw_Reset(); m_messageSink((success ? L"Successfully reset policy." diff --git a/wfpctl/src/extras/cli/commands/wfpctl/policy.h b/windows/winfw/src/extras/cli/commands/winfw/policy.h index 524640d3e6..5d4d15e6b1 100644 --- a/wfpctl/src/extras/cli/commands/wfpctl/policy.h +++ b/windows/winfw/src/extras/cli/commands/winfw/policy.h @@ -5,7 +5,7 @@ #include "cli/subcommanddispatcher.h" #include "libcommon/string.h" -namespace commands::wfpctl +namespace commands::winfw { class Policy : public ICommand diff --git a/wfpctl/src/extras/cli/filterengineprovider.h b/windows/winfw/src/extras/cli/filterengineprovider.h index 50382c7a6c..50382c7a6c 100644 --- a/wfpctl/src/extras/cli/filterengineprovider.h +++ b/windows/winfw/src/extras/cli/filterengineprovider.h diff --git a/wfpctl/src/extras/cli/inlineformatter.h b/windows/winfw/src/extras/cli/inlineformatter.h index f00aa6d504..f00aa6d504 100644 --- a/wfpctl/src/extras/cli/inlineformatter.h +++ b/windows/winfw/src/extras/cli/inlineformatter.h diff --git a/wfpctl/src/extras/cli/ipropertydecorator.h b/windows/winfw/src/extras/cli/ipropertydecorator.h index 01a6021ba1..01a6021ba1 100644 --- a/wfpctl/src/extras/cli/ipropertydecorator.h +++ b/windows/winfw/src/extras/cli/ipropertydecorator.h diff --git a/wfpctl/src/extras/cli/modules/imodule.h b/windows/winfw/src/extras/cli/modules/imodule.h index 82221f284f..82221f284f 100644 --- a/wfpctl/src/extras/cli/modules/imodule.h +++ b/windows/winfw/src/extras/cli/modules/imodule.h diff --git a/wfpctl/src/extras/cli/modules/list.h b/windows/winfw/src/extras/cli/modules/list.h index 23751c2a26..23751c2a26 100644 --- a/wfpctl/src/extras/cli/modules/list.h +++ b/windows/winfw/src/extras/cli/modules/list.h diff --git a/wfpctl/src/extras/cli/modules/module.cpp b/windows/winfw/src/extras/cli/modules/module.cpp index f66ae5a084..f66ae5a084 100644 --- a/wfpctl/src/extras/cli/modules/module.cpp +++ b/windows/winfw/src/extras/cli/modules/module.cpp diff --git a/wfpctl/src/extras/cli/modules/module.h b/windows/winfw/src/extras/cli/modules/module.h index 45587ab7e5..45587ab7e5 100644 --- a/wfpctl/src/extras/cli/modules/module.h +++ b/windows/winfw/src/extras/cli/modules/module.h diff --git a/wfpctl/src/extras/cli/modules/monitor.h b/windows/winfw/src/extras/cli/modules/monitor.h index e227192e82..e227192e82 100644 --- a/wfpctl/src/extras/cli/modules/monitor.h +++ b/windows/winfw/src/extras/cli/modules/monitor.h diff --git a/windows/winfw/src/extras/cli/modules/winfw.h b/windows/winfw/src/extras/cli/modules/winfw.h new file mode 100644 index 0000000000..33d5621fe9 --- /dev/null +++ b/windows/winfw/src/extras/cli/modules/winfw.h @@ -0,0 +1,25 @@ +#pragma once + +#include "module.h" +#include "cli/util.h" +#include "cli/commands/winfw/init.h" +#include "cli/commands/winfw/deinit.h" +#include "cli/commands/winfw/policy.h" + +namespace modules +{ + +class WinFw : public Module +{ +public: + + WinFw(MessageSink messageSink) + : Module(L"winfw", L"Exercise functionality provided by \"winfw.dll\".") + { + addCommand(std::make_unique<commands::winfw::Init>(messageSink)); + addCommand(std::make_unique<commands::winfw::Deinit>(messageSink)); + addCommand(std::make_unique<commands::winfw::Policy>(messageSink)); + } +}; + +} diff --git a/wfpctl/src/extras/cli/objectproperties.cpp b/windows/winfw/src/extras/cli/objectproperties.cpp index 8b7b5a9c04..8b7b5a9c04 100644 --- a/wfpctl/src/extras/cli/objectproperties.cpp +++ b/windows/winfw/src/extras/cli/objectproperties.cpp diff --git a/wfpctl/src/extras/cli/objectproperties.h b/windows/winfw/src/extras/cli/objectproperties.h index a4f349f828..a4f349f828 100644 --- a/wfpctl/src/extras/cli/objectproperties.h +++ b/windows/winfw/src/extras/cli/objectproperties.h diff --git a/wfpctl/src/extras/cli/propertydecorator.cpp b/windows/winfw/src/extras/cli/propertydecorator.cpp index 115c628c27..115c628c27 100644 --- a/wfpctl/src/extras/cli/propertydecorator.cpp +++ b/windows/winfw/src/extras/cli/propertydecorator.cpp diff --git a/wfpctl/src/extras/cli/propertydecorator.h b/windows/winfw/src/extras/cli/propertydecorator.h index b021d275e1..b021d275e1 100644 --- a/wfpctl/src/extras/cli/propertydecorator.h +++ b/windows/winfw/src/extras/cli/propertydecorator.h diff --git a/wfpctl/src/extras/cli/propertylist.h b/windows/winfw/src/extras/cli/propertylist.h index b5d9d71499..b5d9d71499 100644 --- a/wfpctl/src/extras/cli/propertylist.h +++ b/windows/winfw/src/extras/cli/propertylist.h diff --git a/wfpctl/src/extras/cli/stdafx.cpp b/windows/winfw/src/extras/cli/stdafx.cpp index 62355160c9..62355160c9 100644 --- a/wfpctl/src/extras/cli/stdafx.cpp +++ b/windows/winfw/src/extras/cli/stdafx.cpp diff --git a/wfpctl/src/extras/cli/stdafx.h b/windows/winfw/src/extras/cli/stdafx.h index b005a839de..b005a839de 100644 --- a/wfpctl/src/extras/cli/stdafx.h +++ b/windows/winfw/src/extras/cli/stdafx.h diff --git a/wfpctl/src/extras/cli/subcommanddispatcher.cpp b/windows/winfw/src/extras/cli/subcommanddispatcher.cpp index 4bb7868cd7..4bb7868cd7 100644 --- a/wfpctl/src/extras/cli/subcommanddispatcher.cpp +++ b/windows/winfw/src/extras/cli/subcommanddispatcher.cpp diff --git a/wfpctl/src/extras/cli/subcommanddispatcher.h b/windows/winfw/src/extras/cli/subcommanddispatcher.h index a480ec8104..a480ec8104 100644 --- a/wfpctl/src/extras/cli/subcommanddispatcher.h +++ b/windows/winfw/src/extras/cli/subcommanddispatcher.h diff --git a/wfpctl/src/extras/cli/targetver.h b/windows/winfw/src/extras/cli/targetver.h index ae4a5c032c..ae4a5c032c 100644 --- a/wfpctl/src/extras/cli/targetver.h +++ b/windows/winfw/src/extras/cli/targetver.h diff --git a/wfpctl/src/extras/cli/util.cpp b/windows/winfw/src/extras/cli/util.cpp index 6181e68639..6181e68639 100644 --- a/wfpctl/src/extras/cli/util.cpp +++ b/windows/winfw/src/extras/cli/util.cpp diff --git a/wfpctl/src/extras/cli/util.h b/windows/winfw/src/extras/cli/util.h index 3919e03422..3919e03422 100644 --- a/wfpctl/src/extras/cli/util.h +++ b/windows/winfw/src/extras/cli/util.h diff --git a/wfpctl/src/wfpctl/dllmain.cpp b/windows/winfw/src/winfw/dllmain.cpp index 21717c7d4a..21717c7d4a 100644 --- a/wfpctl/src/wfpctl/dllmain.cpp +++ b/windows/winfw/src/winfw/dllmain.cpp diff --git a/wfpctl/src/wfpctl/wfpcontext.cpp b/windows/winfw/src/winfw/fwcontext.cpp index 9783336216..b97f350ec7 100644 --- a/wfpctl/src/wfpctl/wfpcontext.cpp +++ b/windows/winfw/src/winfw/fwcontext.cpp @@ -1,5 +1,5 @@ #include "stdafx.h" -#include "wfpcontext.h" +#include "fwcontext.h" #include "mullvadobjects.h" #include "rules/blockall.h" #include "rules/ifirewallrule.h" @@ -19,7 +19,7 @@ namespace { -rules::PermitVpnRelay::Protocol TranslateProtocol(WfpctlProtocol protocol) +rules::PermitVpnRelay::Protocol TranslateProtocol(WinFwProtocol protocol) { switch (protocol) { @@ -32,7 +32,7 @@ rules::PermitVpnRelay::Protocol TranslateProtocol(WfpctlProtocol protocol) }; } -void AppendSettingsRules(WfpContext::Ruleset &ruleset, const WfpctlSettings &settings) +void AppendSettingsRules(FwContext::Ruleset &ruleset, const WinFwSettings &settings) { if (settings.permitDhcp) { @@ -46,7 +46,7 @@ void AppendSettingsRules(WfpContext::Ruleset &ruleset, const WfpctlSettings &set } } -void AppendNetBlockedRules(WfpContext::Ruleset &ruleset) +void AppendNetBlockedRules(FwContext::Ruleset &ruleset) { ruleset.emplace_back(std::make_unique<rules::BlockAll>()); ruleset.emplace_back(std::make_unique<rules::PermitLoopback>()); @@ -54,7 +54,7 @@ void AppendNetBlockedRules(WfpContext::Ruleset &ruleset) } // anonymous namespace -WfpContext::WfpContext(uint32_t timeout) +FwContext::FwContext(uint32_t timeout) : m_baseline(0) { auto engine = wfp::FilterEngine::DynamicSession(timeout); @@ -72,7 +72,7 @@ WfpContext::WfpContext(uint32_t timeout) m_baseline = m_sessionController->checkpoint(); } -bool WfpContext::applyPolicyConnecting(const WfpctlSettings &settings, const WfpctlRelay &relay) +bool FwContext::applyPolicyConnecting(const WinFwSettings &settings, const WinFwRelay &relay) { Ruleset ruleset; @@ -88,7 +88,7 @@ bool WfpContext::applyPolicyConnecting(const WfpctlSettings &settings, const Wfp return applyRuleset(ruleset); } -bool WfpContext::applyPolicyConnected(const WfpctlSettings &settings, const WfpctlRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns) +bool FwContext::applyPolicyConnected(const WinFwSettings &settings, const WinFwRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns) { Ruleset ruleset; @@ -113,7 +113,7 @@ bool WfpContext::applyPolicyConnected(const WfpctlSettings &settings, const Wfpc return applyRuleset(ruleset); } -bool WfpContext::applyPolicyNetBlocked() +bool FwContext::applyPolicyNetBlocked() { Ruleset ruleset; @@ -122,7 +122,7 @@ bool WfpContext::applyPolicyNetBlocked() return applyRuleset(ruleset); } -bool WfpContext::reset() +bool FwContext::reset() { return m_sessionController->executeTransaction([this]() { @@ -131,7 +131,7 @@ bool WfpContext::reset() }); } -bool WfpContext::applyRuleset(const Ruleset &ruleset) +bool FwContext::applyRuleset(const Ruleset &ruleset) { return m_sessionController->executeTransaction([&]() { @@ -149,7 +149,7 @@ bool WfpContext::applyRuleset(const Ruleset &ruleset) }); } -bool WfpContext::applyBaseConfiguration() +bool FwContext::applyBaseConfiguration() { return m_sessionController->executeTransaction([&]() { diff --git a/wfpctl/src/wfpctl/wfpcontext.h b/windows/winfw/src/winfw/fwcontext.h index 23c25f0ca5..00f952441e 100644 --- a/wfpctl/src/wfpctl/wfpcontext.h +++ b/windows/winfw/src/winfw/fwcontext.h @@ -1,20 +1,20 @@ #pragma once -#include "wfpctl.h" +#include "winfw.h" #include "sessioncontroller.h" #include "rules/ifirewallrule.h" #include <cstdint> #include <memory> #include <vector> -class WfpContext +class FwContext { public: - WfpContext(uint32_t timeout); + FwContext(uint32_t timeout); - bool applyPolicyConnecting(const WfpctlSettings &settings, const WfpctlRelay &relay); - bool applyPolicyConnected(const WfpctlSettings &settings, const WfpctlRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns); + bool applyPolicyConnecting(const WinFwSettings &settings, const WinFwRelay &relay); + bool applyPolicyConnected(const WinFwSettings &settings, const WinFwRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns); bool applyPolicyNetBlocked(); bool reset(); @@ -23,8 +23,8 @@ public: private: - WfpContext(const WfpContext &) = delete; - WfpContext &operator=(const WfpContext &) = delete; + FwContext(const FwContext &) = delete; + FwContext &operator=(const FwContext &) = delete; bool applyBaseConfiguration(); bool applyRuleset(const Ruleset &ruleset); diff --git a/wfpctl/src/wfpctl/iobjectinstaller.h b/windows/winfw/src/winfw/iobjectinstaller.h index 1d38d427c3..1d38d427c3 100644 --- a/wfpctl/src/wfpctl/iobjectinstaller.h +++ b/windows/winfw/src/winfw/iobjectinstaller.h diff --git a/wfpctl/src/wfpctl/mullvadguids.cpp b/windows/winfw/src/winfw/mullvadguids.cpp index dbe00b6538..dbe00b6538 100644 --- a/wfpctl/src/wfpctl/mullvadguids.cpp +++ b/windows/winfw/src/winfw/mullvadguids.cpp diff --git a/wfpctl/src/wfpctl/mullvadguids.h b/windows/winfw/src/winfw/mullvadguids.h index 788b8b8b30..788b8b8b30 100644 --- a/wfpctl/src/wfpctl/mullvadguids.h +++ b/windows/winfw/src/winfw/mullvadguids.h diff --git a/wfpctl/src/wfpctl/mullvadobjects.cpp b/windows/winfw/src/winfw/mullvadobjects.cpp index 43618b51b3..43618b51b3 100644 --- a/wfpctl/src/wfpctl/mullvadobjects.cpp +++ b/windows/winfw/src/winfw/mullvadobjects.cpp diff --git a/wfpctl/src/wfpctl/mullvadobjects.h b/windows/winfw/src/winfw/mullvadobjects.h index 9a056c9186..9a056c9186 100644 --- a/wfpctl/src/wfpctl/mullvadobjects.h +++ b/windows/winfw/src/winfw/mullvadobjects.h diff --git a/wfpctl/src/wfpctl/rules/blockall.cpp b/windows/winfw/src/winfw/rules/blockall.cpp index 50e7f78b77..ff8ba5a065 100644 --- a/wfpctl/src/wfpctl/rules/blockall.cpp +++ b/windows/winfw/src/winfw/rules/blockall.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "blockall.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/nullconditionbuilder.h" diff --git a/wfpctl/src/wfpctl/rules/blockall.h b/windows/winfw/src/winfw/rules/blockall.h index c60c43fa1d..c60c43fa1d 100644 --- a/wfpctl/src/wfpctl/rules/blockall.h +++ b/windows/winfw/src/winfw/rules/blockall.h diff --git a/wfpctl/src/wfpctl/rules/ifirewallrule.h b/windows/winfw/src/winfw/rules/ifirewallrule.h index 827fb6fb51..e0c8755b20 100644 --- a/wfpctl/src/wfpctl/rules/ifirewallrule.h +++ b/windows/winfw/src/winfw/rules/ifirewallrule.h @@ -1,6 +1,6 @@ #pragma once -#include "wfpctl/iobjectinstaller.h" +#include "winfw/iobjectinstaller.h" // // A firewall rule uses one of more filters to implement a concept diff --git a/wfpctl/src/wfpctl/rules/permitdhcp.cpp b/windows/winfw/src/winfw/rules/permitdhcp.cpp index 7cf3bcbf7e..e92b88056e 100644 --- a/wfpctl/src/wfpctl/rules/permitdhcp.cpp +++ b/windows/winfw/src/winfw/rules/permitdhcp.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitdhcp.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/ipaddress.h" diff --git a/wfpctl/src/wfpctl/rules/permitdhcp.h b/windows/winfw/src/winfw/rules/permitdhcp.h index 58bd90bfa5..58bd90bfa5 100644 --- a/wfpctl/src/wfpctl/rules/permitdhcp.h +++ b/windows/winfw/src/winfw/rules/permitdhcp.h diff --git a/wfpctl/src/wfpctl/rules/permitlan.cpp b/windows/winfw/src/winfw/rules/permitlan.cpp index ddf51d27e0..cf2e753d05 100644 --- a/wfpctl/src/wfpctl/rules/permitlan.cpp +++ b/windows/winfw/src/winfw/rules/permitlan.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitlan.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/ipaddress.h" diff --git a/wfpctl/src/wfpctl/rules/permitlan.h b/windows/winfw/src/winfw/rules/permitlan.h index 9194b0bcd7..9194b0bcd7 100644 --- a/wfpctl/src/wfpctl/rules/permitlan.h +++ b/windows/winfw/src/winfw/rules/permitlan.h diff --git a/wfpctl/src/wfpctl/rules/permitlanservice.cpp b/windows/winfw/src/winfw/rules/permitlanservice.cpp index 4f4d5a9c59..4e52f07047 100644 --- a/wfpctl/src/wfpctl/rules/permitlanservice.cpp +++ b/windows/winfw/src/winfw/rules/permitlanservice.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitlanservice.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/ipaddress.h" diff --git a/wfpctl/src/wfpctl/rules/permitlanservice.h b/windows/winfw/src/winfw/rules/permitlanservice.h index be482386a3..be482386a3 100644 --- a/wfpctl/src/wfpctl/rules/permitlanservice.h +++ b/windows/winfw/src/winfw/rules/permitlanservice.h diff --git a/wfpctl/src/wfpctl/rules/permitloopback.cpp b/windows/winfw/src/winfw/rules/permitloopback.cpp index 3247a4e8ec..f98fe4f756 100644 --- a/wfpctl/src/wfpctl/rules/permitloopback.cpp +++ b/windows/winfw/src/winfw/rules/permitloopback.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitloopback.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/conditions/conditionloopback.h" diff --git a/wfpctl/src/wfpctl/rules/permitloopback.h b/windows/winfw/src/winfw/rules/permitloopback.h index 71694c353d..71694c353d 100644 --- a/wfpctl/src/wfpctl/rules/permitloopback.h +++ b/windows/winfw/src/winfw/rules/permitloopback.h diff --git a/wfpctl/src/wfpctl/rules/permitvpnrelay.cpp b/windows/winfw/src/winfw/rules/permitvpnrelay.cpp index 6cfa02ed92..e6a2f9b918 100644 --- a/wfpctl/src/wfpctl/rules/permitvpnrelay.cpp +++ b/windows/winfw/src/winfw/rules/permitvpnrelay.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitvpnrelay.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/conditions/conditionprotocol.h" diff --git a/wfpctl/src/wfpctl/rules/permitvpnrelay.h b/windows/winfw/src/winfw/rules/permitvpnrelay.h index c5ae8b024a..c5ae8b024a 100644 --- a/wfpctl/src/wfpctl/rules/permitvpnrelay.h +++ b/windows/winfw/src/winfw/rules/permitvpnrelay.h diff --git a/wfpctl/src/wfpctl/rules/permitvpntunnel.cpp b/windows/winfw/src/winfw/rules/permitvpntunnel.cpp index fadd606791..39830e70ec 100644 --- a/wfpctl/src/wfpctl/rules/permitvpntunnel.cpp +++ b/windows/winfw/src/winfw/rules/permitvpntunnel.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "permitvpntunnel.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/conditions/conditioninterface.h" diff --git a/wfpctl/src/wfpctl/rules/permitvpntunnel.h b/windows/winfw/src/winfw/rules/permitvpntunnel.h index 49c1b028ab..49c1b028ab 100644 --- a/wfpctl/src/wfpctl/rules/permitvpntunnel.h +++ b/windows/winfw/src/winfw/rules/permitvpntunnel.h diff --git a/wfpctl/src/wfpctl/rules/restrictdns.cpp b/windows/winfw/src/winfw/rules/restrictdns.cpp index 0d868c0428..d8a953fb3a 100644 --- a/wfpctl/src/wfpctl/rules/restrictdns.cpp +++ b/windows/winfw/src/winfw/rules/restrictdns.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "restrictdns.h" -#include "wfpctl/mullvadguids.h" +#include "winfw/mullvadguids.h" #include "libwfp/filterbuilder.h" #include "libwfp/conditionbuilder.h" #include "libwfp/conditions/conditioninterface.h" diff --git a/wfpctl/src/wfpctl/rules/restrictdns.h b/windows/winfw/src/winfw/rules/restrictdns.h index da09e970d3..da09e970d3 100644 --- a/wfpctl/src/wfpctl/rules/restrictdns.h +++ b/windows/winfw/src/winfw/rules/restrictdns.h diff --git a/wfpctl/src/wfpctl/sessioncontroller.cpp b/windows/winfw/src/winfw/sessioncontroller.cpp index 2965233600..2965233600 100644 --- a/wfpctl/src/wfpctl/sessioncontroller.cpp +++ b/windows/winfw/src/winfw/sessioncontroller.cpp diff --git a/wfpctl/src/wfpctl/sessioncontroller.h b/windows/winfw/src/winfw/sessioncontroller.h index 61163533c4..61163533c4 100644 --- a/wfpctl/src/wfpctl/sessioncontroller.h +++ b/windows/winfw/src/winfw/sessioncontroller.h diff --git a/wfpctl/src/wfpctl/sessionrecord.cpp b/windows/winfw/src/winfw/sessionrecord.cpp index ad11f4c013..ad11f4c013 100644 --- a/wfpctl/src/wfpctl/sessionrecord.cpp +++ b/windows/winfw/src/winfw/sessionrecord.cpp diff --git a/wfpctl/src/wfpctl/sessionrecord.h b/windows/winfw/src/winfw/sessionrecord.h index 8ad3be8c86..8ad3be8c86 100644 --- a/wfpctl/src/wfpctl/sessionrecord.h +++ b/windows/winfw/src/winfw/sessionrecord.h diff --git a/wfpctl/src/wfpctl/stdafx.cpp b/windows/winfw/src/winfw/stdafx.cpp index 021bdb1465..af96757b53 100644 --- a/wfpctl/src/wfpctl/stdafx.cpp +++ b/windows/winfw/src/winfw/stdafx.cpp @@ -1,5 +1,5 @@ // stdafx.cpp : source file that includes just the standard includes -// wfpctrl.pch will be the pre-compiled header +// winfw.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" diff --git a/wfpctl/src/wfpctl/stdafx.h b/windows/winfw/src/winfw/stdafx.h index f3a07375c7..f3a07375c7 100644 --- a/wfpctl/src/wfpctl/stdafx.h +++ b/windows/winfw/src/winfw/stdafx.h diff --git a/wfpctl/src/wfpctl/targetver.h b/windows/winfw/src/winfw/targetver.h index ae4a5c032c..ae4a5c032c 100644 --- a/wfpctl/src/wfpctl/targetver.h +++ b/windows/winfw/src/winfw/targetver.h diff --git a/wfpctl/src/wfpctl/wfpctl.cpp b/windows/winfw/src/winfw/winfw.cpp index 5ac5617e0a..8071669b7d 100644 --- a/wfpctl/src/wfpctl/wfpctl.cpp +++ b/windows/winfw/src/winfw/winfw.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" -#include "wfpctl.h" -#include "wfpcontext.h" +#include "winfw.h" +#include "fwcontext.h" #include "libwfp/ipaddress.h" #include <windows.h> #include <stdexcept> @@ -10,23 +10,23 @@ namespace uint32_t g_timeout = 0; -WfpctlErrorSink g_ErrorSink = nullptr; +WinFwErrorSink g_ErrorSink = nullptr; void * g_ErrorContext = nullptr; -WfpContext *g_wfpContext = nullptr; +FwContext *g_fwContext = nullptr; } // anonymous namespace -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Initialize( +WINFW_API +WinFw_Initialize( uint32_t timeout, - WfpctlErrorSink errorSink, + WinFwErrorSink errorSink, void *errorContext ) { - if (nullptr != g_wfpContext) + if (nullptr != g_fwContext) { // // This is an error. @@ -43,7 +43,7 @@ Wfpctl_Initialize( try { - g_wfpContext = new WfpContext(g_timeout); + g_fwContext = new FwContext(g_timeout); } catch (std::exception &err) { @@ -62,38 +62,38 @@ Wfpctl_Initialize( return true; } -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Deinitialize() +WINFW_API +WinFw_Deinitialize() { - if (nullptr == g_wfpContext) + if (nullptr == g_fwContext) { return true; } - delete g_wfpContext; - g_wfpContext = nullptr; + delete g_fwContext; + g_fwContext = nullptr; return true; } -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyConnecting( - const WfpctlSettings &settings, - const WfpctlRelay &relay +WINFW_API +WinFw_ApplyPolicyConnecting( + const WinFwSettings &settings, + const WinFwRelay &relay ) { - if (nullptr == g_wfpContext) + if (nullptr == g_fwContext) { return false; } try { - return g_wfpContext->applyPolicyConnecting(settings, relay); + return g_fwContext->applyPolicyConnecting(settings, relay); } catch (std::exception &err) { @@ -110,24 +110,24 @@ Wfpctl_ApplyPolicyConnecting( } } -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyConnected( - const WfpctlSettings &settings, - const WfpctlRelay &relay, +WINFW_API +WinFw_ApplyPolicyConnected( + const WinFwSettings &settings, + const WinFwRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns ) { - if (nullptr == g_wfpContext) + if (nullptr == g_fwContext) { return false; } try { - return g_wfpContext->applyPolicyConnected(settings, relay, tunnelInterfaceAlias, primaryDns); + return g_fwContext->applyPolicyConnected(settings, relay, tunnelInterfaceAlias, primaryDns); } catch (std::exception &err) { @@ -144,20 +144,20 @@ Wfpctl_ApplyPolicyConnected( } } -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyNetBlocked( +WINFW_API +WinFw_ApplyPolicyNetBlocked( ) { - if (nullptr == g_wfpContext) + if (nullptr == g_fwContext) { return false; } try { - return g_wfpContext->applyPolicyNetBlocked(); + return g_fwContext->applyPolicyNetBlocked(); } catch (std::exception &err) { @@ -174,23 +174,23 @@ Wfpctl_ApplyPolicyNetBlocked( } } -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Reset() +WINFW_API +WinFw_Reset() { - if (nullptr == g_wfpContext) + if (nullptr == g_fwContext) { // - // This is an error. - // The reset instance enforces the block-all rule. + // This is OK because the practical difference between having no instance + // and having a reset instance is negligible. // - return false; + return true; } try { - return g_wfpContext->reset(); + return g_fwContext->reset(); } catch (std::exception &err) { diff --git a/windows/winfw/src/winfw/winfw.def b/windows/winfw/src/winfw/winfw.def new file mode 100644 index 0000000000..ff028b76d0 --- /dev/null +++ b/windows/winfw/src/winfw/winfw.def @@ -0,0 +1,9 @@ +LIBRARY winfw +EXPORTS + +WinFw_Initialize +WinFw_Deinitialize +WinFw_ApplyPolicyConnecting +WinFw_ApplyPolicyConnected +WinFw_ApplyPolicyNetBlocked +WinFw_Reset diff --git a/wfpctl/src/wfpctl/wfpctl.h b/windows/winfw/src/winfw/winfw.h index 3d92b02760..a575b4d436 100644 --- a/wfpctl/src/wfpctl/wfpctl.h +++ b/windows/winfw/src/winfw/winfw.h @@ -2,16 +2,16 @@ #include <cstdint> // -// WFPCTL public API +// WINFW public API // -#ifdef WFPCTL_EXPORTS -#define WFPCTL_LINKAGE __declspec(dllexport) +#ifdef WINFW_EXPORTS +#define WINFW_LINKAGE __declspec(dllexport) #else -#define WFPCTL_LINKAGE __declspec(dllimport) +#define WINFW_LINKAGE __declspec(dllimport) #endif -#define WFPCTL_API __stdcall +#define WINFW_API __stdcall /////////////////////////////////////////////////////////////////////////////// // Structures @@ -19,7 +19,7 @@ #pragma pack(push, 1) -typedef struct tag_WfpctlSettings +typedef struct tag_WinFwSettings { // Permit outbound DHCP requests and inbound DHCP responses on all interfaces. bool permitDhcp; @@ -27,21 +27,21 @@ typedef struct tag_WfpctlSettings // Permit all traffic to and from private address ranges. bool permitLan; } -WfpctlSettings; +WinFwSettings; -enum WfpctlProtocol : uint8_t +enum WinFwProtocol : uint8_t { Tcp = 0, Udp = 1 }; -typedef struct tag_WfpctlRelay +typedef struct tag_WinFwRelay { const wchar_t *ip; uint16_t port; - WfpctlProtocol protocol; + WinFwProtocol protocol; } -WfpctlRelay; +WinFwRelay; #pragma pack(pop) @@ -60,15 +60,15 @@ WfpctlRelay; // // Optionally provide a callback if you are interested in logging exceptions. // -typedef void (WFPCTL_API *WfpctlErrorSink)(const char *errorMessage, void *context); +typedef void (WINFW_API *WinFwErrorSink)(const char *errorMessage, void *context); extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Initialize( +WINFW_API +WinFw_Initialize( uint32_t timeout, - WfpctlErrorSink errorSink, + WinFwErrorSink errorSink, void *errorContext ); @@ -78,10 +78,10 @@ Wfpctl_Initialize( // Call this function once before unloading WFPCTL or exiting the process. // extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Deinitialize(); +WINFW_API +WinFw_Deinitialize(); // // ApplyPolicyConnecting: @@ -91,12 +91,12 @@ Wfpctl_Deinitialize(); // - Communication with the relay server // extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyConnecting( - const WfpctlSettings &settings, - const WfpctlRelay &relay +WINFW_API +WinFw_ApplyPolicyConnecting( + const WinFwSettings &settings, + const WinFwRelay &relay ); // @@ -116,12 +116,12 @@ Wfpctl_ApplyPolicyConnecting( // String encoded IP address of DNS to use inside tunnel // extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyConnected( - const WfpctlSettings &settings, - const WfpctlRelay &relay, +WINFW_API +WinFw_ApplyPolicyConnected( + const WinFwSettings &settings, + const WinFwRelay &relay, const wchar_t *tunnelInterfaceAlias, const wchar_t *primaryDns ); @@ -132,10 +132,10 @@ Wfpctl_ApplyPolicyConnected( // Apply restrictions in the firewall that block all traffic. // extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_ApplyPolicyNetBlocked( +WINFW_API +WinFw_ApplyPolicyNetBlocked( ); // @@ -144,7 +144,7 @@ Wfpctl_ApplyPolicyNetBlocked( // Clear the policy in effect, if any. // extern "C" -WFPCTL_LINKAGE +WINFW_LINKAGE bool -WFPCTL_API -Wfpctl_Reset(); +WINFW_API +WinFw_Reset(); diff --git a/wfpctl/src/wfpctl/wfpctl.vcxproj b/windows/winfw/src/winfw/winfw.vcxproj index 5a8f2ada02..f6c59f9486 100644 --- a/wfpctl/src/wfpctl/wfpctl.vcxproj +++ b/windows/winfw/src/winfw/winfw.vcxproj @@ -38,8 +38,8 @@ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> </ClCompile> - <ClCompile Include="wfpcontext.cpp" /> - <ClCompile Include="wfpctl.cpp" /> + <ClCompile Include="fwcontext.cpp" /> + <ClCompile Include="winfw.cpp" /> </ItemGroup> <ItemGroup> <ClInclude Include="iobjectinstaller.h" /> @@ -58,17 +58,17 @@ <ClInclude Include="sessionrecord.h" /> <ClInclude Include="stdafx.h" /> <ClInclude Include="targetver.h" /> - <ClInclude Include="wfpcontext.h" /> - <ClInclude Include="wfpctl.h" /> + <ClInclude Include="fwcontext.h" /> + <ClInclude Include="winfw.h" /> </ItemGroup> <ItemGroup> - <None Include="wfpctl.def" /> + <None Include="winfw.def" /> </ItemGroup> <PropertyGroup Label="Globals"> <VCProjectVersion>15.0</VCProjectVersion> <ProjectGuid>{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}</ProjectGuid> <Keyword>Win32Proj</Keyword> - <RootNamespace>wfpctl</RootNamespace> + <RootNamespace>winfw</RootNamespace> <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> @@ -142,17 +142,17 @@ <WarningLevel>Level4</WarningLevel> <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;_DEBUG;WFPCTL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;WINFW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\..\windows-libraries\src\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>libwfp.lib;libcommon.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <ModuleDefinitionFile>wfpctl.def</ModuleDefinitionFile> + <ModuleDefinitionFile>winfw.def</ModuleDefinitionFile> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> @@ -161,17 +161,17 @@ <WarningLevel>Level4</WarningLevel> <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>_DEBUG;WFPCTL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;WINFW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\..\windows-libraries\src\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>libwfp.lib;libcommon.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <ModuleDefinitionFile>wfpctl.def</ModuleDefinitionFile> + <ModuleDefinitionFile>winfw.def</ModuleDefinitionFile> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> @@ -182,10 +182,10 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;NDEBUG;WFPCTL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;WINFW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\..\windows-libraries\src\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -194,7 +194,7 @@ <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>libwfp.lib;libcommon.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <ModuleDefinitionFile>wfpctl.def</ModuleDefinitionFile> + <ModuleDefinitionFile>winfw.def</ModuleDefinitionFile> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> @@ -205,10 +205,10 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>NDEBUG;WFPCTL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;WINFW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <LanguageStandard>stdcpplatest</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\libwfp\src\</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)..\;$(ProjectDir)..\..\..\windows-libraries\src\;$(ProjectDir)..\..\..\libwfp\src\</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -217,7 +217,7 @@ <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>libwfp.lib;libcommon.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>$(SolutionDir)/bin/$(Platform)-$(Configuration)</AdditionalLibraryDirectories> - <ModuleDefinitionFile>wfpctl.def</ModuleDefinitionFile> + <ModuleDefinitionFile>winfw.def</ModuleDefinitionFile> </Link> </ItemDefinitionGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/wfpctl/src/wfpctl/wfpctl.vcxproj.filters b/windows/winfw/src/winfw/winfw.vcxproj.filters index 04abe71829..1b7c0711f6 100644 --- a/wfpctl/src/wfpctl/wfpctl.vcxproj.filters +++ b/windows/winfw/src/winfw/winfw.vcxproj.filters @@ -3,8 +3,8 @@ <ItemGroup> <ClCompile Include="dllmain.cpp" /> <ClCompile Include="stdafx.cpp" /> - <ClCompile Include="wfpctl.cpp" /> - <ClCompile Include="wfpcontext.cpp" /> + <ClCompile Include="winfw.cpp" /> + <ClCompile Include="fwcontext.cpp" /> <ClCompile Include="sessioncontroller.cpp" /> <ClCompile Include="mullvadguids.cpp" /> <ClCompile Include="mullvadobjects.cpp" /> @@ -37,8 +37,8 @@ <ItemGroup> <ClInclude Include="stdafx.h" /> <ClInclude Include="targetver.h" /> - <ClInclude Include="wfpctl.h" /> - <ClInclude Include="wfpcontext.h" /> + <ClInclude Include="winfw.h" /> + <ClInclude Include="fwcontext.h" /> <ClInclude Include="sessioncontroller.h" /> <ClInclude Include="mullvadguids.h" /> <ClInclude Include="mullvadobjects.h" /> @@ -78,6 +78,6 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="wfpctl.def" /> + <None Include="winfw.def" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/wfpctl/wfpctl.sln b/windows/winfw/winfw.sln index 3894471a8b..32b40ccecd 100644 --- a/wfpctl/wfpctl.sln +++ b/windows/winfw/winfw.sln @@ -3,15 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2027 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wfpctl", "src\wfpctl\wfpctl.vcxproj", "{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winfw", "src\winfw\winfw.vcxproj", "{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}" ProjectSection(ProjectDependencies) = postProject {B52E2D10-A94A-4605-914A-2DCEF6A757EF} = {B52E2D10-A94A-4605-914A-2DCEF6A757EF} {2164E6D9-6023-4932-A08F-7A5C15E2CA0B} = {2164E6D9-6023-4932-A08F-7A5C15E2CA0B} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcommon", "libwfp\src\libcommon\libcommon.vcxproj", "{B52E2D10-A94A-4605-914A-2DCEF6A757EF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcommon", "..\windows-libraries\src\libcommon\libcommon.vcxproj", "{B52E2D10-A94A-4605-914A-2DCEF6A757EF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwfp", "libwfp\src\libwfp\libwfp.vcxproj", "{2164E6D9-6023-4932-A08F-7A5C15E2CA0B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwfp", "..\libwfp\src\libwfp\libwfp.vcxproj", "{2164E6D9-6023-4932-A08F-7A5C15E2CA0B}" ProjectSection(ProjectDependencies) = postProject {B52E2D10-A94A-4605-914A-2DCEF6A757EF} = {B52E2D10-A94A-4605-914A-2DCEF6A757EF} EndProjectSection |
