blob: 33eed827bd1c3ef46cebb31fe903575fb3db1161 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package chrome.cros.reporting.proto;
option optimize_for = LITE_RUNTIME;
// The message is used to upload the report of cloud policy valiation.
// This message should be the same as
// google3/wireless/android/enterprise/devicemanagement/proto/dm_api.proto?rcl=260212387&l=1435
message PolicyValidationReportEvent {
reserved 5;
// A validation issue from validating a policy value that was contained in
// the payload of the policy fetch response.
string policy_type = 1;
// |policy_token| from the PolicyFetchResponse. This is used to identify the
// specific policy fetch event that triggered this validation report.
string policy_token = 2;
// Specifies the result type of the validation.
// Each enum value can correspond to one of three client behaviors (noted as
// 'Client behavior' in the comment for each enum value):
// - Unknown:
// It is not known if the fetched policy blob was accepted or rejected.
// - Policy blob accepted:
// The client has accepted and applied the fetched policy blob.
// - Policy blob rejected:
// The client has completely rejected the fetched policy blob.
enum ValidationResultType {
// An enum value was received which is not known in this version of the
// proto.
// Client behavior: Unknown.
VALIDATION_RESULT_TYPE_ERROR_UNSPECIFIED = 0;
// Policy validated successfully.
// Client behavior: Policy blob accepted.
// Note: This result is here for completeness, the client will not send
// reports with this enum value.
VALIDATION_RESULT_TYPE_SUCCESS = 1;
// Bad signature on the initial key.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_INITIAL_SIGNATURE = 2;
// Bad signature.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_SIGNATURE = 3;
// Policy blob contains error code.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_ERROR_CODE_PRESENT = 4;
// Policy payload failed to decode.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_PAYLOAD_PARSE_ERROR = 5;
// Unexpected policy type.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_WRONG_POLICY_TYPE = 6;
// Unexpected settings entity id.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_WRONG_SETTINGS_ENTITY_ID = 7;
// Timestamp is missing or is older than the timestamp of the previous
// policy.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_TIMESTAMP = 8;
// DM token is empty or doesn't match.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_DM_TOKEN = 9;
// Device id is empty or doesn't match.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_DEVICE_ID = 10;
// Username doesn't match.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_USER = 11;
// Policy payload protobuf parse error.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_POLICY_PARSE_ERROR = 12;
// Policy key signature could not be verified using the hard-coded
// verification key.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_BAD_KEY_VERIFICATION_SIGNATURE = 13;
// There were validation warnings during validation of policy values in the
// payload. See |policy_value_validation_results|.
// Client behavior: Policy blob accepted.
VALIDATION_RESULT_TYPE_VALUE_WARNING = 14;
// There were validation errors during validation of policy values in the
// payload. There may also have been warnings. See
// |policy_value_validation_results| - that list will contain at least one
// payload validation errors, and zero or more payload validation warnings.
// Client behavior: Policy blob rejected.
VALIDATION_RESULT_TYPE_VALUE_ERROR = 15;
}
// The validation result.
ValidationResultType validation_result_type = 3;
// Value validation issues in the policy payload. Will be filled if
// |validation_result_type| is VALIDATION_RESULT_TYPE_VALUE_WARNING
// or VALIDATION_RESULT_TYPE_VALUE_ERROR.
repeated PolicyValueValidationIssue policy_value_validation_issues = 4;
// next ID: 6
}
// A validation issue from validating a policy value that was contained in
// the payload of the policy fetch response.
message PolicyValueValidationIssue {
// Policy name of the faulty value.
string policy_name = 1;
enum ValueValidationIssueSeverity {
// Default value for when a severity is not specified.
VALUE_VALIDATION_ISSUE_SEVERITY_UNSPECIFIED = 0;
// This result is a warning. The policy blob has not been rejected.
VALUE_VALIDATION_ISSUE_SEVERITY_WARNING = 1;
// This result is an error. The policy blob was rejected completely and not
// updated on the device.
VALUE_VALIDATION_ISSUE_SEVERITY_ERROR = 2;
}
// Severity of this policy value validation result.
ValueValidationIssueSeverity severity = 2;
// Message containing detailed information about the value validation warning
// or error (e.g. type and specific location). This message is intended as
// debug information for developers (not localized).
string debug_message = 3;
}