modularize dmd

Bug: 190331463
Test: build ROM and make sure dmd is launched
Change-Id: If1e51b6bc100e870a15a40f5e0d93a75fe68bac3
diff --git a/modem/user/dmd.te b/modem/user/dmd.te
new file mode 100644
index 0000000..eabf893
--- /dev/null
+++ b/modem/user/dmd.te
@@ -0,0 +1,29 @@
+type dmd, domain;
+type dmd_exec, vendor_file_type, exec_type, file_type;
+init_daemon_domain(dmd)
+
+# Grant to access serial device for external logging tool
+allow dmd serial_device:chr_file rw_file_perms;
+
+# Grant to access radio device
+allow dmd radio_device:chr_file rw_file_perms;
+
+# Grant to access slog dir/file
+allow dmd vendor_slog_file:dir create_dir_perms;
+allow dmd vendor_slog_file:file create_file_perms;
+
+# Grant to access tcp socket
+allow dmd node:tcp_socket node_bind;
+allow dmd self:tcp_socket { create_socket_perms_no_ioctl listen accept bind };
+
+# Grant to access log related properties
+set_prop(dmd, vendor_diag_prop)
+set_prop(dmd, vendor_slog_prop)
+set_prop(dmd, vendor_modem_prop)
+
+get_prop(dmd, vendor_persist_config_default_prop)
+
+# Grant to access hwservice manager
+get_prop(dmd, hwservicemanager_prop)
+
+binder_call(dmd, hwservicemanager)
diff --git a/modem/user/file.te b/modem/user/file.te
new file mode 100644
index 0000000..e2beb8b
--- /dev/null
+++ b/modem/user/file.te
@@ -0,0 +1 @@
+type vendor_slog_file, file_type, data_file_type, mlstrustedobject;
diff --git a/modem/user/file_contexts b/modem/user/file_contexts
new file mode 100644
index 0000000..ff1482b
--- /dev/null
+++ b/modem/user/file_contexts
@@ -0,0 +1,2 @@
+/data/vendor/slog(/.*)?      u:object_r:vendor_slog_file:s0
+/vendor/bin/dmd              u:object_r:dmd_exec:s0
diff --git a/modem/user/property.te b/modem/user/property.te
new file mode 100644
index 0000000..353b1c8
--- /dev/null
+++ b/modem/user/property.te
@@ -0,0 +1,3 @@
+vendor_internal_prop(vendor_diag_prop)
+vendor_internal_prop(vendor_slog_prop)
+vendor_internal_prop(vendor_modem_prop)
diff --git a/modem/user/property_contexts b/modem/user/property_contexts
new file mode 100644
index 0000000..0be942b
--- /dev/null
+++ b/modem/user/property_contexts
@@ -0,0 +1,14 @@
+# for dmd
+persist.vendor.sys.dm.       u:object_r:vendor_diag_prop:s0
+persist.vendor.sys.diag.     u:object_r:vendor_diag_prop:s0
+vendor.sys.dmd.              u:object_r:vendor_diag_prop:s0
+vendor.sys.diag.             u:object_r:vendor_diag_prop:s0
+
+# for modem
+persist.vendor.modem.        u:object_r:vendor_modem_prop:s0
+vendor.modem.                u:object_r:vendor_modem_prop:s0
+vendor.sys.modem.            u:object_r:vendor_modem_prop:s0
+ro.vendor.sys.modem.         u:object_r:vendor_modem_prop:s0
+vendor.sys.exynos.modempath  u:object_r:vendor_modem_prop:s0
+persist.vendor.sys.modem.    u:object_r:vendor_modem_prop:s0
+
diff --git a/whitechapel/vendor/google/dmd.te b/whitechapel/vendor/google/dmd.te
index 4f9cef1..b51c34d 100644
--- a/whitechapel/vendor/google/dmd.te
+++ b/whitechapel/vendor/google/dmd.te
@@ -1,33 +1,5 @@
-type dmd, domain;
-type dmd_exec, vendor_file_type, exec_type, file_type;
-init_daemon_domain(dmd)
-
-# Grant to access serial device for external logging tool
-allow dmd serial_device:chr_file rw_file_perms;
-
-# Grant to access radio device
-allow dmd radio_device:chr_file rw_file_perms;
-
-# Grant to access slog dir/file
-allow dmd vendor_slog_file:dir create_dir_perms;
-allow dmd vendor_slog_file:file create_file_perms;
-
-# Grant to access tcp socket
-allow dmd node:tcp_socket node_bind;
-allow dmd self:tcp_socket { create_socket_perms_no_ioctl listen accept bind };
-
-# Grant to access log related properties
-set_prop(dmd, vendor_diag_prop)
-set_prop(dmd, vendor_slog_prop)
-set_prop(dmd, vendor_modem_prop)
-
-get_prop(dmd, vendor_persist_config_default_prop)
-
-# Grant to access hwservice manager
-get_prop(dmd, hwservicemanager_prop)
 allow dmd hidl_base_hwservice:hwservice_manager add;
 allow dmd hal_vendor_oem_hwservice:hwservice_manager { add find };
