aboutsummaryrefslogtreecommitdiffstats
path: root/api/adapter.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-11-09 14:45:41 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2020-11-09 15:14:33 +0100
commit0d214d72542713c0d716173eab1bc787772026d8 (patch)
treed4e6a0669b189fd0c797494de00e994cb3cf79d8 /api/adapter.c
parentapi: take pool mutex when deleting (diff)
downloadwintun-0d214d72542713c0d716173eab1bc787772026d8.tar.xz
wintun-0d214d72542713c0d716173eab1bc787772026d8.zip
api: do not call UpdateDriverForPlugAndPlayDevicesW
This seems to reset a number of device properties, and our update flow seems to update old adapters without needing to call this. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api/adapter.c')
-rw-r--r--api/adapter.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/api/adapter.c b/api/adapter.c
index f023ccd..c929b64 100644
--- a/api/adapter.c
+++ b/api/adapter.c
@@ -21,7 +21,6 @@
#include <devguid.h>
#include <iphlpapi.h>
#include <ndisguid.h>
-#include <newdev.h>
#include <NTSecAPI.h>
#include <SetupAPI.h>
#include <Shlwapi.h>
@@ -1146,8 +1145,7 @@ EnsureWintunUnloaded(void)
static _Return_type_success_(return != FALSE) BOOL SelectDriver(
_In_ HDEVINFO DevInfo,
_In_opt_ SP_DEVINFO_DATA *DevInfoData,
- _Inout_ SP_DEVINSTALL_PARAMS_W *DevInstallParams,
- _Inout_ BOOL *RebootRequired)
+ _Inout_ SP_DEVINSTALL_PARAMS_W *DevInstallParams)
{
static const FILETIME OurDriverDate = WINTUN_INF_FILETIME;
static const DWORDLONG OurDriverVersion = WINTUN_INF_VERSION;
@@ -1267,12 +1265,6 @@ static _Return_type_success_(return != FALSE) BOOL SelectDriver(
goto cleanupDelete;
}
_Analysis_assume_nullterminated_(InfStorePath);
- BOOL UpdateRebootRequired = FALSE;
- if (ExistingAdapters &&
- !UpdateDriverForPlugAndPlayDevicesW(
- NULL, WINTUN_HWID, InfStorePath, INSTALLFLAG_FORCE | INSTALLFLAG_NONINTERACTIVE, &UpdateRebootRequired))
- LOG(WINTUN_LOG_WARN, L"Could not update existing adapters");
- *RebootRequired = *RebootRequired || UpdateRebootRequired;
SetupDiDestroyDriverInfoList(DevInfo, DevInfoData, SPDIT_COMPATDRIVER);
DestroyDriverInfoListOnCleanup = FALSE;
@@ -1395,7 +1387,7 @@ static _Return_type_success_(return != NULL) WINTUN_ADAPTER *CreateAdapter(
goto cleanupDevInfo;
}
- if (!SelectDriver(DevInfo, &DevInfoData, &DevInstallParams, RebootRequired))
+ if (!SelectDriver(DevInfo, &DevInfoData, &DevInstallParams))
{
LastError = LOG(WINTUN_LOG_ERR, L"Failed to select driver");
goto cleanupDevInfo;