f873e51
policy_module(radicale, 1.0.12)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
gen_require(`
Juan Orti Alcaine 88f7379
    type httpd_t;
283e4b3
    type pop_port_t;
808fff6
    type sysfs_t; # RHBZ#2156633
808fff6
    type init_t; # RHBZ#2156633
808fff6
    type proc_net_t; # RHBZ#2156633
808fff6
    type sysctl_net_t; # RHBZ#2156633
408035c
    type kernel_t; # connecting to journald socket
408035c
    type syslogd_var_run_t; # connecting to journald socket
Juan Orti Alcaine 88f7379
')
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
########################################
Juan Orti Alcaine 88f7379
#
Juan Orti Alcaine 88f7379
# Declarations
Juan Orti Alcaine 88f7379
#
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
type radicale_t;
Juan Orti Alcaine 88f7379
type radicale_exec_t;
Juan Orti Alcaine 88f7379
init_daemon_domain(radicale_t, radicale_exec_t)
72c718a
init_nnp_daemon_domain(radicale_t) # RHBZ#2020942
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
type radicale_log_t;
Juan Orti Alcaine 88f7379
logging_log_file(radicale_log_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
type radicale_var_lib_t;
Juan Orti Alcaine 88f7379
files_type(radicale_var_lib_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 883620c
type radicale_var_run_t;
Juan Orti Alcaine 883620c
files_pid_file(radicale_var_run_t)
Juan Orti Alcaine 883620c
Juan Orti Alcaine 88f7379
type radicale_etc_t;
f4cd1ca
files_config_file(radicale_etc_t);
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
type radicale_unit_file_t;
Juan Orti Alcaine 88f7379
systemd_unit_file(radicale_unit_file_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine fee2ec8
type radicale_port_t;
Juan Orti Alcaine fee2ec8
corenet_port(radicale_port_t)
Juan Orti Alcaine fee2ec8
Juan Orti Alcaine 88f7379
########################################
Juan Orti Alcaine 88f7379
#
Juan Orti Alcaine 88f7379
# radicale local policy
Juan Orti Alcaine 88f7379
#
Juan Orti Alcaine 88f7379
allow radicale_t self:fifo_file rw_fifo_file_perms;
Juan Orti Alcaine 88f7379
allow radicale_t self:unix_stream_socket create_stream_socket_perms;
Juan Orti Alcaine f75af5e
allow radicale_t self:tcp_socket create_stream_socket_perms;
c432147
allow radicale_t self:unix_dgram_socket create_stream_socket_perms;
Juan Orti Alcaine 88f7379
408035c
allow radicale_t kernel_t:unix_dgram_socket sendto; # connecting to journald socket
408035c
allow radicale_t syslogd_var_run_t:sock_file write; # connecting to journald socket
408035c
Juan Orti Alcaine fee2ec8
allow radicale_t radicale_port_t:tcp_socket name_bind;
283e4b3
allow radicale_t pop_port_t:tcp_socket name_connect;
Juan Orti Alcaine fee2ec8
808fff6
allow radicale_t sysfs_t:file { read open }; # RHBZ#2156633
808fff6
808fff6
allow init_t radicale_exec_t:file ioctl; # RHBZ#2156633
808fff6
808fff6
allow radicale_t proc_net_t:lnk_file read; # RHBZ#2156633
2593670
allow radicale_t proc_net_t:file read; # RHBZ#2156633
808fff6
allow radicale_t sysctl_net_t:dir search; # RHBZ#2156633
808fff6
allow radicale_t sysctl_net_t:file { read open getattr }; # RHBZ#2156633
808fff6
f873e51
allow radicale_t radicale_exec_t:file execute_no_trans; # during upgrade
f873e51
Juan Orti Alcaine 88f7379
manage_dirs_pattern(radicale_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
manage_files_pattern(radicale_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
manage_lnk_files_pattern(radicale_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
logging_log_filetrans(radicale_t, radicale_log_t, { dir file lnk_file })
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
manage_dirs_pattern(radicale_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
manage_files_pattern(radicale_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
manage_lnk_files_pattern(radicale_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
files_var_lib_filetrans(radicale_t, radicale_var_lib_t, { dir file lnk_file })
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 883620c
manage_files_pattern(radicale_t, radicale_var_run_t, radicale_var_run_t)
Juan Orti Alcaine 883620c
files_pid_filetrans(radicale_t, radicale_var_lib_t, file)
Juan Orti Alcaine 883620c
Juan Orti Alcaine 88f7379
domain_use_interactive_fds(radicale_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
files_read_etc_files(radicale_t)
Juan Orti Alcaine 88f7379
read_files_pattern(radicale_t, radicale_etc_t, radicale_etc_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
bool httpd_can_read_write_radicale false;
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
if (httpd_can_read_write_radicale) {
Juan Orti Alcaine 88f7379
    manage_dirs_pattern(httpd_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
    manage_files_pattern(httpd_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
    manage_lnk_files_pattern(httpd_t, radicale_log_t, radicale_log_t)
Juan Orti Alcaine 88f7379
    #logging_log_filetrans(httpd_t, radicale_log_t, { dir file lnk_file })
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
    manage_dirs_pattern(httpd_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
    manage_files_pattern(httpd_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
    manage_lnk_files_pattern(httpd_t, radicale_var_lib_t, radicale_var_lib_t)
Juan Orti Alcaine 88f7379
    #files_var_lib_filetrans(httpd_t, radicale_var_lib_t, { dir file lnk_file })
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
    #domain_use_interactive_fds(httpd_t)
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
    #files_read_etc_files(radicale_t)
Juan Orti Alcaine 88f7379
    read_files_pattern(httpd_t, radicale_etc_t, radicale_etc_t)
Juan Orti Alcaine 88f7379
} 
Juan Orti Alcaine 88f7379
Juan Orti Alcaine 88f7379
miscfiles_read_localization(radicale_t)
Juan Orti Alcaine f75af5e
dev_read_urand(radicale_t)
Juan Orti Alcaine f75af5e
dev_read_rand(radicale_t)
Juan Orti Alcaine f75af5e
auth_use_nsswitch(radicale_t)
Juan Orti Alcaine f75af5e
corecmd_exec_shell(radicale_t)
f4cd1ca
corecmd_exec_bin(radicale_t)
Juan Orti Alcaine f75af5e
libs_exec_ldconfig(radicale_t)
Juan Orti Alcaine f75af5e
kernel_read_system_state(radicale_t)
f4cd1ca
apache_search_config(radicale_t)