aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'policy/modules/contrib/googletalk.te')
-rw-r--r--policy/modules/contrib/googletalk.te39
1 files changed, 26 insertions, 13 deletions
diff --git a/policy/modules/contrib/googletalk.te b/policy/modules/contrib/googletalk.te
index 17690fa2e..0736a7afb 100644
--- a/policy/modules/contrib/googletalk.te
+++ b/policy/modules/contrib/googletalk.te
@@ -18,10 +18,12 @@ xdg_config_home_content(googletalk_plugin_xdg_config_t)
# Google talk plugin policy
#
+allow googletalk_plugin_t self:process signal;
allow googletalk_plugin_t self:fifo_file rw_fifo_file_perms;
allow googletalk_plugin_t self:netlink_kobject_uevent_socket create_socket_perms;
allow googletalk_plugin_t self:netlink_route_socket create_netlink_socket_perms;
allow googletalk_plugin_t self:tcp_socket create_stream_socket_perms;
+allow googletalk_plugin_t self:udp_socket create_socket_perms;
allow googletalk_plugin_t self:unix_stream_socket create_stream_socket_perms;
manage_files_pattern(googletalk_plugin_t, googletalk_plugin_tmp_t, googletalk_plugin_tmp_t)
@@ -36,6 +38,15 @@ manage_files_pattern(googletalk_plugin_t, googletalk_plugin_xdg_config_t, google
kernel_read_system_state(googletalk_plugin_t)
+corecmd_exec_bin(googletalk_plugin_t)
+corecmd_exec_shell(googletalk_plugin_t)
+
+corenet_tcp_bind_generic_node(googletalk_plugin_t)
+corenet_tcp_sendrecv_generic_if(googletalk_plugin_t)
+corenet_tcp_sendrecv_generic_node(googletalk_plugin_t)
+
+corenet_udp_bind_generic_node(googletalk_plugin_t)
+
dev_getattr_all_blk_files(googletalk_plugin_t)
dev_getattr_all_chr_files(googletalk_plugin_t)
dev_read_sound(googletalk_plugin_t)
@@ -44,15 +55,6 @@ dev_search_sysfs(googletalk_plugin_t)
dev_write_sound(googletalk_plugin_t)
dev_write_video_dev(googletalk_plugin_t)
-term_dontaudit_getattr_unallocated_ttys(googletalk_plugin_t)
-
-corecmd_exec_bin(googletalk_plugin_t)
-corecmd_exec_shell(googletalk_plugin_t)
-
-corenet_tcp_bind_generic_node(googletalk_plugin_t)
-corenet_tcp_sendrecv_generic_if(googletalk_plugin_t)
-corenet_tcp_sendrecv_generic_node(googletalk_plugin_t)
-
# It runs find in /etc to find any release file for knowing the distribution it
# runs on. Yes, great isnt it...
files_dontaudit_getattr_all_dirs(googletalk_plugin_t)
@@ -61,16 +63,21 @@ files_read_usr_files(googletalk_plugin_t)
fs_getattr_tmpfs(googletalk_plugin_t)
+term_dontaudit_getattr_unallocated_ttys(googletalk_plugin_t)
+
+# Needed to find video device?
+init_getattr_initctl(googletalk_plugin_t)
+
logging_send_syslog_msg(googletalk_plugin_t)
miscfiles_read_localization(googletalk_plugin_t)
+sysnet_read_config(googletalk_plugin_t)
+
userdom_search_user_home_content(googletalk_plugin_t)
+userdom_use_user_terminals(googletalk_plugin_t)
-optional_policy(`
- alsa_domain(googletalk_plugin_t, googletalk_plugin_tmpfs_t)
- alsa_read_rw_config(googletalk_plugin_t)
-')
+googletalk_generic_xdg_config_home_filetrans_plugin_xdg_config(googletalk_plugin_t, dir, "google-googletalkplugin")
optional_policy(`
dbus_system_bus_client(googletalk_plugin_t)
@@ -88,3 +95,9 @@ optional_policy(`
optional_policy(`
xserver_user_x_domain_template(googletalk_plugin, googletalk_plugin_t, googletalk_plugin_tmpfs_t)
')
+
+ifdef(`use_alsa',`
+ optional_policy(`
+ alsa_domain(googletalk_plugin_t, googletalk_plugin_tmpfs_t)
+ ')
+')