diff options
| author | Odd Stranne <odd@mullvad.net> | 2019-07-04 11:27:09 +0200 |
|---|---|---|
| committer | Odd Stranne <odd@mullvad.net> | 2019-07-04 11:27:09 +0200 |
| commit | 759880865294b007361e359472d0aaae80b57f7c (patch) | |
| tree | f5a4d712164227b7d7e87eee1827edb3d0b0fe19 | |
| parent | 42c6e211e1232d8f655f27605e140b1ad5784390 (diff) | |
| download | mullvadvpn-759880865294b007361e359472d0aaae80b57f7c.tar.xz mullvadvpn-759880865294b007361e359472d0aaae80b57f7c.zip | |
Update NIC filtering logic for online check
| -rw-r--r-- | windows/winnet/src/winnet/netmonitor.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/windows/winnet/src/winnet/netmonitor.cpp b/windows/winnet/src/winnet/netmonitor.cpp index 4de068f9cd..a6c2903397 100644 --- a/windows/winnet/src/winnet/netmonitor.cpp +++ b/windows/winnet/src/winnet/netmonitor.cpp @@ -18,7 +18,8 @@ bool ValidInterfaceType(const MIB_IF_ROW2 &iface) } } - if (FALSE == iface.InterfaceAndOperStatusFlags.ConnectorPresent + if (FALSE != iface.InterfaceAndOperStatusFlags.FilterInterface + || 0 == iface.PhysicalAddressLength || FALSE != iface.InterfaceAndOperStatusFlags.EndPointInterface) { return false; @@ -85,17 +86,17 @@ void NetMonitor::AddCacheEntry(Cache &cache, const MIB_IF_ROW2 &iface) { CacheEntry e; - if (false == ValidInterfaceType(iface)) + if (ValidInterfaceType(iface)) { e.luid = iface.InterfaceLuid.Value; - e.valid = false; - e.connected = false; + e.valid = true; + e.connected = (MediaConnectStateConnected == iface.MediaConnectState); } else { e.luid = iface.InterfaceLuid.Value; - e.valid = true; - e.connected = (MediaConnectStateConnected == iface.MediaConnectState); + e.valid = false; + e.connected = false; } cache.insert(std::make_pair(e.luid, e)); |
