diff --git a/rtc_base/network.cc b/rtc_base/network.cc index 4670ab0aba..369c582d5e 100644 --- a/rtc_base/network.cc +++ b/rtc_base/network.cc @@ -211,10 +211,15 @@ AdapterType GetAdapterTypeFromName(const char* network_name) { // an ifaddr struct. See ConvertIfAddrs in this file. return ADAPTER_TYPE_LOOPBACK; } + if (MatchTypeNameWithIndexPattern(network_name, "eth")) { return ADAPTER_TYPE_ETHERNET; } + if (MatchTypeNameWithIndexPattern(network_name, "wlan")) { + return ADAPTER_TYPE_WIFI; + } + if (MatchTypeNameWithIndexPattern(network_name, "ipsec") || MatchTypeNameWithIndexPattern(network_name, "tun") || MatchTypeNameWithIndexPattern(network_name, "utun") || @@ -241,9 +246,6 @@ AdapterType GetAdapterTypeFromName(const char* network_name) { MatchTypeNameWithIndexPattern(network_name, "clat")) { return ADAPTER_TYPE_CELLULAR; } - if (MatchTypeNameWithIndexPattern(network_name, "wlan")) { - return ADAPTER_TYPE_WIFI; - } #endif return ADAPTER_TYPE_UNKNOWN; diff --git a/rtc_base/network_unittest.cc b/rtc_base/network_unittest.cc index d07feb67e3..024115ad76 100644 --- a/rtc_base/network_unittest.cc +++ b/rtc_base/network_unittest.cc @@ -859,6 +859,12 @@ TEST_F(NetworkTest, TestGetAdapterTypeFromNameMatching) { ClearNetworks(manager); ReleaseIfAddrs(addr_list); + strcpy(if_name, "wlan0"); + addr_list = InstallIpv6Network(if_name, ipv6_address1, ipv6_mask, manager); + EXPECT_EQ(ADAPTER_TYPE_WIFI, GetAdapterType(manager)); + ClearNetworks(manager); + ReleaseIfAddrs(addr_list); + #if defined(WEBRTC_IOS) strcpy(if_name, "pdp_ip0"); addr_list = InstallIpv6Network(if_name, ipv6_address1, ipv6_mask, manager); @@ -879,12 +885,6 @@ TEST_F(NetworkTest, TestGetAdapterTypeFromNameMatching) { ClearNetworks(manager); ReleaseIfAddrs(addr_list); - strcpy(if_name, "wlan1"); - addr_list = InstallIpv6Network(if_name, ipv6_address2, ipv6_mask, manager); - EXPECT_EQ(ADAPTER_TYPE_WIFI, GetAdapterType(manager)); - ClearNetworks(manager); - ReleaseIfAddrs(addr_list); - strcpy(if_name, "v4-rmnet_data0"); addr_list = InstallIpv6Network(if_name, ipv6_address2, ipv6_mask, manager); EXPECT_EQ(ADAPTER_TYPE_CELLULAR, GetAdapterType(manager)); @@ -896,15 +896,6 @@ TEST_F(NetworkTest, TestGetAdapterTypeFromNameMatching) { EXPECT_EQ(ADAPTER_TYPE_CELLULAR, GetAdapterType(manager)); ClearNetworks(manager); ReleaseIfAddrs(addr_list); -#else - // TODO(deadbeef): If not iOS or Android, "wlan0" should be treated as - // "unknown"? Why? This should be fixed if there's no good reason. - strcpy(if_name, "wlan0"); - addr_list = InstallIpv6Network(if_name, ipv6_address1, ipv6_mask, manager); - - EXPECT_EQ(ADAPTER_TYPE_UNKNOWN, GetAdapterType(manager)); - ClearNetworks(manager); - ReleaseIfAddrs(addr_list); #endif } #endif // defined(WEBRTC_POSIX)