// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_DATA_H_ #define EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_DATA_H_ #include <string> #include "extensions/common/permissions/api_permission.h" #include "extensions/common/permissions/socket_permission_entry.h" #include "ipc/ipc_param_traits.h" namespace ipc_fuzzer { template <class T> struct FuzzTraits; template <class T> struct GenerateTraits; } // namespace ipc_fuzzer namespace extensions { // A pattern that can be used to match socket permission. // <socket-permission-pattern> // := <op> | // <op> ':' <host> | // <op> ':' ':' <port> | // <op> ':' <host> ':' <port> | // 'udp-multicast-membership' // <op> := 'tcp-connect' | // 'tcp-listen' | // 'udp-bind' | // 'udp-send-to' | // 'udp-multicast-membership' | // 'resolve-host' | // 'resolve-proxy' | // 'network-state' // <host> := '*' | // '*.' <anychar except '/' and '*'>+ | // <anychar except '/' and '*'>+ // <port> := '*' | // <port number between 0 and 65535>) // The multicast membership permission implies a permission to any address. class SocketPermissionData { … }; } // namespace extensions #endif // EXTENSIONS_COMMON_PERMISSIONS_SOCKET_PERMISSION_DATA_H_