+++ /dev/null
-## <summary>Thunderbird email client</summary>
-
-########################################
-## <summary>
-## Role access for thunderbird
-## </summary>
-## <param name="role">
-## <summary>
-## Role allowed access
-## </summary>
-## </param>
-## <param name="domain">
-## <summary>
-## User domain for the role
-## </summary>
-## </param>
-#
-interface(`thunderbird_role',`
- gen_require(`
- type thunderbird_t, thunderbird_exec_t;
- type thunderbird_home_t, thunderbird_tmpfs_t;
- ')
-
- role $1 types thunderbird_t;
-
- domain_auto_trans($2, thunderbird_exec_t, thunderbird_t)
- allow $2 thunderbird_t:fd use;
- allow $2 thunderbird_t:shm { associate getattr };
- allow $2 thunderbird_t:unix_stream_socket connectto;
- allow thunderbird_t $2:fd use;
- allow thunderbird_t $2:process sigchld;
- allow thunderbird_t $2:unix_stream_socket connectto;
-
- # allow ps to show thunderbird and allow the user to kill it
- ps_process_pattern($2, thunderbird_t)
- allow $2 thunderbird_t:process signal;
-
- # Access ~/.thunderbird
- manage_dirs_pattern($2, thunderbird_home_t, thunderbird_home_t)
- manage_files_pattern($2, thunderbird_home_t, thunderbird_home_t)
- manage_lnk_files_pattern($2, thunderbird_home_t, thunderbird_home_t)
- relabel_dirs_pattern($2, thunderbird_home_t, thunderbird_home_t)
- relabel_files_pattern($2, thunderbird_home_t, thunderbird_home_t)
- relabel_lnk_files_pattern($2, thunderbird_home_t, thunderbird_home_t)
-')
-
-########################################
-## <summary>
-## Run thunderbird in the user thunderbird domain.
-## </summary>
-## <param name="domain">
-## <summary>
-## Domain allowed to transition.
-## </summary>
-## </param>
-#
-interface(`thunderbird_domtrans',`
- gen_require(`
- type thunderbird_t, thunderbird_exec_t;
- ')
-
- domtrans_pattern($1, thunderbird_exec_t, thunderbird_t)
-')
+++ /dev/null
-policy_module(thunderbird, 2.2.0)
-
-########################################
-#
-# Declarations
-#
-
-type thunderbird_t;
-type thunderbird_exec_t;
-typealias thunderbird_t alias { user_thunderbird_t staff_thunderbird_t sysadm_thunderbird_t };
-typealias thunderbird_t alias { auditadm_thunderbird_t secadm_thunderbird_t };
-application_domain(thunderbird_t, thunderbird_exec_t)
-ubac_constrained(thunderbird_t)
-
-type thunderbird_home_t;
-typealias thunderbird_home_t alias { user_thunderbird_home_t staff_thunderbird_home_t sysadm_thunderbird_home_t };
-typealias thunderbird_home_t alias { auditadm_thunderbird_home_t secadm_thunderbird_home_t };
-userdom_user_home_content(thunderbird_home_t)
-
-type thunderbird_tmpfs_t;
-typealias thunderbird_tmpfs_t alias { user_thunderbird_tmpfs_t staff_thunderbird_tmpfs_t sysadm_thunderbird_tmpfs_t };
-typealias thunderbird_tmpfs_t alias { auditadm_thunderbird_tmpfs_t secadm_thunderbird_tmpfs_t };
-files_tmpfs_file(thunderbird_tmpfs_t)
-ubac_constrained(thunderbird_tmpfs_t)
-
-########################################
-#
-# Local policy
-#
-
-allow thunderbird_t self:capability sys_nice;
-allow thunderbird_t self:process { signal_perms setsched getsched execheap execmem execstack };
-allow thunderbird_t self:fifo_file { ioctl read write getattr };
-allow thunderbird_t self:unix_dgram_socket { create connect };
-allow thunderbird_t self:unix_stream_socket { create accept connect write getattr read listen bind };
-allow thunderbird_t self:tcp_socket create_socket_perms;
-allow thunderbird_t self:shm { read write create destroy unix_read unix_write };
-
-# Access ~/.thunderbird
-manage_dirs_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
-manage_files_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
-manage_lnk_files_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
-userdom_search_user_home_dirs(thunderbird_t)
-
-manage_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
-manage_lnk_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
-manage_fifo_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
-manage_sock_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
-fs_tmpfs_filetrans(thunderbird_t, thunderbird_tmpfs_t,{ dir file lnk_file sock_file fifo_file })
-
-# Allow netstat
-kernel_read_network_state(thunderbird_t)
-kernel_read_net_sysctls(thunderbird_t)
-kernel_read_system_state(thunderbird_t)
-
-# Startup shellscript
-corecmd_exec_shell(thunderbird_t)
-
-corenet_all_recvfrom_unlabeled(thunderbird_t)
-corenet_all_recvfrom_netlabel(thunderbird_t)
-corenet_tcp_sendrecv_generic_if(thunderbird_t)
-corenet_tcp_sendrecv_generic_node(thunderbird_t)
-corenet_tcp_sendrecv_ipp_port(thunderbird_t)
-corenet_tcp_sendrecv_ldap_port(thunderbird_t)
-corenet_tcp_sendrecv_innd_port(thunderbird_t)
-corenet_tcp_sendrecv_smtp_port(thunderbird_t)
-corenet_tcp_sendrecv_pop_port(thunderbird_t)
-corenet_tcp_sendrecv_http_port(thunderbird_t)
-corenet_tcp_connect_ipp_port(thunderbird_t)
-corenet_tcp_connect_ldap_port(thunderbird_t)
-corenet_tcp_connect_innd_port(thunderbird_t)
-corenet_tcp_connect_smtp_port(thunderbird_t)
-corenet_tcp_connect_pop_port(thunderbird_t)
-corenet_tcp_connect_http_port(thunderbird_t)
-corenet_sendrecv_ipp_client_packets(thunderbird_t)
-corenet_sendrecv_ldap_client_packets(thunderbird_t)
-corenet_sendrecv_innd_client_packets(thunderbird_t)
-corenet_sendrecv_smtp_client_packets(thunderbird_t)
-corenet_sendrecv_pop_client_packets(thunderbird_t)
-corenet_sendrecv_http_client_packets(thunderbird_t)
-
-dev_read_urand(thunderbird_t)
-dev_dontaudit_search_sysfs(thunderbird_t)
-
-files_list_tmp(thunderbird_t)
-files_read_usr_files(thunderbird_t)
-files_read_etc_files(thunderbird_t)
-files_read_etc_runtime_files(thunderbird_t)
-files_read_var_files(thunderbird_t)
-files_read_var_symlinks(thunderbird_t)
-files_dontaudit_getattr_all_tmp_files(thunderbird_t)
-files_dontaudit_getattr_boot_dirs(thunderbird_t)
-files_dontaudit_getattr_lost_found_dirs(thunderbird_t)
-files_dontaudit_search_mnt(thunderbird_t)
-
-fs_getattr_xattr_fs(thunderbird_t)
-fs_list_inotifyfs(thunderbird_t)
-# Access ~/.thunderbird
-fs_search_auto_mountpoints(thunderbird_t)
-
-auth_use_nsswitch(thunderbird_t)
-
-miscfiles_read_fonts(thunderbird_t)
-miscfiles_read_localization(thunderbird_t)
-
-userdom_manage_user_tmp_dirs(thunderbird_t)
-userdom_read_user_tmp_files(thunderbird_t)
-userdom_manage_user_tmp_sockets(thunderbird_t)
-# .kde/....gtkrc
-userdom_read_user_home_content_files(thunderbird_t)
-
-xserver_user_x_domain_template(thunderbird, thunderbird_t, thunderbird_tmpfs_t)
-xserver_read_xdm_tmp_files(thunderbird_t)
-xserver_dontaudit_getattr_xdm_tmp_sockets(thunderbird_t)
-
-# Access ~/.thunderbird
-userdom_home_manager(thunderbird_t)
-
-tunable_policy(`mail_read_content && use_nfs_home_dirs',`
- files_list_home(thunderbird_t)
-
- fs_list_auto_mountpoints(thunderbird_t)
- fs_read_nfs_files(thunderbird_t)
- fs_read_nfs_symlinks(thunderbird_t)
-',`
- files_dontaudit_list_home(thunderbird_t)
-
- fs_dontaudit_list_auto_mountpoints(thunderbird_t)
- fs_dontaudit_list_nfs(thunderbird_t)
- fs_dontaudit_read_nfs_files(thunderbird_t)
-')
-
-tunable_policy(`mail_read_content && use_samba_home_dirs',`
- files_list_home(thunderbird_t)
-
- fs_list_auto_mountpoints(thunderbird_t)
- fs_read_cifs_files(thunderbird_t)
- fs_read_cifs_symlinks(thunderbird_t)
-',`
- files_dontaudit_list_home(thunderbird_t)
-
- fs_dontaudit_list_auto_mountpoints(thunderbird_t)
- fs_dontaudit_read_cifs_files(thunderbird_t)
- fs_dontaudit_list_cifs(thunderbird_t)
-')
-
-tunable_policy(`mail_read_content',`
- userdom_list_user_tmp(thunderbird_t)
- userdom_read_user_tmp_files(thunderbird_t)
- userdom_read_user_tmp_symlinks(thunderbird_t)
- userdom_search_user_home_dirs(thunderbird_t)
- userdom_read_user_home_content_files(thunderbird_t)
-
- ifndef(`enable_mls',`
- fs_search_removable(thunderbird_t)
- fs_read_removable_files(thunderbird_t)
- fs_read_removable_symlinks(thunderbird_t)
- ')
-',`
- files_dontaudit_list_tmp(thunderbird_t)
- files_dontaudit_list_home(thunderbird_t)
-
- fs_dontaudit_list_removable(thunderbird_t)
- fs_dontaudit_read_removable_files(thunderbird_t)
-
- userdom_dontaudit_list_user_tmp(thunderbird_t)
- userdom_dontaudit_read_user_tmp_files(thunderbird_t)
- userdom_dontaudit_list_user_home_dirs(thunderbird_t)
- userdom_dontaudit_read_user_home_content_files(thunderbird_t)
-')
-
-optional_policy(`
- dbus_system_bus_client(thunderbird_t)
- dbus_session_bus_client(thunderbird_t)
-')
-
-optional_policy(`
- cups_read_rw_config(thunderbird_t)
- cups_dbus_chat(thunderbird_t)
-')
-
-optional_policy(`
- gnome_stream_connect_gconf(thunderbird_t)
- gnome_domtrans_gconfd(thunderbird_t)
- gnome_manage_config(thunderbird_t)
-')
-
-optional_policy(`
- gpg_domtrans(thunderbird_t)
-')
-
-optional_policy(`
- lpd_domtrans_lpr(thunderbird_t)
-')