// Copyright 2016 The Chromium Authors
// 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 safe_browsing;
// See //components/safe_browsing/content/resources/README.md for guidelines
// on how to set fields in this file.
// Next id: 7
message DownloadFileType {
optional string extension = 1; // required, except in default_file_type.
optional int64 uma_value = 2; // required
optional bool is_archive = 3 [default = false];
enum PingSetting {
SAMPLED_PING = 0;
NO_PING = 1;
FULL_PING = 2;
}
optional PingSetting ping_setting = 4; // required
enum DangerLevel {
NOT_DANGEROUS = 0;
ALLOW_ON_USER_GESTURE = 1;
DANGEROUS = 2;
}
enum AutoOpenHint {
DISALLOW_AUTO_OPEN = 0;
ALLOW_AUTO_OPEN = 1;
}
enum PlatformType {
PLATFORM_TYPE_ANY = 0;
PLATFORM_TYPE_ANDROID = 1;
PLATFORM_TYPE_CHROME_OS = 2;
PLATFORM_TYPE_LINUX = 3;
PLATFORM_TYPE_MAC = 4;
PLATFORM_TYPE_WINDOWS = 5;
// Deprecated: PLATFORM_TYPE_FUCHSIA = 6;
}
// Next id: 6
message PlatformSettings {
optional PlatformType platform = 1 [default = PLATFORM_TYPE_ANY];
optional DangerLevel danger_level = 2; // required
optional AutoOpenHint auto_open_hint = 3; // required
optional uint64 max_file_size_to_analyze = 4
[default = 18446744073709551615]; // (2^64)-1]
// `file_weight` determines how likely the given file type is to be included
// in a ping to Safe Browsing when downloading an archive.
optional int64 file_weight = 5;
};
// Protos parsed by Chrome should have exactly one entry here.
repeated PlatformSettings platform_settings = 5;
// The type of file content inspection we should do, if any.
enum InspectionType {
NONE = 0;
ZIP = 1;
RAR = 2;
DMG = 3;
// Deprecated: OFFICE_DOCUMENT = 4;
SEVEN_ZIP = 5;
}
optional InspectionType inspection_type = 6;
};
// Next id: 6
message DownloadFileTypeConfig {
// All required
optional uint32 version_id = 1;
optional float sampled_ping_probability = 2;
repeated DownloadFileType file_types = 3;
optional DownloadFileType default_file_type = 4;
// Limits on repeated fields in the ClientDownloadRequest (i.e. the
// download ping). Limits are per-ping.
optional uint64 max_archived_binaries_to_report = 5;
}