]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/apps/pulseaudio.te
Bump module versions for release.
[people/stevee/selinux-policy.git] / policy / modules / apps / pulseaudio.te
CommitLineData
9b1907b2 1
29af4c13 2policy_module(pulseaudio, 1.2.0)
9b1907b2
CP
3
4########################################
5#
6# Declarations
7#
8
9type pulseaudio_t;
10type pulseaudio_exec_t;
18683835 11init_daemon_domain(pulseaudio_t, pulseaudio_exec_t)
9b1907b2
CP
12application_domain(pulseaudio_t, pulseaudio_exec_t)
13role system_r types pulseaudio_t;
14
18683835
JS
15type pulseaudio_home_t;
16userdom_user_home_content(pulseaudio_home_t)
17
18type pulseaudio_tmpfs_t;
19files_tmpfs_file(pulseaudio_tmpfs_t)
20
21type pulseaudio_var_lib_t;
22files_type(pulseaudio_var_lib_t)
23
24type pulseaudio_var_run_t;
25files_pid_file(pulseaudio_var_run_t)
26
9b1907b2
CP
27########################################
28#
29# pulseaudio local policy
30#
ad0071bb 31
18683835 32allow pulseaudio_t self:capability { fowner fsetid chown setgid setuid sys_nice sys_resource sys_tty_config };
9b1907b2
CP
33allow pulseaudio_t self:process { getcap setcap setrlimit setsched getsched signal signull };
34allow pulseaudio_t self:fifo_file rw_file_perms;
18683835 35allow pulseaudio_t self:unix_stream_socket { create_stream_socket_perms connectto };
9b1907b2
CP
36allow pulseaudio_t self:unix_dgram_socket { sendto create_socket_perms };
37allow pulseaudio_t self:tcp_socket create_stream_socket_perms;
38allow pulseaudio_t self:udp_socket create_socket_perms;
a3dd1499 39allow pulseaudio_t self:netlink_kobject_uevent_socket create_socket_perms;
9b1907b2 40
18683835
JS
41manage_dirs_pattern(pulseaudio_t, pulseaudio_home_t, pulseaudio_home_t)
42manage_files_pattern(pulseaudio_t, pulseaudio_home_t, pulseaudio_home_t)
ad0071bb 43userdom_search_user_home_dirs(pulseaudio_t)
18683835
JS
44
45manage_dirs_pattern(pulseaudio_t, pulseaudio_var_lib_t, pulseaudio_var_lib_t)
46manage_files_pattern(pulseaudio_t, pulseaudio_var_lib_t, pulseaudio_var_lib_t)
47files_var_lib_filetrans(pulseaudio_t, pulseaudio_var_lib_t, { dir file })
48
49manage_dirs_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
50manage_files_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
51manage_sock_files_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
52files_pid_filetrans(pulseaudio_t, pulseaudio_var_run_t, { dir file })
53
a3dd1499
CP
54can_exec(pulseaudio_t, pulseaudio_exec_t)
55
18683835 56kernel_getattr_proc(pulseaudio_t)
a3dd1499 57kernel_read_system_state(pulseaudio_t)
9b1907b2
CP
58kernel_read_kernel_sysctls(pulseaudio_t)
59
60corecmd_exec_bin(pulseaudio_t)
61
62corenet_all_recvfrom_unlabeled(pulseaudio_t)
63corenet_all_recvfrom_netlabel(pulseaudio_t)
64corenet_tcp_bind_pulseaudio_port(pulseaudio_t)
65corenet_tcp_bind_soundd_port(pulseaudio_t)
66corenet_tcp_sendrecv_generic_if(pulseaudio_t)
67corenet_tcp_sendrecv_generic_node(pulseaudio_t)
68corenet_udp_bind_sap_port(pulseaudio_t)
69corenet_udp_sendrecv_generic_if(pulseaudio_t)
70corenet_udp_sendrecv_generic_node(pulseaudio_t)
71
72dev_read_sound(pulseaudio_t)
73dev_write_sound(pulseaudio_t)
74dev_read_sysfs(pulseaudio_t)
75dev_read_urand(pulseaudio_t)
76
77files_read_etc_files(pulseaudio_t)
78files_read_usr_files(pulseaudio_t)
79
80fs_rw_anon_inodefs_files(pulseaudio_t)
81fs_getattr_tmpfs(pulseaudio_t)
a3dd1499 82fs_list_inotifyfs(pulseaudio_t)
9b1907b2 83
c3c753f7
CP
84term_use_all_ttys(pulseaudio_t)
85term_use_all_ptys(pulseaudio_t)
9b1907b2
CP
86
87auth_use_nsswitch(pulseaudio_t)
88
89logging_send_syslog_msg(pulseaudio_t)
90
91miscfiles_read_localization(pulseaudio_t)
92
6f30d7e7
CP
93optional_policy(`
94 bluetooth_stream_connect(pulseaudio_t)
95')
96
9b1907b2 97optional_policy(`
18683835 98 dbus_system_domain(pulseaudio_t, pulseaudio_exec_t)
9b1907b2
CP
99 dbus_system_bus_client(pulseaudio_t)
100 dbus_session_bus_client(pulseaudio_t)
6f30d7e7 101 dbus_connect_session_bus(pulseaudio_t)
9b1907b2
CP
102
103 optional_policy(`
104 consolekit_dbus_chat(pulseaudio_t)
105 ')
106
107 optional_policy(`
108 hal_dbus_chat(pulseaudio_t)
109 ')
a3dd1499
CP
110
111 optional_policy(`
112 policykit_dbus_chat(pulseaudio_t)
113 ')
114
115 optional_policy(`
116 rpm_dbus_chat(pulseaudio_t)
117 ')
9b1907b2
CP
118')
119
18683835
JS
120optional_policy(`
121 rtkit_scheduled(pulseaudio_t)
122')
123
9b1907b2
CP
124optional_policy(`
125 policykit_domtrans_auth(pulseaudio_t)
126 policykit_read_lib(pulseaudio_t)
127 policykit_read_reload(pulseaudio_t)
128')
129
130optional_policy(`
131 udev_read_db(pulseaudio_t)
132')
133
134optional_policy(`
18683835 135 xserver_stream_connect(pulseaudio_t)
9b1907b2
CP
136 xserver_manage_xdm_tmp_files(pulseaudio_t)
137 xserver_read_xdm_lib_files(pulseaudio_t)
18683835
JS
138 xserver_read_xdm_pid(pulseaudio_t)
139 xserver_user_x_domain_template(pulseaudio, pulseaudio_t, pulseaudio_tmpfs_t)
9b1907b2 140')