summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jingle/glue/utils.cc2
-rw-r--r--net/base/address_list_unittest.cc2
-rw-r--r--net/base/ip_endpoint.cc14
-rw-r--r--net/base/ip_endpoint.h8
-rw-r--r--net/dns/address_sorter_win.cc4
-rw-r--r--net/dns/dns_config_service_win.cc4
-rw-r--r--net/ftp/ftp_network_transaction.cc2
-rw-r--r--net/socket/socks_client_socket.cc2
-rw-r--r--net/socket/tcp_client_socket_libevent.cc4
-rw-r--r--net/socket/tcp_client_socket_win.cc4
-rw-r--r--net/socket/tcp_server_socket_libevent.cc2
-rw-r--r--net/socket/tcp_server_socket_win.cc2
-rw-r--r--net/socket/transport_client_socket_pool.cc8
-rw-r--r--net/socket/transport_client_socket_pool_unittest.cc36
-rw-r--r--net/udp/udp_socket_libevent.cc2
-rw-r--r--net/udp/udp_socket_win.cc4
16 files changed, 58 insertions, 42 deletions
diff --git a/jingle/glue/utils.cc b/jingle/glue/utils.cc
index 26dda92..5e8d44b 100644
--- a/jingle/glue/utils.cc
+++ b/jingle/glue/utils.cc
@@ -19,7 +19,7 @@ namespace jingle_glue {
bool IPEndPointToSocketAddress(const net::IPEndPoint& address_chrome,
talk_base::SocketAddress* address_lj) {
- if (address_chrome.GetFamily() != AF_INET) {
+ if (address_chrome.GetFamily() != net::ADDRESS_FAMILY_IPV4) {
LOG(ERROR) << "Only IPv4 addresses are supported.";
return false;
}
diff --git a/net/base/address_list_unittest.cc b/net/base/address_list_unittest.cc
index 734332e..cc94e79 100644
--- a/net/base/address_list_unittest.cc
+++ b/net/base/address_list_unittest.cc
@@ -68,7 +68,7 @@ TEST(AddressListTest, CreateFromAddrinfo) {
ASSERT_EQ(kNumElements, list.size());
for (size_t i = 0; i < list.size(); ++i) {
- EXPECT_EQ(AF_INET, list[i].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, list[i].GetFamily());
// Only check the first byte of the address.
EXPECT_EQ(i, list[i].address()[0]);
EXPECT_EQ(static_cast<int>(i << 2), list[i].port());
diff --git a/net/base/ip_endpoint.cc b/net/base/ip_endpoint.cc
index 8dc8e9a..923596e 100644
--- a/net/base/ip_endpoint.cc
+++ b/net/base/ip_endpoint.cc
@@ -34,7 +34,19 @@ IPEndPoint::IPEndPoint(const IPEndPoint& endpoint) {
port_ = endpoint.port_;
}
-int IPEndPoint::GetFamily() const {
+AddressFamily IPEndPoint::GetFamily() const {
+ switch (address_.size()) {
+ case kIPv4AddressSize:
+ return ADDRESS_FAMILY_IPV4;
+ case kIPv6AddressSize:
+ return ADDRESS_FAMILY_IPV6;
+ default:
+ NOTREACHED() << "Bad IP address";
+ return ADDRESS_FAMILY_UNSPECIFIED;
+ }
+}
+
+int IPEndPoint::GetSockAddrFamily() const {
switch (address_.size()) {
case kIPv4AddressSize:
return AF_INET;
diff --git a/net/base/ip_endpoint.h b/net/base/ip_endpoint.h
index 5969b30..1fc7e04 100644
--- a/net/base/ip_endpoint.h
+++ b/net/base/ip_endpoint.h
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+#include "net/base/address_family.h"
#include "net/base/net_export.h"
#include "net/base/net_util.h"
@@ -29,8 +30,11 @@ class NET_EXPORT IPEndPoint {
const IPAddressNumber& address() const { return address_; }
int port() const { return port_; }
- // Returns AF_INET or AF_INET6 depending on the type of the address.
- int GetFamily() const;
+ // Returns AddressFamily of the address.
+ AddressFamily GetFamily() const;
+
+ // Returns the sockaddr family of the address, AF_INET or AF_INET6.
+ int GetSockAddrFamily() const;
// Convert to a provided sockaddr struct.
// |address| is the sockaddr to copy into. Should be at least
diff --git a/net/dns/address_sorter_win.cc b/net/dns/address_sorter_win.cc
index 0f1c504..3e1afa7 100644
--- a/net/dns/address_sorter_win.cc
+++ b/net/dns/address_sorter_win.cc
@@ -58,7 +58,7 @@ class AddressSorterWin : public AddressSorter {
for (size_t i = 0; i < list.size(); ++i) {
IPEndPoint ipe = list[i];
// Addresses must be sockaddr_in6.
- if (ipe.GetFamily() == AF_INET) {
+ if (ipe.GetFamily() == ADDRESS_FAMILY_IPV4) {
ipe = IPEndPoint(ConvertIPv4NumberToIPv6Number(ipe.address()),
ipe.port());
}
@@ -165,7 +165,7 @@ class AddressSorterWinXP : public AddressSorter {
AddressList list_ipv6;
for (size_t i = 0; i < list.size(); ++i) {
const IPEndPoint& ipe = list[i];
- if (ipe.GetFamily() == AF_INET) {
+ if (ipe.GetFamily() == ADDRESS_FAMILY_IPV4) {
list_ipv4.push_back(ipe);
} else {
list_ipv6.push_back(ipe);
diff --git a/net/dns/dns_config_service_win.cc b/net/dns/dns_config_service_win.cc
index 6e6496d..a4d7242 100644
--- a/net/dns/dns_config_service_win.cc
+++ b/net/dns/dns_config_service_win.cc
@@ -262,10 +262,10 @@ HostsParseWinResult AddLocalhostEntries(DnsHosts* hosts) {
address->Address.iSockaddrLength)) {
return HOSTS_PARSE_WIN_BAD_ADDRESS;
}
- if (!have_ipv4 && (ipe.GetFamily() == AF_INET)) {
+ if (!have_ipv4 && (ipe.GetFamily() == ADDRESS_FAMILY_IPV4)) {
have_ipv4 = true;
(*hosts)[DnsHostsKey(localname, ADDRESS_FAMILY_IPV4)] = ipe.address();
- } else if (!have_ipv6 && (ipe.GetFamily() == AF_INET6)) {
+ } else if (!have_ipv6 && (ipe.GetFamily() == ADDRESS_FAMILY_IPV6)) {
have_ipv6 = true;
(*hosts)[DnsHostsKey(localname, ADDRESS_FAMILY_IPV6)] = ipe.address();
}
diff --git a/net/ftp/ftp_network_transaction.cc b/net/ftp/ftp_network_transaction.cc
index c4b2181..9b8cb41 100644
--- a/net/ftp/ftp_network_transaction.cc
+++ b/net/ftp/ftp_network_transaction.cc
@@ -683,7 +683,7 @@ int FtpNetworkTransaction::DoCtrlConnectComplete(int result) {
response_.socket_address = HostPortPair::FromIPEndPoint(ip_endpoint);
next_state_ = STATE_CTRL_READ;
- if (ip_endpoint.GetFamily() == AF_INET) {
+ if (ip_endpoint.GetFamily() == ADDRESS_FAMILY_IPV4) {
// Do not use EPSV for IPv4 connections. Some servers become confused
// and we time out while waiting to connect. PASV is perfectly fine for
// IPv4. Note that this blacklists IPv4 not to use EPSV instead of
diff --git a/net/socket/socks_client_socket.cc b/net/socket/socks_client_socket.cc
index 2842fd1..16ef3bd 100644
--- a/net/socket/socks_client_socket.cc
+++ b/net/socket/socks_client_socket.cc
@@ -331,7 +331,7 @@ const std::string SOCKSClientSocket::BuildHandshakeWriteBuffer() const {
// TODO(eroman): we only ever use the first address in the list. It would be
// more robust to try all the IP addresses we have before
// failing the connect attempt.
- CHECK_EQ(AF_INET, endpoint.GetFamily());
+ CHECK_EQ(ADDRESS_FAMILY_IPV4, endpoint.GetFamily());
CHECK_LE(endpoint.address().size(), sizeof(request.ip));
memcpy(&request.ip, &endpoint.address()[0], endpoint.address().size());
diff --git a/net/socket/tcp_client_socket_libevent.cc b/net/socket/tcp_client_socket_libevent.cc
index 63d937c..d1de66d 100644
--- a/net/socket/tcp_client_socket_libevent.cc
+++ b/net/socket/tcp_client_socket_libevent.cc
@@ -181,7 +181,7 @@ int TCPClientSocketLibevent::Bind(const IPEndPoint& address) {
return ERR_INVALID_ARGUMENT;
// Create |bound_socket_| and try to bind it to |address|.
- int error = CreateSocket(address.GetFamily(), &bound_socket_);
+ int error = CreateSocket(address.GetSockAddrFamily(), &bound_socket_);
if (error)
return MapSystemError(error);
@@ -278,7 +278,7 @@ int TCPClientSocketLibevent::DoConnect() {
bound_socket_ = kInvalidSocket;
} else {
// Create a non-blocking socket.
- connect_os_error_ = CreateSocket(endpoint.GetFamily(), &socket_);
+ connect_os_error_ = CreateSocket(endpoint.GetSockAddrFamily(), &socket_);
if (connect_os_error_)
return MapSystemError(connect_os_error_);
diff --git a/net/socket/tcp_client_socket_win.cc b/net/socket/tcp_client_socket_win.cc
index 3639581..dc7fc08 100644
--- a/net/socket/tcp_client_socket_win.cc
+++ b/net/socket/tcp_client_socket_win.cc
@@ -383,7 +383,7 @@ int TCPClientSocketWin::Bind(const IPEndPoint& address) {
return ERR_INVALID_ARGUMENT;
// Create |bound_socket_| and try to bind it to |address|.
- int error = CreateSocket(address.GetFamily(), &bound_socket_);
+ int error = CreateSocket(address.GetSockAddrFamily(), &bound_socket_);
if (error)
return MapSystemError(error);
@@ -479,7 +479,7 @@ int TCPClientSocketWin::DoConnect() {
socket_ = bound_socket_;
bound_socket_ = INVALID_SOCKET;
} else {
- connect_os_error_ = CreateSocket(endpoint.GetFamily(), &socket_);
+ connect_os_error_ = CreateSocket(endpoint.GetSockAddrFamily(), &socket_);
if (connect_os_error_ != 0)
return MapSystemError(connect_os_error_);
diff --git a/net/socket/tcp_server_socket_libevent.cc b/net/socket/tcp_server_socket_libevent.cc
index 64f0096..589fd11 100644
--- a/net/socket/tcp_server_socket_libevent.cc
+++ b/net/socket/tcp_server_socket_libevent.cc
@@ -59,7 +59,7 @@ int TCPServerSocketLibevent::Listen(const IPEndPoint& address, int backlog) {
DCHECK_GT(backlog, 0);
DCHECK_EQ(socket_, kInvalidSocket);
- socket_ = socket(address.GetFamily(), SOCK_STREAM, IPPROTO_TCP);
+ socket_ = socket(address.GetSockAddrFamily(), SOCK_STREAM, IPPROTO_TCP);
if (socket_ < 0) {
PLOG(ERROR) << "socket() returned an error";
return MapSystemError(errno);
diff --git a/net/socket/tcp_server_socket_win.cc b/net/socket/tcp_server_socket_win.cc
index 817e73a..c834506 100644
--- a/net/socket/tcp_server_socket_win.cc
+++ b/net/socket/tcp_server_socket_win.cc
@@ -53,7 +53,7 @@ int TCPServerSocketWin::Listen(const IPEndPoint& address, int backlog) {
return ERR_FAILED;
}
- socket_ = socket(address.GetFamily(), SOCK_STREAM, IPPROTO_TCP);
+ socket_ = socket(address.GetSockAddrFamily(), SOCK_STREAM, IPPROTO_TCP);
if (socket_ < 0) {
PLOG(ERROR) << "socket() returned an error";
return MapSystemError(WSAGetLastError());
diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
index 0dd4782..bc49d98 100644
--- a/net/socket/transport_client_socket_pool.cc
+++ b/net/socket/transport_client_socket_pool.cc
@@ -38,7 +38,7 @@ bool AddressListOnlyContainsIPv6(const AddressList& list) {
DCHECK(!list.empty());
for (AddressList::const_iterator iter = list.begin(); iter != list.end();
++iter) {
- if (iter->GetFamily() != AF_INET6)
+ if (iter->GetFamily() != ADDRESS_FAMILY_IPV6)
return false;
}
return true;
@@ -116,7 +116,7 @@ LoadState TransportConnectJob::GetLoadState() const {
// static
void TransportConnectJob::MakeAddressListStartWithIPv4(AddressList* list) {
for (AddressList::iterator i = list->begin(); i != list->end(); ++i) {
- if (i->GetFamily() == AF_INET) {
+ if (i->GetFamily() == ADDRESS_FAMILY_IPV4) {
std::rotate(list->begin(), i, list->end());
break;
}
@@ -189,7 +189,7 @@ int TransportConnectJob::DoTransportConnect() {
int rv = transport_socket_->Connect(
base::Bind(&TransportConnectJob::OnIOComplete, base::Unretained(this)));
if (rv == ERR_IO_PENDING &&
- addresses_.front().GetFamily() == AF_INET6 &&
+ addresses_.front().GetFamily() == ADDRESS_FAMILY_IPV6 &&
!AddressListOnlyContainsIPv6(addresses_)) {
fallback_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kIPv6FallbackTimerInMs),
@@ -200,7 +200,7 @@ int TransportConnectJob::DoTransportConnect() {
int TransportConnectJob::DoTransportConnectComplete(int result) {
if (result == OK) {
- bool is_ipv4 = addresses_.front().GetFamily() != AF_INET6;
+ bool is_ipv4 = addresses_.front().GetFamily() == ADDRESS_FAMILY_IPV4;
DCHECK(connect_start_time_ != base::TimeTicks());
DCHECK(start_time_ != base::TimeTicks());
base::TimeTicks now = base::TimeTicks::Now();
diff --git a/net/socket/transport_client_socket_pool_unittest.cc b/net/socket/transport_client_socket_pool_unittest.cc
index 12a9a7d..efeaa6e 100644
--- a/net/socket/transport_client_socket_pool_unittest.cc
+++ b/net/socket/transport_client_socket_pool_unittest.cc
@@ -71,7 +71,7 @@ class MockClientSocket : public StreamSocket {
virtual int GetLocalAddress(IPEndPoint* address) const {
if (!connected_)
return ERR_SOCKET_NOT_CONNECTED;
- if (addrlist_.front().GetFamily() == AF_INET)
+ if (addrlist_.front().GetFamily() == ADDRESS_FAMILY_IPV4)
SetIPv4Address(address);
else
SetIPv6Address(address);
@@ -222,7 +222,7 @@ class MockPendingClientSocket : public StreamSocket {
virtual int GetLocalAddress(IPEndPoint* address) const {
if (!is_connected_)
return ERR_SOCKET_NOT_CONNECTED;
- if (addrlist_.front().GetFamily() == AF_INET)
+ if (addrlist_.front().GetFamily() == ADDRESS_FAMILY_IPV4)
SetIPv4Address(address);
else
SetIPv6Address(address);
@@ -468,8 +468,8 @@ TEST(TransportConnectJobTest, MakeAddrListStartWithIPv4) {
addrlist.push_back(addrlist_v4_2);
TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
ASSERT_EQ(2u, addrlist.size());
- EXPECT_EQ(AF_INET, addrlist[0].GetFamily());
- EXPECT_EQ(AF_INET, addrlist[1].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
// Test 2: IPv6 only. Expect no change.
addrlist.clear();
@@ -477,8 +477,8 @@ TEST(TransportConnectJobTest, MakeAddrListStartWithIPv4) {
addrlist.push_back(addrlist_v6_2);
TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
ASSERT_EQ(2u, addrlist.size());
- EXPECT_EQ(AF_INET6, addrlist[0].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[1].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[0].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[1].GetFamily());
// Test 3: IPv4 then IPv6. Expect no change.
addrlist.clear();
@@ -488,10 +488,10 @@ TEST(TransportConnectJobTest, MakeAddrListStartWithIPv4) {
addrlist.push_back(addrlist_v6_2);
TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
ASSERT_EQ(4u, addrlist.size());
- EXPECT_EQ(AF_INET, addrlist[0].GetFamily());
- EXPECT_EQ(AF_INET, addrlist[1].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[2].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[3].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[2].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
// Test 4: IPv6, IPv4, IPv6, IPv4. Expect first IPv6 moved to the end.
addrlist.clear();
@@ -501,10 +501,10 @@ TEST(TransportConnectJobTest, MakeAddrListStartWithIPv4) {
addrlist.push_back(addrlist_v4_2);
TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
ASSERT_EQ(4u, addrlist.size());
- EXPECT_EQ(AF_INET, addrlist[0].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[1].GetFamily());
- EXPECT_EQ(AF_INET, addrlist[2].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[3].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[1].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[2].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
// Test 5: IPv6, IPv6, IPv4, IPv4. Expect first two IPv6's moved to the end.
addrlist.clear();
@@ -514,10 +514,10 @@ TEST(TransportConnectJobTest, MakeAddrListStartWithIPv4) {
addrlist.push_back(addrlist_v4_2);
TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
ASSERT_EQ(4u, addrlist.size());
- EXPECT_EQ(AF_INET, addrlist[0].GetFamily());
- EXPECT_EQ(AF_INET, addrlist[1].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[2].GetFamily());
- EXPECT_EQ(AF_INET6, addrlist[3].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[2].GetFamily());
+ EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
}
TEST_F(TransportClientSocketPoolTest, Basic) {
diff --git a/net/udp/udp_socket_libevent.cc b/net/udp/udp_socket_libevent.cc
index d02d6f1..f67c145 100644
--- a/net/udp/udp_socket_libevent.cc
+++ b/net/udp/udp_socket_libevent.cc
@@ -361,7 +361,7 @@ void UDPSocketLibevent::LogRead(int result,
}
int UDPSocketLibevent::CreateSocket(const IPEndPoint& address) {
- socket_ = socket(address.GetFamily(), SOCK_DGRAM, 0);
+ socket_ = socket(address.GetSockAddrFamily(), SOCK_DGRAM, 0);
if (socket_ == kInvalidSocket)
return MapSystemError(errno);
if (SetNonBlocking(socket_)) {
diff --git a/net/udp/udp_socket_win.cc b/net/udp/udp_socket_win.cc
index 0be64513..662ca4c 100644
--- a/net/udp/udp_socket_win.cc
+++ b/net/udp/udp_socket_win.cc
@@ -349,8 +349,8 @@ int UDPSocketWin::Bind(const IPEndPoint& address) {
}
int UDPSocketWin::CreateSocket(const IPEndPoint& address) {
- socket_ = WSASocket(address.GetFamily(), SOCK_DGRAM, IPPROTO_UDP, NULL, 0,
- WSA_FLAG_OVERLAPPED);
+ socket_ = WSASocket(address.GetSockAddrFamily(), SOCK_DGRAM, IPPROTO_UDP,
+ NULL, 0, WSA_FLAG_OVERLAPPED);
if (socket_ == INVALID_SOCKET)
return MapSystemError(WSAGetLastError());
core_ = new Core(this);