-binder_call(dmd, hwservicemanager)
 binder_call(dmd, modem_diagnostic_app)
 binder_call(dmd, modem_logging_control)
 binder_call(dmd, vendor_telephony_app)
diff --git a/whitechapel/vendor/google/file.te b/whitechapel/vendor/google/file.te
index ce5b993..2b58a95 100644
--- a/whitechapel/vendor/google/file.te
+++ b/whitechapel/vendor/google/file.te
@@ -11,7 +11,6 @@
 type vendor_dump_log_file, file_type, data_file_type;
 type vendor_rild_log_file, file_type, data_file_type;
 type vendor_sced_log_file, file_type, data_file_type;
-type vendor_slog_file, file_type, data_file_type, mlstrustedobject;
 type vendor_telephony_log_file, file_type, data_file_type;
 
 # app data files
diff --git a/whitechapel/vendor/google/file_contexts b/whitechapel/vendor/google/file_contexts
index c858c34..000d3e3 100644
--- a/whitechapel/vendor/google/file_contexts
+++ b/whitechapel/vendor/google/file_contexts
@@ -129,7 +129,6 @@
 # Exynos Daemon Exec
 #
 /(vendor|system/vendor)/bin/cbd                u:object_r:cbd_exec:s0
-/(vendor|system/vendor)/bin/dmd                u:object_r:dmd_exec:s0
 /(vendor|system/vendor)/bin/hw/scd             u:object_r:scd_exec:s0
 /(vendor|system/vendor)/bin/hw/gpsd            u:object_r:gpsd_exec:s0
 /(vendor|system/vendor)/bin/hw/lhd             u:object_r:lhd_exec:s0
@@ -157,8 +156,6 @@
 /data/vendor/log/dump(/.*)?  u:object_r:vendor_dump_log_file:s0
 /data/vendor/log/rild(/.*)?  u:object_r:vendor_rild_log_file:s0
 /data/vendor/log/sced(/.*)?  u:object_r:vendor_sced_log_file:s0
-/data/vendor/log/slog(/.*)?  u:object_r:vendor_slog_file:s0
-/data/vendor/slog(/.*)?      u:object_r:vendor_slog_file:s0
 
 /persist/sensorcal\.json     u:object_r:sensors_cal_file:s0
 
diff --git a/whitechapel/vendor/google/property.te b/whitechapel/vendor/google/property.te
index 9454c2e..9f9347f 100644
--- a/whitechapel/vendor/google/property.te
+++ b/whitechapel/vendor/google/property.te
@@ -3,14 +3,11 @@
 vendor_internal_prop(vendor_ims_prop)
 vendor_internal_prop(vendor_rcs_prop)
 vendor_internal_prop(vendor_rild_prop)
-vendor_internal_prop(vendor_slog_prop)
 vendor_internal_prop(sensors_prop)
 vendor_internal_prop(vendor_ssrdump_prop)
 vendor_internal_prop(vendor_device_prop)
 vendor_internal_prop(vendor_usb_config_prop)
 vendor_internal_prop(vendor_secure_element_prop)
-vendor_internal_prop(vendor_modem_prop)
-vendor_internal_prop(vendor_diag_prop)
 vendor_internal_prop(vendor_cbd_prop)
 # vendor defaults
 vendor_internal_prop(vendor_config_default_prop)
diff --git a/whitechapel/vendor/google/property_contexts b/whitechapel/vendor/google/property_contexts
index 94d4065..9be2642 100644
--- a/whitechapel/vendor/google/property_contexts
+++ b/whitechapel/vendor/google/property_contexts
@@ -33,14 +33,6 @@
 persist.vendor.usb.    u:object_r:vendor_usb_config_prop:s0
 vendor.usb.            u:object_r:vendor_usb_config_prop:s0
 
-# for modem
-persist.vendor.modem.        u:object_r:vendor_modem_prop:s0
-vendor.modem.                u:object_r:vendor_modem_prop:s0
-vendor.sys.modem.            u:object_r:vendor_modem_prop:s0
-ro.vendor.sys.modem.         u:object_r:vendor_modem_prop:s0
-vendor.sys.exynos.modempath  u:object_r:vendor_modem_prop:s0
-persist.vendor.sys.modem.    u:object_r:vendor_modem_prop:s0
-
 # for logger app
 vendor.pixellogger.          u:object_r:vendor_logger_prop:s0
 persist.vendor.pixellogger.  u:object_r:vendor_logger_prop:s0
@@ -54,12 +46,6 @@
 vendor.sys.exynos.slog.          u:object_r:vendor_slog_prop:s0
 persist.vendor.sys.silentlog     u:object_r:vendor_slog_prop:s0
 
-# for dmd
-persist.vendor.sys.dm.       u:object_r:vendor_diag_prop:s0
-persist.vendor.sys.diag.     u:object_r:vendor_diag_prop:s0
-vendor.sys.dmd.              u:object_r:vendor_diag_prop:s0
-vendor.sys.diag.             u:object_r:vendor_diag_prop:s0
-
 # vendor default
 vendor.config.               u:object_r:vendor_config_default_prop:s0
 ro.vendor.config.            u:object_r:vendor_ro_config_default_prop:s0