1 policy_module(polipo, 1.0.0)
3 ########################################
10 ## Determine whether polipo can
11 ## access cifs file systems.
14 gen_tunable(polipo_use_cifs, false)
18 ## Determine whether Polipo can
19 ## access nfs file systems.
22 gen_tunable(polipo_use_nfs, false)
26 ## Determine whether Polipo session daemon
27 ## can bind tcp sockets to all unreserved ports.
30 gen_tunable(polipo_session_bind_all_unreserved_ports, false)
34 ## Determine whether calling user domains
35 ## can execute Polipo daemon in the
36 ## polipo_session_t domain.
39 gen_tunable(polipo_session_users, false)
43 ## Determine whether Polipo session daemon
44 ## can send syslog messages.
47 gen_tunable(polipo_session_send_syslog_msg, false)
49 attribute polipo_daemon;
51 type polipo_t, polipo_daemon;
53 init_daemon_domain(polipo_t, polipo_exec_t)
55 type polipo_initrc_exec_t;
56 init_script_file(polipo_initrc_exec_t)
59 files_config_file(polipo_etc_t)
62 files_type(polipo_cache_t)
65 logging_log_file(polipo_log_t)
68 files_pid_file(polipo_pid_t)
70 type polipo_session_t, polipo_daemon;
71 application_domain(polipo_session_t, polipo_exec_t)
72 ubac_constrained(polipo_session_t)
74 type polipo_config_home_t;
75 userdom_user_home_content(polipo_config_home_t)
77 type polipo_cache_home_t;
78 userdom_user_home_content(polipo_cache_home_t)
80 ########################################
85 allow polipo_daemon self:fifo_file rw_fifo_file_perms;
86 allow polipo_daemon self:tcp_socket { listen accept };
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)
97 files_read_usr_files(polipo_daemon)
99 fs_search_auto_mountpoints(polipo_daemon)
101 miscfiles_read_localization(polipo_daemon)
103 ########################################
105 # Polipo local policy
108 read_files_pattern(polipo_t, polipo_etc_t, polipo_etc_t)
110 manage_files_pattern(polipo_t, polipo_cache_t, polipo_cache_t)
112 append_files_pattern(polipo_t, polipo_log_t, polipo_log_t)
114 manage_files_pattern(polipo_t, polipo_pid_t, polipo_pid_t)
116 auth_use_nsswitch(polipo_t)
118 logging_send_syslog_msg(polipo_t)
120 tunable_policy(`polipo_use_cifs',`
121 fs_manage_cifs_files(polipo_t)
124 tunable_policy(`polipo_use_nfs',`
125 fs_manage_nfs_files(polipo_t)
128 ########################################
130 # Polipo session local policy
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)
136 auth_use_nsswitch(polipo_session_t)
138 userdom_use_user_terminals(polipo_session_t)
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)
145 tunable_policy(`polipo_session_send_syslog_msg',`
146 logging_send_syslog_msg(polipo_session_t)
149 userdom_home_manager(polipo_session_t)