diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-07 21:44:56 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-07 21:44:56 +0000 |
commit | 7054e78fe6a2fcda72b06dc196b5f91cfdc75872 (patch) | |
tree | 2efdd9b07a784a17905d737df9b762d88a6cd1c4 /net/dns | |
parent | cd46545164adf645d744f3955b256cf89412cdc6 (diff) | |
download | chromium_src-7054e78fe6a2fcda72b06dc196b5f91cfdc75872.zip chromium_src-7054e78fe6a2fcda72b06dc196b5f91cfdc75872.tar.gz chromium_src-7054e78fe6a2fcda72b06dc196b5f91cfdc75872.tar.bz2 |
Reimplements net::AddressList without struct addrinfo.
net::AddressList extends std::vector<std::IPEndPoint> by canonical name. (Canonical name is planned to be removed as well.)
Removes dependency on sys_addrinfo.h throughout the codebase.
Introduces net::SockaddrStorage for convenience.
BUG=125696
TEST=green waterfall
Review URL: http://codereview.chromium.org/10309002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135731 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/dns')
-rw-r--r-- | net/dns/dns_config_service.h | 3 | ||||
-rw-r--r-- | net/dns/dns_config_service_win_unittest.cc | 2 | ||||
-rw-r--r-- | net/dns/dns_response_unittest.cc | 23 | ||||
-rw-r--r-- | net/dns/dns_transaction_unittest.cc | 1 |
4 files changed, 9 insertions, 20 deletions
diff --git a/net/dns/dns_config_service.h b/net/dns/dns_config_service.h index 8e7597d..6b3e9f3 100644 --- a/net/dns/dns_config_service.h +++ b/net/dns/dns_config_service.h @@ -15,6 +15,9 @@ #include "base/threading/non_thread_safe.h" #include "base/time.h" #include "base/timer.h" +// Needed on shared build with MSVS2010 to avoid multiple definitions of +// std::vector<IPEndPoint>. +#include "net/base/address_list.h" #include "net/base/ip_endpoint.h" // win requires size of IPEndPoint #include "net/base/net_export.h" #include "net/dns/dns_hosts.h" diff --git a/net/dns/dns_config_service_win_unittest.cc b/net/dns/dns_config_service_win_unittest.cc index 796c942..63e4268 100644 --- a/net/dns/dns_config_service_win_unittest.cc +++ b/net/dns/dns_config_service_win_unittest.cc @@ -104,7 +104,7 @@ scoped_ptr_malloc<IP_ADAPTER_ADDRESSES> CreateAdapterAddresses( IPEndPoint ipe(ip, info.ports[j]); address->Address.lpSockaddr = reinterpret_cast<LPSOCKADDR>(storage + num_addresses); - size_t length = sizeof(struct sockaddr_storage); + socklen_t length = sizeof(struct sockaddr_storage); CHECK(ipe.ToSockAddr(address->Address.lpSockaddr, &length)); address->Address.iSockaddrLength = static_cast<int>(length); } diff --git a/net/dns/dns_response_unittest.cc b/net/dns/dns_response_unittest.cc index 1861f10..bb053bc 100644 --- a/net/dns/dns_response_unittest.cc +++ b/net/dns/dns_response_unittest.cc @@ -8,7 +8,6 @@ #include "net/base/address_list.h" #include "net/base/io_buffer.h" #include "net/base/net_util.h" -#include "net/base/sys_addrinfo.h" #include "net/dns/dns_protocol.h" #include "net/dns/dns_query.h" #include "net/dns/dns_test_util.h" @@ -248,21 +247,11 @@ TEST(DnsResponseTest, InitParse) { void VerifyAddressList(const std::vector<const char*>& ip_addresses, const AddressList& addrlist) { - ASSERT_GT(ip_addresses.size(), 0u); - ASSERT_NE(static_cast<addrinfo*>(NULL), addrlist.head()); - - IPAddressNumber ip_number; - const struct addrinfo* ainfo = addrlist.head(); - for (std::vector<const char*>::const_iterator i = ip_addresses.begin(); - i != ip_addresses.end(); ++i, ainfo = ainfo->ai_next) { - ASSERT_NE(static_cast<addrinfo*>(NULL), ainfo); - EXPECT_EQ(sizeof(struct sockaddr_in), - static_cast<size_t>(ainfo->ai_addrlen)); - - const struct sockaddr* sa = ainfo->ai_addr; - EXPECT_STREQ(*i, NetAddressToString(sa, ainfo->ai_addrlen).c_str()); + ASSERT_EQ(ip_addresses.size(), addrlist.size()); + + for (size_t i = 0; i < addrlist.size(); ++i) { + EXPECT_EQ(ip_addresses[i], addrlist[i].ToStringWithoutPort()); } - ASSERT_EQ(static_cast<addrinfo*>(NULL), ainfo); } TEST(DnsResponseTest, ParseToAddressList) { @@ -316,9 +305,7 @@ TEST(DnsResponseTest, ParseToAddressList) { t.expected_addresses, t.expected_addresses + t.num_expected_addresses); VerifyAddressList(expected_addresses, addr_list); - std::string cname; - ASSERT_TRUE(addr_list.GetCanonicalName(&cname)); - EXPECT_EQ(t.expected_cname, cname); + EXPECT_EQ(t.expected_cname, addr_list.canonical_name()); EXPECT_EQ(base::TimeDelta::FromSeconds(t.expected_ttl_sec), ttl); } } diff --git a/net/dns/dns_transaction_unittest.cc b/net/dns/dns_transaction_unittest.cc index 33ac404..4192ca8 100644 --- a/net/dns/dns_transaction_unittest.cc +++ b/net/dns/dns_transaction_unittest.cc @@ -13,7 +13,6 @@ #include "net/base/big_endian.h" #include "net/base/dns_util.h" #include "net/base/net_log.h" -#include "net/base/sys_addrinfo.h" #include "net/dns/dns_protocol.h" #include "net/dns/dns_query.h" #include "net/dns/dns_response.h" |