| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CHROME_COMMON_EXTENSIONS_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ | 4 #ifndef EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ |
| 5 #define CHROME_COMMON_EXTENSIONS_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ | 5 #define EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "content/public/common/socket_permission_request.h" | 10 #include "content/public/common/socket_permission_request.h" |
| 11 #include "ipc/ipc_param_traits.h" | 11 #include "ipc/ipc_param_traits.h" |
| 12 | 12 |
| 13 namespace ipc_fuzzer { | 13 namespace ipc_fuzzer { |
| 14 template <class T> struct FuzzTraits; | 14 template <class T> |
| 15 template <class T> struct GenerateTraits; | 15 struct FuzzTraits; |
| 16 template <class T> |
| 17 struct GenerateTraits; |
| 16 } // namespace ipc_fuzzer | 18 } // namespace ipc_fuzzer |
| 17 | 19 |
| 18 namespace extensions { | 20 namespace extensions { |
| 19 | 21 |
| 20 // Internal representation of a socket permission for a specific operation, such | 22 // Internal representation of a socket permission for a specific operation, such |
| 21 // as UDP "bind", host 127.0.0.1, port *. | 23 // as UDP "bind", host 127.0.0.1, port *. |
| 22 class SocketPermissionEntry { | 24 class SocketPermissionEntry { |
| 23 public: | 25 public: |
| 24 enum HostType { | 26 enum HostType { ANY_HOST, HOSTS_IN_DOMAINS, SPECIFIC_HOSTS, }; |
| 25 ANY_HOST, | |
| 26 HOSTS_IN_DOMAINS, | |
| 27 SPECIFIC_HOSTS, | |
| 28 }; | |
| 29 | 27 |
| 30 SocketPermissionEntry(); | 28 SocketPermissionEntry(); |
| 31 ~SocketPermissionEntry(); | 29 ~SocketPermissionEntry(); |
| 32 | 30 |
| 33 // operators <, == are needed by container std::set and algorithms | 31 // operators <, == are needed by container std::set and algorithms |
| 34 // std::set_includes and std::set_differences. | 32 // std::set_includes and std::set_differences. |
| 35 bool operator<(const SocketPermissionEntry& rhs) const; | 33 bool operator<(const SocketPermissionEntry& rhs) const; |
| 36 bool operator==(const SocketPermissionEntry& rhs) const; | 34 bool operator==(const SocketPermissionEntry& rhs) const; |
| 37 | 35 |
| 38 bool Check(const content::SocketPermissionRequest& request) const; | 36 bool Check(const content::SocketPermissionRequest& request) const; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 74 |
| 77 // The permission type, host and port. | 75 // The permission type, host and port. |
| 78 content::SocketPermissionRequest pattern_; | 76 content::SocketPermissionRequest pattern_; |
| 79 | 77 |
| 80 // True if there was a wildcard in the host name. | 78 // True if there was a wildcard in the host name. |
| 81 bool match_subdomains_; | 79 bool match_subdomains_; |
| 82 }; | 80 }; |
| 83 | 81 |
| 84 } // namespace extensions | 82 } // namespace extensions |
| 85 | 83 |
| 86 #endif // CHROME_COMMON_EXTENSIONS_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ | 84 #endif // EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_ENTRY_H_ |
| OLD | NEW |