2 ## <summary>Telepathy framework.</summary>
4 #######################################
6 ## Creates basic types for telepathy
9 ## <param name="prefix">
11 ## Prefix for the domain.
16 template(`telepathy_domain_template',`
19 attribute telepathy_domain;
20 attribute telepathy_executable;
23 type telepathy_$1_t, telepathy_domain;
24 type telepathy_$1_exec_t, telepathy_executable;
25 application_domain(telepathy_$1_t, telepathy_$1_exec_t)
26 ubac_constrained(telepathy_$1_t)
28 type telepathy_$1_tmp_t;
29 files_tmp_file(telepathy_$1_tmp_t)
30 ubac_constrained(telepathy_$1_tmp_t)
33 dbus_session_domain(telepathy_$1_t, telepathy_$1_exec_t)
37 #######################################
39 ## Role access for telepathy domains
40 ### that executes via dbus-session
42 ## <param name="user_role">
44 ## The role associated with the user domain.
47 ## <param name="user_domain">
49 ## The type of the user domain.
53 template(`telepathy_dbus_session_role', `
55 attribute telepathy_domain;
58 role $1 types telepathy_domain;
60 allow $2 telepathy_domain:process { ptrace signal_perms };
61 ps_process_pattern($2, telepathy_domain)
64 telepathy_dbus_chat($2)
67 telepathy_gabble_stream_connect($2)
68 telepathy_msn_stream_connect($2)
69 telepathy_salut_stream_connect($2)
72 ########################################
74 ## Send DBus messages to and from
75 ## all Telepathy domain.
77 ## <param name="domain">
79 ## Domain allowed access.
83 interface(`telepathy_dbus_chat', `
85 attribute telepathy_domain;
89 allow $1 telepathy_domain:dbus send_msg;
90 allow telepathy_domain $1:dbus send_msg;
93 ########################################
95 ## Send DBus messages to and from
98 ## <param name="domain">
100 ## Domain allowed access.
104 interface(`telepathy_gabble_dbus_chat', `
106 type telepathy_gabble_t;
110 allow $1 telepathy_gabble_t:dbus send_msg;
111 allow telepathy_gabble_t $1:dbus send_msg;
114 ########################################
116 ## Read and write Telepathy Butterfly
119 ## <param name="domain">
121 ## Domain allowed access.
125 interface(`telepathy_butterfly_rw_tmp_files', `
127 type telepathy_butterfly_tmp_t;
130 allow $1 telepathy_butterfly_tmp_t:file rw_file_perms;
134 ########################################
136 ## Stream connect to Telepathy Gabble
138 ## <param name="domain">
140 ## Domain allowed access.
144 interface(`telepathy_gabble_stream_connect', `
146 type telepathy_gabble_t, telepathy_gabble_tmp_t;
149 stream_connect_pattern($1, telepathy_gabble_tmp_t, telepathy_gabble_tmp_t, telepathy_gabble_t)
153 #######################################
155 ## Stream connect to telepathy MSN managers
157 ## <param name="domain">
159 ## Domain allowed access.
163 interface(`telepathy_msn_stream_connect', `
165 type telepathy_msn_t, telepathy_msn_tmp_t;
168 stream_connect_pattern($1, telepathy_msn_tmp_t, telepathy_msn_tmp_t, telepathy_msn_t)
173 ########################################
175 ## Stream connect to Telepathy Salut
177 ## <param name="domain">
179 ## Domain allowed access.
183 interface(`telepathy_salut_stream_connect', `
185 type telepathy_salut_t, telepathy_salut_tmp_t;
188 stream_connect_pattern($1, telepathy_salut_tmp_t, telepathy_salut_tmp_t, telepathy_salut_t)