summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2019-10-28 11:28:50 +0100
committerDavid Lönnhager <david.l@mullvad.net>2019-10-28 11:28:50 +0100
commit871233b0e56ae513f56ead22d11ebd174a01415e (patch)
treed0e85977ba14ea615914d4518f74e38456e68819
parent2d24676660b73085512ea0eb0982fbfaf4281fa0 (diff)
parent13168d58ba38fc9a032c444123ab10b3d61ff498 (diff)
downloadmullvadvpn-871233b0e56ae513f56ead22d11ebd174a01415e.tar.xz
mullvadvpn-871233b0e56ae513f56ead22d11ebd174a01415e.zip
Merge branch 'tap-adapter-removal-fix'
-rw-r--r--CHANGELOG.md4
-rw-r--r--windows/winnet/src/winnet/interfaceutils.cpp17
-rw-r--r--windows/winnet/src/winnet/interfaceutils.h4
3 files changed, 6 insertions, 19 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2abb96f633..888ecdbf09 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -38,6 +38,10 @@ Line wrap the file at 100 chars. Th
#### Windows
- Use a larger icon in notifications on Windows 10.
+### Fixed
+#### Windows
+- Detect removal of the OpenVPN TAP adapter on reconnection attempts.
+
## [2019.9] - 2019-10-11
### Added
diff --git a/windows/winnet/src/winnet/interfaceutils.cpp b/windows/winnet/src/winnet/interfaceutils.cpp
index 9a406fa6ff..babe03eba6 100644
--- a/windows/winnet/src/winnet/interfaceutils.cpp
+++ b/windows/winnet/src/winnet/interfaceutils.cpp
@@ -2,7 +2,6 @@
#include "interfaceutils.h"
#include "libcommon/error.h"
#include "libcommon/string.h"
-#include "libcommon/synchronization.h"
#include <vector>
#include <cstdint>
#include <algorithm>
@@ -10,11 +9,6 @@
#include <iphlpapi.h>
#include <windows.h>
-//static
-std::wstring InterfaceUtils::m_alias;
-
-//static
-std::mutex InterfaceUtils::m_mutex;
//static
std::set<InterfaceUtils::NetworkAdapter> InterfaceUtils::GetAllAdapters()
@@ -75,13 +69,6 @@ InterfaceUtils::GetTapAdapters(const std::set<InterfaceUtils::NetworkAdapter> &a
//static
std::wstring InterfaceUtils::GetTapInterfaceAlias()
{
- common::sync::ScopeLock<> cacheLock(m_mutex);
-
- if (false == m_alias.empty())
- {
- return m_alias;
- }
-
//
// Look for TAP adapter with alias "Mullvad".
//
@@ -102,7 +89,7 @@ std::wstring InterfaceUtils::GetTapInterfaceAlias()
if (findByAlias(adapters, baseAlias))
{
- return m_alias = baseAlias;
+ return baseAlias;
}
//
@@ -119,7 +106,7 @@ std::wstring InterfaceUtils::GetTapInterfaceAlias()
if (findByAlias(adapters, alias))
{
- return m_alias = alias;
+ return alias;
}
}
diff --git a/windows/winnet/src/winnet/interfaceutils.h b/windows/winnet/src/winnet/interfaceutils.h
index 308bfa505b..f5c31963c2 100644
--- a/windows/winnet/src/winnet/interfaceutils.h
+++ b/windows/winnet/src/winnet/interfaceutils.h
@@ -2,15 +2,11 @@
#include <string>
#include <set>
-#include <mutex>
class InterfaceUtils
{
InterfaceUtils() = delete;
- static std::wstring m_alias;
- static std::mutex m_mutex;
-
public:
struct NetworkAdapter