sync codebase
Bug: 162370942
Test: build pass
Change-Id: I73af3d6fa79a2dbf70f855274383cbf3d2af1745
Merged-In: I68126a1e1ae6193c85f6e0d9baf92a83023f436f
diff --git a/wifi_logger/README.md b/wifi_logger/README.md
new file mode 100644
index 0000000..f7fc7c0
--- /dev/null
+++ b/wifi_logger/README.md
@@ -0,0 +1,6 @@
+### wifi logger SELinux rules
+
+This directory contains all the SELinux rules for communication with the
+wlan logger and HAL, and forward the configuration parameter from the file.
+
+The implementation is at ['vendor/google/apps/PixelLogger'] directory
diff --git a/wifi_logger/file.te b/wifi_logger/file.te
new file mode 100644
index 0000000..19e7fda
--- /dev/null
+++ b/wifi_logger/file.te
@@ -0,0 +1 @@
+type wifi_logging_data_file, file_type, data_file_type, mlstrustedobject;
diff --git a/wifi_logger/file_contexts b/wifi_logger/file_contexts
new file mode 100644
index 0000000..c4f7b21
--- /dev/null
+++ b/wifi_logger/file_contexts
@@ -0,0 +1,2 @@
+/vendor/bin/wifi_logger u:object_r:wifi_logger_exec:s0
+/data/vendor/wifi/wlan_logs(/.*)? u:object_r:wifi_logging_data_file:s0
diff --git a/wifi_logger/hal_wifi_ext.te b/wifi_logger/hal_wifi_ext.te
new file mode 100644
index 0000000..6d28cfd
--- /dev/null
+++ b/wifi_logger/hal_wifi_ext.te
@@ -0,0 +1,4 @@
+userdebug_or_eng(`
+ allow hal_wifi_ext wifi_logging_data_file:dir rw_dir_perms;
+ allow hal_wifi_ext wifi_logging_data_file:file create_file_perms;
+')
diff --git a/wifi_logger/logger_app.te b/wifi_logger/logger_app.te
new file mode 100644
index 0000000..117a6fe
--- /dev/null
+++ b/wifi_logger/logger_app.te
@@ -0,0 +1,5 @@
+userdebug_or_eng(`
+ allow logger_app wifi_logging_data_file:dir create_dir_perms;
+ allow logger_app wifi_logging_data_file:file create_file_perms;
+ set_prop(logger_app, vendor_wlan_logging_prop)
+')
diff --git a/wifi_logger/property.te b/wifi_logger/property.te
new file mode 100644
index 0000000..36b7747
--- /dev/null
+++ b/wifi_logger/property.te
@@ -0,0 +1,3 @@
+# vendor logging property
+vendor_internal_prop(vendor_wlan_logging_prop)
+
diff --git a/wifi_logger/property_contexts b/wifi_logger/property_contexts
new file mode 100644
index 0000000..161fcb7
--- /dev/null
+++ b/wifi_logger/property_contexts
@@ -0,0 +1 @@
+persist.vendor.wifi.logger.start u:object_r:vendor_wlan_logging_prop:s0
diff --git a/wifi_logger/wifi_logger.te b/wifi_logger/wifi_logger.te
new file mode 100644
index 0000000..7a15732
--- /dev/null
+++ b/wifi_logger/wifi_logger.te
@@ -0,0 +1,22 @@
+type wifi_logger, domain;
+type wifi_logger_exec, exec_type, vendor_file_type, file_type;
+
+userdebug_or_eng(`
+ # make transition from init to its domain
+ init_daemon_domain(wifi_logger)
+ net_domain(wifi_logger)
+
+ get_prop(wifi_logger, hwservicemanager_prop)
+ get_prop(wifi_logger, wifi_hal_prop)
+ get_prop(wifi_logger, vendor_wlan_logging_prop)
+ binder_call(wifi_logger, hwservicemanager)
+ binder_call(wifi_logger, hal_wifi_ext)
+
+ allow wifi_logger hal_wifi_ext_hwservice:hwservice_manager find;
+ allow wifi_logger wifi_logging_data_file:dir create_dir_perms;
+ allow wifi_logger wifi_logging_data_file:file create_file_perms;
+ allow wifi_logger wpa_data_file:dir r_dir_perms;
+ allow wifi_logger wpa_data_file:sock_file getattr;
+ allow wifi_logger hostapd_data_file:dir r_dir_perms;
+ allow wifi_logger hostapd_data_file:sock_file getattr;
+')