diff options
-rw-r--r-- | chrome/browser/safe_browsing/malware_details_cache.cc | 5 | ||||
-rw-r--r-- | chrome/browser/safe_browsing/malware_details_unittest.cc | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/safe_browsing/malware_details_cache.cc b/chrome/browser/safe_browsing/malware_details_cache.cc index 51e363c..44e91e8 100644 --- a/chrome/browser/safe_browsing/malware_details_cache.cc +++ b/chrome/browser/safe_browsing/malware_details_cache.cc @@ -15,6 +15,7 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/safe_browsing/report.pb.h" #include "content/browser/browser_thread.h" +#include "net/base/host_port_pair.h" #include "net/base/load_flags.h" #include "net/http/http_response_headers.h" #include "net/url_request/url_request_context_getter.h" @@ -165,6 +166,10 @@ void MalwareDetailsCacheCollector::ReadResponse( pb_header->set_value(value); } } + + if (!source->was_fetched_via_proxy()) { + pb_response->set_remote_ip(source->socket_address().ToString()); + } } void MalwareDetailsCacheCollector::ReadData( diff --git a/chrome/browser/safe_browsing/malware_details_unittest.cc b/chrome/browser/safe_browsing/malware_details_unittest.cc index f13469b..faca178 100644 --- a/chrome/browser/safe_browsing/malware_details_unittest.cc +++ b/chrome/browser/safe_browsing/malware_details_unittest.cc @@ -56,6 +56,7 @@ void WriteHeaders(disk_cache::Entry* entry, const std::string headers) { net::HttpResponseInfo responseinfo; std::string raw_headers = net::HttpUtil::AssembleRawHeaders( headers.c_str(), headers.size()); + responseinfo.socket_address = net::HostPortPair("1.2.3.4", 80); responseinfo.headers = new net::HttpResponseHeaders(raw_headers); Pickle pickle; @@ -96,7 +97,6 @@ void WriteToEntry(disk_cache::Backend* cache, const std::string key, WriteHeaders(entry, headers); WriteData(entry, data); - entry->Close(); } @@ -276,6 +276,10 @@ class MalwareDetailsTest : public RenderViewHostTestHarness { EXPECT_EQ(expected->response().bodydigest(), resource->response().bodydigest()); } + + // Verify IP:port pair + EXPECT_EQ(expected->response().remote_ip(), + resource->response().remote_ip()); } BrowserThread ui_thread_; @@ -534,6 +538,7 @@ TEST_F(MalwareDetailsTest, HTTPCache) { pb_response->set_body(kLandingData); pb_response->set_bodylength(37); pb_response->set_bodydigest("9ca97475598a79bc1e8fc9bd6c72cd35"); + pb_response->set_remote_ip("1.2.3.4:80"); pb_resource = expected.add_resources(); pb_resource->set_id(1); @@ -546,6 +551,7 @@ TEST_F(MalwareDetailsTest, HTTPCache) { pb_response->set_body(kMalwareData); pb_response->set_bodylength(10); pb_response->set_bodydigest("581373551c43d4cf33bfb3b26838ff95"); + pb_response->set_remote_ip("1.2.3.4:80"); expected.set_complete(true); VerifyResults(actual, expected); |