policy_module(evolution, 2.3.7) ######################################## # # Declarations # attribute_role evolution_roles; type evolution_t; type evolution_exec_t; typealias evolution_t alias { user_evolution_t staff_evolution_t sysadm_evolution_t }; typealias evolution_t alias { auditadm_evolution_t secadm_evolution_t }; userdom_user_application_domain(evolution_t, evolution_exec_t) role evolution_roles types evolution_t; type evolution_alarm_t; type evolution_alarm_exec_t; typealias evolution_alarm_t alias { user_evolution_alarm_t staff_evolution_alarm_t sysadm_evolution_alarm_t }; typealias evolution_alarm_t alias { auditadm_evolution_alarm_t secadm_evolution_alarm_t }; userdom_user_application_domain(evolution_alarm_t, evolution_alarm_exec_t) role evolution_roles types evolution_alarm_t; type evolution_alarm_tmpfs_t; typealias evolution_alarm_tmpfs_t alias { user_evolution_alarm_tmpfs_t staff_evolution_alarm_tmpfs_t sysadm_evolution_alarm_tmpfs_t }; typealias evolution_alarm_tmpfs_t alias { auditadm_evolution_alarm_tmpfs_t secadm_evolution_alarm_tmpfs_t }; userdom_user_tmpfs_file(evolution_alarm_tmpfs_t) type evolution_alarm_orbit_tmp_t; typealias evolution_alarm_orbit_tmp_t alias { user_evolution_alarm_orbit_tmp_t staff_evolution_alarm_orbit_tmp_t sysadm_evolution_alarm_orbit_tmp_t }; typealias evolution_alarm_orbit_tmp_t alias { auditadm_evolution_alarm_orbit_tmp_t secadm_evolution_alarm_orbit_tmp_t }; userdom_user_tmp_file(evolution_alarm_orbit_tmp_t) type evolution_exchange_t; type evolution_exchange_exec_t; typealias evolution_exchange_t alias { user_evolution_exchange_t staff_evolution_exchange_t sysadm_evolution_exchange_t }; typealias evolution_exchange_t alias { auditadm_evolution_exchange_t secadm_evolution_exchange_t }; userdom_user_application_domain(evolution_exchange_t, evolution_exchange_exec_t) role evolution_roles types evolution_exchange_t; type evolution_exchange_tmpfs_t; typealias evolution_exchange_tmpfs_t alias { user_evolution_exchange_tmpfs_t staff_evolution_exchange_tmpfs_t sysadm_evolution_exchange_tmpfs_t }; typealias evolution_exchange_tmpfs_t alias { auditadm_evolution_exchange_tmpfs_t secadm_evolution_exchange_tmpfs_t }; userdom_user_tmpfs_file(evolution_exchange_tmpfs_t) type evolution_exchange_tmp_t; typealias evolution_exchange_tmp_t alias { user_evolution_exchange_tmp_t staff_evolution_exchange_tmp_t sysadm_evolution_exchange_tmp_t }; typealias evolution_exchange_tmp_t alias { auditadm_evolution_exchange_tmp_t secadm_evolution_exchange_tmp_t }; userdom_user_tmp_file(evolution_exchange_tmp_t) type evolution_exchange_orbit_tmp_t; typealias evolution_exchange_orbit_tmp_t alias { user_evolution_exchange_orbit_tmp_t staff_evolution_exchange_orbit_tmp_t sysadm_evolution_exchange_orbit_tmp_t }; typealias evolution_exchange_orbit_tmp_t alias { auditadm_evolution_exchange_orbit_tmp_t secadm_evolution_exchange_orbit_tmp_t }; userdom_user_tmp_file(evolution_exchange_orbit_tmp_t) type evolution_home_t; typealias evolution_home_t alias { user_evolution_home_t staff_evolution_home_t sysadm_evolution_home_t }; typealias evolution_home_t alias { auditadm_evolution_home_t secadm_evolution_home_t }; userdom_user_home_content(evolution_home_t) type evolution_orbit_tmp_t; typealias evolution_home_t alias { user_evolution_orbit_tmp_t staff_evolution_orbit_tmp_t sysadm_evolution_orbit_tmp_t }; typealias evolution_home_t alias { auditadm_evolution_orbit_tmp_t secadm_evolution_orbit_tmp_t }; userdom_user_tmp_file(evolution_orbit_tmp_t) type evolution_server_t; type evolution_server_exec_t; typealias evolution_server_t alias { user_evolution_server_t staff_evolution_server_t sysadm_evolution_server_t }; typealias evolution_server_t alias { auditadm_evolution_server_t secadm_evolution_server_t }; userdom_user_application_domain(evolution_server_t, evolution_server_exec_t) role evolution_roles types evolution_server_t; type evolution_server_orbit_tmp_t; typealias evolution_server_orbit_tmp_t alias { user_evolution_server_orbit_tmp_t staff_evolution_server_orbit_tmp_t sysadm_evolution_server_orbit_tmp_t }; typealias evolution_server_orbit_tmp_t alias { auditadm_evolution_server_orbit_tmp_t secadm_evolution_server_orbit_tmp_t }; userdom_user_tmp_file(evolution_server_orbit_tmp_t) type evolution_tmpfs_t; typealias evolution_tmpfs_t alias { user_evolution_tmpfs_t staff_evolution_tmpfs_t sysadm_evolution_tmpfs_t }; typealias evolution_tmpfs_t alias { auditadm_evolution_tmpfs_t secadm_evolution_tmpfs_t }; userdom_user_tmpfs_file(evolution_tmpfs_t) type evolution_webcal_t; type evolution_webcal_exec_t; typealias evolution_webcal_t alias { user_evolution_webcal_t staff_evolution_webcal_t sysadm_evolution_webcal_t }; typealias evolution_webcal_t alias { auditadm_evolution_webcal_t secadm_evolution_webcal_t }; userdom_user_application_domain(evolution_webcal_t, evolution_webcal_exec_t) role evolution_roles types evolution_webcal_t; type evolution_webcal_tmpfs_t; typealias evolution_webcal_tmpfs_t alias { user_evolution_webcal_tmpfs_t staff_evolution_webcal_tmpfs_t sysadm_evolution_webcal_tmpfs_t }; typealias evolution_webcal_tmpfs_t alias { auditadm_evolution_webcal_tmpfs_t secadm_evolution_webcal_tmpfs_t }; userdom_user_tmpfs_file(evolution_webcal_tmpfs_t) ######################################## # # Local policy # allow evolution_t self:capability { setuid setgid sys_nice }; allow evolution_t self:process { signal getsched setsched }; allow evolution_t self:fifo_file rw_file_perms; allow evolution_t evolution_home_t:dir manage_dir_perms; allow evolution_t evolution_home_t:file manage_file_perms; allow evolution_t evolution_home_t:lnk_file manage_lnk_file_perms; userdom_user_home_dir_filetrans(evolution_t, evolution_home_t, dir, ".evolution") userdom_user_home_dir_filetrans(evolution_t, evolution_home_t, dir, ".camel_certs") allow evolution_t evolution_orbit_tmp_t:dir manage_dir_perms; allow evolution_t evolution_orbit_tmp_t:file manage_file_perms; files_tmp_filetrans(evolution_t, evolution_orbit_tmp_t, { dir file }) allow evolution_server_t evolution_orbit_tmp_t:dir manage_dir_perms; allow evolution_server_t evolution_orbit_tmp_t:file manage_file_perms; files_tmp_filetrans(evolution_server_t, evolution_orbit_tmp_t, { dir file }) allow evolution_t evolution_tmpfs_t:dir rw_dir_perms; allow evolution_t evolution_tmpfs_t:file manage_file_perms; allow evolution_t evolution_tmpfs_t:lnk_file manage_lnk_file_perms; allow evolution_t evolution_tmpfs_t:sock_file manage_sock_file_perms; allow evolution_t evolution_tmpfs_t:fifo_file manage_fifo_file_perms; fs_tmpfs_filetrans(evolution_t, evolution_tmpfs_t, { dir file lnk_file sock_file fifo_file }) allow evolution_t { evolution_alarm_t evolution_server_t }:dir search_dir_perms; allow evolution_t { evolution_alarm_t evolution_server_t }:file read_file_perms; stream_connect_pattern(evolution_t, evolution_alarm_orbit_tmp_t, evolution_alarm_orbit_tmp_t, evolution_alarm_t) stream_connect_pattern(evolution_t, evolution_exchange_orbit_tmp_t, evolution_exchange_orbit_tmp_t, evolution_exchange_t) stream_connect_pattern(evolution_t, evolution_server_orbit_tmp_t, evolution_server_orbit_tmp_t, evolution_server_t) can_exec(evolution_t, { evolution_alarm_exec_t evolution_server_exec_t }) kernel_read_kernel_sysctls(evolution_t) kernel_read_system_state(evolution_t) kernel_read_network_state(evolution_t) kernel_read_net_sysctls(evolution_t) corecmd_exec_bin(evolution_t) corecmd_exec_shell(evolution_t) corenet_all_recvfrom_unlabeled(evolution_t) corenet_all_recvfrom_netlabel(evolution_t) corenet_tcp_sendrecv_generic_if(evolution_t) corenet_udp_sendrecv_generic_if(evolution_t) corenet_raw_sendrecv_generic_if(evolution_t) corenet_tcp_sendrecv_generic_node(evolution_t) corenet_udp_sendrecv_generic_node(evolution_t) corenet_tcp_sendrecv_all_ports(evolution_t) corenet_udp_sendrecv_all_ports(evolution_t) corenet_sendrecv_pop_client_packets(evolution_t) corenet_tcp_connect_pop_port(evolution_t) corenet_sendrecv_smtp_client_packets(evolution_t) corenet_tcp_connect_smtp_port(evolution_t) corenet_sendrecv_innd_client_packets(evolution_t) corenet_tcp_connect_innd_port(evolution_t) corenet_sendrecv_ldap_client_packets(evolution_t) corenet_tcp_connect_ldap_port(evolution_t) corenet_sendrecv_ipp_client_packets(evolution_t) corenet_tcp_connect_ipp_port(evolution_t) dev_read_urand(evolution_t) domain_dontaudit_read_all_domains_state(evolution_t) fs_search_auto_mountpoints(evolution_t) auth_use_nsswitch(evolution_t) logging_send_syslog_msg(evolution_t) miscfiles_read_localization(evolution_t) udev_read_state(evolution_t) userdom_use_user_terminals(evolution_t) userdom_manage_user_tmp_dirs(evolution_t) userdom_manage_user_tmp_files(evolution_t) userdom_manage_user_home_content_dirs(evolution_t) userdom_manage_user_home_content_files(evolution_t) userdom_user_home_dir_filetrans_user_home_content(evolution_t, { dir file }) userdom_write_user_tmp_sockets(evolution_t) mta_read_config(evolution_t) xserver_user_x_domain_template(evolution, evolution_t, evolution_tmpfs_t) xserver_read_xdm_tmp_files(evolution_t) ifndef(`enable_mls',` fs_list_dos(evolution_t) fs_read_dos_files(evolution_t) fs_search_removable(evolution_t) fs_read_removable_files(evolution_t) fs_read_removable_symlinks(evolution_t) fs_read_iso9660_files(evolution_t) ') tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(evolution_t) fs_manage_nfs_files(evolution_t) fs_manage_nfs_symlinks(evolution_t) ') tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(evolution_t) fs_manage_cifs_files(evolution_t) fs_manage_cifs_symlinks(evolution_t) ') optional_policy(` automount_read_state(evolution_t) ') optional_policy(` cups_read_rw_config(evolution_t) ') optional_policy(` dbus_system_bus_client(evolution_t) dbus_all_session_bus_client(evolution_t) ') optional_policy(` gnome_stream_connect_gconf(evolution_t) ') optional_policy(` gpg_domtrans(evolution_t) gpg_signal(evolution_t) ') optional_policy(` lpd_run_lpr(evolution_t, evolution_roles) ') optional_policy(` mozilla_read_user_home_files(evolution_t) mozilla_domtrans(evolution_t) ') optional_policy(` spamassassin_exec_spamd(evolution_t) spamassassin_domtrans_client(evolution_t) spamassassin_domtrans_local_client(evolution_t) spamassassin_read_spamd_tmp_files(evolution_t) spamassassin_signal_spamd(evolution_t) spamassassin_dontaudit_getattr_spamd_tmp_sockets(evolution_t) ') ######################################## # # Alarm local policy # allow evolution_alarm_t self:process { signal getsched }; allow evolution_alarm_t self:fifo_file rw_fifo_file_perms; allow evolution_alarm_t evolution_alarm_tmpfs_t:dir rw_dir_perms; allow evolution_alarm_t evolution_alarm_tmpfs_t:file manage_file_perms; allow evolution_alarm_t evolution_alarm_tmpfs_t:lnk_file manage_lnk_file_perms; allow evolution_alarm_t evolution_alarm_tmpfs_t:sock_file manage_sock_file_perms; allow evolution_alarm_t evolution_alarm_tmpfs_t:fifo_file manage_fifo_file_perms; fs_tmpfs_filetrans(evolution_alarm_t, evolution_alarm_tmpfs_t, { dir file lnk_file sock_file fifo_file }) allow evolution_alarm_t evolution_home_t:dir manage_dir_perms; allow evolution_alarm_t evolution_home_t:file manage_file_perms; allow evolution_alarm_t evolution_home_t:lnk_file manage_lnk_file_perms; userdom_user_home_dir_filetrans(evolution_alarm_t, evolution_home_t, dir, ".evolution") userdom_user_home_dir_filetrans(evolution_alarm_t, evolution_home_t, dir, ".camel_certs") stream_connect_pattern(evolution_alarm_t, evolution_orbit_tmp_t, evolution_orbit_tmp_t, evolution_t) stream_connect_pattern(evolution_alarm_t, evolution_exchange_orbit_tmp_t, evolution_exchange_orbit_tmp_t, evolution_exchange_t) stream_connect_pattern(evolution_alarm_t, evolution_server_orbit_tmp_t, evolution_server_orbit_tmp_t, evolution_server_t) dev_read_urand(evolution_alarm_t) fs_search_auto_mountpoints(evolution_alarm_t) auth_use_nsswitch(evolution_alarm_t) miscfiles_read_localization(evolution_alarm_t) userdom_dontaudit_read_user_home_content_files(evolution_alarm_t) xserver_user_x_domain_template(evolution_alarm, evolution_alarm_t, evolution_alarm_tmpfs_t) tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(evolution_alarm_t) fs_manage_nfs_files(evolution_alarm_t) fs_manage_nfs_symlinks(evolution_alarm_t) ') tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(evolution_alarm_t) fs_manage_cifs_files(evolution_alarm_t) fs_manage_cifs_symlinks(evolution_alarm_t) ') optional_policy(` dbus_all_session_bus_client(evolution_alarm_t) ') optional_policy(` gnome_stream_connect_gconf(evolution_alarm_t) ') ######################################## # # Exchange local policy # allow evolution_exchange_t self:process getsched; allow evolution_exchange_t self:fifo_file rw_fifo_file_perms; allow evolution_exchange_t evolution_home_t:dir manage_dir_perms; allow evolution_exchange_t evolution_home_t:file manage_file_perms; allow evolution_exchange_t evolution_home_t:lnk_file manage_lnk_file_perms; userdom_user_home_dir_filetrans(evolution_exchange_t, evolution_home_t, dir, ".evolution") userdom_user_home_dir_filetrans(evolution_exchange_t, evolution_home_t, dir, ".camel_certs") allow evolution_exchange_t evolution_exchange_tmp_t:dir manage_dir_perms; allow evolution_exchange_t evolution_exchange_tmp_t:file manage_file_perms; files_tmp_filetrans(evolution_exchange_t, evolution_exchange_tmp_t, { file dir }) allow evolution_exchange_t evolution_exchange_tmpfs_t:dir rw_dir_perms; allow evolution_exchange_t evolution_exchange_tmpfs_t:file manage_file_perms; allow evolution_exchange_t evolution_exchange_tmpfs_t:lnk_file manage_lnk_file_perms; allow evolution_exchange_t evolution_exchange_tmpfs_t:sock_file manage_sock_file_perms; allow evolution_exchange_t evolution_exchange_tmpfs_t:fifo_file manage_fifo_file_perms; fs_tmpfs_filetrans(evolution_exchange_t, evolution_exchange_tmpfs_t, { dir file lnk_file sock_file fifo_file }) stream_connect_pattern(evolution_exchange_t, evolution_orbit_tmp_t, evolution_orbit_tmp_t, evolution_t) stream_connect_pattern(evolution_exchange_t, evolution_server_orbit_tmp_t, evolution_server_orbit_tmp_t, evolution_server_t) stream_connect_pattern(evolution_exchange_t, evolution_alarm_orbit_tmp_t, evolution_alarm_orbit_tmp_t, evolution_alarm_t) kernel_read_network_state(evolution_exchange_t) kernel_read_net_sysctls(evolution_exchange_t) corecmd_exec_bin(evolution_exchange_t) dev_read_urand(evolution_exchange_t) fs_search_auto_mountpoints(evolution_exchange_t) auth_use_nsswitch(evolution_exchange_t) miscfiles_read_localization(evolution_exchange_t) userdom_dontaudit_read_user_home_content_files(evolution_exchange_t) userdom_write_user_tmp_sockets(evolution_exchange_t) xserver_user_x_domain_template(evolution_exchange, evolution_exchange_t, evolution_exchange_tmpfs_t) tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(evolution_exchange_t) fs_manage_nfs_files(evolution_exchange_t) fs_manage_nfs_symlinks(evolution_exchange_t) ') tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(evolution_exchange_t) fs_manage_cifs_files(evolution_exchange_t) fs_manage_cifs_symlinks(evolution_exchange_t) ') optional_policy(` gnome_stream_connect_gconf(evolution_exchange_t) ') ######################################## # # Server local policy # allow evolution_server_t self:process { getsched signal }; allow evolution_server_t self:fifo_file { read write }; allow evolution_server_t self:unix_stream_socket { accept connectto listen }; allow evolution_server_t evolution_home_t:dir manage_dir_perms; allow evolution_server_t evolution_home_t:file manage_file_perms; allow evolution_server_t evolution_home_t:lnk_file manage_lnk_file_perms; userdom_user_home_dir_filetrans(evolution_server_t, evolution_home_t, dir, ".evolution") userdom_user_home_dir_filetrans(evolution_server_t, evolution_home_t, dir, ".camel_certs") stream_connect_pattern(evolution_server_t, evolution_orbit_tmp_t, evolution_orbit_tmp_t, evolution_t) stream_connect_pattern(evolution_server_t, evolution_exchange_orbit_tmp_t, evolution_exchange_orbit_tmp_t, evolution_exchange_t) stream_connect_pattern(evolution_server_t, evolution_alarm_orbit_tmp_t, evolution_alarm_orbit_tmp_t, evolution_alarm_t) kernel_read_system_state(evolution_server_t) corecmd_exec_shell(evolution_server_t) corenet_all_recvfrom_unlabeled(evolution_server_t) corenet_all_recvfrom_netlabel(evolution_server_t) corenet_tcp_sendrecv_generic_if(evolution_server_t) corenet_tcp_sendrecv_generic_node(evolution_server_t) corenet_sendrecv_http_cache_client_packets(evolution_server_t) corenet_tcp_sendrecv_http_cache_port(evolution_server_t) corenet_tcp_connect_http_cache_port(evolution_server_t) corenet_sendrecv_http_client_packets(evolution_server_t) corenet_tcp_sendrecv_http_port(evolution_server_t) corenet_tcp_connect_http_port(evolution_server_t) dev_read_urand(evolution_server_t) fs_search_auto_mountpoints(evolution_server_t) auth_use_nsswitch(evolution_server_t) miscfiles_read_localization(evolution_server_t) miscfiles_read_generic_certs(evolution_server_t) userdom_dontaudit_read_user_home_content_files(evolution_server_t) tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(evolution_server_t) fs_manage_nfs_files(evolution_server_t) fs_manage_nfs_symlinks(evolution_server_t) ') tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(evolution_server_t) fs_manage_cifs_files(evolution_server_t) fs_manage_cifs_symlinks(evolution_server_t) ') optional_policy(` gnome_stream_connect_gconf(evolution_server_t) ') ######################################## # # Webcal local policy # allow evolution_webcal_t evolution_webcal_tmpfs_t:dir rw_dir_perms; allow evolution_webcal_t evolution_webcal_tmpfs_t:file manage_file_perms; allow evolution_webcal_t evolution_webcal_tmpfs_t:lnk_file manage_lnk_file_perms; allow evolution_webcal_t evolution_webcal_tmpfs_t:sock_file manage_sock_file_perms; allow evolution_webcal_t evolution_webcal_tmpfs_t:fifo_file manage_fifo_file_perms; fs_tmpfs_filetrans(evolution_webcal_t, evolution_webcal_tmpfs_t, { dir file lnk_file sock_file fifo_file }) corenet_all_recvfrom_unlabeled(evolution_webcal_t) corenet_all_recvfrom_netlabel(evolution_webcal_t) corenet_tcp_sendrecv_generic_if(evolution_webcal_t) corenet_tcp_sendrecv_generic_node(evolution_webcal_t) corenet_tcp_sendrecv_http_port(evolution_webcal_t) corenet_tcp_connect_http_port(evolution_webcal_t) corenet_sendrecv_http_client_packets(evolution_webcal_t) corenet_tcp_sendrecv_http_cache_port(evolution_webcal_t) corenet_tcp_connect_http_cache_port(evolution_webcal_t) corenet_sendrecv_http_cache_client_packets(evolution_webcal_t) auth_use_nsswitch(evolution_webcal_t) userdom_search_user_home_dirs(evolution_webcal_t) userdom_dontaudit_read_user_home_content_files(evolution_webcal_t) xserver_user_x_domain_template(evolution_webcal, evolution_webcal_t, evolution_webcal_tmpfs_t)