| // 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"; |
| |
| import "shared_pup_enums.proto"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package chrome_cleaner; |
| |
| // A single file footprint used to identify UwS. |
| // |
| // Next tag: 4. |
| message StaticDiskFootprint { |
| optional int32 csidl = 1; |
| optional string path = 2; |
| // The expanded path includes the string form of the csidl. |
| optional string expanded_path = 3; |
| } |
| |
| // A single registry footprint used to identify UwS. |
| // |
| // Next tag: 7. |
| message StaticRegistryFootprint { |
| optional RegistryRoot registry_root = 1; |
| optional string key_path = 2; |
| // The expanded key path includes the string form of the registry root. |
| optional string expanded_key_path = 5; |
| optional string value_name = 3; |
| optional string value_substring = 4; |
| optional RegistryMatchRule rule = 6; |
| } |
| |
| // Data for each UwS reported or removed by the given cleaner version. |
| // |
| // FoilUwSData is a legacy name that must be kept because existing analysis |
| // tools use it. |
| // |
| // Next tag: 7. |
| message FoilUwSData { |
| // Deprecated observed_behaviors, removed after 29.157. |
| reserved 6; |
| |
| // Attributes applied to UwS. |
| enum Attribute { |
| FLAGS_NONE = 0; |
| // Used when an UwS should be removed, otherwise it is only reported. |
| FLAGS_ACTION_REMOVE = 1; |
| // Used when an UwS should always be removed post-reboot, even when the |
| // Restart Manager doesn't think a reboot is needed. |
| FLAGS_REMOVAL_FORCE_REBOOT = 2; |
| // When the UwS is detected activate the detailed system report. |
| FLAGS_DETAILED_REPORT = 4; |
| // Used for UwS that interfere with the prompt, so we don't want to report |
| // that a cleanup can be done when they are present. This only affects the |
| // reporter, not the removal tool. |
| FLAGS_INHIBIT_REPORTING = 8; |
| // Used for UwS that interfere with the cleaner, so we don't want to offer |
| // a removal to the user when they are present. This affects both the |
| // reporter and the removal tool. |
| FLAGS_INHIBIT_REMOVAL = 16; |
| // The UwS behavior has been confirmed/observed and the UwS is |
| // breaking our UwS policies. |
| FLAGS_STATE_CONFIRMED_UWS = 32; |
| // The following values have been deprecated. |
| DEPRECATED_FLAGS_CATEGORY_MALWARE = 64; |
| DEPRECATED_FLAGS_CATEGORY_BROWSER_HIJACKER = 128; |
| DEPRECATED_FLAGS_CATEGORY_EXTENSIONS_INJECTOR = 256; |
| DEPRECATED_FLAGS_CATEGORY_ADS_INJECTOR = 512; |
| DEPRECATED_FLAGS_CATEGORY_SCAREWARE = 1024; |
| } |
| |
| optional int32 id = 1; |
| optional string name = 2; |
| repeated Attribute attributes = 3; |
| repeated StaticDiskFootprint disk_footprints = 4; |
| repeated StaticRegistryFootprint registry_footprints = 5; |
| } |
| |
| // The git SHA's of each repo that is used to build this version of the |
| // reporter and cleaner. |
| // |
| // Next tag: 4. |
| message CommitInfo { |
| // The commit of the root chromium repository. |
| optional string chromium_commit = 1; |
| |
| // The commit of the src-internal repository. |
| optional string src_internal_commit = 2; |
| |
| // The commit of the chrome/chrome_cleaner/internal repository. |
| optional string chrome_cleaner_internal_commit = 3; |
| } |
| |
| // Specifies all UwS recognized by a given version of the reporter or cleaner. |
| // |
| // FoilVersionSpec is a legacy name that must be kept because existing analysis |
| // tools use it. |
| // |
| // Next tag: 4. |
| message FoilVersionSpec { |
| optional string version = 1; |
| optional CommitInfo commit_info = 3; |
| repeated FoilUwSData uws = 2; |
| } |
| |
| // Format for version-UwS association config file. |
| // |
| // UwSSpecByFoilVersion is a legacy name that must be kept because existing |
| // analysis tools use it. |
| // |
| // Next tag: 2. |
| message UwSSpecByFoilVersion { |
| repeated FoilVersionSpec foil_versions = 1; |
| } |