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

Side by Side Diff: net/base/net_util.h

Issue 194057: Check in patch for pierre.lafayette, http://codereview.chromium.org/178059/sh... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browser_init.cc ('k') | net/base/net_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_BASE_NET_UTIL_H__ 5 #ifndef NET_BASE_NET_UTIL_H__
6 #define NET_BASE_NET_UTIL_H__ 6 #define NET_BASE_NET_UTIL_H__
7 7
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 9
10 #ifdef OS_WIN 10 #ifdef OS_WIN
11 #include <windows.h> 11 #include <windows.h>
12 #endif 12 #endif
13 13
14 #include <string> 14 #include <string>
15 #include <set>
15 16
16 #include "base/basictypes.h" 17 #include "base/basictypes.h"
17 #include "base/string16.h" 18 #include "base/string16.h"
18 #include "net/base/escape.h" 19 #include "net/base/escape.h"
19 20
20 struct addrinfo; 21 struct addrinfo;
21 class FilePath; 22 class FilePath;
22 class GURL; 23 class GURL;
23 24
24 namespace base { 25 namespace base {
25 class Time; 26 class Time;
26 } 27 }
27 28
28 namespace url_canon { 29 namespace url_canon {
29 struct CanonHostInfo; 30 struct CanonHostInfo;
30 } 31 }
31 32
32 namespace url_parse { 33 namespace url_parse {
33 struct Parsed; 34 struct Parsed;
34 } 35 }
35 36
36 namespace net { 37 namespace net {
37 38
39 // Holds a list of ports that should be accepted despite bans.
40 extern std::set<int> explicitly_allowed_ports;
41
38 // Given the full path to a file name, creates a file: URL. The returned URL 42 // Given the full path to a file name, creates a file: URL. The returned URL
39 // may not be valid if the input is malformed. 43 // may not be valid if the input is malformed.
40 GURL FilePathToFileURL(const FilePath& path); 44 GURL FilePathToFileURL(const FilePath& path);
41 45
42 // Converts a file: URL back to a filename that can be passed to the OS. The 46 // Converts a file: URL back to a filename that can be passed to the OS. The
43 // file URL must be well-formed (GURL::is_valid() must return true); we don't 47 // file URL must be well-formed (GURL::is_valid() must return true); we don't
44 // handle degenerate cases here. Returns true on success, false if it isn't a 48 // handle degenerate cases here. Returns true on success, false if it isn't a
45 // valid file URL. On failure, *file_path will be empty. 49 // valid file URL. On failure, *file_path will be empty.
46 bool FileURLToFilePath(const GURL& url, FilePath* file_path); 50 bool FileURLToFilePath(const GURL& url, FilePath* file_path);
47 51
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 188
185 // Checks the given port against a list of ports which are restricted by 189 // Checks the given port against a list of ports which are restricted by
186 // default. Returns true if the port is allowed, false if it is restricted. 190 // default. Returns true if the port is allowed, false if it is restricted.
187 bool IsPortAllowedByDefault(int port); 191 bool IsPortAllowedByDefault(int port);
188 192
189 // Checks the given port against a list of ports which are restricted by the 193 // Checks the given port against a list of ports which are restricted by the
190 // FTP protocol. Returns true if the port is allowed, false if it is 194 // FTP protocol. Returns true if the port is allowed, false if it is
191 // restricted. 195 // restricted.
192 bool IsPortAllowedByFtp(int port); 196 bool IsPortAllowedByFtp(int port);
193 197
198 // Check if banned |port| has been overriden by an entry in
199 // |explicitly_allowed_ports_|.
200 bool IsPortAllowedByOverride(int port);
201
194 // Set socket to non-blocking mode 202 // Set socket to non-blocking mode
195 int SetNonBlocking(int fd); 203 int SetNonBlocking(int fd);
196 204
197 // Appends the given part of the original URL to the output string formatted for 205 // Appends the given part of the original URL to the output string formatted for
198 // the user. The given parsed structure will be updated. The host name formatter 206 // the user. The given parsed structure will be updated. The host name formatter
199 // also takes the same accept languages component as ElideURL. |new_parsed| may 207 // also takes the same accept languages component as ElideURL. |new_parsed| may
200 // be null. 208 // be null.
201 void AppendFormattedHost(const GURL& url, const std::wstring& languages, 209 void AppendFormattedHost(const GURL& url, const std::wstring& languages,
202 std::wstring* output, url_parse::Parsed* new_parsed); 210 std::wstring* output, url_parse::Parsed* new_parsed);
203 211
(...skipping 19 matching lines...) Expand all
223 // unescape=SPACES, new_parsed=NULL, and prefix_end=NULL. 231 // unescape=SPACES, new_parsed=NULL, and prefix_end=NULL.
224 inline std::wstring FormatUrl(const GURL& url, const std::wstring& languages) { 232 inline std::wstring FormatUrl(const GURL& url, const std::wstring& languages) {
225 return FormatUrl(url, languages, true, UnescapeRule::SPACES, NULL, NULL); 233 return FormatUrl(url, languages, true, UnescapeRule::SPACES, NULL, NULL);
226 } 234 }
227 235
228 // Strip the portions of |url| that aren't core to the network request. 236 // Strip the portions of |url| that aren't core to the network request.
229 // - user name / password 237 // - user name / password
230 // - reference section 238 // - reference section
231 GURL SimplifyUrlForRequest(const GURL& url); 239 GURL SimplifyUrlForRequest(const GURL& url);
232 240
241 void SetExplicitlyAllowedPorts(const std::wstring& allowed_ports);
242
233 } // namespace net 243 } // namespace net
234 244
235 #endif // NET_BASE_NET_UTIL_H__ 245 #endif // NET_BASE_NET_UTIL_H__
OLDNEW
« no previous file with comments | « chrome/browser/browser_init.cc ('k') | net/base/net_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698