]> git.ipfire.org Git - people/stevee/selinux-policy.git/blob - policy/modules/services/polipo.te
Change all calls that use the use_nfs_home_dirs to use attributes for either userdom_...
[people/stevee/selinux-policy.git] / policy / modules / services / polipo.te
1 policy_module(polipo, 1.0.0)
2
3 ########################################
4 #
5 # Declarations
6 #
7
8 ## <desc>
9 ## <p>
10 ## Determine whether polipo can
11 ## access cifs file systems.
12 ## </p>
13 ## </desc>
14 gen_tunable(polipo_use_cifs, false)
15
16 ## <desc>
17 ## <p>
18 ## Determine whether Polipo can
19 ## access nfs file systems.
20 ## </p>
21 ## </desc>
22 gen_tunable(polipo_use_nfs, false)
23
24 ## <desc>
25 ## <p>
26 ## Determine whether Polipo session daemon
27 ## can bind tcp sockets to all unreserved ports.
28 ## </p>
29 ## </desc>
30 gen_tunable(polipo_session_bind_all_unreserved_ports, false)
31
32 ## <desc>
33 ## <p>
34 ## Determine whether calling user domains
35 ## can execute Polipo daemon in the
36 ## polipo_session_t domain.
37 ## </p>
38 ## </desc>
39 gen_tunable(polipo_session_users, false)
40
41 ## <desc>
42 ## <p>
43 ## Determine whether Polipo session daemon
44 ## can send syslog messages.
45 ## </p>
46 ## </desc>
47 gen_tunable(polipo_session_send_syslog_msg, false)
48
49 attribute polipo_daemon;
50
51 type polipo_t, polipo_daemon;
52 type polipo_exec_t;
53 init_daemon_domain(polipo_t, polipo_exec_t)
54
55 type polipo_initrc_exec_t;
56 init_script_file(polipo_initrc_exec_t)
57
58 type polipo_etc_t;
59 files_config_file(polipo_etc_t)
60
61 type polipo_cache_t;
62 files_type(polipo_cache_t)
63
64 type polipo_log_t;
65 logging_log_file(polipo_log_t)
66
67 type polipo_pid_t;
68 files_pid_file(polipo_pid_t)
69
70 type polipo_session_t, polipo_daemon;
71 application_domain(polipo_session_t, polipo_exec_t)
72 ubac_constrained(polipo_session_t)
73
74 type polipo_config_home_t;
75 userdom_user_home_content(polipo_config_home_t)
76
77 type polipo_cache_home_t;
78 userdom_user_home_content(polipo_cache_home_t)
79
80 ########################################
81 #
82 # Global local policy
83 #
84
85 allow polipo_daemon self:fifo_file rw_fifo_file_perms;
86 allow polipo_daemon self:tcp_socket { listen accept };
87
88 corenet_all_recvfrom_netlabel(polipo_daemon)
89 corenet_all_recvfrom_unlabeled(polipo_daemon)
90 corenet_tcp_bind_generic_node(polipo_daemon)
91 corenet_tcp_sendrecv_generic_if(polipo_daemon)
92 corenet_tcp_sendrecv_generic_node(polipo_daemon)
93 corenet_tcp_sendrecv_http_cache_port(polipo_daemon)
94 corenet_tcp_bind_http_cache_port(polipo_daemon)
95 corenet_sendrecv_http_cache_server_packets(polipo_daemon)
96
97 files_read_usr_files(polipo_daemon)
98
99 fs_search_auto_mountpoints(polipo_daemon)
100
101 miscfiles_read_localization(polipo_daemon)
102
103 ########################################
104 #
105 # Polipo local policy
106 #
107
108 read_files_pattern(polipo_t, polipo_etc_t, polipo_etc_t)
109
110 manage_files_pattern(polipo_t, polipo_cache_t, polipo_cache_t)
111
112 append_files_pattern(polipo_t, polipo_log_t, polipo_log_t)
113
114 manage_files_pattern(polipo_t, polipo_pid_t, polipo_pid_t)
115
116 auth_use_nsswitch(polipo_t)
117
118 logging_send_syslog_msg(polipo_t)
119
120 tunable_policy(`polipo_use_cifs',`
121 fs_manage_cifs_files(polipo_t)
122 ')
123
124 tunable_policy(`polipo_use_nfs',`
125 fs_manage_nfs_files(polipo_t)
126 ')
127
128 ########################################
129 #
130 # Polipo session local policy
131 #
132
133 read_files_pattern(polipo_session_t, polipo_config_home_t, polipo_config_home_t)
134 manage_files_pattern(polipo_session_t, polipo_cache_home_t, polipo_cache_home_t)
135
136 auth_use_nsswitch(polipo_session_t)
137
138 userdom_use_user_terminals(polipo_session_t)
139
140 tunable_policy(`polipo_session_bind_all_unreserved_ports',`
141 corenet_tcp_sendrecv_all_ports(polipo_session_t)
142 corenet_tcp_bind_all_unreserved_ports(polipo_session_t)
143 ')
144
145 tunable_policy(`polipo_session_send_syslog_msg',`
146 logging_send_syslog_msg(polipo_session_t)
147 ')
148
149 userdom_home_manager(polipo_session_t)