diff --git a/file.te b/file.te index 61c9be5bbb57dae814c84b1bb357237dca478815..dc0b0c68b26d1527c52d3824df3c6e45471f3336 100644 --- a/file.te +++ b/file.te @@ -116,6 +116,7 @@ type logd_socket, file_type; type logdr_socket, file_type; type logdw_socket, file_type; type mdns_socket, file_type; +type mdnsd_socket, file_type; type netd_socket, file_type; type property_socket, file_type; type qemud_socket, file_type; diff --git a/file_contexts b/file_contexts index 81698d1ef673216cc474db71894668c7dc035c6a..4b0ae8ab15aa359ebdae12dacaa915fdc248ed84 100644 --- a/file_contexts +++ b/file_contexts @@ -86,6 +86,7 @@ /dev/socket/logdr u:object_r:logdr_socket:s0 /dev/socket/logdw u:object_r:logdw_socket:s0 /dev/socket/mdns u:object_r:mdns_socket:s0 +/dev/socket/mdnsd u:object_r:mdnsd_socket:s0 /dev/socket/netd u:object_r:netd_socket:s0 /dev/socket/property_service u:object_r:property_socket:s0 /dev/socket/qemud u:object_r:qemud_socket:s0 @@ -130,6 +131,7 @@ /system/bin/netd u:object_r:netd_exec:s0 /system/bin/rild u:object_r:rild_exec:s0 /system/bin/mediaserver u:object_r:mediaserver_exec:s0 +/system/bin/mdnsd u:object_r:mdnsd_exec:s0 /system/bin/installd u:object_r:installd_exec:s0 /system/bin/keystore u:object_r:keystore_exec:s0 /system/bin/debuggerd u:object_r:debuggerd_exec:s0 diff --git a/mdnsd.te b/mdnsd.te new file mode 100644 index 0000000000000000000000000000000000000000..cfcf87341035e7166b7f5e7c65de4e1fb6ec7abe --- /dev/null +++ b/mdnsd.te @@ -0,0 +1,7 @@ +# mdns daemon +type mdnsd, domain; +permissive_or_unconfined(mdnsd) +type mdnsd_exec, exec_type, file_type; + +init_daemon_domain(mdnsd) +net_domain(mdnsd) diff --git a/net.te b/net.te index b10cecdaab3df2c0e5b3f6e9342e42af19967491..32b9fb7476c6c5695932ef4f212cea0501f6e26b 100644 --- a/net.te +++ b/net.te @@ -16,3 +16,6 @@ allow netdomain self:netlink_route_socket { create bind read nlmsg_read }; # Talks to netd via dnsproxyd socket. unix_socket_connect(netdomain, dnsproxyd, netd) + +# Connect to mdnsd via mdnsd socket. +unix_socket_connect(netdomain, mdnsd, mdnsd) diff --git a/netd.te b/netd.te index fb54bde9236299dc993edf2bbe4a3331687dd70b..b8d26f9577b18e5ce1220b9e1c933873ca36013e 100644 --- a/netd.te +++ b/netd.te @@ -61,7 +61,6 @@ allow netd clatd:process signal; # Support netd running mdnsd # TODO: prune this back further allow netd ctl_default_prop:property_service set; -allow netd device:sock_file write; ### ### Neverallow rules