| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package chrome_cleaner; |
| |
| // These enums are used by server-side code as well as in |
| // uws_spec_by_version.proto. |
| |
| // Identify the registry root key for a StaticRegistryFootprint. |
| enum RegistryRoot { |
| // An invalid value for the null entries terminating the |
| // StaticRegistryFootprint arrays. |
| REGISTRY_ROOT_INVALID = 0; |
| // The root is HKEY_LOCAL_MACHINE. |
| REGISTRY_ROOT_LOCAL_MACHINE = 1; |
| // The root is HKEY_CURRENT_USER, and potentially other users' hives too. |
| REGISTRY_ROOT_USERS = 2; |
| // The root is HKEY_CLASSES_ROOT. |
| REGISTRY_ROOT_CLASSES = 3; |
| // The root is a Group Policy file for the whole machine. |
| REGISTRY_ROOT_MACHINE_GROUP_POLICY = 4; |
| // The root is a Group Policy file for the current user, and potentially the |
| // other users on the same machine. |
| REGISTRY_ROOT_USERS_GROUP_POLICY = 5; |
| } |
| |
| // A matching rule describes how the content of a registry key is matched |
| // against |value_substring|. |
| enum RegistryMatchRule { |
| // An invalid matching rule. |
| REGISTRY_VALUE_MATCH_INVALID = 0; |
| // Any key will match. So the key and subkeys are always removed. |
| REGISTRY_VALUE_MATCH_KEY = 1; |
| // Any value will match. So the value is always removed, whatever it's |
| // content is. |
| REGISTRY_VALUE_MATCH_VALUE_NAME = 2; |
| // Match when value is exactly the same as |value_substring|. The whole |
| // value is removed. |
| REGISTRY_VALUE_MATCH_EXACT = 3; |
| // Match when the value contains |value_substring|. The whole value is |
| // removed. |
| REGISTRY_VALUE_MATCH_CONTAINS = 4; |
| // Match when the value contains |value_substring|. Only the match substring |
| // is removed from the content. |
| REGISTRY_VALUE_MATCH_PARTIAL = 5; |
| // Match when an entry of a set separated by common delimiters (comma, space |
| // and null characters) that is exactly the same as |value_substring|. The |
| // matched entry of the set is removed. |
| REGISTRY_VALUE_MATCH_COMMON_SEPARATED_SET_EXACT = 6; |
| // Match when an entry of a set separated by common delimiters (comma, space |
| // and null characters) contains the value |value_substring|. The matched |
| // entry of the set is removed. |
| REGISTRY_VALUE_MATCH_COMMON_SEPARATED_SET_CONTAINS = 7; |
| // Match when an entry of a comma separated set is a path that contains |
| // |value_substring|. Since these paths are most likely shortened (e.g., by |
| // replacing the tail of the path components with ~N) when they contain one |
| // of the characters used to separate the entries of the set, we must get |
| // the long version of these shortened name to identify if they contain |
| // |value_substring|. The matched entry of the set is removed. |
| REGISTRY_VALUE_MATCH_COMMON_SEPARATED_SET_CONTAINS_PATH = 8; |
| // Match when an entry of a comma separated set is exactly the same as |
| // |value_substring|. The matched entry of the set is removed. |
| REGISTRY_VALUE_MATCH_COMMA_SEPARATED_SET_EXACT = 9; |
| // Match when an entry of a comma separated set contains |value_substring|. |
| // The matched entry of the set is removed. |
| REGISTRY_VALUE_MATCH_COMMA_SEPARATED_SET_CONTAINS = 10; |
| }; |