Start tracking vendor seapp coredomain violations am: 292f22a33b

Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2715675

Change-Id: I9ba398374c006ff1a27bf0ecb07c616ce77b2791
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Inseob Kim 2023-08-18 08:03:04 +00:00 committed by Automerger Merge Worker
commit 4b8b8c8046
2 changed files with 13 additions and 1 deletions

View file

@ -299,6 +299,11 @@ expandattribute untrusted_app_visible_hwservice_violators false;
attribute untrusted_app_visible_halserver_violators;
expandattribute untrusted_app_visible_halserver_violators false;
# All system domains which are assignable with vendor's seapp_contexts files.
# TODO(b/280547417): Remove this once there are no violations
attribute vendor_seapp_assigns_coredomain_violators;
expandattribute vendor_seapp_assigns_coredomain_violators false;
# PDX services
attribute pdx_endpoint_dir_type;
attribute pdx_endpoint_socket_type;

View file

@ -22,6 +22,7 @@
#define APP_DATA_REQUIRED_ATTRIB "app_data_file_type"
#define COREDOMAIN "coredomain"
#define VENDOR_SEAPP_ASSIGNS_COREDOMAIN_VIOLATORS "vendor_seapp_assigns_coredomain_violators"
/**
* Initializes an empty, static list.
@ -449,7 +450,13 @@ static bool validate_domain(char *value, const char *filename, int lineno, char
return false;
}
if (type_has_attribute(pol.db, type_dat, attrib_dat)) {
type_datum_t *attrib_violators = find_type(pol.db,
VENDOR_SEAPP_ASSIGNS_COREDOMAIN_VIOLATORS,
TYPE_ATTRIB);
bool allowlisted = attrib_violators != NULL &&
type_has_attribute(pol.db, type_dat, attrib_violators);
if (type_has_attribute(pol.db, type_dat, attrib_dat) && !allowlisted) {
coredomain_violation_entry *entry = (coredomain_violation_entry *)malloc(sizeof(*entry));
entry->domain = strdup(value);
entry->filename = strdup(filename);