Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: content/child/blink_platform_unittest.cc

Issue 430193002: Wire 'blink::Platform::isHostnameReservedIPAddress()' to 'net::IsReservedIPAddress()'. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/child/blink_platform_impl.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/child/blink_platform_unittest.cc
diff --git a/content/child/blink_platform_unittest.cc b/content/child/blink_platform_unittest.cc
index 88a3c0dc518ac59b0b313d7e6be96d6f741845e6..9bf333645fc86de3503a446c247a505926dc5f4b 100644
--- a/content/child/blink_platform_unittest.cc
+++ b/content/child/blink_platform_unittest.cc
@@ -5,7 +5,10 @@
#include "base/run_loop.h"
#include "base/time/time.h"
#include "content/child/blink_platform_impl.h"
+#include "net/base/net_util.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/public/platform/WebString.h"
+#include "third_party/WebKit/public/web/WebSecurityOrigin.h"
namespace content {
@@ -64,4 +67,130 @@ TEST(BlinkPlatformTest, SuspendResumeSharedTimer) {
EXPECT_TRUE(base::TimeDelta() == platform_impl.shared_timer_delay());
}
+TEST(BlinkPlatformTest, IsReservedIPAddress_WebURL) {
+ TestBlinkPlatformImpl platform_impl;
+
+ // Unreserved IPv4 addresses (in various forms).
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://8.8.8.8/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://99.64.0.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://212.15.0.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://212.15/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://212.15.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://3557752832/")));
+
+ // Reserved IPv4 addresses (in various forms).
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://192.168.0.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://192.168.0.6/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://10.0.0.5/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://10.0.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://10.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://3232235526/")));
+
+ // Unreserved IPv6 addresses.
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ GURL("http://[FFC0:ba98:7654:3210:FEDC:BA98:7654:3210]/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ GURL("http://[2000:ba98:7654:2301:EFCD:BA98:7654:3210]/")));
+
+ // Reserved IPv6 addresses.
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://[::1]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://[::192.9.5.5]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(GURL("http://[FEED::BEEF]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ GURL("http://[FEC0:ba98:7654:3210:FEDC:BA98:7654:3210]/")));
+
+ // Not IP addresses at all.
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(GURL("http://example.com/")));
+ EXPECT_FALSE(
+ platform_impl.isReservedIPAddress(GURL("http://127.0.0.1.example.com/")));
+
+ // Moar IPv4
+ uint8 address[4] = {0, 0, 0, 1};
+ for (int i = 0; i < 256; i++) {
+ address[0] = i;
+ std::string addressString =
+ net::IPAddressToString(address, sizeof(address));
+ if (i == 0 || i == 10 || i == 127 || i > 223) {
+ EXPECT_TRUE(
+ platform_impl.isReservedIPAddress(GURL("http://" + addressString)));
+ } else {
+ EXPECT_FALSE(
+ platform_impl.isReservedIPAddress(GURL("http://" + addressString)));
+ }
+ }
+}
+
+TEST(BlinkPlatformTest, IsReservedIPAddress_WebSecurityOrigin) {
+ TestBlinkPlatformImpl platform_impl;
+
+ // Unreserved IPv4 addresses (in various forms).
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://8.8.8.8/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://99.64.0.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://212.15.0.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://212.15/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://212.15.0/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://3557752832/")));
+
+ // Reserved IPv4 addresses (in various forms).
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://192.168.0.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://192.168.0.6/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://10.0.0.5/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://10.0.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://10.0/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://3232235526/")));
+
+ // Unreserved IPv6 addresses.
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(
+ "http://[FFC0:ba98:7654:3210:FEDC:BA98:7654:3210]/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(
+ "http://[2000:ba98:7654:2301:EFCD:BA98:7654:3210]/")));
+
+ // Reserved IPv6 addresses.
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://[::1]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://[::192.9.5.5]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://[FEED::BEEF]/")));
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(
+ "http://[FEC0:ba98:7654:3210:FEDC:BA98:7654:3210]/")));
+
+ // Not IP addresses at all.
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString("http://example.com/")));
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(
+ "http://127.0.0.1.example.com/")));
+
+ // Moar IPv4
+ uint8 address[4] = {0, 0, 0, 1};
+ for (int i = 0; i < 256; i++) {
+ address[0] = i;
+ blink::WebString addressString = blink::WebString::fromUTF8(
+ "http://" + net::IPAddressToString(address, sizeof(address)) + "/");
+ if (i == 0 || i == 10 || i == 127 || i > 223) {
+ EXPECT_TRUE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(addressString)));
+ } else {
+ EXPECT_FALSE(platform_impl.isReservedIPAddress(
+ blink::WebSecurityOrigin::createFromString(addressString)));
+ }
+ }
+}
+
} // namespace content
« no previous file with comments | « content/child/blink_platform_impl.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698