blob: 4b9fb95e300e09589d4f58a5e71891c9b7f530f6 [file] [log] [blame]
// 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;
};