diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-08-10 17:19:28 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-08-15 11:32:37 +0200 |
| commit | 41a962e7d0cd4cde45a193dbc93e6bd65bbd20e3 (patch) | |
| tree | c999ec9124b57af92ca13224578e9d0de21d1ac6 /windows | |
| parent | e911f56bc3eace19fc603ecd692b360661991fbb (diff) | |
| download | mullvadvpn-41a962e7d0cd4cde45a193dbc93e6bd65bbd20e3.tar.xz mullvadvpn-41a962e7d0cd4cde45a193dbc93e6bd65bbd20e3.zip | |
Update installer and driverlogic to use updated Wintun API
Diffstat (limited to 'windows')
| -rw-r--r-- | windows/driverlogic/src/driverlogic.cpp | 17 | ||||
| -rw-r--r-- | windows/driverlogic/src/wintun.h | 10 |
2 files changed, 9 insertions, 18 deletions
diff --git a/windows/driverlogic/src/driverlogic.cpp b/windows/driverlogic/src/driverlogic.cpp index aba746d3e3..2fdcc3046c 100644 --- a/windows/driverlogic/src/driverlogic.cpp +++ b/windows/driverlogic/src/driverlogic.cpp @@ -228,26 +228,23 @@ ReturnCode CommandSplitTunnelForceInstall(const std::vector<std::wstring> &args) return CommandSplitTunnelNewInstall(args); } -ReturnCode CommandWintunDeletePool(const std::vector<std::wstring> &args) +ReturnCode CommandWintunDeleteDriver(const std::vector<std::wstring> &args) { ArgumentContext argsContext(args); - argsContext.ensureExactArgumentCount(1); - - const auto poolName = argsContext.next(); + argsContext.ensureExactArgumentCount(0); WintunDll wintun; - BOOL rebootRequired; - - if (FALSE == wintun.deletePoolDriver(poolName.c_str(), &rebootRequired)) + if (FALSE == wintun.deleteDriver()) { - throw std::runtime_error("Failed to delete wintun pool"); + // NOTE: This is expected if there are other adapters in use. + throw std::runtime_error("Failed to delete wintun driver"); } std::wstringstream ss; - ss << L"Successfully deleted wintun pool. Reboot required: " << rebootRequired; + ss << L"Deleted Wintun driver"; Log(ss.str()); @@ -343,7 +340,7 @@ int wmain(int argc, const wchar_t *argv[]) { L"st-new-install", CommandSplitTunnelNewInstall }, { L"st-force-install", CommandSplitTunnelForceInstall }, { L"st-remove", CommandSplitTunnelRemove }, - { L"wintun-delete-pool-driver", CommandWintunDeletePool }, + { L"wintun-delete-driver", CommandWintunDeleteDriver }, { L"wintun-delete-abandoned-device", CommandWintunDeleteAbandonedDevice }, { L"wg-nt-cleanup", CommandWireGuardNtCleanup } }; diff --git a/windows/driverlogic/src/wintun.h b/windows/driverlogic/src/wintun.h index 3d81be97e3..22444fcd94 100644 --- a/windows/driverlogic/src/wintun.h +++ b/windows/driverlogic/src/wintun.h @@ -20,10 +20,7 @@ public: try { - createAdapter = getProcAddressOrThrow<WINTUN_CREATE_ADAPTER_FUNC>("WintunCreateAdapter"); - openAdapter = getProcAddressOrThrow<WINTUN_OPEN_ADAPTER_FUNC>("WintunOpenAdapter"); - freeAdapter = getProcAddressOrThrow<WINTUN_FREE_ADAPTER_FUNC>("WintunFreeAdapter"); - deletePoolDriver = getProcAddressOrThrow<WINTUN_DELETE_POOL_DRIVER_FUNC>("WintunDeletePoolDriver"); + deleteDriver = getProcAddressOrThrow<WINTUN_DELETE_DRIVER_FUNC*>("WintunDeleteDriver"); } catch (...) { @@ -40,10 +37,7 @@ public: } } - WINTUN_CREATE_ADAPTER_FUNC createAdapter; - WINTUN_OPEN_ADAPTER_FUNC openAdapter; - WINTUN_FREE_ADAPTER_FUNC freeAdapter; - WINTUN_DELETE_POOL_DRIVER_FUNC deletePoolDriver; + WINTUN_DELETE_DRIVER_FUNC *deleteDriver; private: |
