diff options
author | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-08 18:40:05 +0000 |
---|---|---|
committer | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-08 18:40:05 +0000 |
commit | 72569645fdd3ab18b27466e5d32149b2d2ed1172 (patch) | |
tree | 7d68a44f5e8dff7d30b73f9a6ecea3668c94f9f1 | |
parent | ddf9d4aea57b36326ace447318cc06beb21ff9d2 (diff) | |
download | chromium_src-72569645fdd3ab18b27466e5d32149b2d2ed1172.zip chromium_src-72569645fdd3ab18b27466e5d32149b2d2ed1172.tar.gz chromium_src-72569645fdd3ab18b27466e5d32149b2d2ed1172.tar.bz2 |
Pull in new googleurl@94 which includes GURL::EffectiveIntPort().
Update callers to use this method.
Review URL: http://codereview.chromium.org/5641
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3024 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | net/base/net_util.cc | 22 | ||||
-rw-r--r-- | net/base/net_util.h | 5 | ||||
-rw-r--r-- | net/base/net_util_unittest.cc | 28 | ||||
-rw-r--r-- | net/base/sdch_manager.cc | 18 | ||||
-rw-r--r-- | net/base/sdch_manager.h | 3 | ||||
-rw-r--r-- | net/http/http_auth_handler_digest.cc | 2 | ||||
-rw-r--r-- | net/http/http_network_transaction.cc | 20 |
8 files changed, 11 insertions, 89 deletions
@@ -3,7 +3,7 @@ deps = { "http://google-breakpad.googlecode.com/svn/trunk/src@285", "src/googleurl": - "http://google-url.googlecode.com/svn/trunk@93", + "http://google-url.googlecode.com/svn/trunk@94", "src/sdch/open-vcdiff": "http://open-vcdiff.googlecode.com/svn/trunk@18", diff --git a/net/base/net_util.cc b/net/base/net_util.cc index 57448af..305cbcc 100644 --- a/net/base/net_util.cc +++ b/net/base/net_util.cc @@ -913,26 +913,4 @@ bool IsPortAllowedByFtp(int port) { return IsPortAllowedByDefault(port); } -std::string GetImplicitPort(const GURL& url) { - if (url.has_port()) - return url.port(); - - // TODO(eroman): unify with DefaultPortForScheme() - // [url_canon_stdurl.cc] - - static const struct { - const char* scheme; - const char* port; - } scheme_map[] = { - { "http", "80" }, - { "https", "443" }, - { "ftp", "21" } - }; - for (int i = 0; i < static_cast<int>(ARRAYSIZE_UNSAFE(scheme_map)); ++i) { - if (url.SchemeIs(scheme_map[i].scheme)) - return scheme_map[i].port; - } - return std::string(""); -} - } // namespace net diff --git a/net/base/net_util.h b/net/base/net_util.h index 6ceead7..db28a76 100644 --- a/net/base/net_util.h +++ b/net/base/net_util.h @@ -131,11 +131,6 @@ bool IsPortAllowedByDefault(int port); // restricted. bool IsPortAllowedByFtp(int port); -// Get the port number for the URL. If the URL does not have a port number, -// then returns the default port for the scheme. If the scheme is unrecognized -// returns empty string. -std::string GetImplicitPort(const GURL& url); - } // namespace net #endif // NET_BASE_NET_UTIL_H__ diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc index 884f2fe..22fb7d4 100644 --- a/net/base/net_util_unittest.cc +++ b/net/base/net_util_unittest.cc @@ -698,34 +698,6 @@ TEST(NetUtilTest, GetSuggestedFilename) { } } -TEST(NetUtilTest, GetImplicitPort) { - { - GURL url("http://foo.bar/baz"); - EXPECT_STREQ("80", net::GetImplicitPort(url).c_str()); - } - { - GURL url("http://foo.bar:443/baz"); - EXPECT_STREQ("443", net::GetImplicitPort(url).c_str()); - } - { - GURL url("https://foo.bar/baz"); - EXPECT_STREQ("443", net::GetImplicitPort(url).c_str()); - } - { - GURL url("https://foo.bar:80/baz"); - EXPECT_STREQ("80", net::GetImplicitPort(url).c_str()); - } - { - // Invalid input. - GURL url("file://foobar/baz"); - EXPECT_STREQ("", net::GetImplicitPort(url).c_str()); - } - { - GURL url("ftp://google.com"); - EXPECT_STREQ("21", net::GetImplicitPort(url).c_str()); - } -} - // This is currently a windows specific function. #if defined(OS_WIN) namespace { diff --git a/net/base/sdch_manager.cc b/net/base/sdch_manager.cc index 6c8bce3..de1e0b0 100644 --- a/net/base/sdch_manager.cc +++ b/net/base/sdch_manager.cc @@ -214,18 +214,6 @@ void SdchManager::UrlSafeBase64Encode(const std::string& input, // Security functions restricting loads and use of dictionaries. // static -int SdchManager::Dictionary::GetPortIncludingDefault(const GURL& url) { - std::string port(url.port()); - if (port.length()) - return StringToInt(port); - if (url.scheme() == "http") - return 80; // Default port value. - // TODO(jar): If sdch supports other schemes, then write a general function - // or surface functionality hidden in url_cannon_stdurl.cc into url_canon.h. - return -1; -} - -// static bool SdchManager::Dictionary::CanSet(const std::string& domain, const std::string& path, const std::set<int> ports, @@ -256,7 +244,7 @@ bool SdchManager::Dictionary::CanSet(const std::string& domain, // TODO(jar): Enforce item 4 above. if (!ports.empty() - && 0 == ports.count(GetPortIncludingDefault(dictionary_url))) + && 0 == ports.count(dictionary_url.EffectiveIntPort())) return false; return true; } @@ -276,7 +264,7 @@ bool SdchManager::Dictionary::CanUse(const GURL referring_url) { if (!DomainMatch(referring_url, domain_)) return false; if (!ports_.empty() - && 0 == ports_.count(GetPortIncludingDefault(referring_url))) + && 0 == ports_.count(referring_url.EffectiveIntPort())) return false; if (path_.size() && !PathMatch(referring_url.path(), path_)) return false; @@ -302,7 +290,7 @@ bool SdchManager::Dictionary::CanAdvertise(const GURL& target_url) { */ if (!DomainMatch(target_url, domain_)) return false; - if (!ports_.empty() && 0 == ports_.count(GetPortIncludingDefault(target_url))) + if (!ports_.empty() && 0 == ports_.count(target_url.EffectiveIntPort())) return false; if (path_.size() && !PathMatch(target_url.path(), path_)) return false; diff --git a/net/base/sdch_manager.h b/net/base/sdch_manager.h index 7926b52..ae5f2d3 100644 --- a/net/base/sdch_manager.h +++ b/net/base/sdch_manager.h @@ -72,9 +72,6 @@ class SdchManager { const GURL& url() const { return url_; } const std::string& client_hash() const { return client_hash_; } - // For a given URL, get the actual or default port. - static int GetPortIncludingDefault(const GURL& url); - // Security method to check if we can advertise this dictionary for use // if the |target_url| returns SDCH compressed data. bool CanAdvertise(const GURL& target_url); diff --git a/net/http/http_auth_handler_digest.cc b/net/http/http_auth_handler_digest.cc index 7f351b4..18f166b 100644 --- a/net/http/http_auth_handler_digest.cc +++ b/net/http/http_auth_handler_digest.cc @@ -117,7 +117,7 @@ void HttpAuthHandlerDigest::GetRequestMethodAndPath( if (target_ == HttpAuth::AUTH_PROXY && url.SchemeIs("https")) { *method = "CONNECT"; - *path = url.host() + ":" + GetImplicitPort(url); + *path = url.host() + ":" + IntToString(url.EffectiveIntPort()); } else { *method = request->method; *path = HttpUtil::PathForRequest(url); diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index de3539317..52e9328 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -247,13 +247,12 @@ void HttpNetworkTransaction::BuildRequestHeaders() { // in draft-luotonen-web-proxy-tunneling-01.txt and RFC 2817, Sections 5.2 and // 5.3. void HttpNetworkTransaction::BuildTunnelRequest() { - std::string port = GetImplicitPort(request_->url); - // RFC 2616 Section 9 says the Host request-header field MUST accompany all // HTTP/1.1 requests. - request_headers_ = "CONNECT " + request_->url.host() + ":" + port + - " HTTP/1.1\r\nHost: " + request_->url.host(); - if (request_->url.IntPort() != -1) + request_headers_ = StringPrintf("CONNECT %s:%d HTTP/1.1\r\n", + request_->url.host(), request_->url.EffectiveIntPort()); + request_headers_ += "Host: " + request_->url.host(); + if (request_->url.has_port()) request_headers_ += ":" + request_->url.port(); request_headers_ += "\r\n"; @@ -453,18 +452,11 @@ int HttpNetworkTransaction::DoResolveHost() { t.GetNext(); host = t.token(); t.GetNext(); - port = static_cast<int>(StringToInt64(t.token())); + port = StringToInt(t.token()); } else { // Direct connection host = request_->url.host(); - port = request_->url.IntPort(); - if (port == url_parse::PORT_UNSPECIFIED) { - if (using_ssl_) { - port = 443; // Default HTTPS port - } else { - port = 80; // Default HTTP port - } - } + port = request_->url.EffectiveIntPort(); } return resolver_.Resolve(host, port, &addresses_, &io_callback_); |