1/*
2 * Copyright (C) 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package android.os.statsd.selinux;
20
21import "frameworks/proto_logging/stats/atom_field_options.proto";
22import "frameworks/proto_logging/stats/atoms.proto";
23
24option java_package = "com.android.os.selinux";
25option java_multiple_files = true;
26
27extend Atom {
28  optional SelinuxAuditLog selinux_audit_log = 799 [(module) = "framework"];
29}
30
31/**
32 * Logs SELinux audit messages.
33 */
34message SelinuxAuditLog {
35  optional bool granted = 1 [default = false];
36  repeated string permissions = 2;
37  optional string stype = 3;
38  repeated int32 scategories = 4;
39  optional string ttype = 5;
40  repeated int32 tcategories = 6;
41  optional string tclass = 7;
42  // If the log message contains a path, we collect the first two levels of it.
43  // For example, for "/data/local/tmp", we would collect "/data/local".
44  optional string path_prefix = 8;
45  optional bool permissive = 9 [default = false];
46}
47