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)
32 dbus_session_domain(telepathy_$1_t, telepathy_$1_exec_t)
35 #######################################
37 ## Role access for telepathy domains
38 ### that executes via dbus-session
40 ## <param name="user_role">
42 ## The role associated with the user domain.
45 ## <param name="user_domain">
47 ## The type of the user domain.
51 template(`telepathy_dbus_session_role', `
53 attribute telepathy_domain;
56 role $1 types telepathy_domain;
58 allow $2 telepathy_domain:process { ptrace signal_perms };
59 ps_process_pattern($2, telepathy_domain)
62 telepathy_dbus_chat($2)
65 telepathy_gabble_stream_connect($2)
66 telepathy_msn_stream_connect($2)
67 telepathy_salut_stream_connect($2)
70 ########################################
72 ## Send DBus messages to and from
73 ## all Telepathy domain.
75 ## <param name="domain">
77 ## Domain allowed access.
81 interface(`telepathy_dbus_chat', `
83 attribute telepathy_domain;
87 allow $1 telepathy_domain:dbus send_msg;
88 allow telepathy_domain $1:dbus send_msg;
91 ########################################
93 ## Send DBus messages to and from
96 ## <param name="domain">
98 ## Domain allowed access.
102 interface(`telepathy_gabble_dbus_chat', `
104 type telepathy_gabble_t;
108 allow $1 telepathy_gabble_t:dbus send_msg;
109 allow telepathy_gabble_t $1:dbus send_msg;
112 ########################################
114 ## Stream connect to Telepathy Gabble
116 ## <param name="domain">
118 ## Domain allowed access.
122 interface(`telepathy_gabble_stream_connect', `
124 type telepathy_gabble_t, telepathy_gabble_tmp_t;
127 stream_connect_pattern($1, telepathy_gabble_tmp_t, telepathy_gabble_tmp_t, telepathy_gabble_t)
131 #######################################
133 ## Stream connect to telepathy MSN managers
135 ## <param name="domain">
137 ## Domain allowed access.
141 interface(`telepathy_msn_stream_connect', `
143 type telepathy_msn_t, telepathy_msn_tmp_t;
146 stream_connect_pattern($1, telepathy_msn_tmp_t, telepathy_msn_tmp_t, telepathy_msn_t)
151 ########################################
153 ## Stream connect to Telepathy Salut
155 ## <param name="domain">
157 ## Domain allowed access.
161 interface(`telepathy_salut_stream_connect', `
163 type telepathy_salut_t, telepathy_salut_tmp_t;
166 stream_connect_pattern($1, telepathy_salut_tmp_t, telepathy_salut_tmp_t, telepathy_salut_t)
170 ########################################
172 ## Read telepathy mission control state.
174 ## <param name="role_prefix">
176 ## Prefix to be used.
179 ## <param name="domain">
181 ## Domain allowed access.
185 interface(`telepathy_mission_control_read_state',`
187 type telepathy_mission_control_t;
190 kernel_search_proc($1)
191 ps_process_pattern($1, telepathy_mission_control_t)