diff options
| author | David Lönnhager <david.l@mullvad.net> | 2019-11-28 09:49:49 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2019-12-03 09:17:30 +0100 |
| commit | 472c70f2e737c1cc22b538af17b36315a48cdd62 (patch) | |
| tree | c2ae516a51ee6ffd9fffab9539139b2c470ff674 /windows/nsis-plugins/src/driverlogic/context.cpp | |
| parent | 8f9f08a676d196172c76de1a568416beeb4da3d0 (diff) | |
| download | mullvadvpn-472c70f2e737c1cc22b538af17b36315a48cdd62.tar.xz mullvadvpn-472c70f2e737c1cc22b538af17b36315a48cdd62.zip | |
Roll back TAP aliases after TAP driver updates (Windows)
Diffstat (limited to 'windows/nsis-plugins/src/driverlogic/context.cpp')
| -rw-r--r-- | windows/nsis-plugins/src/driverlogic/context.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/windows/nsis-plugins/src/driverlogic/context.cpp b/windows/nsis-plugins/src/driverlogic/context.cpp index c7ef8c91cd..ff46416d0a 100644 --- a/windows/nsis-plugins/src/driverlogic/context.cpp +++ b/windows/nsis-plugins/src/driverlogic/context.cpp @@ -380,6 +380,26 @@ void Context::recordCurrentState() m_currentState = GetTapAdapters(); } +void Context::rollbackTapAliases() +{ + NciContext nci; + + for (const auto &adapter : m_currentState) + { + const auto oldInfo = m_baseline.find(adapter); + if (m_baseline.end() != oldInfo) + { + IID guidObj = { 0 }; + if (S_OK != IIDFromString(&adapter.guid[0], &guidObj)) + { + throw std::runtime_error("IIDFromString() failed"); + } + + nci.setConnectionName(guidObj, oldInfo->alias.c_str()); + } + } +} + Context::NetworkAdapter Context::getNewAdapter() { std::list<NetworkAdapter> added; |
