From 6726024e43be9e195c563f4e67c764e031114373 Mon Sep 17 00:00:00 2001 From: Miroslav Grepl Date: Mar 08 2011 18:28:56 +0000 Subject: Update to upstream --- diff --git a/policy-F15.patch b/policy-F15.patch index e59db95..d97462d 100644 --- a/policy-F15.patch +++ b/policy-F15.patch @@ -1,13 +1,3 @@ -diff --git a/Changelog b/Changelog -index 6f31b1e..e2cd6fb 100644 ---- a/Changelog -+++ b/Changelog -@@ -1,3 +1,5 @@ -+- Cron pam_namespace and pam_loginuid support from Harry Ciao. -+- Xserver update for startx from Sven Vermeulen. - - Fix MLS constraint for contains permission from Harry Ciao. - - Apache user webpages fix from Dominick Grift. - - Change default build.conf to modular policy from Stephen Smalley. diff --git a/Makefile b/Makefile index b8486a0..bec48d7 100644 --- a/Makefile @@ -271,86 +261,56 @@ index e66c296..61f738b 100644 + + dontaudit $1 acct_data_t:dir list_dir_perms; +') -diff --git a/policy/modules/admin/alsa.if b/policy/modules/admin/alsa.if -index 90d5203..1392679 100644 ---- a/policy/modules/admin/alsa.if -+++ b/policy/modules/admin/alsa.if -@@ -21,6 +21,32 @@ interface(`alsa_domtrans',` +diff --git a/policy/modules/admin/amanda.te b/policy/modules/admin/amanda.te +index 46d467c..d841424 100644 +--- a/policy/modules/admin/amanda.te ++++ b/policy/modules/admin/amanda.te +@@ -200,12 +200,14 @@ files_search_pids(amanda_recover_t) - ######################################## - ## -+## Execute a domain transition to run -+## Alsa, and allow the specified role -+## the Alsa domain. -+## -+## -+## -+## Domain allowed to transition. -+## -+## -+## -+## -+## Role allowed access. -+## -+## -+# -+interface(`alsa_run',` -+ gen_require(` -+ type alsa_t; -+ ') -+ -+ alsa_domtrans($1) -+ role $2 types alsa_t; -+') -+ -+######################################## -+## - ## Read and write Alsa semaphores. - ## - ## -diff --git a/policy/modules/admin/alsa.te b/policy/modules/admin/alsa.te -index a7c7971..d073f49 100644 ---- a/policy/modules/admin/alsa.te -+++ b/policy/modules/admin/alsa.te -@@ -11,7 +11,10 @@ init_system_domain(alsa_t, alsa_exec_t) - role system_r types alsa_t; - - type alsa_etc_rw_t; --files_type(alsa_etc_rw_t) -+files_config_file(alsa_etc_rw_t) -+ -+type alsa_tmp_t; -+files_tmp_file(alsa_tmp_t) + auth_use_nsswitch(amanda_recover_t) - type alsa_var_lib_t; - files_type(alsa_var_lib_t) -@@ -39,6 +42,13 @@ files_etc_filetrans(alsa_t, alsa_etc_rw_t, file) +-fstools_domtrans(amanda_t) +-fstools_signal(amanda_t) +- + logging_search_logs(amanda_recover_t) - can_exec(alsa_t, alsa_exec_t) + miscfiles_read_localization(amanda_recover_t) -+manage_dirs_pattern(alsa_t, alsa_tmp_t, alsa_tmp_t) -+manage_files_pattern(alsa_t, alsa_tmp_t, alsa_tmp_t) -+files_tmp_filetrans(alsa_t, alsa_tmp_t, { dir file }) -+userdom_user_tmp_filetrans(alsa_t, alsa_tmp_t, { dir file }) -+userdom_dontaudit_setattr_user_tmp(alsa_t) + userdom_use_user_terminals(amanda_recover_t) + userdom_search_user_home_content(amanda_recover_t) + -+ - manage_dirs_pattern(alsa_t, alsa_var_lib_t, alsa_var_lib_t) - manage_files_pattern(alsa_t, alsa_var_lib_t, alsa_var_lib_t) - files_search_var_lib(alsa_t) ++optional_policy(` ++ fstools_domtrans(amanda_t) ++ fstools_signal(amanda_t) ++') diff --git a/policy/modules/admin/anaconda.te b/policy/modules/admin/anaconda.te -index e81bdbd..63ab279 100644 +index e81bdbd..dd1522d 100644 --- a/policy/modules/admin/anaconda.te +++ b/policy/modules/admin/anaconda.te -@@ -30,6 +30,7 @@ modutils_domtrans_insmod(anaconda_t) - modutils_domtrans_depmod(anaconda_t) +@@ -26,10 +26,8 @@ libs_domtrans_ldconfig(anaconda_t) + + logging_send_syslog_msg(anaconda_t) +-modutils_domtrans_insmod(anaconda_t) +-modutils_domtrans_depmod(anaconda_t) +- seutil_domtrans_semanage(anaconda_t) +seutil_domtrans_setsebool(anaconda_t) userdom_user_home_dir_filetrans_user_home_content(anaconda_t, { dir file lnk_file fifo_file sock_file }) -@@ -51,7 +52,7 @@ optional_policy(` +@@ -38,6 +36,10 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_insmod(anaconda_t) ++ modutils_domtrans_depmod(anaconda_t) ++') ++optional_policy(` + rpm_domtrans(anaconda_t) + rpm_domtrans_script(anaconda_t) + ') +@@ -51,7 +53,7 @@ optional_policy(` ') optional_policy(` @@ -389,7 +349,7 @@ index 63eb96b..17a9f6d 100644 ## ## Execute bootloader interactively and do diff --git a/policy/modules/admin/bootloader.te b/policy/modules/admin/bootloader.te -index d3da8f2..9799904 100644 +index d3da8f2..a9c9ff2 100644 --- a/policy/modules/admin/bootloader.te +++ b/policy/modules/admin/bootloader.te @@ -23,7 +23,7 @@ role system_r types bootloader_t; @@ -401,6 +361,28 @@ index d3da8f2..9799904 100644 # # The temp file is used for initrd creation; +@@ -121,8 +121,6 @@ logging_rw_generic_logs(bootloader_t) + + miscfiles_read_localization(bootloader_t) + +-modutils_domtrans_insmod_uncond(bootloader_t) +- + seutil_read_bin_policy(bootloader_t) + seutil_read_loadpolicy(bootloader_t) + seutil_dontaudit_search_config(bootloader_t) +@@ -162,8 +160,10 @@ ifdef(`distro_redhat',` + files_manage_isid_type_blk_files(bootloader_t) + files_manage_isid_type_chr_files(bootloader_t) + +- # for mke2fs +- mount_domtrans(bootloader_t) ++ optional_policy(` ++ # for mke2fs ++ mount_domtrans(bootloader_t) ++ ') + + optional_policy(` + unconfined_domain(bootloader_t) @@ -171,6 +171,10 @@ ifdef(`distro_redhat',` ') @@ -412,6 +394,14 @@ index d3da8f2..9799904 100644 fstools_exec(bootloader_t) ') +@@ -197,6 +201,7 @@ optional_policy(` + modutils_exec_insmod(bootloader_t) + modutils_exec_depmod(bootloader_t) + modutils_exec_update_mods(bootloader_t) ++ modutils_domtrans_insmod_uncond(bootloader_t) + ') + + optional_policy(` diff --git a/policy/modules/admin/brctl.if b/policy/modules/admin/brctl.if index 2c2cdb6..73b3814 100644 --- a/policy/modules/admin/brctl.if @@ -506,6 +496,29 @@ index cd5e005..24f73ca 100644 ') optional_policy(` +diff --git a/policy/modules/admin/ddcprobe.te b/policy/modules/admin/ddcprobe.te +index 5e062bc..8854858 100644 +--- a/policy/modules/admin/ddcprobe.te ++++ b/policy/modules/admin/ddcprobe.te +@@ -42,10 +42,14 @@ libs_read_lib_files(ddcprobe_t) + + miscfiles_read_localization(ddcprobe_t) + +-modutils_read_module_deps(ddcprobe_t) +- + userdom_use_user_terminals(ddcprobe_t) + userdom_use_all_users_fds(ddcprobe_t) + +-#reh why? this does not seem even necessary to function properly +-kudzu_getattr_exec_files(ddcprobe_t) ++optional_policy(` ++ #reh why? this does not seem even necessary to function properly ++ kudzu_getattr_exec_files(ddcprobe_t) ++') ++ ++optional_policy(` ++ modutils_read_module_deps(ddcprobe_t) ++') diff --git a/policy/modules/admin/dmesg.te b/policy/modules/admin/dmesg.te index 72bc6d8..ed02103 100644 --- a/policy/modules/admin/dmesg.te @@ -532,7 +545,7 @@ index 72bc6d8..ed02103 100644 ') diff --git a/policy/modules/admin/dpkg.te b/policy/modules/admin/dpkg.te -index 6776b69..86cff15 100644 +index 6776b69..a1482b0 100644 --- a/policy/modules/admin/dpkg.te +++ b/policy/modules/admin/dpkg.te @@ -18,7 +18,7 @@ role system_r types dpkg_t; @@ -544,6 +557,50 @@ index 6776b69..86cff15 100644 type dpkg_tmp_t; files_tmp_file(dpkg_tmp_t) +@@ -193,14 +193,19 @@ domain_signull_all_domains(dpkg_t) + files_read_etc_runtime_files(dpkg_t) + files_exec_usr_files(dpkg_t) + miscfiles_read_localization(dpkg_t) +-modutils_domtrans_depmod(dpkg_t) +-modutils_domtrans_insmod(dpkg_t) + seutil_domtrans_loadpolicy(dpkg_t) + seutil_domtrans_setfiles(dpkg_t) + userdom_use_all_users_fds(dpkg_t) ++ + optional_policy(` + mta_send_mail(dpkg_t) + ') ++ ++optional_policy(` ++ modutils_domtrans_depmod(dpkg_t) ++ modutils_domtrans_insmod(dpkg_t) ++') ++ + optional_policy(` + usermanage_domtrans_groupadd(dpkg_t) + usermanage_domtrans_useradd(dpkg_t) +@@ -299,9 +304,6 @@ logging_send_syslog_msg(dpkg_script_t) + + miscfiles_read_localization(dpkg_script_t) + +-modutils_domtrans_depmod(dpkg_script_t) +-modutils_domtrans_insmod(dpkg_script_t) +- + seutil_domtrans_loadpolicy(dpkg_script_t) + seutil_domtrans_setfiles(dpkg_script_t) + +@@ -321,6 +323,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_depmod(dpkg_script_t) ++ modutils_domtrans_insmod(dpkg_script_t) ++') ++ ++optional_policy(` + mta_send_mail(dpkg_script_t) + ') + diff --git a/policy/modules/admin/firstboot.if b/policy/modules/admin/firstboot.if index 8fa451c..bc5bfc4 100644 --- a/policy/modules/admin/firstboot.if @@ -575,10 +632,22 @@ index 8fa451c..bc5bfc4 100644 ## ## diff --git a/policy/modules/admin/firstboot.te b/policy/modules/admin/firstboot.te -index c4d8998..6f193f8 100644 +index c4d8998..dbdc14c 100644 --- a/policy/modules/admin/firstboot.te +++ b/policy/modules/admin/firstboot.te -@@ -103,6 +103,10 @@ optional_policy(` +@@ -75,11 +75,6 @@ logging_send_syslog_msg(firstboot_t) + + miscfiles_read_localization(firstboot_t) + +-modutils_domtrans_insmod(firstboot_t) +-modutils_domtrans_depmod(firstboot_t) +-modutils_read_module_config(firstboot_t) +-modutils_read_module_deps(firstboot_t) +- + userdom_use_user_terminals(firstboot_t) + # Add/remove user home directories + userdom_manage_user_home_content_dirs(firstboot_t) +@@ -103,8 +98,18 @@ optional_policy(` ') optional_policy(` @@ -588,8 +657,16 @@ index c4d8998..6f193f8 100644 +optional_policy(` nis_use_ypbind(firstboot_t) ') ++optional_policy(` ++ modutils_domtrans_insmod(firstboot_t) ++ modutils_domtrans_depmod(firstboot_t) ++ modutils_read_module_config(firstboot_t) ++ modutils_read_module_deps(firstboot_t) ++') -@@ -125,6 +129,7 @@ optional_policy(` + optional_policy(` + samba_rw_config(firstboot_t) +@@ -125,6 +130,7 @@ optional_policy(` ') optional_policy(` @@ -626,26 +703,51 @@ index 4198ff5..df3f4d6 100644 #################################### ## ## Manage kdump configuration file. +diff --git a/policy/modules/admin/kudzu.te b/policy/modules/admin/kudzu.te +index 4f7bd3c..3405a10 100644 +--- a/policy/modules/admin/kudzu.te ++++ b/policy/modules/admin/kudzu.te +@@ -111,11 +111,6 @@ logging_send_syslog_msg(kudzu_t) + miscfiles_read_hwdata(kudzu_t) + miscfiles_read_localization(kudzu_t) + +-modutils_read_module_config(kudzu_t) +-modutils_read_module_deps(kudzu_t) +-modutils_rename_module_config(kudzu_t) +-modutils_delete_module_config(kudzu_t) +-modutils_domtrans_insmod(kudzu_t) + + sysnet_read_config(kudzu_t) + +@@ -128,6 +123,14 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_read_module_config(kudzu_t) ++ modutils_read_module_deps(kudzu_t) ++ modutils_rename_module_config(kudzu_t) ++ modutils_delete_module_config(kudzu_t) ++ modutils_domtrans_insmod(kudzu_t) ++') ++ ++optional_policy(` + nscd_socket_use(kudzu_t) + ') + diff --git a/policy/modules/admin/logrotate.te b/policy/modules/admin/logrotate.te -index 7090dae..a874b65 100644 +index 7090dae..ce5af6e 100644 --- a/policy/modules/admin/logrotate.te +++ b/policy/modules/admin/logrotate.te -@@ -119,14 +119,20 @@ seutil_dontaudit_read_config(logrotate_t) +@@ -119,14 +119,10 @@ seutil_dontaudit_read_config(logrotate_t) userdom_use_user_terminals(logrotate_t) userdom_list_user_home_dirs(logrotate_t) userdom_use_unpriv_users_fds(logrotate_t) -+userdom_dontaudit_list_admin_dir(logrotate_t) - - cron_system_entry(logrotate_t, logrotate_exec_t) - cron_search_spool(logrotate_t) - +- +-cron_system_entry(logrotate_t, logrotate_exec_t) +-cron_search_spool(logrotate_t) +- -mta_send_mail(logrotate_t) -+#mta_send_mail(logrotate_t) -+mta_base_mail_template(logrotate) -+mta_sendmail_domtrans(logrotate_t, logrotate_mail_t) -+role system_r types logrotate_mail_t; -+logging_read_all_logs(logrotate_mail_t) -+manage_files_pattern(logrotate_mail_t, logrotate_tmp_t, logrotate_tmp_t) ++userdom_dontaudit_list_admin_dir(logrotate_t) ifdef(`distro_debian', ` - allow logrotate_t logrotate_tmp_t:file { relabelfrom relabelto }; @@ -653,6 +755,41 @@ index 7090dae..a874b65 100644 # for savelog can_exec(logrotate_t, logrotate_exec_t) +@@ -166,6 +162,11 @@ optional_policy(` + ') + + optional_policy(` ++ cron_system_entry(logrotate_t, logrotate_exec_t) ++ cron_search_spool(logrotate_t) ++') ++ ++optional_policy(` + cups_domtrans(logrotate_t) + ') + +@@ -203,7 +204,6 @@ optional_policy(` + psad_domtrans(logrotate_t) + ') + +- + optional_policy(` + samba_exec_log(logrotate_t) + ') +@@ -228,3 +228,14 @@ optional_policy(` + optional_policy(` + varnishd_manage_log(logrotate_t) + ') ++ ++####################################### ++# ++# logrotate_mail local policy ++# ++ ++mta_base_mail_template(logrotate) ++mta_sendmail_domtrans(logrotate_t, logrotate_mail_t) ++role system_r types logrotate_mail_t; ++logging_read_all_logs(logrotate_mail_t) ++manage_files_pattern(logrotate_mail_t, logrotate_tmp_t, logrotate_tmp_t) diff --git a/policy/modules/admin/logwatch.fc b/policy/modules/admin/logwatch.fc index 3c7b1e8..1e155f5 100644 --- a/policy/modules/admin/logwatch.fc @@ -736,24 +873,23 @@ index 56c43c0..de535e4 100644 +/var/run/mcelog-client -s gen_context(system_u:object_r:mcelog_var_run_t,s0) + diff --git a/policy/modules/admin/mcelog.te b/policy/modules/admin/mcelog.te -index 5671977..8498ed1 100644 +index 5671977..24a6ad6 100644 --- a/policy/modules/admin/mcelog.te +++ b/policy/modules/admin/mcelog.te -@@ -7,9 +7,13 @@ policy_module(mcelog, 1.1.0) +@@ -7,8 +7,11 @@ policy_module(mcelog, 1.1.0) type mcelog_t; type mcelog_exec_t; +init_system_domain(mcelog_t, mcelog_exec_t) application_domain(mcelog_t, mcelog_exec_t) - cron_system_entry(mcelog_t, mcelog_exec_t) - +-cron_system_entry(mcelog_t, mcelog_exec_t) ++ +type mcelog_var_run_t; +files_pid_file(mcelog_var_run_t) -+ + ######################################## # - # mcelog local policy -@@ -17,10 +21,18 @@ cron_system_entry(mcelog_t, mcelog_exec_t) +@@ -17,10 +20,18 @@ cron_system_entry(mcelog_t, mcelog_exec_t) allow mcelog_t self:capability sys_admin; @@ -772,6 +908,14 @@ index 5671977..8498ed1 100644 files_read_etc_files(mcelog_t) +@@ -30,3 +41,7 @@ mls_file_read_all_levels(mcelog_t) + logging_send_syslog_msg(mcelog_t) + + miscfiles_read_localization(mcelog_t) ++ ++optional_policy(` ++ cron_system_entry(mcelog_t, mcelog_exec_t) ++') diff --git a/policy/modules/admin/mrtg.te b/policy/modules/admin/mrtg.te index 0e19d80..9d58abe 100644 --- a/policy/modules/admin/mrtg.te @@ -878,10 +1022,10 @@ index 0000000..8c2e044 + diff --git a/policy/modules/admin/ncftool.te b/policy/modules/admin/ncftool.te new file mode 100644 -index 0000000..67296b9 +index 0000000..104253d --- /dev/null +++ b/policy/modules/admin/ncftool.te -@@ -0,0 +1,89 @@ +@@ -0,0 +1,87 @@ +policy_module(ncftool, 1.0.0) + +######################################## @@ -935,10 +1079,6 @@ index 0000000..67296b9 + +miscfiles_read_localization(ncftool_t) + -+modutils_list_module_config(ncftool_t) -+modutils_read_module_config(ncftool_t) -+modutils_domtrans_insmod(ncftool_t) -+ +sysnet_delete_dhcpc_pid(ncftool_t) +sysnet_domtrans_dhcpc(ncftool_t) +sysnet_domtrans_ifconfig(ncftool_t) @@ -957,7 +1097,7 @@ index 0000000..67296b9 +') + +optional_policy(` -+ dbus_system_bus_client(ncftool_t) ++ dbus_system_bus_client(ncftool_t) +') + +optional_policy(` @@ -965,11 +1105,13 @@ index 0000000..67296b9 +') + +optional_policy(` -+ iptables_initrc_domtrans(ncftool_t) ++ netutils_domtrans(ncftool_t) +') + +optional_policy(` -+ netutils_domtrans(ncftool_t) ++ modutils_list_module_config(ncftool_t) ++ modutils_read_module_config(ncftool_t) ++ modutils_domtrans_insmod(ncftool_t) +') diff --git a/policy/modules/admin/netutils.if b/policy/modules/admin/netutils.if index c6ca761..46e0767 100644 @@ -1111,7 +1253,7 @@ index e0791b9..c083ea8 100644 + term_dontaudit_use_all_ptys(traceroute_t) +') diff --git a/policy/modules/admin/portage.te b/policy/modules/admin/portage.te -index c633aea..b773bc3 100644 +index c633aea..c489eec 100644 --- a/policy/modules/admin/portage.te +++ b/policy/modules/admin/portage.te @@ -43,7 +43,7 @@ type portage_db_t; @@ -1123,6 +1265,17 @@ index c633aea..b773bc3 100644 type portage_cache_t; files_type(portage_cache_t) +@@ -107,7 +107,9 @@ miscfiles_read_localization(gcc_config_t) + + userdom_use_user_terminals(gcc_config_t) + +-consoletype_exec(gcc_config_t) ++optional_policy(` ++ consoletype_exec(gcc_config_t) ++') + + optional_policy(` + seutil_use_newrole_fds(gcc_config_t) diff --git a/policy/modules/admin/prelink.te b/policy/modules/admin/prelink.te index af55369..f77e897 100644 --- a/policy/modules/admin/prelink.te @@ -1234,10 +1387,10 @@ index 7077413..56d1ecb 100644 + +/dev/\.systemd/readahead(/.*)? gen_context(system_u:object_r:readahead_var_run_t,s0) diff --git a/policy/modules/admin/readahead.if b/policy/modules/admin/readahead.if -index 47c4723..4866a08 100644 +index 47c4723..ca58272 100644 --- a/policy/modules/admin/readahead.if +++ b/policy/modules/admin/readahead.if -@@ -1 +1,20 @@ +@@ -1 +1,40 @@ ## Readahead, read files into page cache for improved performance + +######################################## @@ -1258,6 +1411,26 @@ index 47c4723..4866a08 100644 + corecmd_search_bin($1) + domtrans_pattern($1, readahead_exec_t, readahead_t) +') ++ ++######################################## ++## ++## Manage readahead var_run files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`readahead_manage_pid_files',` ++ gen_require(` ++ type readahead_var_run_t; ++ ') ++ ++ manage_files_pattern($1, readahead_var_run_t, readahead_var_run_t) ++ files_search_pids($1) ++') ++ diff --git a/policy/modules/admin/readahead.te b/policy/modules/admin/readahead.te index b4ac57e..d3b51b7 100644 --- a/policy/modules/admin/readahead.te @@ -1526,7 +1699,7 @@ index d33daa8..c76708e 100644 + allow rpm_script_t $1:process sigchld; +') diff --git a/policy/modules/admin/rpm.te b/policy/modules/admin/rpm.te -index 47a8f7d..31f474e 100644 +index 47a8f7d..bca3b72 100644 --- a/policy/modules/admin/rpm.te +++ b/policy/modules/admin/rpm.te @@ -1,10 +1,11 @@ @@ -1578,7 +1751,7 @@ index 47a8f7d..31f474e 100644 fs_getattr_all_dirs(rpm_t) fs_list_inotifyfs(rpm_t) -@@ -173,6 +181,7 @@ domain_dontaudit_getattr_all_packet_sockets(rpm_t) +@@ -173,11 +181,13 @@ domain_dontaudit_getattr_all_packet_sockets(rpm_t) domain_dontaudit_getattr_all_raw_sockets(rpm_t) domain_dontaudit_getattr_all_stream_sockets(rpm_t) domain_dontaudit_getattr_all_dgram_sockets(rpm_t) @@ -1586,7 +1759,13 @@ index 47a8f7d..31f474e 100644 files_exec_etc_files(rpm_t) -@@ -207,6 +216,7 @@ optional_policy(` + init_domtrans_script(rpm_t) + init_use_script_ptys(rpm_t) ++init_signull_script(rpm_t) + + libs_exec_ld_so(rpm_t) + libs_exec_lib_files(rpm_t) +@@ -207,6 +217,7 @@ optional_policy(` optional_policy(` networkmanager_dbus_chat(rpm_t) ') @@ -1594,7 +1773,7 @@ index 47a8f7d..31f474e 100644 ') optional_policy(` -@@ -214,7 +224,7 @@ optional_policy(` +@@ -214,7 +225,7 @@ optional_policy(` ') optional_policy(` @@ -1603,7 +1782,7 @@ index 47a8f7d..31f474e 100644 # yum-updatesd requires this unconfined_dbus_chat(rpm_t) unconfined_dbus_chat(rpm_script_t) -@@ -261,6 +271,7 @@ kernel_read_crypto_sysctls(rpm_script_t) +@@ -261,6 +272,7 @@ kernel_read_crypto_sysctls(rpm_script_t) kernel_read_kernel_sysctls(rpm_script_t) kernel_read_system_state(rpm_script_t) kernel_read_network_state(rpm_script_t) @@ -1611,7 +1790,7 @@ index 47a8f7d..31f474e 100644 kernel_read_software_raid_state(rpm_script_t) dev_list_sysfs(rpm_script_t) -@@ -308,6 +319,8 @@ auth_manage_all_files_except_shadow(rpm_script_t) +@@ -308,6 +320,8 @@ auth_manage_all_files_except_shadow(rpm_script_t) auth_relabel_shadow(rpm_script_t) corecmd_exec_all_executables(rpm_script_t) @@ -1620,7 +1799,13 @@ index 47a8f7d..31f474e 100644 domain_read_all_domains_state(rpm_script_t) domain_getattr_all_domains(rpm_script_t) -@@ -338,12 +351,15 @@ modutils_domtrans_insmod(rpm_script_t) +@@ -332,18 +346,18 @@ logging_send_syslog_msg(rpm_script_t) + + miscfiles_read_localization(rpm_script_t) + +-modutils_domtrans_depmod(rpm_script_t) +-modutils_domtrans_insmod(rpm_script_t) +- seutil_domtrans_loadpolicy(rpm_script_t) seutil_domtrans_setfiles(rpm_script_t) seutil_domtrans_semanage(rpm_script_t) @@ -1636,7 +1821,19 @@ index 47a8f7d..31f474e 100644 ') ') -@@ -377,8 +393,9 @@ optional_policy(` +@@ -368,6 +382,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_depmod(rpm_script_t) ++ modutils_domtrans_insmod(rpm_script_t) ++') ++ ++optional_policy(` + tzdata_domtrans(rpm_t) + tzdata_domtrans(rpm_script_t) + ') +@@ -377,8 +396,9 @@ optional_policy(` ') optional_policy(` @@ -1648,14 +1845,37 @@ index 47a8f7d..31f474e 100644 optional_policy(` java_domtrans_unconfined(rpm_script_t) diff --git a/policy/modules/admin/sectoolm.te b/policy/modules/admin/sectoolm.te -index c8ef84b..e241334 100644 +index c8ef84b..40ceffb 100644 --- a/policy/modules/admin/sectoolm.te +++ b/policy/modules/admin/sectoolm.te -@@ -84,6 +84,7 @@ logging_send_syslog_msg(sectoolm_t) +@@ -70,12 +70,6 @@ application_exec_all(sectoolm_t) + + auth_use_nsswitch(sectoolm_t) + +-# tests related to network +-hostname_exec(sectoolm_t) +- +-# tests related to network +-iptables_domtrans(sectoolm_t) +- + libs_exec_ld_so(sectoolm_t) + + logging_send_syslog_msg(sectoolm_t) +@@ -84,6 +78,17 @@ logging_send_syslog_msg(sectoolm_t) sysnet_domtrans_ifconfig(sectoolm_t) userdom_manage_user_tmp_sockets(sectoolm_t) +userdom_dgram_send(sectoolm_t) ++ ++optional_policy(` ++ # tests related to network ++ hostname_exec(sectoolm_t) ++') ++ ++optional_policy(` ++ # tests related to network ++ iptables_domtrans(sectoolm_t) ++') optional_policy(` mount_exec(sectoolm_t) @@ -1943,10 +2163,18 @@ index 8966ec9..a54882c 100644 + xserver_xdm_append_log(shutdown_t) ') diff --git a/policy/modules/admin/smoltclient.te b/policy/modules/admin/smoltclient.te -index bc00875..3c1b37b 100644 +index bc00875..b47c0f4 100644 --- a/policy/modules/admin/smoltclient.te +++ b/policy/modules/admin/smoltclient.te -@@ -46,6 +46,7 @@ fs_list_auto_mountpoints(smoltclient_t) +@@ -8,7 +8,6 @@ policy_module(smoltclient, 1.1.0) + type smoltclient_t; + type smoltclient_exec_t; + application_domain(smoltclient_t, smoltclient_exec_t) +-cron_system_entry(smoltclient_t, smoltclient_exec_t) + + type smoltclient_tmp_t; + files_tmp_file(smoltclient_tmp_t) +@@ -46,6 +45,7 @@ fs_list_auto_mountpoints(smoltclient_t) files_getattr_generic_locks(smoltclient_t) files_read_etc_files(smoltclient_t) @@ -1954,6 +2182,43 @@ index bc00875..3c1b37b 100644 files_read_usr_files(smoltclient_t) auth_use_nsswitch(smoltclient_t) +@@ -55,6 +55,10 @@ logging_send_syslog_msg(smoltclient_t) + miscfiles_read_localization(smoltclient_t) + + optional_policy(` ++ cron_system_entry(smoltclient_t, smoltclient_exec_t) ++') ++ ++optional_policy(` + dbus_system_bus_client(smoltclient_t) + ') + +diff --git a/policy/modules/admin/sosreport.te b/policy/modules/admin/sosreport.te +index fe1c377..7660180 100644 +--- a/policy/modules/admin/sosreport.te ++++ b/policy/modules/admin/sosreport.te +@@ -92,9 +92,6 @@ logging_send_syslog_msg(sosreport_t) + + miscfiles_read_localization(sosreport_t) + +-# needed by modinfo +-modutils_read_module_deps(sosreport_t) +- + sysnet_read_config(sosreport_t) + + optional_policy(` +@@ -110,6 +107,11 @@ optional_policy(` + ') + + optional_policy(` ++ # needed by modinfo ++ modutils_read_module_deps(sosreport_t) ++') ++ ++optional_policy(` + fstools_domtrans(sosreport_t) + ') + diff --git a/policy/modules/admin/su.if b/policy/modules/admin/su.if index 8c5fa3c..1a46f56 100644 --- a/policy/modules/admin/su.if @@ -2063,8 +2328,33 @@ index 2731fa1..3443ba2 100644 +type sudo_db_t; +files_type(sudo_db_t) + +diff --git a/policy/modules/admin/sxid.te b/policy/modules/admin/sxid.te +index d5aaf0e..689b2fd 100644 +--- a/policy/modules/admin/sxid.te ++++ b/policy/modules/admin/sxid.te +@@ -76,13 +76,17 @@ logging_send_syslog_msg(sxid_t) + + miscfiles_read_localization(sxid_t) + +-mount_exec(sxid_t) +- + sysnet_read_config(sxid_t) + + userdom_dontaudit_use_unpriv_user_fds(sxid_t) + +-cron_system_entry(sxid_t, sxid_exec_t) ++optional_policy(` ++ cron_system_entry(sxid_t, sxid_exec_t) ++') ++ ++optional_policy(` ++ mount_exec(sxid_t) ++') + + optional_policy(` + mta_send_mail(sxid_t) diff --git a/policy/modules/admin/tmpreaper.te b/policy/modules/admin/tmpreaper.te -index 6a5004b..c59c3cd 100644 +index 6a5004b..9b0f49e 100644 --- a/policy/modules/admin/tmpreaper.te +++ b/policy/modules/admin/tmpreaper.te @@ -7,6 +7,7 @@ policy_module(tmpreaper, 1.5.0) @@ -2087,7 +2377,18 @@ index 6a5004b..c59c3cd 100644 files_getattr_all_dirs(tmpreaper_t) files_getattr_all_files(tmpreaper_t) -@@ -52,7 +56,9 @@ optional_policy(` +@@ -38,7 +42,9 @@ logging_send_syslog_msg(tmpreaper_t) + miscfiles_read_localization(tmpreaper_t) + miscfiles_delete_man_pages(tmpreaper_t) + +-cron_system_entry(tmpreaper_t, tmpreaper_exec_t) ++optional_policy(` ++ cron_system_entry(tmpreaper_t, tmpreaper_exec_t) ++') + + ifdef(`distro_redhat',` + userdom_list_user_home_content(tmpreaper_t) +@@ -52,7 +58,9 @@ optional_policy(` ') optional_policy(` @@ -2097,7 +2398,7 @@ index 6a5004b..c59c3cd 100644 apache_delete_cache_files(tmpreaper_t) apache_setattr_cache_dirs(tmpreaper_t) ') -@@ -66,6 +72,14 @@ optional_policy(` +@@ -66,6 +74,14 @@ optional_policy(` ') optional_policy(` @@ -2125,6 +2426,27 @@ index d0f2a64..7df0825 100644 files_search_spool(tzdata_t) fs_getattr_xattr_fs(tzdata_t) +diff --git a/policy/modules/admin/usbmodules.te b/policy/modules/admin/usbmodules.te +index 74354da..0852738 100644 +--- a/policy/modules/admin/usbmodules.te ++++ b/policy/modules/admin/usbmodules.te +@@ -34,8 +34,6 @@ init_use_fds(usbmodules_t) + + miscfiles_read_hwdata(usbmodules_t) + +-modutils_read_module_deps(usbmodules_t) +- + userdom_use_user_terminals(usbmodules_t) + + optional_policy(` +@@ -45,3 +43,7 @@ optional_policy(` + optional_policy(` + logging_send_syslog_msg(usbmodules_t) + ') ++ ++optional_policy(` ++ modutils_read_module_deps(usbmodules_t) ++') diff --git a/policy/modules/admin/usermanage.if b/policy/modules/admin/usermanage.if index 81fb26f..cd18ca8 100644 --- a/policy/modules/admin/usermanage.if @@ -2287,6 +2609,27 @@ index 1f42250..3d36ae2 100644 ######################################## # # awstats cgi script policy +diff --git a/policy/modules/apps/calamaris.te b/policy/modules/apps/calamaris.te +index 47d81d1..046a9de 100644 +--- a/policy/modules/apps/calamaris.te ++++ b/policy/modules/apps/calamaris.te +@@ -66,8 +66,6 @@ miscfiles_read_localization(calamaris_t) + + userdom_dontaudit_list_user_home_dirs(calamaris_t) + +-squid_read_log(calamaris_t) +- + optional_policy(` + apache_search_sys_content(calamaris_t) + ') +@@ -79,3 +77,7 @@ optional_policy(` + optional_policy(` + mta_send_mail(calamaris_t) + ') ++ ++optional_policy(` ++ squid_read_log(calamaris_t) ++') diff --git a/policy/modules/apps/cdrecord.te b/policy/modules/apps/cdrecord.te index 1403835..2e9a72c 100644 --- a/policy/modules/apps/cdrecord.te @@ -2535,66 +2878,19 @@ index 0000000..0852151 + fs_read_inherited_cifs_files(chrome_sandbox_t) + fs_dontaudit_append_cifs_files(chrome_sandbox_t) +') -diff --git a/policy/modules/apps/cpufreqselector.if b/policy/modules/apps/cpufreqselector.if -index ed94975..e43186f 100644 ---- a/policy/modules/apps/cpufreqselector.if -+++ b/policy/modules/apps/cpufreqselector.if -@@ -1 +1,42 @@ - ## Command-line CPU frequency settings. -+ -+######################################## -+## -+## Send a dbus message to -+## cpufreq-selector. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`cpufreqselector_dbus_send',` -+ gen_require(` -+ type cpufreqselector_t; -+ class dbus send_msg; -+ ') -+ -+ allow $1 cpufreqselector_t:dbus send_msg; -+') -+ -+######################################## -+## -+## Send and receive messages from -+## cpufreq-selector over dbus. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`cpufreqselector_dbus_chat',` -+ gen_require(` -+ type cpufreqselector_t; -+ class dbus send_msg; -+ ') -+ -+ allow $1 cpufreqselector_t:dbus send_msg; -+ allow cpufreqselector_t $1:dbus send_msg; -+') diff --git a/policy/modules/apps/cpufreqselector.te b/policy/modules/apps/cpufreqselector.te -index 0457de1..b440acb 100644 +index e51e7f5..8e0405f 100644 --- a/policy/modules/apps/cpufreqselector.te +++ b/policy/modules/apps/cpufreqselector.te -@@ -16,6 +16,7 @@ application_domain(cpufreqselector_t, cpufreqselector_exec_t) - +@@ -17,6 +17,7 @@ application_domain(cpufreqselector_t, cpufreqselector_exec_t) allow cpufreqselector_t self:capability { sys_nice sys_ptrace }; + allow cpufreqselector_t self:process getsched; allow cpufreqselector_t self:fifo_file rw_fifo_file_perms; +allow cpufreqselector_t self:process getsched; - files_read_etc_files(cpufreqselector_t) - files_read_usr_files(cpufreqselector_t) -@@ -24,10 +25,12 @@ corecmd_search_bin(cpufreqselector_t) + kernel_read_system_state(cpufreqselector_t) + +@@ -27,10 +28,12 @@ corecmd_search_bin(cpufreqselector_t) dev_rw_sysfs(cpufreqselector_t) @@ -2608,7 +2904,7 @@ index 0457de1..b440acb 100644 optional_policy(` dbus_system_domain(cpufreqselector_t, cpufreqselector_exec_t) -@@ -50,3 +53,7 @@ optional_policy(` +@@ -53,3 +56,7 @@ optional_policy(` policykit_read_lib(cpufreqselector_t) policykit_read_reload(cpufreqselector_t) ') @@ -2862,10 +3158,10 @@ index 0000000..7fe26f3 +') diff --git a/policy/modules/apps/firewallgui.te b/policy/modules/apps/firewallgui.te new file mode 100644 -index 0000000..0bbd523 +index 0000000..f4c2d3f --- /dev/null +++ b/policy/modules/apps/firewallgui.te -@@ -0,0 +1,66 @@ +@@ -0,0 +1,74 @@ +policy_module(firewallgui,1.0.0) + +######################################## @@ -2900,7 +3196,6 @@ index 0000000..0bbd523 + +corecmd_exec_shell(firewallgui_t) +corecmd_exec_bin(firewallgui_t) -+consoletype_exec(firewallgui_t) + +dev_read_urand(firewallgui_t) +dev_read_sysfs(firewallgui_t) @@ -2912,26 +3207,35 @@ index 0000000..0bbd523 +files_search_kernel_modules(firewallgui_t) +files_list_kernel_modules(firewallgui_t) + -+iptables_domtrans(firewallgui_t) -+iptables_initrc_domtrans(firewallgui_t) -+ -+modutils_getattr_module_deps(firewallgui_t) -+ +miscfiles_read_localization(firewallgui_t) + +userdom_dontaudit_search_user_home_dirs(firewallgui_t) + -+nscd_dontaudit_search_pid(firewallgui_t) -+nscd_socket_use(firewallgui_t) ++optional_policy(` ++ consoletype_exec(firewallgui_t) ++') + +optional_policy(` + gnome_read_gconf_home_files(firewallgui_t) +') + +optional_policy(` -+ policykit_dbus_chat(firewallgui_t) ++ iptables_domtrans(firewallgui_t) ++ iptables_initrc_domtrans(firewallgui_t) ++') ++ ++optional_policy(` ++ modutils_getattr_module_deps(firewallgui_t) +') + ++optional_policy(` ++ nscd_dontaudit_search_pid(firewallgui_t) ++ nscd_socket_use(firewallgui_t) ++') ++ ++optional_policy(` ++ policykit_dbus_chat(firewallgui_t) ++') diff --git a/policy/modules/apps/gnome.fc b/policy/modules/apps/gnome.fc index 00a19e3..1354800 100644 --- a/policy/modules/apps/gnome.fc @@ -2974,10 +3278,10 @@ index 00a19e3..1354800 100644 +/usr/libexec/gnome-system-monitor-mechanism -- gen_context(system_u:object_r:gnomesystemmm_exec_t,s0) + diff --git a/policy/modules/apps/gnome.if b/policy/modules/apps/gnome.if -index f5afe78..c9d74ee 100644 +index f5afe78..0c61d93 100644 --- a/policy/modules/apps/gnome.if +++ b/policy/modules/apps/gnome.if -@@ -1,43 +1,519 @@ +@@ -1,43 +1,521 @@ ## GNU network object model environment (GNOME) -############################################################ @@ -3073,9 +3377,10 @@ index f5afe78..c9d74ee 100644 + + dontaudit $3 gkeyringd_exec_t:file entrypoint; + ++ stream_connect_pattern($3, gkeyringd_tmp_t, gkeyringd_tmp_t, gkeyringd_$1_t) ++ + allow gkeyringd_$1_t $3:dbus send_msg; + allow $3 gkeyringd_$1_t:dbus send_msg; -+ + optional_policy(` + dbus_session_domain(gkeyringd_$1_t, gkeyringd_exec_t) + dbus_session_bus_client(gkeyringd_$1_t) @@ -3152,10 +3457,11 @@ index f5afe78..c9d74ee 100644 + gen_require(` + attribute gkeyringd_domain; + type gkeyringd_tmp_t; ++ type gconf_tmp_t; + ') + ++ allow $1 gconf_tmp_t:dir search_dir_perms; + stream_connect_pattern($1, gkeyringd_tmp_t, gkeyringd_tmp_t, gkeyringd_domain) -+ gnome_search_gconf_tmp_dirs($1) +') + +######################################## @@ -3514,7 +3820,7 @@ index f5afe78..c9d74ee 100644 ## in the caller domain. ## ## -@@ -56,27 +532,26 @@ interface(`gnome_exec_gconf',` +@@ -56,27 +534,26 @@ interface(`gnome_exec_gconf',` ######################################## ## @@ -3550,7 +3856,7 @@ index f5afe78..c9d74ee 100644 ## ## ## -@@ -84,37 +559,41 @@ template(`gnome_read_gconf_config',` +@@ -84,37 +561,41 @@ template(`gnome_read_gconf_config',` ## ## # @@ -3603,7 +3909,7 @@ index f5afe78..c9d74ee 100644 ## ## ## -@@ -122,12 +601,13 @@ interface(`gnome_stream_connect_gconf',` +@@ -122,12 +603,13 @@ interface(`gnome_stream_connect_gconf',` ## ## # @@ -3620,7 +3926,7 @@ index f5afe78..c9d74ee 100644 ') ######################################## -@@ -151,40 +631,258 @@ interface(`gnome_setattr_config_dirs',` +@@ -151,40 +633,258 @@ interface(`gnome_setattr_config_dirs',` ######################################## ## @@ -3890,7 +4196,7 @@ index f5afe78..c9d74ee 100644 userdom_search_user_home_dirs($1) ') diff --git a/policy/modules/apps/gnome.te b/policy/modules/apps/gnome.te -index 2505654..fd62ccc 100644 +index 2505654..2417992 100644 --- a/policy/modules/apps/gnome.te +++ b/policy/modules/apps/gnome.te @@ -5,12 +5,26 @@ policy_module(gnome, 2.1.0) @@ -3961,7 +4267,7 @@ index 2505654..fd62ccc 100644 ############################## # # Local Policy -@@ -75,3 +106,149 @@ optional_policy(` +@@ -75,3 +106,151 @@ optional_policy(` xserver_use_xdm_fds(gconfd_t) xserver_rw_xdm_pipes(gconfd_t) ') @@ -4096,9 +4402,11 @@ index 2505654..fd62ccc 100644 + +miscfiles_read_localization(gkeyringd_domain) + -+xserver_append_xdm_home_files(gkeyringd_domain) -+xserver_read_xdm_home_files(gkeyringd_domain) -+xserver_use_xdm_fds(gkeyringd_domain) ++optional_policy(` ++ xserver_append_xdm_home_files(gkeyringd_domain) ++ xserver_read_xdm_home_files(gkeyringd_domain) ++ xserver_use_xdm_fds(gkeyringd_domain) ++') + +optional_policy(` + gnome_read_home_config(gkeyringd_domain) @@ -4621,7 +4929,7 @@ index 167950d..ef63b20 100644 + ') ') diff --git a/policy/modules/apps/kdumpgui.te b/policy/modules/apps/kdumpgui.te -index f63c4c2..3812a46 100644 +index f63c4c2..bf59895 100644 --- a/policy/modules/apps/kdumpgui.te +++ b/policy/modules/apps/kdumpgui.te @@ -14,6 +14,7 @@ dbus_system_domain(kdumpgui_t, kdumpgui_exec_t) @@ -4632,7 +4940,7 @@ index f63c4c2..3812a46 100644 allow kdumpgui_t self:fifo_file rw_fifo_file_perms; allow kdumpgui_t self:netlink_kobject_uevent_socket create_socket_perms; -@@ -33,6 +34,7 @@ files_manage_etc_symlinks(kdumpgui_t) +@@ -33,27 +34,38 @@ files_manage_etc_symlinks(kdumpgui_t) # for blkid.tab files_manage_etc_runtime_files(kdumpgui_t) files_etc_filetrans_etc_runtime(kdumpgui_t, file) @@ -4640,12 +4948,26 @@ index f63c4c2..3812a46 100644 storage_raw_read_fixed_disk(kdumpgui_t) storage_raw_write_fixed_disk(kdumpgui_t) -@@ -50,10 +52,16 @@ miscfiles_read_localization(kdumpgui_t) + + auth_use_nsswitch(kdumpgui_t) + +-consoletype_exec(kdumpgui_t) +- +-kdump_manage_config(kdumpgui_t) +-kdump_initrc_domtrans(kdumpgui_t) +- + logging_send_syslog_msg(kdumpgui_t) + + miscfiles_read_localization(kdumpgui_t) init_dontaudit_read_all_script_files(kdumpgui_t) +userdom_dontaudit_search_admin_dir(kdumpgui_t) + ++optional_policy(` ++ consoletype_exec(kdumpgui_t) ++') ++ optional_policy(` dev_rw_lvm_control(kdumpgui_t) ') @@ -4655,6 +4977,11 @@ index f63c4c2..3812a46 100644 +') + +optional_policy(` ++ kdump_manage_config(kdumpgui_t) ++ kdump_initrc_domtrans(kdumpgui_t) ++') ++ ++optional_policy(` policykit_dbus_chat(kdumpgui_t) ') diff --git a/policy/modules/apps/livecd.if b/policy/modules/apps/livecd.if @@ -5058,7 +5385,7 @@ index 9a6d67d..d88c02c 100644 +') + diff --git a/policy/modules/apps/mozilla.te b/policy/modules/apps/mozilla.te -index 2a91fa8..26f1ff3 100644 +index 2a91fa8..9b22659 100644 --- a/policy/modules/apps/mozilla.te +++ b/policy/modules/apps/mozilla.te @@ -7,7 +7,7 @@ policy_module(mozilla, 2.3.0) @@ -5140,7 +5467,7 @@ index 2a91fa8..26f1ff3 100644 pulseaudio_exec(mozilla_t) pulseaudio_stream_connect(mozilla_t) pulseaudio_manage_home_files(mozilla_t) -@@ -266,3 +291,180 @@ optional_policy(` +@@ -266,3 +291,183 @@ optional_policy(` optional_policy(` thunderbird_domtrans(mozilla_t) ') @@ -5197,6 +5524,7 @@ index 2a91fa8..26f1ff3 100644 +corenet_tcp_connect_http_cache_port(mozilla_plugin_t) +corenet_tcp_connect_squid_port(mozilla_plugin_t) +corenet_tcp_connect_ipp_port(mozilla_plugin_t) ++corenet_tcp_connect_mmcc_port(mozilla_plugin_t) +corenet_tcp_connect_speech_port(mozilla_plugin_t) +corenet_tcp_connect_streaming_port(mozilla_plugin_t) +corenet_tcp_bind_generic_node(mozilla_plugin_t) @@ -5209,6 +5537,8 @@ index 2a91fa8..26f1ff3 100644 +dev_read_sysfs(mozilla_plugin_t) +dev_read_sound(mozilla_plugin_t) +dev_write_sound(mozilla_plugin_t) ++# for nvidia driver ++dev_rw_xserver_misc(mozilla_plugin_t) +dev_dontaudit_rw_dri(mozilla_plugin_t) + +domain_use_interactive_fds(mozilla_plugin_t) @@ -6920,7 +7250,7 @@ index c605046..97b3df2 100644 +miscfiles_read_localization(rssh_chroot_helper_t) + diff --git a/policy/modules/apps/sambagui.te b/policy/modules/apps/sambagui.te -index 9ec1478..ceec04a 100644 +index 9ec1478..e3734df 100644 --- a/policy/modules/apps/sambagui.te +++ b/policy/modules/apps/sambagui.te @@ -27,9 +27,10 @@ corecmd_exec_bin(sambagui_t) @@ -6935,25 +7265,48 @@ index 9ec1478..ceec04a 100644 auth_use_nsswitch(sambagui_t) -@@ -39,6 +40,8 @@ miscfiles_read_localization(sambagui_t) +@@ -37,21 +38,32 @@ logging_send_syslog_msg(sambagui_t) - nscd_dontaudit_search_pid(sambagui_t) + miscfiles_read_localization(sambagui_t) +-nscd_dontaudit_search_pid(sambagui_t) + +-# handling with samba conf files +-samba_append_log(sambagui_t) +-samba_manage_config(sambagui_t) +-samba_manage_var_files(sambagui_t) +-samba_read_secrets(sambagui_t) +-samba_initrc_domtrans(sambagui_t) +-samba_domtrans_smbd(sambagui_t) +-samba_domtrans_nmbd(sambagui_t) +userdom_dontaudit_search_admin_dir(sambagui_t) -+ - # handling with samba conf files - samba_append_log(sambagui_t) - samba_manage_config(sambagui_t) -@@ -53,5 +56,9 @@ optional_policy(` + + optional_policy(` + consoletype_exec(sambagui_t) ') optional_policy(` ++ nscd_dontaudit_search_pid(sambagui_t) ++') ++ ++optional_policy(` + gnome_dontaudit_search_config(sambagui_t) +') + +optional_policy(` policykit_dbus_chat(sambagui_t) ') ++ ++optional_policy(` ++ # handling with samba conf files ++ samba_append_log(sambagui_t) ++ samba_manage_config(sambagui_t) ++ samba_manage_var_files(sambagui_t) ++ samba_read_secrets(sambagui_t) ++ samba_initrc_domtrans(sambagui_t) ++ samba_domtrans_smbd(sambagui_t) ++ samba_domtrans_nmbd(sambagui_t) ++') diff --git a/policy/modules/apps/sandbox.fc b/policy/modules/apps/sandbox.fc new file mode 100644 index 0000000..6caef63 @@ -7275,10 +7628,10 @@ index 0000000..0fedd57 +') diff --git a/policy/modules/apps/sandbox.te b/policy/modules/apps/sandbox.te new file mode 100644 -index 0000000..e6e9f42 +index 0000000..2280381 --- /dev/null +++ b/policy/modules/apps/sandbox.te -@@ -0,0 +1,465 @@ +@@ -0,0 +1,474 @@ +policy_module(sandbox,1.0.0) +dbus_stub() +attribute sandbox_domain; @@ -7465,6 +7818,14 @@ index 0000000..e6e9f42 +allow sandbox_x_domain sandbox_devpts_t:chr_file { rw_term_perms setattr }; +term_create_pty(sandbox_x_domain,sandbox_devpts_t) + ++can_exec(sandbox_x_domain, sandbox_file_t) ++allow sandbox_x_domain sandbox_file_t:filesystem getattr; ++manage_files_pattern(sandbox_x_domain, sandbox_file_t, sandbox_file_t); ++manage_dirs_pattern(sandbox_x_domain, sandbox_file_t, sandbox_file_t); ++manage_sock_files_pattern(sandbox_x_domain, sandbox_file_t, sandbox_file_t); ++manage_fifo_files_pattern(sandbox_x_domain, sandbox_file_t, sandbox_file_t); ++manage_lnk_files_pattern(sandbox_x_domain, sandbox_file_t, sandbox_file_t); ++ +domain_dontaudit_read_all_domains_state(sandbox_x_domain) + +files_search_home(sandbox_x_domain) @@ -7500,6 +7861,8 @@ index 0000000..e6e9f42 +miscfiles_read_localization(sandbox_x_domain) +miscfiles_dontaudit_setattr_fonts_cache_dirs(sandbox_x_domain) + ++mta_dontaudit_read_spool_symlinks(sandbox_x_domain) ++ +selinux_get_fs_mount(sandbox_x_domain) +selinux_validate_context(sandbox_x_domain) +selinux_compute_access_vector(sandbox_x_domain) @@ -7508,7 +7871,6 @@ index 0000000..e6e9f42 +selinux_compute_user_contexts(sandbox_x_domain) +seutil_read_default_contexts(sandbox_x_domain) + -+ +term_getattr_pty_fs(sandbox_x_domain) +term_use_ptmx(sandbox_x_domain) +term_search_ptys(sandbox_x_domain) @@ -7799,7 +8161,7 @@ index 320df26..0e4ead0 100644 files_search_tmp($1_screen_t) diff --git a/policy/modules/apps/seunshare.if b/policy/modules/apps/seunshare.if -index 1dc7a85..7455c19 100644 +index 1dc7a85..787df80 100644 --- a/policy/modules/apps/seunshare.if +++ b/policy/modules/apps/seunshare.if @@ -53,8 +53,14 @@ interface(`seunshare_run',` @@ -7818,7 +8180,7 @@ index 1dc7a85..7455c19 100644 ## ## ## Role allowed access. -@@ -66,15 +72,28 @@ interface(`seunshare_run',` +@@ -66,15 +72,31 @@ interface(`seunshare_run',` ## ## # @@ -7849,15 +8211,18 @@ index 1dc7a85..7455c19 100644 + allow $1_seunshare_t $3:process transition; + dontaudit $1_seunshare_t $3:process { noatsecure siginh rlimitinh }; + ++ corecmd_bin_domtrans($1_seunshare_t, $1_t) ++ corecmd_shell_domtrans($1_seunshare_t, $1_t) ++ + ifdef(`hide_broken_symptoms', ` + dontaudit $1_seunshare_t $3:socket_class_set { read write }; + ') ') diff --git a/policy/modules/apps/seunshare.te b/policy/modules/apps/seunshare.te -index 7590165..63db4fd 100644 +index 7590165..44aa6d1 100644 --- a/policy/modules/apps/seunshare.te +++ b/policy/modules/apps/seunshare.te -@@ -5,40 +5,47 @@ policy_module(seunshare, 1.1.0) +@@ -5,40 +5,48 @@ policy_module(seunshare, 1.1.0) # Declarations # @@ -7871,7 +8236,7 @@ index 7590165..63db4fd 100644 # # seunshare local policy # -+allow seunshare_domain self:capability { fowner setuid dac_override setpcap sys_admin sys_nice }; ++allow seunshare_domain self:capability { fowner setgid setuid dac_override setpcap sys_admin sys_nice }; +allow seunshare_domain self:process { fork setexec signal getcap setcap setsched }; -allow seunshare_t self:capability { setuid dac_override setpcap sys_admin }; @@ -7894,6 +8259,7 @@ index 7590165..63db4fd 100644 +files_read_etc_files(seunshare_domain) +files_mounton_all_poly_members(seunshare_domain) +files_manage_generic_tmp_dirs(seunshare_domain) ++files_relabelfrom_tmp_dirs(seunshare_domain) -auth_use_nsswitch(seunshare_t) +fs_manage_cgroup_dirs(seunshare_domain) @@ -7907,9 +8273,9 @@ index 7590165..63db4fd 100644 -userdom_use_user_terminals(seunshare_t) +miscfiles_read_localization(seunshare_domain) -+ -+userdom_use_user_terminals(seunshare_domain) ++userdom_use_user_terminals(seunshare_domain) ++userdom_list_user_home_content(seunshare_domain) ifdef(`hide_broken_symptoms', ` - fs_dontaudit_rw_anon_inodefs_files(seunshare_t) + fs_dontaudit_rw_anon_inodefs_files(seunshare_domain) @@ -8156,10 +8522,10 @@ index 0000000..6878d68 + diff --git a/policy/modules/apps/telepathy.te b/policy/modules/apps/telepathy.te new file mode 100644 -index 0000000..d4e5e9e +index 0000000..db7941f --- /dev/null +++ b/policy/modules/apps/telepathy.te -@@ -0,0 +1,331 @@ +@@ -0,0 +1,333 @@ + +policy_module(telepathy, 1.0.0) + @@ -8227,6 +8593,7 @@ index 0000000..d4e5e9e +corenet_tcp_connect_mmcc_port(telepathy_msn_t) +corenet_tcp_connect_msnp_port(telepathy_msn_t) +corenet_tcp_connect_sametime_port(telepathy_msn_t) ++corenet_tcp_connect_ssdp_port(telepathy_msn_t) + +corecmd_exec_bin(telepathy_msn_t) +corecmd_exec_shell(telepathy_msn_t) @@ -8323,6 +8690,7 @@ index 0000000..d4e5e9e +allow telepathy_idle_t self:netlink_route_socket create_netlink_socket_perms; + +corenet_sendrecv_ircd_client_packets(telepathy_idle_t) ++corenet_tcp_connect_gatekeeper_port(telepathy_idle_t) +corenet_tcp_connect_ircd_port(telepathy_idle_t) + +dev_read_rand(telepathy_idle_t) @@ -9070,7 +9438,7 @@ index 5a07a43..e97e47f 100644 ## ## diff --git a/policy/modules/kernel/corenetwork.te.in b/policy/modules/kernel/corenetwork.te.in -index 0757523..791a227 100644 +index 0757523..6795999 100644 --- a/policy/modules/kernel/corenetwork.te.in +++ b/policy/modules/kernel/corenetwork.te.in @@ -16,6 +16,7 @@ attribute rpc_port_type; @@ -9224,7 +9592,7 @@ index 0757523..791a227 100644 network_port(printer, tcp,515,s0) network_port(ptal, tcp,5703,s0) network_port(pulseaudio, tcp,4713,s0) -@@ -177,24 +213,28 @@ network_port(ricci, tcp,11111,s0, udp,11111,s0) +@@ -177,24 +213,29 @@ network_port(ricci, tcp,11111,s0, udp,11111,s0) network_port(ricci_modcluster, tcp,16851,s0, udp,16851,s0) network_port(rlogind, tcp,513,s0) network_port(rndc, tcp,953,s0) @@ -9249,6 +9617,7 @@ index 0757523..791a227 100644 network_port(speech, tcp,8036,s0) -network_port(squid, udp,3401,s0, tcp,3401,s0, udp,4827,s0, tcp,4827,s0) # snmp and htcp +network_port(squid, tcp,3128,s0, udp,3401,s0, tcp,3401,s0, udp,4827,s0, tcp,4827,s0) # snmp and htcp ++network_port(ssdp, tcp,1900,s0, udp, 1900, s0) network_port(ssh, tcp,22,s0) +network_port(streaming, tcp, 554, s0, udp, 554, s0, tcp, 1755, s0, udp, 1755, s0) type stunnel_port_t, port_type; dnl network_port(stunnel) # no defined portcon in current strict @@ -9257,7 +9626,7 @@ index 0757523..791a227 100644 network_port(syslogd, udp,514,s0) network_port(tcs, tcp, 30003, s0) network_port(telnetd, tcp,23,s0) -@@ -205,16 +245,17 @@ network_port(transproxy, tcp,8081,s0) +@@ -205,16 +246,17 @@ network_port(transproxy, tcp,8081,s0) network_port(ups, tcp,3493,s0) type utcpserver_port_t, port_type; dnl network_port(utcpserver) # no defined portcon network_port(uucpd, tcp,540,s0) @@ -9278,7 +9647,7 @@ index 0757523..791a227 100644 network_port(zookeeper_client, tcp,2181,s0) network_port(zookeeper_election, tcp,3888,s0) network_port(zookeeper_leader, tcp,2888,s0) -@@ -276,5 +317,5 @@ allow corenet_unconfined_type port_type:tcp_socket { send_msg recv_msg name_conn +@@ -276,5 +318,5 @@ allow corenet_unconfined_type port_type:tcp_socket { send_msg recv_msg name_conn allow corenet_unconfined_type port_type:udp_socket { send_msg recv_msg }; # Bind to any network address. @@ -9286,42 +9655,19 @@ index 0757523..791a227 100644 +allow corenet_unconfined_type port_type:{ tcp_socket udp_socket rawip_socket } name_bind; allow corenet_unconfined_type node_type:{ tcp_socket udp_socket rawip_socket } node_bind; diff --git a/policy/modules/kernel/devices.fc b/policy/modules/kernel/devices.fc -index 8ac94e4..c02f095 100644 +index 6cf8784..286aec1 100644 --- a/policy/modules/kernel/devices.fc +++ b/policy/modules/kernel/devices.fc -@@ -18,6 +18,7 @@ - /dev/beep -c gen_context(system_u:object_r:sound_device_t,s0) - /dev/btrfs-control -c gen_context(system_u:object_r:lvm_control_t,s0) - /dev/controlD64 -c gen_context(system_u:object_r:xserver_misc_device_t,s0) -+/dev/crash -c gen_context(system_u:object_r:crash_device_t,mls_systemhigh) - /dev/dahdi/.* -c gen_context(system_u:object_r:sound_device_t,s0) - /dev/dmfm -c gen_context(system_u:object_r:sound_device_t,s0) - /dev/dmmidi.* -c gen_context(system_u:object_r:sound_device_t,s0) -@@ -159,6 +160,7 @@ ifdef(`distro_suse', ` - - /dev/mvideo/.* -c gen_context(system_u:object_r:xserver_misc_device_t,s0) - -+/dev/mqueue(/.*)? <> - /dev/pts(/.*)? <> - - /dev/s(ou)?nd/.* -c gen_context(system_u:object_r:sound_device_t,s0) -@@ -178,13 +180,12 @@ ifdef(`distro_suse', ` - - /etc/udev/devices -d gen_context(system_u:object_r:device_t,s0) - --/lib/udev/devices -d gen_context(system_u:object_r:device_t,s0) -+/lib/udev/devices(/.*)? gen_context(system_u:object_r:device_t,s0) - --ifdef(`distro_gentoo',` - # used by init scripts to initally populate udev /dev -+/lib/udev/devices/lp.* -c gen_context(system_u:object_r:printer_device_t,s0) +@@ -187,8 +187,6 @@ ifdef(`distro_suse', ` /lib/udev/devices/null -c gen_context(system_u:object_r:null_device_t,s0) /lib/udev/devices/zero -c gen_context(system_u:object_r:zero_device_t,s0) --') +-/sys(/.*)? gen_context(system_u:object_r:sysfs_t,s0) +- ifdef(`distro_redhat',` # originally from named.fc -@@ -193,3 +194,8 @@ ifdef(`distro_redhat',` + /var/named/chroot/dev -d gen_context(system_u:object_r:device_t,s0) +@@ -196,3 +194,8 @@ ifdef(`distro_redhat',` /var/named/chroot/dev/random -c gen_context(system_u:object_r:random_device_t,s0) /var/named/chroot/dev/zero -c gen_context(system_u:object_r:zero_device_t,s0) ') @@ -9331,7 +9677,7 @@ index 8ac94e4..c02f095 100644 +# +/sys(/.*)? gen_context(system_u:object_r:sysfs_t,s0) diff --git a/policy/modules/kernel/devices.if b/policy/modules/kernel/devices.if -index efaf808..d1ceca8 100644 +index e9313fb..8083a5b 100644 --- a/policy/modules/kernel/devices.if +++ b/policy/modules/kernel/devices.if @@ -146,14 +146,33 @@ interface(`dev_relabel_all_dev_nodes',` @@ -9395,132 +9741,73 @@ index efaf808..d1ceca8 100644 ## Add entries to directories in /dev. ## ## -@@ -336,6 +373,24 @@ interface(`dev_dontaudit_getattr_generic_files',` +@@ -715,7 +752,7 @@ interface(`dev_dontaudit_setattr_generic_symlinks',` ######################################## ## -+## read generic files in /dev. -+## -+## -+## -+## Domain to not audit. -+## -+## -+# -+interface(`dev_read_generic_files',` -+ gen_require(` -+ type device_t; -+ ') -+ -+ read_files_pattern($1, device_t, device_t) -+') -+ -+######################################## -+## - ## Read and write generic files in /dev. +-## Read symbolic links in device directories. ++## Create symbolic links in device directories. ## ## -@@ -516,6 +571,24 @@ interface(`dev_getattr_generic_chr_files',` + ## +@@ -723,17 +760,17 @@ interface(`dev_dontaudit_setattr_generic_symlinks',` + ## + ## + # +-interface(`dev_read_generic_symlinks',` ++interface(`dev_create_generic_symlinks',` + gen_require(` + type device_t; + ') - ######################################## - ## -+## Allow relablefrom for generic character device files. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_relabelfrom_generic_chr_files',` -+ gen_require(` -+ type device_t; -+ ') -+ -+ allow $1 device_t:chr_file relabelfrom; -+') -+ -+######################################## -+## - ## Dontaudit getattr for generic character device files. - ## - ## -@@ -552,6 +625,24 @@ interface(`dev_dontaudit_setattr_generic_chr_files',` +- allow $1 device_t:lnk_file read_lnk_file_perms; ++ create_lnk_files_pattern($1, device_t, device_t) + ') ######################################## ## -+## Read generic character device files. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_read_generic_chr_files',` -+ gen_require(` -+ type device_t; -+ ') -+ -+ allow $1 device_t:chr_file read_chr_file_perms; -+') -+ -+######################################## -+## - ## Read and write generic character device files. +-## Create symbolic links in device directories. ++## Delete symbolic links in device directories. ## ## -@@ -570,6 +661,24 @@ interface(`dev_rw_generic_chr_files',` + ## +@@ -741,17 +778,17 @@ interface(`dev_read_generic_symlinks',` + ## + ## + # +-interface(`dev_create_generic_symlinks',` ++interface(`dev_delete_generic_symlinks',` + gen_require(` + type device_t; + ') - ######################################## - ## -+## Read and write generic block device files. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_rw_generic_blk_files',` -+ gen_require(` -+ type device_t; -+ ') -+ -+ allow $1 device_t:blk_file rw_chr_file_perms; -+') -+ -+######################################## -+## - ## Dontaudit attempts to read/write generic character device files. - ## - ## -@@ -679,6 +788,24 @@ interface(`dev_delete_generic_symlinks',` +- create_lnk_files_pattern($1, device_t, device_t) ++ delete_lnk_files_pattern($1, device_t, device_t) + ') ######################################## ## +-## Delete symbolic links in device directories. +## Read symbolic links in device directories. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_read_generic_symlinks',` -+ gen_require(` -+ type device_t; -+ ') -+ -+ allow $1 device_t:lnk_file read_lnk_file_perms; -+') -+ -+######################################## -+## - ## Create, delete, read, and write symbolic links in device directories. ## ## -@@ -1088,6 +1215,42 @@ interface(`dev_create_all_chr_files',` + ## +@@ -759,12 +796,12 @@ interface(`dev_create_generic_symlinks',` + ## + ## + # +-interface(`dev_delete_generic_symlinks',` ++interface(`dev_read_generic_symlinks',` + gen_require(` + type device_t; + ') + +- delete_lnk_files_pattern($1, device_t, device_t) ++ allow $1 device_t:lnk_file read_lnk_file_perms; + ') + + ######################################## +@@ -1178,6 +1215,42 @@ interface(`dev_create_all_chr_files',` ######################################## ## @@ -9563,82 +9850,7 @@ index efaf808..d1ceca8 100644 ## Delete all block device files. ## ## -@@ -1350,6 +1513,24 @@ interface(`dev_getattr_autofs_dev',` - - ######################################## - ## -+## Relable the autofs device node. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_relabel_autofs_dev',` -+ gen_require(` -+ type autofs_device_t; -+ ') -+ -+ allow $1 autofs_device_t:chr_file relabel_chr_file_perms; -+') -+ -+######################################## -+## - ## Do not audit attempts to get the attributes of - ## the autofs device node. - ## -@@ -1597,6 +1778,24 @@ interface(`dev_rw_cpu_microcode',` - - ######################################## - ## -+## Read the kernel crash device -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_read_crash',` -+ gen_require(` -+ type device_t, crash_device_t; -+ ') -+ -+ read_chr_files_pattern($1, device_t, crash_device_t) -+') -+ -+######################################## -+## - ## Read and write the the hardware SSL accelerator. - ## - ## -@@ -1979,6 +2178,24 @@ interface(`dev_read_kmsg',` - - ######################################## - ## -+## Do not audit attempts to read the kernel messages -+## -+## -+## -+## Domain to not audit. -+## -+## -+# -+interface(`dev_dontaudit_read_kmsg',` -+ gen_require(` -+ type kmsg_device_t; -+ ') -+ -+ dontaudit $1 kmsg_device_t:chr_file read; -+') -+ -+######################################## -+## - ## Write to the kernel messages device - ## - ## -@@ -3048,24 +3265,6 @@ interface(`dev_rw_printer',` +@@ -3192,24 +3265,6 @@ interface(`dev_rw_printer',` ######################################## ## @@ -9663,32 +9875,33 @@ index efaf808..d1ceca8 100644 ## Get the attributes of the QEMU ## microcode and id interfaces. ## -@@ -3613,6 +3812,24 @@ interface(`dev_manage_smartcard',` +@@ -3884,25 +3939,6 @@ interface(`dev_dontaudit_write_sysfs_dirs',` ######################################## ## -+## Associate a file to a sysfs filesystem. -+## -+## -+## -+## The type of the file to be associated to sysfs. -+## -+## -+# -+interface(`dev_associate_sysfs',` -+ gen_require(` -+ type sysfs_t; -+ ') -+ -+ allow $1 sysfs_t:filesystem associate; -+') -+ -+######################################## -+## - ## Get the attributes of sysfs directories. +-## Create, read, write, and delete sysfs +-## directories. +-## +-## +-## +-## Domain allowed access. +-## +-## +-# +-interface(`dev_manage_sysfs_dirs',` +- gen_require(` +- type sysfs_t; +- ') +- +- manage_dirs_pattern($1, sysfs_t, sysfs_t) +-') +- +-######################################## +-## + ## Read hardware state information. ## - ## -@@ -3773,6 +3990,24 @@ interface(`dev_rw_sysfs',` + ## +@@ -3954,6 +3990,24 @@ interface(`dev_rw_sysfs',` ######################################## ## @@ -9713,63 +9926,11 @@ index efaf808..d1ceca8 100644 ## Read and write the TPM device. ## ## -@@ -3960,6 +4195,24 @@ interface(`dev_read_usbmon_dev',` - - ######################################## - ## -+## Write USB monitor devices. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`dev_write_usbmon_dev',` -+ gen_require(` -+ type device_t, usbmon_device_t; -+ ') -+ -+ write_chr_files_pattern($1, device_t, usbmon_device_t) -+') -+ -+######################################## -+## - ## Mount a usbfs filesystem. - ## - ## -@@ -4270,11 +4523,10 @@ interface(`dev_write_video_dev',` - # - interface(`dev_rw_vhost',` - gen_require(` -- type vhost_device_t; -+ type device_t, vhost_device_t; - ') - -- list_dirs_pattern($1, vhost_device_t, vhost_device_t) -- rw_files_pattern($1, vhost_device_t, vhost_device_t) -+ rw_chr_files_pattern($1, device_t, vhost_device_t) - ') - - ######################################## diff --git a/policy/modules/kernel/devices.te b/policy/modules/kernel/devices.te -index c03e21b..2942d8d 100644 +index 3ff4f60..89ffda6 100644 --- a/policy/modules/kernel/devices.te +++ b/policy/modules/kernel/devices.te -@@ -56,6 +56,12 @@ dev_node(clock_device_t) - type cpu_device_t; - dev_node(cpu_device_t) - -+# -+# Type for /dev/crash -+# -+type crash_device_t; -+dev_node(crash_device_t) -+ - # for the IBM zSeries z90crypt hardware ssl accelorator - type crypt_device_t; - dev_node(crypt_device_t) -@@ -102,6 +108,7 @@ dev_node(ksm_device_t) +@@ -108,6 +108,7 @@ dev_node(ksm_device_t) # type kvm_device_t; dev_node(kvm_device_t) @@ -9777,7 +9938,7 @@ index c03e21b..2942d8d 100644 # # Type for /dev/lirc -@@ -304,5 +311,5 @@ files_associate_tmp(device_node) +@@ -310,5 +311,5 @@ files_associate_tmp(device_node) # allow devices_unconfined_type self:capability sys_rawio; @@ -9881,7 +10042,7 @@ index aad8c52..6ac24b0 100644 + dontaudit $1 domain:socket_class_set { read write }; +') diff --git a/policy/modules/kernel/domain.te b/policy/modules/kernel/domain.te -index bc534c1..2a6b5e1 100644 +index bc534c1..b70ea07 100644 --- a/policy/modules/kernel/domain.te +++ b/policy/modules/kernel/domain.te @@ -4,6 +4,21 @@ policy_module(domain, 1.9.0) @@ -9974,7 +10135,7 @@ index bc534c1..2a6b5e1 100644 # Act upon any other process. allow unconfined_domain_type domain:process ~{ transition dyntransition execmem execstack execheap }; -@@ -160,3 +197,85 @@ allow unconfined_domain_type domain:key *; +@@ -160,3 +197,89 @@ allow unconfined_domain_type domain:key *; # receive from all domains over labeled networking domain_all_recvfrom_all_domains(unconfined_domain_type) @@ -9983,10 +10144,14 @@ index bc534c1..2a6b5e1 100644 +selinux_search_fs(domain) +selinux_dontaudit_read_fs(domain) + -+seutil_dontaudit_read_config(domain) ++optional_policy(` ++ seutil_dontaudit_read_config(domain) ++') + -+init_sigchld(domain) -+init_signull(domain) ++optional_policy(` ++ init_sigchld(domain) ++ init_signull(domain) ++') + +ifdef(`distro_redhat',` + files_search_mnt(domain) @@ -10061,7 +10226,7 @@ index bc534c1..2a6b5e1 100644 +# broken kernel +dontaudit can_change_object_identity can_change_object_identity:key link; diff --git a/policy/modules/kernel/files.fc b/policy/modules/kernel/files.fc -index 3517db2..f798a69 100644 +index 16108f6..2abd3eb 100644 --- a/policy/modules/kernel/files.fc +++ b/policy/modules/kernel/files.fc @@ -18,6 +18,7 @@ ifdef(`distro_redhat',` @@ -10072,9 +10237,9 @@ index 3517db2..f798a69 100644 ') ifdef(`distro_suse',` -@@ -64,6 +65,13 @@ ifdef(`distro_suse',` - /etc/reader\.conf -- gen_context(system_u:object_r:etc_runtime_t,s0) - /etc/smartd\.conf.* -- gen_context(system_u:object_r:etc_runtime_t,s0) +@@ -58,6 +59,13 @@ ifdef(`distro_suse',` + /etc/nohotplug -- gen_context(system_u:object_r:etc_runtime_t,s0) + /etc/nologin.* -- gen_context(system_u:object_r:etc_runtime_t,s0) +/etc/sysctl\.conf(\.old)? -- gen_context(system_u:object_r:system_conf_t,s0) +/etc/sysconfig/ebtables.* -- gen_context(system_u:object_r:system_conf_t,s0) @@ -10086,7 +10251,7 @@ index 3517db2..f798a69 100644 /etc/cups/client\.conf -- gen_context(system_u:object_r:etc_t,s0) /etc/ipsec\.d/examples(/.*)? gen_context(system_u:object_r:etc_t,s0) -@@ -74,7 +82,10 @@ ifdef(`distro_suse',` +@@ -68,7 +76,10 @@ ifdef(`distro_suse',` /etc/sysconfig/hwconf -- gen_context(system_u:object_r:etc_runtime_t,s0) /etc/sysconfig/iptables\.save -- gen_context(system_u:object_r:etc_runtime_t,s0) @@ -10098,7 +10263,7 @@ index 3517db2..f798a69 100644 ifdef(`distro_gentoo', ` /etc/profile\.env -- gen_context(system_u:object_r:etc_runtime_t,s0) -@@ -95,7 +106,7 @@ ifdef(`distro_suse',` +@@ -89,7 +100,7 @@ ifdef(`distro_suse',` # HOME_ROOT # expanded by genhomedircon # @@ -10107,7 +10272,7 @@ index 3517db2..f798a69 100644 HOME_ROOT/\.journal <> HOME_ROOT/lost\+found -d gen_context(system_u:object_r:lost_found_t,mls_systemhigh) HOME_ROOT/lost\+found/.* <> -@@ -159,6 +170,12 @@ HOME_ROOT/lost\+found/.* <> +@@ -153,6 +164,12 @@ HOME_ROOT/lost\+found/.* <> /proc -d <> /proc/.* <> @@ -10120,7 +10285,7 @@ index 3517db2..f798a69 100644 # # /selinux # -@@ -172,12 +189,6 @@ HOME_ROOT/lost\+found/.* <> +@@ -166,12 +183,6 @@ HOME_ROOT/lost\+found/.* <> /srv/.* gen_context(system_u:object_r:var_t,s0) # @@ -10133,7 +10298,7 @@ index 3517db2..f798a69 100644 # /tmp # /tmp -d gen_context(system_u:object_r:tmp_t,s0-mls_systemhigh) -@@ -217,7 +228,6 @@ HOME_ROOT/lost\+found/.* <> +@@ -211,7 +222,6 @@ HOME_ROOT/lost\+found/.* <> ifndef(`distro_redhat',` /usr/local/src(/.*)? gen_context(system_u:object_r:src_t,s0) @@ -10141,7 +10306,7 @@ index 3517db2..f798a69 100644 /usr/src(/.*)? gen_context(system_u:object_r:src_t,s0) /usr/src/kernels/.+/lib(/.*)? gen_context(system_u:object_r:usr_t,s0) ') -@@ -233,6 +243,8 @@ ifndef(`distro_redhat',` +@@ -227,6 +237,8 @@ ifndef(`distro_redhat',` /var/ftp/etc(/.*)? gen_context(system_u:object_r:etc_t,s0) @@ -10150,7 +10315,7 @@ index 3517db2..f798a69 100644 /var/lib(/.*)? gen_context(system_u:object_r:var_lib_t,s0) /var/lib/nfs/rpc_pipefs(/.*)? <> -@@ -249,7 +261,7 @@ ifndef(`distro_redhat',` +@@ -243,7 +255,7 @@ ifndef(`distro_redhat',` /var/spool(/.*)? gen_context(system_u:object_r:var_spool_t,s0) /var/spool/postfix/etc(/.*)? gen_context(system_u:object_r:etc_t,s0) @@ -10159,7 +10324,7 @@ index 3517db2..f798a69 100644 /var/tmp/.* <> /var/tmp/lost\+found -d gen_context(system_u:object_r:lost_found_t,mls_systemhigh) /var/tmp/lost\+found/.* <> -@@ -258,3 +270,7 @@ ifndef(`distro_redhat',` +@@ -252,3 +264,7 @@ ifndef(`distro_redhat',` ifdef(`distro_debian',` /var/run/motd -- gen_context(system_u:object_r:etc_runtime_t,s0) ') @@ -10168,7 +10333,7 @@ index 3517db2..f798a69 100644 + +/usr/lib/debug(/.*)? <> diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if -index ed203b2..0a4f89a 100644 +index 958ca84..d451c3f 100644 --- a/policy/modules/kernel/files.if +++ b/policy/modules/kernel/files.if @@ -1053,10 +1053,8 @@ interface(`files_relabel_all_files',` @@ -11359,7 +11524,7 @@ index ed203b2..0a4f89a 100644 + dontaudit $1 file_type:file_class_set write; +') diff --git a/policy/modules/kernel/files.te b/policy/modules/kernel/files.te -index e8a6b1d..fd53860 100644 +index 6e01635..212a736 100644 --- a/policy/modules/kernel/files.te +++ b/policy/modules/kernel/files.te @@ -11,6 +11,7 @@ attribute lockfile; @@ -11415,7 +11580,7 @@ index 59bae6a..2e55e71 100644 +/dev/hugepages -d gen_context(system_u:object_r:hugetlbfs_t,s0) +/dev/hugepages(/.*)? <> diff --git a/policy/modules/kernel/filesystem.if b/policy/modules/kernel/filesystem.if -index dfe361a..c19e896 100644 +index dfe361a..fbbd1ce 100644 --- a/policy/modules/kernel/filesystem.if +++ b/policy/modules/kernel/filesystem.if @@ -646,11 +646,31 @@ interface(`fs_search_cgroup_dirs',` @@ -11531,10 +11696,28 @@ index dfe361a..c19e896 100644 ## Create, read, write, and delete all noxattrfs directories. ## ## -@@ -1088,6 +1133,24 @@ interface(`fs_read_noxattr_fs_files',` +@@ -1088,6 +1133,42 @@ interface(`fs_read_noxattr_fs_files',` ######################################## ## ++## Read/Write all inherited noxattrfs files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`fs_rw_inherited_noxattr_fs_files',` ++ gen_require(` ++ attribute noxattrfs; ++ ') ++ ++ allow $1 noxattrfs:file rw_inherited_file_perms; ++') ++ ++######################################## ++## +## Do not audit read all noxattrfs files. +## +## @@ -11556,7 +11739,7 @@ index dfe361a..c19e896 100644 ## Dont audit attempts to write to noxattrfs files. ## ## -@@ -1227,6 +1290,24 @@ interface(`fs_dontaudit_append_cifs_files',` +@@ -1227,6 +1308,42 @@ interface(`fs_dontaudit_append_cifs_files',` ######################################## ## @@ -11564,7 +11747,7 @@ index dfe361a..c19e896 100644 +## +## +## -+## Domain to not audit. ++## Domain allowed access. +## +## +# @@ -11578,10 +11761,28 @@ index dfe361a..c19e896 100644 + +######################################## +## ++## Read/Write inherited files on a CIFS or SMB filesystem. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`fs_rw_inherited_cifs_files',` ++ gen_require(` ++ type cifs_t; ++ ') ++ ++ allow $1 cifs_t:file rw_inherited_file_perms; ++') ++ ++######################################## ++## ## Do not audit attempts to read or ## write files on a CIFS or SMB filesystem. ## -@@ -1241,7 +1322,7 @@ interface(`fs_dontaudit_rw_cifs_files',` +@@ -1241,7 +1358,7 @@ interface(`fs_dontaudit_rw_cifs_files',` type cifs_t; ') @@ -11590,7 +11791,7 @@ index dfe361a..c19e896 100644 ') ######################################## -@@ -1504,6 +1585,25 @@ interface(`fs_cifs_domtrans',` +@@ -1504,6 +1621,25 @@ interface(`fs_cifs_domtrans',` domain_auto_transition_pattern($1, cifs_t, $2) ') @@ -11616,7 +11817,7 @@ index dfe361a..c19e896 100644 ####################################### ## ## Create, read, write, and delete dirs -@@ -1659,6 +1759,25 @@ interface(`fs_search_dos',` +@@ -1659,6 +1795,25 @@ interface(`fs_search_dos',` ######################################## ## @@ -11642,7 +11843,7 @@ index dfe361a..c19e896 100644 ## Create, read, write, and delete dirs ## on a DOS filesystem. ## -@@ -1892,6 +2011,26 @@ interface(`fs_manage_fusefs_files',` +@@ -1892,6 +2047,26 @@ interface(`fs_manage_fusefs_files',` ######################################## ## @@ -11669,7 +11870,7 @@ index dfe361a..c19e896 100644 ## Do not audit attempts to create, ## read, write, and delete files ## on a FUSEFS filesystem. -@@ -1931,7 +2070,26 @@ interface(`fs_read_fusefs_symlinks',` +@@ -1931,7 +2106,26 @@ interface(`fs_read_fusefs_symlinks',` ######################################## ## @@ -11697,7 +11898,7 @@ index dfe361a..c19e896 100644 ## ## ## -@@ -1946,6 +2104,41 @@ interface(`fs_rw_hugetlbfs_files',` +@@ -1946,6 +2140,41 @@ interface(`fs_rw_hugetlbfs_files',` rw_files_pattern($1, hugetlbfs_t, hugetlbfs_t) ') @@ -11739,7 +11940,7 @@ index dfe361a..c19e896 100644 ######################################## ## -@@ -1999,6 +2192,7 @@ interface(`fs_list_inotifyfs',` +@@ -1999,6 +2228,7 @@ interface(`fs_list_inotifyfs',` ') allow $1 inotifyfs_t:dir list_dir_perms; @@ -11747,7 +11948,7 @@ index dfe361a..c19e896 100644 ') ######################################## -@@ -2331,6 +2525,7 @@ interface(`fs_read_nfs_files',` +@@ -2331,6 +2561,7 @@ interface(`fs_read_nfs_files',` type nfs_t; ') @@ -11755,7 +11956,7 @@ index dfe361a..c19e896 100644 allow $1 nfs_t:dir list_dir_perms; read_files_pattern($1, nfs_t, nfs_t) ') -@@ -2369,6 +2564,7 @@ interface(`fs_write_nfs_files',` +@@ -2369,6 +2600,7 @@ interface(`fs_write_nfs_files',` type nfs_t; ') @@ -11763,7 +11964,7 @@ index dfe361a..c19e896 100644 allow $1 nfs_t:dir list_dir_perms; write_files_pattern($1, nfs_t, nfs_t) ') -@@ -2395,6 +2591,25 @@ interface(`fs_exec_nfs_files',` +@@ -2395,6 +2627,25 @@ interface(`fs_exec_nfs_files',` ######################################## ## @@ -11789,7 +11990,7 @@ index dfe361a..c19e896 100644 ## Append files ## on a NFS filesystem. ## -@@ -2435,6 +2650,24 @@ interface(`fs_dontaudit_append_nfs_files',` +@@ -2435,6 +2686,42 @@ interface(`fs_dontaudit_append_nfs_files',` ######################################## ## @@ -11797,7 +11998,7 @@ index dfe361a..c19e896 100644 +## +## +## -+## Domain to not audit. ++## Domain allowed access. +## +## +# @@ -11811,10 +12012,28 @@ index dfe361a..c19e896 100644 + +######################################## +## ++## Read/write inherited files on a NFS filesystem. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`fs_rw_inherited_nfs_files',` ++ gen_require(` ++ type nfs_t; ++ ') ++ ++ allow $1 nfs_t:file rw_inherited_file_perms; ++') ++ ++######################################## ++## ## Do not audit attempts to read or ## write files on a NFS filesystem. ## -@@ -2449,7 +2682,7 @@ interface(`fs_dontaudit_rw_nfs_files',` +@@ -2449,7 +2736,7 @@ interface(`fs_dontaudit_rw_nfs_files',` type nfs_t; ') @@ -11823,7 +12042,7 @@ index dfe361a..c19e896 100644 ') ######################################## -@@ -2637,6 +2870,24 @@ interface(`fs_dontaudit_read_removable_files',` +@@ -2637,6 +2924,24 @@ interface(`fs_dontaudit_read_removable_files',` ######################################## ## @@ -11848,7 +12067,7 @@ index dfe361a..c19e896 100644 ## Read removable storage symbolic links. ## ## -@@ -2653,6 +2904,25 @@ interface(`fs_read_removable_symlinks',` +@@ -2653,6 +2958,25 @@ interface(`fs_read_removable_symlinks',` read_lnk_files_pattern($1, removable_t, removable_t) ') @@ -11874,7 +12093,7 @@ index dfe361a..c19e896 100644 ######################################## ## ## Read and write block nodes on removable filesystems. -@@ -2779,6 +3049,7 @@ interface(`fs_manage_nfs_dirs',` +@@ -2779,6 +3103,7 @@ interface(`fs_manage_nfs_dirs',` type nfs_t; ') @@ -11882,7 +12101,7 @@ index dfe361a..c19e896 100644 allow $1 nfs_t:dir manage_dir_perms; ') -@@ -2819,6 +3090,7 @@ interface(`fs_manage_nfs_files',` +@@ -2819,6 +3144,7 @@ interface(`fs_manage_nfs_files',` type nfs_t; ') @@ -11890,7 +12109,7 @@ index dfe361a..c19e896 100644 manage_files_pattern($1, nfs_t, nfs_t) ') -@@ -2845,7 +3117,7 @@ interface(`fs_dontaudit_manage_nfs_files',` +@@ -2845,7 +3171,7 @@ interface(`fs_dontaudit_manage_nfs_files',` ######################################### ## ## Create, read, write, and delete symbolic links @@ -11899,7 +12118,7 @@ index dfe361a..c19e896 100644 ## ## ## -@@ -2859,6 +3131,7 @@ interface(`fs_manage_nfs_symlinks',` +@@ -2859,6 +3185,7 @@ interface(`fs_manage_nfs_symlinks',` type nfs_t; ') @@ -11907,7 +12126,7 @@ index dfe361a..c19e896 100644 manage_lnk_files_pattern($1, nfs_t, nfs_t) ') -@@ -3989,6 +4262,42 @@ interface(`fs_dontaudit_use_tmpfs_chr_dev',` +@@ -3989,6 +4316,42 @@ interface(`fs_dontaudit_use_tmpfs_chr_dev',` ######################################## ## @@ -11950,7 +12169,7 @@ index dfe361a..c19e896 100644 ## Relabel character nodes on tmpfs filesystems. ## ## -@@ -4271,6 +4580,8 @@ interface(`fs_mount_all_fs',` +@@ -4271,6 +4634,8 @@ interface(`fs_mount_all_fs',` ') allow $1 filesystem_type:filesystem mount; @@ -11959,7 +12178,7 @@ index dfe361a..c19e896 100644 ') ######################################## -@@ -4681,3 +4992,24 @@ interface(`fs_unconfined',` +@@ -4681,3 +5046,24 @@ interface(`fs_unconfined',` typeattribute $1 filesystem_unconfined_type; ') @@ -12228,7 +12447,7 @@ index 069d36c..adaabf4 100644 +') + diff --git a/policy/modules/kernel/kernel.te b/policy/modules/kernel/kernel.te -index 5001b89..d513268 100644 +index 5001b89..160976e 100644 --- a/policy/modules/kernel/kernel.te +++ b/policy/modules/kernel/kernel.te @@ -50,6 +50,8 @@ sid kernel gen_context(system_u:system_r:kernel_t,mls_systemhigh) @@ -12258,7 +12477,7 @@ index 5001b89..d513268 100644 corecmd_exec_shell(kernel_t) corecmd_list_bin(kernel_t) -@@ -268,19 +272,31 @@ files_list_root(kernel_t) +@@ -268,19 +272,28 @@ files_list_root(kernel_t) files_list_etc(kernel_t) files_list_home(kernel_t) files_read_usr_files(kernel_t) @@ -12277,20 +12496,29 @@ index 5001b89..d513268 100644 mls_file_read_all_levels(kernel_t) +mls_socket_write_all_levels(kernel_t) +mls_fd_share_all_levels(kernel_t) -+ -+logging_manage_generic_logs(kernel_t) ifdef(`distro_redhat',` # Bugzilla 222337 fs_rw_tmpfs_chr_files(kernel_t) ') -+userdom_user_home_dir_filetrans_user_home_content(kernel_t, { file dir }) + optional_policy(` hotplug_search_config(kernel_t) ') -@@ -357,6 +373,10 @@ optional_policy(` +@@ -296,6 +309,11 @@ optional_policy(` + + optional_policy(` + logging_send_syslog_msg(kernel_t) ++ logging_manage_generic_logs(kernel_t) ++') ++ ++optional_policy(` ++ userdom_user_home_dir_filetrans_user_home_content(kernel_t, { file dir }) + ') + + optional_policy(` +@@ -357,6 +375,10 @@ optional_policy(` unconfined_domain_noaudit(kernel_t) ') @@ -12794,10 +13022,10 @@ index be4de58..cce681a 100644 ######################################## # diff --git a/policy/modules/roles/staff.te b/policy/modules/roles/staff.te -index 2be17d2..62c9b17 100644 +index 2be17d2..6898bd0 100644 --- a/policy/modules/roles/staff.te +++ b/policy/modules/roles/staff.te -@@ -8,12 +8,56 @@ policy_module(staff, 2.2.0) +@@ -8,12 +8,48 @@ policy_module(staff, 2.2.0) role staff_r; userdom_unpriv_user_template(staff) @@ -12835,14 +13063,6 @@ index 2be17d2..62c9b17 100644 + +miscfiles_read_hwdata(staff_usertype) + -+modutils_read_module_config(staff_usertype) -+modutils_read_module_deps(staff_usertype) -+ -+netutils_run_ping(staff_t, staff_r) -+netutils_run_traceroute(staff_t, staff_r) -+netutils_signal_ping(staff_t) -+netutils_kill_ping(staff_t) -+ +ifndef(`enable_mls',` + selinux_read_policy(staff_t) +') @@ -12854,7 +13074,7 @@ index 2be17d2..62c9b17 100644 optional_policy(` apache_role(staff_r, staff_t) ') -@@ -27,25 +71,118 @@ optional_policy(` +@@ -27,25 +63,138 @@ optional_policy(` ') optional_policy(` @@ -12863,6 +13083,10 @@ index 2be17d2..62c9b17 100644 +') + +optional_policy(` ++ colord_dbus_chat(staff_t) ++') ++ ++optional_policy(` + gnomeclock_dbus_chat(staff_t) +') + @@ -12897,6 +13121,18 @@ index 2be17d2..62c9b17 100644 +') + +optional_policy(` ++ modutils_read_module_config(staff_usertype) ++ modutils_read_module_deps(staff_usertype) ++') ++ ++optional_policy(` ++ netutils_run_ping(staff_t, staff_r) ++ netutils_run_traceroute(staff_t, staff_r) ++ netutils_signal_ping(staff_t) ++ netutils_kill_ping(staff_t) ++') ++ ++optional_policy(` + oident_manage_user_content(staff_t) + oident_relabel_user_content(staff_t) +') @@ -12910,6 +13146,10 @@ index 2be17d2..62c9b17 100644 ') optional_policy(` ++ qemu_role(staff_r, staff_t) ++') ++ ++optional_policy(` + rtkit_scheduled(staff_t) +') + @@ -12975,7 +13215,7 @@ index 2be17d2..62c9b17 100644 optional_policy(` vlock_run(staff_t, staff_r) -@@ -89,10 +226,6 @@ ifndef(`distro_redhat',` +@@ -89,10 +238,6 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -12986,7 +13226,7 @@ index 2be17d2..62c9b17 100644 gpg_role(staff_r, staff_t) ') -@@ -137,10 +270,6 @@ ifndef(`distro_redhat',` +@@ -137,10 +282,6 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -12997,7 +13237,7 @@ index 2be17d2..62c9b17 100644 spamassassin_role(staff_r, staff_t) ') -@@ -172,3 +301,8 @@ ifndef(`distro_redhat',` +@@ -172,3 +313,8 @@ ifndef(`distro_redhat',` wireshark_role(staff_r, staff_t) ') ') @@ -13007,10 +13247,10 @@ index 2be17d2..62c9b17 100644 +') + diff --git a/policy/modules/roles/sysadm.te b/policy/modules/roles/sysadm.te -index 4a8d146..8839731 100644 +index 4a8d146..d721e34 100644 --- a/policy/modules/roles/sysadm.te +++ b/policy/modules/roles/sysadm.te -@@ -24,20 +24,41 @@ ifndef(`enable_mls',` +@@ -24,20 +24,40 @@ ifndef(`enable_mls',` # # Local policy # @@ -13037,7 +13277,6 @@ index 4a8d146..8839731 100644 +init_dbus_chat(sysadm_t) +init_script_role_transition(sysadm_r) + -+modutils_read_module_deps(sysadm_t) + +miscfiles_read_hwdata(sysadm_t) @@ -13052,7 +13291,7 @@ index 4a8d146..8839731 100644 ifdef(`direct_sysadm_daemon',` optional_policy(` -@@ -55,6 +76,7 @@ ifndef(`enable_mls',` +@@ -55,6 +75,7 @@ ifndef(`enable_mls',` logging_manage_audit_log(sysadm_t) logging_manage_audit_config(sysadm_t) logging_run_auditctl(sysadm_t, sysadm_r) @@ -13060,7 +13299,7 @@ index 4a8d146..8839731 100644 ') tunable_policy(`allow_ptrace',` -@@ -69,7 +91,6 @@ optional_policy(` +@@ -69,7 +90,6 @@ optional_policy(` apache_run_helper(sysadm_t, sysadm_r) #apache_run_all_scripts(sysadm_t, sysadm_r) #apache_domtrans_sys_script(sysadm_t) @@ -13068,7 +13307,7 @@ index 4a8d146..8839731 100644 ') optional_policy(` -@@ -98,6 +119,10 @@ optional_policy(` +@@ -98,6 +118,10 @@ optional_policy(` ') optional_policy(` @@ -13079,7 +13318,7 @@ index 4a8d146..8839731 100644 certwatch_run(sysadm_t, sysadm_r) ') -@@ -114,7 +139,7 @@ optional_policy(` +@@ -114,7 +138,7 @@ optional_policy(` ') optional_policy(` @@ -13088,7 +13327,7 @@ index 4a8d146..8839731 100644 ') optional_policy(` -@@ -124,6 +149,10 @@ optional_policy(` +@@ -124,6 +148,10 @@ optional_policy(` ') optional_policy(` @@ -13099,7 +13338,7 @@ index 4a8d146..8839731 100644 ddcprobe_run(sysadm_t, sysadm_r) ') -@@ -163,6 +192,13 @@ optional_policy(` +@@ -163,6 +191,13 @@ optional_policy(` ipsec_stream_connect(sysadm_t) # for lsof ipsec_getattr_key_sockets(sysadm_t) @@ -13113,7 +13352,7 @@ index 4a8d146..8839731 100644 ') optional_policy(` -@@ -170,15 +206,15 @@ optional_policy(` +@@ -170,15 +205,15 @@ optional_policy(` ') optional_policy(` @@ -13132,7 +13371,12 @@ index 4a8d146..8839731 100644 ') optional_policy(` -@@ -202,14 +238,7 @@ optional_policy(` +@@ -198,18 +233,12 @@ optional_policy(` + modutils_run_depmod(sysadm_t, sysadm_r) + modutils_run_insmod(sysadm_t, sysadm_r) + modutils_run_update_mods(sysadm_t, sysadm_r) ++ modutils_read_module_deps(sysadm_t) + ') optional_policy(` mount_run(sysadm_t, sysadm_r) @@ -14048,10 +14292,10 @@ index 0000000..8b2cdf3 + diff --git a/policy/modules/roles/unconfineduser.te b/policy/modules/roles/unconfineduser.te new file mode 100644 -index 0000000..daf56b2 +index 0000000..77c513d --- /dev/null +++ b/policy/modules/roles/unconfineduser.te -@@ -0,0 +1,497 @@ +@@ -0,0 +1,499 @@ +policy_module(unconfineduser, 1.0.0) + +######################################## @@ -14153,9 +14397,11 @@ index 0000000..daf56b2 +logging_send_syslog_msg(unconfined_t) +logging_run_auditctl(unconfined_t, unconfined_r) + -+mount_run_unconfined(unconfined_t, unconfined_r) -+# Unconfined running as system_r -+mount_domtrans_unconfined(unconfined_t) ++optional_policy(` ++ mount_run_unconfined(unconfined_t, unconfined_r) ++ # Unconfined running as system_r ++ mount_domtrans_unconfined(unconfined_t) ++') + +seutil_run_setsebool(unconfined_t, unconfined_r) +seutil_run_setfiles(unconfined_t, unconfined_r) @@ -14550,10 +14796,10 @@ index 0000000..daf56b2 +gen_user(unconfined_u, user, unconfined_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) + diff --git a/policy/modules/roles/unprivuser.te b/policy/modules/roles/unprivuser.te -index e5bfdd4..54ea4f5 100644 +index e5bfdd4..10d03a3 100644 --- a/policy/modules/roles/unprivuser.te +++ b/policy/modules/roles/unprivuser.te -@@ -12,15 +12,63 @@ role user_r; +@@ -12,15 +12,67 @@ role user_r; userdom_unpriv_user_template(user) @@ -14572,6 +14818,10 @@ index e5bfdd4..54ea4f5 100644 ') optional_policy(` ++ colord_dbus_chat(user_t) ++') ++ ++optional_policy(` + gnome_role(user_r, user_t) +') + @@ -14617,7 +14867,7 @@ index e5bfdd4..54ea4f5 100644 vlock_run(user_t, user_r) ') -@@ -62,10 +110,6 @@ ifndef(`distro_redhat',` +@@ -62,10 +114,6 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -14628,7 +14878,7 @@ index e5bfdd4..54ea4f5 100644 gpg_role(user_r, user_t) ') -@@ -118,7 +162,7 @@ ifndef(`distro_redhat',` +@@ -118,7 +166,7 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -14637,7 +14887,7 @@ index e5bfdd4..54ea4f5 100644 ') optional_policy(` -@@ -157,3 +201,4 @@ ifndef(`distro_redhat',` +@@ -157,3 +205,4 @@ ifndef(`distro_redhat',` wireshark_role(user_r, user_t) ') ') @@ -14655,7 +14905,7 @@ index 0ecc786..dbf2710 100644 userdom_dontaudit_search_user_home_dirs(webadm_t) diff --git a/policy/modules/roles/xguest.te b/policy/modules/roles/xguest.te -index e88b95f..06b0e48 100644 +index e88b95f..9d37855 100644 --- a/policy/modules/roles/xguest.te +++ b/policy/modules/roles/xguest.te @@ -14,14 +14,14 @@ gen_tunable(xguest_mount_media, true) @@ -14689,12 +14939,14 @@ index e88b95f..06b0e48 100644 ifndef(`enable_mls',` fs_exec_noxattr(xguest_t) -@@ -48,12 +48,21 @@ ifndef(`enable_mls',` - storage_raw_read_removable_device(xguest_t) +@@ -49,11 +49,23 @@ ifndef(`enable_mls',` ') ') -+# Dontaudit fusermount -+mount_dontaudit_exec_fusermount(xguest_t) + ++optional_policy(` ++ # Dontaudit fusermount ++ mount_dontaudit_exec_fusermount(xguest_t) ++') + +allow xguest_t self:process execmem; +kernel_dontaudit_request_load_module(xguest_t) @@ -14702,7 +14954,7 @@ index e88b95f..06b0e48 100644 +tunable_policy(`allow_execstack',` + allow xguest_t self:process execstack; +') - ++ # Allow mounting of file systems optional_policy(` tunable_policy(`xguest_mount_media',` @@ -14712,7 +14964,7 @@ index e88b95f..06b0e48 100644 files_dontaudit_getattr_boot_dirs(xguest_t) files_search_mnt(xguest_t) -@@ -62,10 +71,9 @@ optional_policy(` +@@ -62,10 +74,9 @@ optional_policy(` fs_manage_noxattr_fs_dirs(xguest_t) fs_getattr_noxattr_fs(xguest_t) fs_read_noxattr_fs_symlinks(xguest_t) @@ -14724,14 +14976,13 @@ index e88b95f..06b0e48 100644 ') ') -@@ -76,23 +84,99 @@ optional_policy(` +@@ -76,23 +87,98 @@ optional_policy(` ') optional_policy(` + chrome_role(xguest_r, xguest_usertype) +') + -+ +optional_policy(` hal_dbus_chat(xguest_t) ') @@ -14755,18 +15006,18 @@ index e88b95f..06b0e48 100644 + +optional_policy(` + mono_role_template(xguest, xguest_r, xguest_t) + ') + + optional_policy(` +- mozilla_role(xguest_r, xguest_t) ++ mozilla_run_plugin(xguest_t, xguest_r) +') + +optional_policy(` -+ mozilla_run_plugin(xguest_t, xguest_r) ++ nsplugin_role(xguest_r, xguest_t) +') + +optional_policy(` -+ nsplugin_role(xguest_r, xguest_t) - ') - - optional_policy(` -- mozilla_role(xguest_r, xguest_t) + pcscd_read_pub_files(xguest_usertype) + pcscd_stream_connect(xguest_usertype) ') @@ -15364,10 +15615,10 @@ index 0000000..6bf0ad6 +') diff --git a/policy/modules/services/aiccu.te b/policy/modules/services/aiccu.te new file mode 100644 -index 0000000..4b9dc88 +index 0000000..dda9c93 --- /dev/null +++ b/policy/modules/services/aiccu.te -@@ -0,0 +1,71 @@ +@@ -0,0 +1,75 @@ +policy_module(aiccu, 1.0.0) + +######################################## @@ -15435,10 +15686,14 @@ index 0000000..4b9dc88 + +miscfiles_read_localization(aiccu_t) + -+modutils_domtrans_insmod(aiccu_t) ++optional_policy(` ++ modutils_domtrans_insmod(aiccu_t) ++') + -+sysnet_domtrans_ifconfig(aiccu_t) -+sysnet_dns_name_resolve(aiccu_t) ++optional_policy(` ++ sysnet_domtrans_ifconfig(aiccu_t) ++ sysnet_dns_name_resolve(aiccu_t) ++') diff --git a/policy/modules/services/aide.if b/policy/modules/services/aide.if index 838d25b..0b0db39 100644 --- a/policy/modules/services/aide.if @@ -15678,7 +15933,7 @@ index ceb2142..e31d92a 100644 ') diff --git a/policy/modules/services/amavis.te b/policy/modules/services/amavis.te -index c3a1903..0140399 100644 +index c3a1903..19fb14a 100644 --- a/policy/modules/services/amavis.te +++ b/policy/modules/services/amavis.te @@ -47,7 +47,7 @@ files_type(amavis_spool_t) @@ -15716,10 +15971,39 @@ index c3a1903..0140399 100644 corenet_all_recvfrom_unlabeled(amavis_t) corenet_all_recvfrom_netlabel(amavis_t) -@@ -170,6 +171,10 @@ optional_policy(` +@@ -152,24 +153,32 @@ sysnet_use_ldap(amavis_t) + + userdom_dontaudit_search_user_home_dirs(amavis_t) + +-# Cron handling +-cron_use_fds(amavis_t) +-cron_use_system_job_fds(amavis_t) +-cron_rw_pipes(amavis_t) +- +-mta_read_config(amavis_t) +- + optional_policy(` + clamav_stream_connect(amavis_t) + clamav_domtrans_clamscan(amavis_t) + ') + + optional_policy(` ++ #Cron handling ++ cron_use_fds(amavis_t) ++ cron_use_system_job_fds(amavis_t) ++ cron_rw_pipes(amavis_t) ++') ++ ++optional_policy(` + dcc_domtrans_client(amavis_t) + dcc_stream_connect_dccifd(amavis_t) ') optional_policy(` ++ mta_read_config(amavis_t) ++') ++ ++optional_policy(` + nslcd_stream_connect(amavis_t) +') + @@ -17320,7 +17604,7 @@ index 1ea99b2..49e6c74 100644 + stream_connect_pattern($1, apmd_var_run_t, apmd_var_run_t, apmd_t) ') diff --git a/policy/modules/services/apm.te b/policy/modules/services/apm.te -index 1c8c27e..5fbd9b3 100644 +index 1c8c27e..ca71f13 100644 --- a/policy/modules/services/apm.te +++ b/policy/modules/services/apm.te @@ -4,6 +4,7 @@ policy_module(apm, 1.11.0) @@ -17348,7 +17632,17 @@ index 1c8c27e..5fbd9b3 100644 dev_read_realtime_clock(apmd_t) dev_read_urand(apmd_t) dev_rw_apm_bios(apmd_t) -@@ -142,9 +146,8 @@ ifdef(`distro_redhat',` +@@ -127,9 +131,6 @@ logging_send_audit_msgs(apmd_t) + miscfiles_read_localization(apmd_t) + miscfiles_read_hwdata(apmd_t) + +-modutils_domtrans_insmod(apmd_t) +-modutils_read_module_config(apmd_t) +- + seutil_dontaudit_read_config(apmd_t) + + userdom_dontaudit_use_unpriv_user_fds(apmd_t) +@@ -142,9 +143,8 @@ ifdef(`distro_redhat',` can_exec(apmd_t, apmd_var_run_t) @@ -17359,7 +17653,7 @@ index 1c8c27e..5fbd9b3 100644 ') optional_policy(` -@@ -155,6 +158,15 @@ ifdef(`distro_redhat',` +@@ -155,6 +155,15 @@ ifdef(`distro_redhat',` netutils_domtrans(apmd_t) ') @@ -17375,6 +17669,18 @@ index 1c8c27e..5fbd9b3 100644 ',` # for ifconfig which is run all the time kernel_dontaudit_search_sysctl(apmd_t) +@@ -205,6 +214,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_insmod(apmd_t) ++ modutils_read_module_config(apmd_t) ++') ++ ++optional_policy(` + pcmcia_domtrans_cardmgr(apmd_t) + pcmcia_domtrans_cardctl(apmd_t) + ') diff --git a/policy/modules/services/arpwatch.if b/policy/modules/services/arpwatch.if index c804110..bdefbe1 100644 --- a/policy/modules/services/arpwatch.if @@ -17482,17 +17788,33 @@ index d80a16b..a43e006 100644 init_labeled_script_domtrans($1, automount_initrc_exec_t) diff --git a/policy/modules/services/automount.te b/policy/modules/services/automount.te -index 39799db..6189565 100644 +index 39799db..d174b05 100644 --- a/policy/modules/services/automount.te +++ b/policy/modules/services/automount.te -@@ -145,6 +145,7 @@ miscfiles_read_generic_certs(automount_t) +@@ -143,9 +143,6 @@ logging_search_logs(automount_t) + miscfiles_read_localization(automount_t) + miscfiles_read_generic_certs(automount_t) - # Run mount in the mount_t domain. - mount_domtrans(automount_t) -+mount_domtrans_showmount(automount_t) - mount_signal(automount_t) +-# Run mount in the mount_t domain. +-mount_domtrans(automount_t) +-mount_signal(automount_t) userdom_dontaudit_use_unpriv_user_fds(automount_t) + userdom_dontaudit_search_user_home_dirs(automount_t) +@@ -155,6 +152,13 @@ optional_policy(` + ') + + optional_policy(` ++ # Run mount in the mount_t domain. ++ mount_domtrans(automount_t) ++ mount_domtrans_showmount(automount_t) ++ mount_signal(automount_t) ++') ++ ++optional_policy(` + fstools_domtrans(automount_t) + ') + diff --git a/policy/modules/services/avahi.if b/policy/modules/services/avahi.if index 61c74bc..c6b0498 100644 --- a/policy/modules/services/avahi.if @@ -17506,10 +17828,18 @@ index 61c74bc..c6b0498 100644 allow avahi_t $1:dbus send_msg; ') diff --git a/policy/modules/services/avahi.te b/policy/modules/services/avahi.te -index a7a0e71..15686e9 100644 +index a7a0e71..5352ef6 100644 --- a/policy/modules/services/avahi.te +++ b/policy/modules/services/avahi.te -@@ -46,6 +46,7 @@ files_pid_filetrans(avahi_t, avahi_var_run_t, { dir file }) +@@ -17,6 +17,7 @@ files_pid_file(avahi_var_lib_t) + + type avahi_var_run_t; + files_pid_file(avahi_var_run_t) ++init_sock_file(avahi_var_run_t) + + ######################################## + # +@@ -46,6 +47,7 @@ files_pid_filetrans(avahi_t, avahi_var_run_t, { dir file }) kernel_read_system_state(avahi_t) kernel_read_kernel_sysctls(avahi_t) kernel_read_network_state(avahi_t) @@ -17517,7 +17847,7 @@ index a7a0e71..15686e9 100644 corecmd_exec_bin(avahi_t) corecmd_exec_shell(avahi_t) -@@ -104,6 +105,10 @@ optional_policy(` +@@ -104,6 +106,10 @@ optional_policy(` ') optional_policy(` @@ -18329,10 +18659,10 @@ index 0000000..3964548 +') diff --git a/policy/modules/services/bugzilla.te b/policy/modules/services/bugzilla.te new file mode 100644 -index 0000000..c63c8fa +index 0000000..b73c9f2 --- /dev/null +++ b/policy/modules/services/bugzilla.te -@@ -0,0 +1,55 @@ +@@ -0,0 +1,57 @@ +policy_module(bugzilla, 1.0) + +######################################## @@ -18375,12 +18705,14 @@ index 0000000..c63c8fa + +files_search_var_lib(httpd_bugzilla_script_t) + -+mta_send_mail(httpd_bugzilla_script_t) -+ +sysnet_read_config(httpd_bugzilla_script_t) +sysnet_use_ldap(httpd_bugzilla_script_t) + +optional_policy(` ++ mta_send_mail(httpd_bugzilla_script_t) ++') ++ ++optional_policy(` + mysql_search_db(httpd_bugzilla_script_t) + mysql_stream_connect(httpd_bugzilla_script_t) +') @@ -18466,10 +18798,10 @@ index 0000000..3b41945 +') diff --git a/policy/modules/services/cachefilesd.te b/policy/modules/services/cachefilesd.te new file mode 100644 -index 0000000..575c16e +index 0000000..e7d2a5b --- /dev/null +++ b/policy/modules/services/cachefilesd.te -@@ -0,0 +1,143 @@ +@@ -0,0 +1,145 @@ +############################################################################### +# +# Copyright (C) 2006, 2010 Red Hat, Inc. All Rights Reserved. @@ -18535,7 +18867,9 @@ index 0000000..575c16e +# +# Permit RPM to deal with files in the cache +# -+rpm_use_script_fds(cachefilesd_t) ++optional_policy(` ++ rpm_use_script_fds(cachefilesd_t) ++') + +############################################################################### +# @@ -19231,7 +19565,7 @@ index 1f11572..7f6a7ab 100644 ') diff --git a/policy/modules/services/clamav.te b/policy/modules/services/clamav.te -index f758323..f1571f1 100644 +index f758323..f2f0739 100644 --- a/policy/modules/services/clamav.te +++ b/policy/modules/services/clamav.te @@ -1,9 +1,9 @@ @@ -19276,7 +19610,29 @@ index f758323..f1571f1 100644 kernel_dontaudit_list_proc(clamd_t) kernel_read_sysctl(clamd_t) -@@ -147,8 +151,10 @@ optional_policy(` +@@ -127,12 +131,16 @@ logging_send_syslog_msg(clamd_t) + + miscfiles_read_localization(clamd_t) + +-cron_use_fds(clamd_t) +-cron_use_system_job_fds(clamd_t) +-cron_rw_pipes(clamd_t) ++optional_policy(` ++ cron_use_fds(clamd_t) ++ cron_use_system_job_fds(clamd_t) ++ cron_rw_pipes(clamd_t) ++') + +-mta_read_config(clamd_t) +-mta_send_mail(clamd_t) ++optional_policy(` ++ mta_read_config(clamd_t) ++ mta_send_mail(clamd_t) ++') + + optional_policy(` + amavis_read_lib_files(clamd_t) +@@ -147,8 +155,10 @@ optional_policy(` tunable_policy(`clamd_use_jit',` allow clamd_t self:process execmem; @@ -19288,7 +19644,7 @@ index f758323..f1571f1 100644 ') ######################################## -@@ -178,10 +184,16 @@ files_pid_filetrans(freshclam_t, clamd_var_run_t, file) +@@ -178,10 +188,16 @@ files_pid_filetrans(freshclam_t, clamd_var_run_t, file) # log files (own logfiles only) manage_files_pattern(freshclam_t, freshclam_var_log_t, freshclam_var_log_t) @@ -19307,7 +19663,7 @@ index f758323..f1571f1 100644 corenet_all_recvfrom_unlabeled(freshclam_t) corenet_all_recvfrom_netlabel(freshclam_t) corenet_tcp_sendrecv_generic_if(freshclam_t) -@@ -189,6 +201,7 @@ corenet_tcp_sendrecv_generic_node(freshclam_t) +@@ -189,6 +205,7 @@ corenet_tcp_sendrecv_generic_node(freshclam_t) corenet_tcp_sendrecv_all_ports(freshclam_t) corenet_tcp_sendrecv_clamd_port(freshclam_t) corenet_tcp_connect_http_port(freshclam_t) @@ -19315,7 +19671,7 @@ index f758323..f1571f1 100644 corenet_sendrecv_http_client_packets(freshclam_t) dev_read_rand(freshclam_t) -@@ -207,16 +220,18 @@ miscfiles_read_localization(freshclam_t) +@@ -207,16 +224,18 @@ miscfiles_read_localization(freshclam_t) clamav_stream_connect(freshclam_t) @@ -19338,7 +19694,7 @@ index f758323..f1571f1 100644 ######################################## # # clamscam local policy -@@ -248,9 +263,11 @@ corenet_tcp_sendrecv_generic_if(clamscan_t) +@@ -248,9 +267,11 @@ corenet_tcp_sendrecv_generic_if(clamscan_t) corenet_tcp_sendrecv_generic_node(clamscan_t) corenet_tcp_sendrecv_all_ports(clamscan_t) corenet_tcp_sendrecv_clamd_port(clamscan_t) @@ -19350,13 +19706,17 @@ index f758323..f1571f1 100644 files_read_etc_files(clamscan_t) files_read_etc_runtime_files(clamscan_t) -@@ -265,6 +282,9 @@ miscfiles_read_public_files(clamscan_t) +@@ -264,7 +285,12 @@ miscfiles_read_public_files(clamscan_t) + clamav_stream_connect(clamscan_t) - mta_send_mail(clamscan_t) -+mta_read_queue(clamscan_t) -+ +-mta_send_mail(clamscan_t) +sysnet_read_config(clamscan_t) ++ ++optional_policy(` ++ mta_send_mail(clamscan_t) ++ mta_read_queue(clamscan_t) ++') optional_policy(` amavis_read_spool_files(clamscan_t) @@ -20046,8 +20406,140 @@ index 0258b48..8fde016 100644 +list_dirs_pattern(cobblerd_t, httpd_cobbler_content_t, httpd_cobbler_content_t) manage_dirs_pattern(cobblerd_t, httpd_cobbler_content_rw_t, httpd_cobbler_content_rw_t) manage_files_pattern(cobblerd_t, httpd_cobbler_content_rw_t, httpd_cobbler_content_rw_t) +diff --git a/policy/modules/services/colord.fc b/policy/modules/services/colord.fc +new file mode 100644 +index 0000000..7a01ff6 +--- /dev/null ++++ b/policy/modules/services/colord.fc +@@ -0,0 +1,4 @@ ++ ++/usr/libexec/colord -- gen_context(system_u:object_r:colord_exec_t,s0) ++ ++/var/lib/colord(/.*)? gen_context(system_u:object_r:colord_var_lib_t,s0) +diff --git a/policy/modules/services/colord.if b/policy/modules/services/colord.if +new file mode 100644 +index 0000000..38cb883 +--- /dev/null ++++ b/policy/modules/services/colord.if +@@ -0,0 +1,42 @@ ++ ++## policy for colord ++ ++######################################## ++## ++## Execute a domain transition to run colord. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`colord_domtrans',` ++ gen_require(` ++ type colord_t, colord_exec_t; ++ ') ++ ++ domtrans_pattern($1, colord_exec_t, colord_t) ++') ++ ++######################################## ++## ++## Send and receive messages from ++## colord over dbus. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`colord_dbus_chat',` ++ gen_require(` ++ type colord_t; ++ class dbus send_msg; ++ ') ++ ++ allow $1 colord_t:dbus send_msg; ++ allow colord_t $1:dbus send_msg; ++') ++ +diff --git a/policy/modules/services/colord.te b/policy/modules/services/colord.te +new file mode 100644 +index 0000000..0ecb72e +--- /dev/null ++++ b/policy/modules/services/colord.te +@@ -0,0 +1,68 @@ ++policy_module(colord,1.0.0) ++ ++######################################## ++# ++# Declarations ++# ++ ++type colord_t; ++type colord_exec_t; ++dbus_system_domain(colord_t, colord_exec_t) ++ ++type colord_var_lib_t; ++files_type(colord_var_lib_t) ++ ++type colord_tmp_t; ++files_tmp_file(colord_tmp_t) ++ ++permissive colord_t; ++ ++######################################## ++# ++# colord local policy ++# ++allow colord_t self:fifo_file rw_fifo_file_perms; ++allow colord_t self:netlink_kobject_uevent_socket create_socket_perms; ++allow colord_t self:udp_socket create_socket_perms; ++ ++manage_dirs_pattern(colord_t, colord_tmp_t, colord_tmp_t) ++manage_files_pattern(colord_t, colord_tmp_t, colord_tmp_t) ++files_tmp_filetrans(colord_t, colord_tmp_t, { file dir }) ++ ++manage_dirs_pattern(colord_t, colord_var_lib_t, colord_var_lib_t) ++manage_files_pattern(colord_t, colord_var_lib_t, colord_var_lib_t) ++files_var_lib_filetrans(colord_t, colord_var_lib_t, { file dir }) ++ ++kernel_read_device_sysctls(colord_t) ++ ++corenet_udp_bind_generic_node(colord_t) ++corenet_udp_bind_ipp_port(colord_t) ++ ++dev_read_raw_memory(colord_t) ++dev_write_raw_memory(colord_t) ++dev_read_video_dev(colord_t) ++dev_write_video_dev(colord_t) ++dev_read_rand(colord_t) ++dev_read_sysfs(colord_t) ++dev_read_urand(colord_t) ++dev_list_sysfs(colord_t) ++dev_read_generic_usb_dev(colord_t) ++ ++domain_use_interactive_fds(colord_t) ++ ++files_read_etc_files(colord_t) ++files_read_usr_files(colord_t) ++ ++miscfiles_read_localization(colord_t) ++ ++sysnet_dns_name_resolve(colord_t) ++ ++optional_policy(` ++ cups_read_rw_config(colord_t) ++ cups_stream_connect(colord_t) ++ cups_dbus_chat(colord_t) ++') ++ ++optional_policy(` ++ udev_read_db(colord_t) ++') diff --git a/policy/modules/services/consolekit.if b/policy/modules/services/consolekit.if -index 42c6bd7..8f23087 100644 +index fd15dfe..ad224fa 100644 --- a/policy/modules/services/consolekit.if +++ b/policy/modules/services/consolekit.if @@ -5,9 +5,9 @@ @@ -20115,8 +20607,8 @@ index 42c6bd7..8f23087 100644 ## Read consolekit log files. ## ## -@@ -95,3 +134,22 @@ interface(`consolekit_read_pid_files',` - files_search_pids($1) +@@ -96,3 +135,22 @@ interface(`consolekit_read_pid_files',` + allow $1 consolekit_var_run_t:dir list_dir_perms; read_files_pattern($1, consolekit_var_run_t, consolekit_var_run_t) ') + @@ -20139,7 +20631,7 @@ index 42c6bd7..8f23087 100644 + list_dirs_pattern($1, consolekit_var_run_t, consolekit_var_run_t) +') diff --git a/policy/modules/services/consolekit.te b/policy/modules/services/consolekit.te -index daf151d..16c0746 100644 +index e67a003..894d4e0 100644 --- a/policy/modules/services/consolekit.te +++ b/policy/modules/services/consolekit.te @@ -15,6 +15,9 @@ logging_log_file(consolekit_log_t) @@ -20152,7 +20644,7 @@ index daf151d..16c0746 100644 ######################################## # # consolekit local policy -@@ -69,7 +72,10 @@ logging_send_audit_msgs(consolekit_t) +@@ -69,11 +72,12 @@ logging_send_audit_msgs(consolekit_t) miscfiles_read_localization(consolekit_t) @@ -20162,8 +20654,12 @@ index daf151d..16c0746 100644 +userdom_dontaudit_getattr_admin_home_files(consolekit_t) userdom_read_user_tmp_files(consolekit_t) - hal_ptrace(consolekit_t) -@@ -83,6 +89,10 @@ tunable_policy(`use_samba_home_dirs',` +-hal_ptrace(consolekit_t) +- + tunable_policy(`use_nfs_home_dirs',` + fs_read_nfs_files(consolekit_t) + ') +@@ -83,6 +87,14 @@ tunable_policy(`use_samba_home_dirs',` ') optional_policy(` @@ -20171,10 +20667,14 @@ index daf151d..16c0746 100644 +') + +optional_policy(` ++ hal_ptrace(consolekit_t) ++') ++ ++optional_policy(` dbus_system_domain(consolekit_t, consolekit_exec_t) optional_policy(` -@@ -99,6 +109,10 @@ optional_policy(` +@@ -99,6 +111,10 @@ optional_policy(` ') optional_policy(` @@ -20185,7 +20685,7 @@ index daf151d..16c0746 100644 policykit_dbus_chat(consolekit_t) policykit_domtrans_auth(consolekit_t) policykit_read_lib(consolekit_t) -@@ -106,9 +120,10 @@ optional_policy(` +@@ -106,9 +122,10 @@ optional_policy(` ') optional_policy(` @@ -20198,7 +20698,7 @@ index daf151d..16c0746 100644 xserver_read_xdm_pid(consolekit_t) xserver_read_user_xauth(consolekit_t) xserver_non_drawing_client(consolekit_t) -@@ -125,5 +140,6 @@ optional_policy(` +@@ -125,5 +142,6 @@ optional_policy(` optional_policy(` #reading .Xauthity @@ -20735,15 +21235,9 @@ index 35241ed..b6402c9 100644 + manage_files_pattern($1, system_cronjob_var_lib_t, system_cronjob_var_lib_t) ') diff --git a/policy/modules/services/cron.te b/policy/modules/services/cron.te -index f35b243..9941737 100644 +index f7583ab..9941737 100644 --- a/policy/modules/services/cron.te +++ b/policy/modules/services/cron.te -@@ -1,4 +1,4 @@ --policy_module(cron, 2.2.0) -+policy_module(cron, 2.2.1) - - gen_require(` - class passwd rootok; @@ -10,18 +10,18 @@ gen_require(` # @@ -20883,7 +21377,7 @@ index f35b243..9941737 100644 files_read_usr_files(crond_t) files_read_etc_runtime_files(crond_t) -@@ -203,12 +220,18 @@ files_list_usr(crond_t) +@@ -203,11 +220,16 @@ files_list_usr(crond_t) files_search_var_lib(crond_t) files_search_default(crond_t) @@ -20898,11 +21392,9 @@ index f35b243..9941737 100644 +logging_send_audit_msgs(crond_t) logging_send_syslog_msg(crond_t) -+logging_set_loginuid(crond_t) + logging_set_loginuid(crond_t) - seutil_read_config(crond_t) - seutil_read_default_contexts(crond_t) -@@ -219,8 +242,10 @@ miscfiles_read_localization(crond_t) +@@ -220,8 +242,10 @@ miscfiles_read_localization(crond_t) userdom_use_unpriv_users_fds(crond_t) # Not sure why this is needed userdom_list_user_home_dirs(crond_t) @@ -20913,7 +21405,7 @@ index f35b243..9941737 100644 ifdef(`distro_debian',` # pam_limits is used -@@ -232,7 +257,7 @@ ifdef(`distro_debian',` +@@ -233,7 +257,7 @@ ifdef(`distro_debian',` ') ') @@ -20922,16 +21414,7 @@ index f35b243..9941737 100644 # Run the rpm program in the rpm_t domain. Allow creation of RPM log files # via redirection of standard out. optional_policy(` -@@ -240,16 +265,39 @@ ifdef(`distro_redhat', ` - ') - ') - -+tunable_policy(`allow_polyinstantiation',` -+ files_polyinstantiate_all(crond_t) -+') -+ - tunable_policy(`fcron_crond', ` - allow crond_t system_cron_spool_t:file manage_file_perms; +@@ -250,11 +274,30 @@ tunable_policy(`fcron_crond', ` ') optional_policy(` @@ -20962,7 +21445,7 @@ index f35b243..9941737 100644 amanda_search_var_lib(crond_t) ') -@@ -259,6 +307,8 @@ optional_policy(` +@@ -264,6 +307,8 @@ optional_policy(` optional_policy(` hal_dbus_chat(crond_t) @@ -20971,7 +21454,7 @@ index f35b243..9941737 100644 ') optional_policy(` -@@ -284,12 +334,18 @@ optional_policy(` +@@ -289,12 +334,18 @@ optional_policy(` udev_read_db(crond_t) ') @@ -20990,7 +21473,7 @@ index f35b243..9941737 100644 allow system_cronjob_t self:process { signal_perms getsched setsched }; allow system_cronjob_t self:fifo_file rw_fifo_file_perms; allow system_cronjob_t self:passwd rootok; -@@ -301,10 +357,19 @@ logging_log_filetrans(system_cronjob_t, cron_log_t, file) +@@ -306,10 +357,19 @@ logging_log_filetrans(system_cronjob_t, cron_log_t, file) # This is to handle /var/lib/misc directory. Used currently # by prelink var/lib files for cron @@ -21011,7 +21494,7 @@ index f35b243..9941737 100644 # The entrypoint interface is not used as this is not # a regular entrypoint. Since crontab files are # not directly executed, crond must ensure that -@@ -324,6 +389,7 @@ allow crond_t system_cronjob_t:fd use; +@@ -329,6 +389,7 @@ allow crond_t system_cronjob_t:fd use; allow system_cronjob_t crond_t:fd use; allow system_cronjob_t crond_t:fifo_file rw_file_perms; allow system_cronjob_t crond_t:process sigchld; @@ -21019,7 +21502,7 @@ index f35b243..9941737 100644 # Write /var/lock/makewhatis.lock. allow system_cronjob_t system_cronjob_lock_t:file manage_file_perms; -@@ -335,9 +401,13 @@ manage_lnk_files_pattern(system_cronjob_t, crond_tmp_t, system_cronjob_tmp_t) +@@ -340,9 +401,13 @@ manage_lnk_files_pattern(system_cronjob_t, crond_tmp_t, system_cronjob_tmp_t) filetrans_pattern(system_cronjob_t, crond_tmp_t, system_cronjob_tmp_t, { file lnk_file }) files_tmp_filetrans(system_cronjob_t, system_cronjob_tmp_t, file) @@ -21034,7 +21517,7 @@ index f35b243..9941737 100644 kernel_read_kernel_sysctls(system_cronjob_t) kernel_read_system_state(system_cronjob_t) -@@ -360,6 +430,7 @@ corenet_udp_sendrecv_all_ports(system_cronjob_t) +@@ -365,6 +430,7 @@ corenet_udp_sendrecv_all_ports(system_cronjob_t) dev_getattr_all_blk_files(system_cronjob_t) dev_getattr_all_chr_files(system_cronjob_t) dev_read_urand(system_cronjob_t) @@ -21042,7 +21525,7 @@ index f35b243..9941737 100644 fs_getattr_all_fs(system_cronjob_t) fs_getattr_all_files(system_cronjob_t) -@@ -386,6 +457,7 @@ files_dontaudit_search_pids(system_cronjob_t) +@@ -391,6 +457,7 @@ files_dontaudit_search_pids(system_cronjob_t) # Access other spool directories like # /var/spool/anacron and /var/spool/slrnpull. files_manage_generic_spool(system_cronjob_t) @@ -21050,7 +21533,7 @@ index f35b243..9941737 100644 init_use_script_fds(system_cronjob_t) init_read_utmp(system_cronjob_t) -@@ -408,8 +480,10 @@ miscfiles_manage_man_pages(system_cronjob_t) +@@ -413,8 +480,10 @@ miscfiles_manage_man_pages(system_cronjob_t) seutil_read_config(system_cronjob_t) @@ -21062,7 +21545,7 @@ index f35b243..9941737 100644 # via redirection of standard out. optional_policy(` rpm_manage_log(system_cronjob_t) -@@ -434,6 +508,8 @@ optional_policy(` +@@ -439,6 +508,8 @@ optional_policy(` apache_read_config(system_cronjob_t) apache_read_log(system_cronjob_t) apache_read_sys_content(system_cronjob_t) @@ -21071,7 +21554,7 @@ index f35b243..9941737 100644 ') optional_policy(` -@@ -441,6 +517,14 @@ optional_policy(` +@@ -446,6 +517,14 @@ optional_policy(` ') optional_policy(` @@ -21086,7 +21569,7 @@ index f35b243..9941737 100644 ftp_read_log(system_cronjob_t) ') -@@ -451,15 +535,24 @@ optional_policy(` +@@ -456,15 +535,24 @@ optional_policy(` ') optional_policy(` @@ -21111,7 +21594,7 @@ index f35b243..9941737 100644 ') optional_policy(` -@@ -475,7 +568,7 @@ optional_policy(` +@@ -480,7 +568,7 @@ optional_policy(` prelink_manage_lib(system_cronjob_t) prelink_manage_log(system_cronjob_t) prelink_read_cache(system_cronjob_t) @@ -21120,7 +21603,7 @@ index f35b243..9941737 100644 ') optional_policy(` -@@ -490,6 +583,7 @@ optional_policy(` +@@ -495,6 +583,7 @@ optional_policy(` optional_policy(` spamassassin_manage_lib_files(system_cronjob_t) @@ -21128,7 +21611,7 @@ index f35b243..9941737 100644 ') optional_policy(` -@@ -497,7 +591,13 @@ optional_policy(` +@@ -502,7 +591,13 @@ optional_policy(` ') optional_policy(` @@ -21142,7 +21625,7 @@ index f35b243..9941737 100644 userdom_user_home_dir_filetrans_user_home_content(system_cronjob_t, { dir file lnk_file fifo_file sock_file }) ') -@@ -590,9 +690,12 @@ userdom_manage_user_home_content_sockets(cronjob_t) +@@ -595,9 +690,12 @@ userdom_manage_user_home_content_sockets(cronjob_t) #userdom_user_home_dir_filetrans_user_home_content(cronjob_t, notdevfile_class_set) list_dirs_pattern(crond_t, user_cron_spool_t, user_cron_spool_t) @@ -21230,7 +21713,7 @@ index 305ddf4..777091a 100644 admin_pattern($1, ptal_etc_t) diff --git a/policy/modules/services/cups.te b/policy/modules/services/cups.te -index 0f28095..cf33683 100644 +index 0f28095..1c96265 100644 --- a/policy/modules/services/cups.te +++ b/policy/modules/services/cups.te @@ -15,6 +15,7 @@ files_pid_file(cupsd_config_var_run_t) @@ -21281,7 +21764,20 @@ index 0f28095..cf33683 100644 kernel_read_system_state(cupsd_t) kernel_read_network_state(cupsd_t) -@@ -297,8 +301,10 @@ optional_policy(` +@@ -270,12 +274,6 @@ files_dontaudit_list_home(cupsd_t) + userdom_dontaudit_use_unpriv_user_fds(cupsd_t) + userdom_dontaudit_search_user_home_content(cupsd_t) + +-# Write to /var/spool/cups. +-lpd_manage_spool(cupsd_t) +-lpd_read_config(cupsd_t) +-lpd_exec_lpr(cupsd_t) +-lpd_relabel_spool(cupsd_t) +- + optional_policy(` + apm_domtrans_client(cupsd_t) + ') +@@ -297,8 +295,10 @@ optional_policy(` hal_dbus_chat(cupsd_t) ') @@ -21292,7 +21788,22 @@ index 0f28095..cf33683 100644 ') ') -@@ -371,8 +377,9 @@ files_tmp_filetrans(cupsd_config_t, cupsd_tmp_t, { lnk_file file dir }) +@@ -315,6 +315,14 @@ optional_policy(` + ') + + optional_policy(` ++ # Write to /var/spool/cups. ++ lpd_manage_spool(cupsd_t) ++ lpd_read_config(cupsd_t) ++ lpd_exec_lpr(cupsd_t) ++ lpd_relabel_spool(cupsd_t) ++') ++ ++optional_policy(` + mta_send_mail(cupsd_t) + ') + +@@ -371,8 +379,9 @@ files_tmp_filetrans(cupsd_config_t, cupsd_tmp_t, { lnk_file file dir }) allow cupsd_config_t cupsd_var_run_t:file read_file_perms; @@ -21303,7 +21814,7 @@ index 0f28095..cf33683 100644 domtrans_pattern(cupsd_config_t, hplip_exec_t, hplip_t) -@@ -425,6 +432,7 @@ seutil_dontaudit_search_config(cupsd_config_t) +@@ -425,11 +434,10 @@ seutil_dontaudit_search_config(cupsd_config_t) userdom_dontaudit_use_unpriv_user_fds(cupsd_config_t) userdom_dontaudit_search_user_home_dirs(cupsd_config_t) @@ -21311,6 +21822,11 @@ index 0f28095..cf33683 100644 cups_stream_connect(cupsd_config_t) +-lpd_read_config(cupsd_config_t) +- + ifdef(`distro_redhat',` + optional_policy(` + rpm_read_db(cupsd_config_t) @@ -453,6 +461,10 @@ optional_policy(` ') @@ -21322,7 +21838,18 @@ index 0f28095..cf33683 100644 hal_domtrans(cupsd_config_t) hal_read_tmp_files(cupsd_config_t) hal_dontaudit_use_fds(hplip_t) -@@ -587,14 +599,16 @@ auth_use_nsswitch(cups_pdf_t) +@@ -467,6 +479,10 @@ optional_policy(` + ') + + optional_policy(` ++ lpd_read_config(cupsd_config_t) ++') ++ ++optional_policy(` + policykit_dbus_chat(cupsd_config_t) + userdom_read_all_users_state(cupsd_config_t) + ') +@@ -587,13 +603,17 @@ auth_use_nsswitch(cups_pdf_t) miscfiles_read_localization(cups_pdf_t) miscfiles_read_fonts(cups_pdf_t) @@ -21334,13 +21861,15 @@ index 0f28095..cf33683 100644 userdom_manage_user_home_content_files(cups_pdf_t) +userdom_dontaudit_search_admin_dir(cups_pdf_t) - lpd_manage_spool(cups_pdf_t) - +-lpd_manage_spool(cups_pdf_t) - ++optional_policy(` ++ lpd_manage_spool(cups_pdf_t) ++') + tunable_policy(`use_nfs_home_dirs',` fs_search_auto_mountpoints(cups_pdf_t) - fs_manage_nfs_dirs(cups_pdf_t) -@@ -606,6 +620,10 @@ tunable_policy(`use_samba_home_dirs',` +@@ -606,6 +626,10 @@ tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_files(cups_pdf_t) ') @@ -21351,7 +21880,7 @@ index 0f28095..cf33683 100644 ######################################## # # HPLIP local policy -@@ -639,7 +657,7 @@ manage_files_pattern(hplip_t, hplip_var_lib_t, hplip_var_lib_t) +@@ -639,7 +663,7 @@ manage_files_pattern(hplip_t, hplip_var_lib_t, hplip_var_lib_t) manage_lnk_files_pattern(hplip_t, hplip_var_lib_t, hplip_var_lib_t) manage_fifo_files_pattern(hplip_t, hplip_tmp_t, hplip_tmp_t) @@ -21360,7 +21889,7 @@ index 0f28095..cf33683 100644 manage_files_pattern(hplip_t, hplip_var_run_t, hplip_var_run_t) files_pid_filetrans(hplip_t, hplip_var_run_t, file) -@@ -685,6 +703,7 @@ domain_use_interactive_fds(hplip_t) +@@ -685,6 +709,7 @@ domain_use_interactive_fds(hplip_t) files_read_etc_files(hplip_t) files_read_etc_runtime_files(hplip_t) files_read_usr_files(hplip_t) @@ -21368,6 +21897,19 @@ index 0f28095..cf33683 100644 logging_send_syslog_msg(hplip_t) +@@ -696,8 +721,10 @@ userdom_dontaudit_use_unpriv_user_fds(hplip_t) + userdom_dontaudit_search_user_home_dirs(hplip_t) + userdom_dontaudit_search_user_home_content(hplip_t) + +-lpd_read_config(hplip_t) +-lpd_manage_spool(hplip_t) ++optional_policy(` ++ lpd_read_config(hplip_t) ++ lpd_manage_spool(hplip_t) ++') + + optional_policy(` + dbus_system_bus_client(hplip_t) diff --git a/policy/modules/services/cvs.if b/policy/modules/services/cvs.if index c43ff4c..a9783e3 100644 --- a/policy/modules/services/cvs.if @@ -21506,7 +22048,7 @@ index a8b93c0..831ce70 100644 type dante_var_run_t; files_pid_file(dante_var_run_t) diff --git a/policy/modules/services/dbus.if b/policy/modules/services/dbus.if -index 0d5711c..bbc1a8f 100644 +index 0d5711c..2f38c31 100644 --- a/policy/modules/services/dbus.if +++ b/policy/modules/services/dbus.if @@ -41,9 +41,9 @@ interface(`dbus_stub',` @@ -21684,7 +22226,7 @@ index 0d5711c..bbc1a8f 100644 dontaudit $1 system_dbusd_t:netlink_selinux_socket { read write }; ') ') -@@ -497,3 +552,22 @@ interface(`dbus_unconfined',` +@@ -497,3 +552,23 @@ interface(`dbus_unconfined',` typeattribute $1 dbusd_unconfined; ') @@ -21707,20 +22249,32 @@ index 0d5711c..bbc1a8f 100644 + files_search_pids($1) + delete_files_pattern($1, system_dbusd_var_run_t, system_dbusd_var_run_t) +') ++ diff --git a/policy/modules/services/dbus.te b/policy/modules/services/dbus.te -index 98e5af6..a7472fc 100644 +index 86d09b4..1c0dd9b 100644 --- a/policy/modules/services/dbus.te +++ b/policy/modules/services/dbus.te -@@ -52,7 +52,7 @@ ifdef(`enable_mls',` +@@ -33,6 +33,7 @@ files_tmp_file(system_dbusd_tmp_t) + + type system_dbusd_var_lib_t; + files_type(system_dbusd_var_lib_t) ++init_sock_file(system_dbusd_var_lib_t) + + type system_dbusd_var_run_t; + files_pid_file(system_dbusd_var_run_t) +@@ -52,9 +53,9 @@ ifdef(`enable_mls',` # dac_override: /var/run/dbus is owned by messagebus on Debian # cjp: dac_override should probably go in a distro_debian -allow system_dbusd_t self:capability { dac_override setgid setpcap setuid }; +allow system_dbusd_t self:capability { sys_resource dac_override setgid setpcap setuid }; dontaudit system_dbusd_t self:capability sys_tty_config; - allow system_dbusd_t self:process { getattr getsched signal_perms setpgid getcap setcap }; +-allow system_dbusd_t self:process { getattr getsched signal_perms setpgid getcap setcap }; ++allow system_dbusd_t self:process { getattr getsched signal_perms setpgid getcap setcap setrlimit }; allow system_dbusd_t self:fifo_file rw_fifo_file_perms; -@@ -74,9 +74,10 @@ files_tmp_filetrans(system_dbusd_t, system_dbusd_tmp_t, { file dir }) + allow system_dbusd_t self:dbus { send_msg acquire_svc }; + allow system_dbusd_t self:unix_stream_socket { connectto create_stream_socket_perms connectto }; +@@ -74,9 +75,10 @@ files_tmp_filetrans(system_dbusd_t, system_dbusd_tmp_t, { file dir }) read_files_pattern(system_dbusd_t, system_dbusd_var_lib_t, system_dbusd_var_lib_t) @@ -21732,7 +22286,7 @@ index 98e5af6..a7472fc 100644 kernel_read_system_state(system_dbusd_t) kernel_read_kernel_sysctls(system_dbusd_t) -@@ -111,6 +112,8 @@ auth_read_pam_console_data(system_dbusd_t) +@@ -111,6 +113,8 @@ auth_read_pam_console_data(system_dbusd_t) corecmd_list_bin(system_dbusd_t) corecmd_read_bin_pipes(system_dbusd_t) corecmd_read_bin_sockets(system_dbusd_t) @@ -21741,7 +22295,7 @@ index 98e5af6..a7472fc 100644 domain_use_interactive_fds(system_dbusd_t) domain_read_all_domains_state(system_dbusd_t) -@@ -121,7 +124,9 @@ files_read_usr_files(system_dbusd_t) +@@ -121,7 +125,9 @@ files_read_usr_files(system_dbusd_t) init_use_fds(system_dbusd_t) init_use_script_ptys(system_dbusd_t) @@ -21751,7 +22305,7 @@ index 98e5af6..a7472fc 100644 logging_send_audit_msgs(system_dbusd_t) logging_send_syslog_msg(system_dbusd_t) -@@ -141,6 +146,14 @@ optional_policy(` +@@ -141,10 +147,18 @@ optional_policy(` ') optional_policy(` @@ -21759,6 +22313,10 @@ index 98e5af6..a7472fc 100644 +') + +optional_policy(` + cpufreqselector_dbus_chat(system_dbusd_t) + ') + + optional_policy(` + networkmanager_initrc_domtrans(system_dbusd_t) +') + @@ -21766,7 +22324,7 @@ index 98e5af6..a7472fc 100644 policykit_dbus_chat(system_dbusd_t) policykit_domtrans_auth(system_dbusd_t) policykit_search_lib(system_dbusd_t) -@@ -158,5 +171,12 @@ optional_policy(` +@@ -162,5 +176,12 @@ optional_policy(` # # Unconfined access to this module # @@ -22145,7 +22703,7 @@ index f706b99..22b862e 100644 + files_list_pids($1) ') diff --git a/policy/modules/services/devicekit.te b/policy/modules/services/devicekit.te -index f231f17..10c33ed 100644 +index f231f17..0d11034 100644 --- a/policy/modules/services/devicekit.te +++ b/policy/modules/services/devicekit.te @@ -26,6 +26,9 @@ files_pid_file(devicekit_var_run_t) @@ -22190,7 +22748,7 @@ index f231f17..10c33ed 100644 fs_list_inotifyfs(devicekit_disk_t) fs_manage_fusefs_dirs(devicekit_disk_t) fs_mount_all_fs(devicekit_disk_t) -@@ -178,25 +186,47 @@ optional_policy(` +@@ -178,33 +186,53 @@ optional_policy(` virt_manage_images(devicekit_disk_t) ') @@ -22239,7 +22797,15 @@ index f231f17..10c33ed 100644 kernel_search_debugfs(devicekit_power_t) kernel_write_proc_files(devicekit_power_t) -@@ -212,12 +242,16 @@ dev_rw_generic_usb_dev(devicekit_power_t) + corecmd_exec_bin(devicekit_power_t) + corecmd_exec_shell(devicekit_power_t) + +-consoletype_exec(devicekit_power_t) +- + domain_read_all_domains_state(devicekit_power_t) + + dev_read_input(devicekit_power_t) +@@ -212,12 +240,16 @@ dev_rw_generic_usb_dev(devicekit_power_t) dev_rw_generic_chr_files(devicekit_power_t) dev_rw_netcontrol(devicekit_power_t) dev_rw_sysfs(devicekit_power_t) @@ -22256,18 +22822,25 @@ index f231f17..10c33ed 100644 term_use_all_terms(devicekit_power_t) -@@ -225,8 +259,11 @@ auth_use_nsswitch(devicekit_power_t) - - miscfiles_read_localization(devicekit_power_t) +@@ -227,6 +259,7 @@ miscfiles_read_localization(devicekit_power_t) -+modutils_domtrans_insmod(devicekit_power_t) -+ sysnet_read_config(devicekit_power_t) sysnet_domtrans_ifconfig(devicekit_power_t) +sysnet_domtrans_dhcpc(devicekit_power_t) userdom_read_all_users_state(devicekit_power_t) +@@ -235,6 +268,10 @@ optional_policy(` + ') + + optional_policy(` ++ consoletype_exec(devicekit_power_t) ++') ++ ++optional_policy(` + cron_initrc_domtrans(devicekit_power_t) + ') + @@ -261,14 +298,21 @@ optional_policy(` ') @@ -22291,10 +22864,14 @@ index f231f17..10c33ed 100644 policykit_dbus_chat(devicekit_power_t) policykit_domtrans_auth(devicekit_power_t) policykit_read_lib(devicekit_power_t) -@@ -276,9 +320,21 @@ optional_policy(` +@@ -276,9 +320,25 @@ optional_policy(` ') optional_policy(` ++ modutils_domtrans_insmod(devicekit_power_t) ++') ++ ++optional_policy(` + mount_domtrans(devicekit_power_t) +') + @@ -22494,10 +23071,10 @@ index 0000000..60c81d6 +') diff --git a/policy/modules/services/dirsrv-admin.te b/policy/modules/services/dirsrv-admin.te new file mode 100644 -index 0000000..b4d0dd0 +index 0000000..b7fc006 --- /dev/null +++ b/policy/modules/services/dirsrv-admin.te -@@ -0,0 +1,95 @@ +@@ -0,0 +1,100 @@ +policy_module(dirsrv-admin,1.0.0) + +######################################## @@ -22545,8 +23122,10 @@ index 0000000..b4d0dd0 +# Needed for stop and restart scripts +dirsrv_read_var_run(dirsrvadmin_t) + -+apache_domtrans(dirsrvadmin_t) -+apache_signal(dirsrvadmin_t) ++optional_policy(` ++ apache_domtrans(dirsrvadmin_t) ++ apache_signal(dirsrvadmin_t) ++') + +######################################## +# @@ -22555,44 +23134,47 @@ index 0000000..b4d0dd0 +# +# +# Create a domain for the CGI scripts -+apache_content_template(dirsrvadmin) -+ -+allow httpd_dirsrvadmin_script_t self:process { getsched getpgid }; -+allow httpd_dirsrvadmin_script_t self:capability { setuid net_bind_service setgid chown sys_nice kill dac_read_search dac_override }; -+allow httpd_dirsrvadmin_script_t self:tcp_socket create_stream_socket_perms; -+allow httpd_dirsrvadmin_script_t self:udp_socket create_socket_perms; -+allow httpd_dirsrvadmin_script_t self:unix_dgram_socket create_socket_perms; -+allow httpd_dirsrvadmin_script_t self:netlink_route_socket r_netlink_socket_perms; -+allow httpd_dirsrvadmin_script_t self:sem create_sem_perms; -+ -+kernel_read_kernel_sysctls(httpd_dirsrvadmin_script_t) -+ -+corenet_all_recvfrom_unlabeled(httpd_dirsrvadmin_script_t) -+corenet_all_recvfrom_netlabel(httpd_dirsrvadmin_script_t) -+corenet_tcp_connect_generic_port(httpd_dirsrvadmin_script_t) -+corenet_tcp_connect_ldap_port(httpd_dirsrvadmin_script_t) -+corenet_tcp_connect_http_port(httpd_dirsrvadmin_script_t) -+ -+files_search_var_lib(httpd_dirsrvadmin_script_t) -+ -+sysnet_read_config(httpd_dirsrvadmin_script_t) -+ -+manage_files_pattern(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, dirsrvadmin_tmp_t) -+manage_dirs_pattern(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, dirsrvadmin_tmp_t) -+files_tmp_filetrans(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, { file dir }) -+ -+# The CGI scripts must be able to manage dirsrv-admin -+dirsrvadmin_run_exec(httpd_dirsrvadmin_script_t) -+dirsrvadmin_manage_config(httpd_dirsrvadmin_script_t) -+dirsrv_domtrans(httpd_dirsrvadmin_script_t) -+dirsrv_signal(httpd_dirsrvadmin_script_t) -+dirsrv_signull(httpd_dirsrvadmin_script_t) -+dirsrv_manage_log(httpd_dirsrvadmin_script_t) -+dirsrv_manage_var_lib(httpd_dirsrvadmin_script_t) -+dirsrv_pid_filetrans(httpd_dirsrvadmin_script_t) -+dirsrv_manage_var_run(httpd_dirsrvadmin_script_t) -+dirsrv_manage_config(httpd_dirsrvadmin_script_t) -+dirsrv_read_share(httpd_dirsrvadmin_script_t) ++ ++optional_policy(` ++ apache_content_template(dirsrvadmin) ++ ++ allow httpd_dirsrvadmin_script_t self:process { getsched getpgid }; ++ allow httpd_dirsrvadmin_script_t self:capability { setuid net_bind_service setgid chown sys_nice kill dac_read_search dac_override }; ++ allow httpd_dirsrvadmin_script_t self:tcp_socket create_stream_socket_perms; ++ allow httpd_dirsrvadmin_script_t self:udp_socket create_socket_perms; ++ allow httpd_dirsrvadmin_script_t self:unix_dgram_socket create_socket_perms; ++ allow httpd_dirsrvadmin_script_t self:netlink_route_socket r_netlink_socket_perms; ++ allow httpd_dirsrvadmin_script_t self:sem create_sem_perms; ++ ++ kernel_read_kernel_sysctls(httpd_dirsrvadmin_script_t) ++ ++ corenet_all_recvfrom_unlabeled(httpd_dirsrvadmin_script_t) ++ corenet_all_recvfrom_netlabel(httpd_dirsrvadmin_script_t) ++ corenet_tcp_connect_generic_port(httpd_dirsrvadmin_script_t) ++ corenet_tcp_connect_ldap_port(httpd_dirsrvadmin_script_t) ++ corenet_tcp_connect_http_port(httpd_dirsrvadmin_script_t) ++ ++ files_search_var_lib(httpd_dirsrvadmin_script_t) ++ ++ sysnet_read_config(httpd_dirsrvadmin_script_t) ++ ++ manage_files_pattern(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, dirsrvadmin_tmp_t) ++ manage_dirs_pattern(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, dirsrvadmin_tmp_t) ++ files_tmp_filetrans(httpd_dirsrvadmin_script_t, dirsrvadmin_tmp_t, { file dir }) ++ ++ # The CGI scripts must be able to manage dirsrv-admin ++ dirsrvadmin_run_exec(httpd_dirsrvadmin_script_t) ++ dirsrvadmin_manage_config(httpd_dirsrvadmin_script_t) ++ dirsrv_domtrans(httpd_dirsrvadmin_script_t) ++ dirsrv_signal(httpd_dirsrvadmin_script_t) ++ dirsrv_signull(httpd_dirsrvadmin_script_t) ++ dirsrv_manage_log(httpd_dirsrvadmin_script_t) ++ dirsrv_manage_var_lib(httpd_dirsrvadmin_script_t) ++ dirsrv_pid_filetrans(httpd_dirsrvadmin_script_t) ++ dirsrv_manage_var_run(httpd_dirsrvadmin_script_t) ++ dirsrv_manage_config(httpd_dirsrvadmin_script_t) ++ dirsrv_read_share(httpd_dirsrvadmin_script_t) ++') diff --git a/policy/modules/services/dirsrv.fc b/policy/modules/services/dirsrv.fc new file mode 100644 index 0000000..3aae725 @@ -24182,7 +24764,7 @@ index 69dcd2a..a9a9116 100644 /var/log/xferreport.* -- gen_context(system_u:object_r:xferlog_t,s0) +/usr/libexec/webmin/vsftpd/webalizer/xfer_log -- gen_context(system_u:object_r:xferlog_t,s0) diff --git a/policy/modules/services/ftp.te b/policy/modules/services/ftp.te -index 8a74a83..eca06f7 100644 +index 8a74a83..826e699 100644 --- a/policy/modules/services/ftp.te +++ b/policy/modules/services/ftp.te @@ -40,6 +40,13 @@ gen_tunable(allow_ftpd_use_nfs, false) @@ -24284,7 +24866,7 @@ index 8a74a83..eca06f7 100644 ') tunable_policy(`ftp_home_dir && use_nfs_home_dirs',` -@@ -316,6 +338,23 @@ optional_policy(` +@@ -316,6 +338,25 @@ optional_policy(` ') optional_policy(` @@ -24299,16 +24881,18 @@ index 8a74a83..eca06f7 100644 + ') +') + -+tunable_policy(`ftpd_connect_db',` -+ mysql_tcp_connect(ftpd_t) -+ postgresql_tcp_connect(ftpd_t) ++optional_policy(` ++ tunable_policy(`ftpd_connect_db',` ++ mysql_tcp_connect(ftpd_t) ++ postgresql_tcp_connect(ftpd_t) ++ ') +') + +optional_policy(` inetd_tcp_service_domain(ftpd_t, ftpd_exec_t) optional_policy(` -@@ -347,10 +386,11 @@ optional_policy(` +@@ -347,10 +388,11 @@ optional_policy(` # Allow ftpdctl to talk to ftpd over a socket connection stream_connect_pattern(ftpdctl_t, ftpd_var_run_t, ftpd_var_run_t, ftpd_t) @@ -24321,7 +24905,7 @@ index 8a74a83..eca06f7 100644 files_tmp_filetrans(ftpdctl_t, ftpdctl_tmp_t, sock_file) # Allow ftpdctl to read config files -@@ -368,15 +408,28 @@ files_read_etc_files(sftpd_t) +@@ -368,15 +410,28 @@ files_read_etc_files(sftpd_t) # allow read access to /home by default userdom_read_user_home_content_files(sftpd_t) userdom_read_user_home_content_symlinks(sftpd_t) @@ -25169,10 +25753,10 @@ index 671d8fd..25c7ab8 100644 + dontaudit gnomeclock_t $1:dbus send_msg; +') diff --git a/policy/modules/services/gnomeclock.te b/policy/modules/services/gnomeclock.te -index 4fde46b..74db53c 100644 +index 4fde46b..f757926 100644 --- a/policy/modules/services/gnomeclock.te +++ b/policy/modules/services/gnomeclock.te -@@ -15,11 +15,14 @@ dbus_system_domain(gnomeclock_t, gnomeclock_exec_t) +@@ -15,19 +15,20 @@ dbus_system_domain(gnomeclock_t, gnomeclock_exec_t) # allow gnomeclock_t self:capability { sys_nice sys_time sys_ptrace }; @@ -25188,7 +25772,23 @@ index 4fde46b..74db53c 100644 files_read_etc_files(gnomeclock_t) files_read_usr_files(gnomeclock_t) -@@ -39,6 +42,15 @@ optional_policy(` + + auth_use_nsswitch(gnomeclock_t) + +-clock_domtrans(gnomeclock_t) +- + miscfiles_read_localization(gnomeclock_t) + miscfiles_manage_localization(gnomeclock_t) + miscfiles_etc_filetrans_localization(gnomeclock_t) +@@ -35,10 +36,23 @@ miscfiles_etc_filetrans_localization(gnomeclock_t) + userdom_read_all_users_state(gnomeclock_t) + + optional_policy(` ++ clock_domtrans(gnomeclock_t) ++') ++ ++optional_policy(` + consolekit_dbus_chat(gnomeclock_t) ') optional_policy(` @@ -25289,6 +25889,30 @@ index 03742d8..2a87d1e 100644 dbus_system_bus_client(gpsd_t) ') +diff --git a/policy/modules/services/hadoop.if b/policy/modules/services/hadoop.if +index 2d0b4e1..804d347 100644 +--- a/policy/modules/services/hadoop.if ++++ b/policy/modules/services/hadoop.if +@@ -175,8 +175,6 @@ template(`hadoop_domain_template',` + files_read_etc_files(hadoop_$1_initrc_t) + files_read_usr_files(hadoop_$1_initrc_t) + +- consoletype_exec(hadoop_$1_initrc_t) +- + fs_getattr_xattr_fs(hadoop_$1_initrc_t) + fs_search_cgroup_dirs(hadoop_$1_initrc_t) + +@@ -196,6 +194,10 @@ template(`hadoop_domain_template',` + userdom_dontaudit_search_user_home_dirs(hadoop_$1_initrc_t) + + optional_policy(` ++ consoletype_exec(hadoop_$1_initrc_t) ++ ') ++ ++ optional_policy(` + nscd_socket_use(hadoop_$1_initrc_t) + ') + ') diff --git a/policy/modules/services/hal.fc b/policy/modules/services/hal.fc index c98b0df..3b1a051 100644 --- a/policy/modules/services/hal.fc @@ -25408,7 +26032,7 @@ index 7cf6763..ce32fe5 100644 + dontaudit $1 hald_var_run_t:file read_inherited_file_perms; +') diff --git a/policy/modules/services/hal.te b/policy/modules/services/hal.te -index 24c6253..f11fa08 100644 +index 24c6253..9376ea0 100644 --- a/policy/modules/services/hal.te +++ b/policy/modules/services/hal.te @@ -54,6 +54,9 @@ files_pid_file(hald_var_run_t) @@ -25438,7 +26062,23 @@ index 24c6253..f11fa08 100644 dev_rw_generic_usb_dev(hald_t) dev_setattr_generic_usb_dev(hald_t) dev_setattr_usbfs_files(hald_t) -@@ -211,13 +215,19 @@ seutil_read_config(hald_t) +@@ -186,8 +190,6 @@ term_use_unallocated_ttys(hald_t) + + auth_use_nsswitch(hald_t) + +-fstools_getattr_swap_files(hald_t) +- + init_domtrans_script(hald_t) + init_read_utmp(hald_t) + #hal runs shutdown, probably need a shutdown domain +@@ -204,20 +206,25 @@ logging_search_logs(hald_t) + miscfiles_read_localization(hald_t) + miscfiles_read_hwdata(hald_t) + +-modutils_domtrans_insmod(hald_t) +-modutils_read_module_deps(hald_t) +- + seutil_read_config(hald_t) seutil_read_default_contexts(hald_t) seutil_read_file_contexts(hald_t) @@ -25455,11 +26095,13 @@ index 24c6253..f11fa08 100644 userdom_dontaudit_search_user_home_dirs(hald_t) +userdom_stream_connect(hald_t) + -+netutils_domtrans(hald_t) ++optional_policy(` ++ netutils_domtrans(hald_t) ++') optional_policy(` alsa_domtrans(hald_t) -@@ -252,8 +262,7 @@ optional_policy(` +@@ -252,8 +259,7 @@ optional_policy(` ') optional_policy(` @@ -25469,7 +26111,7 @@ index 24c6253..f11fa08 100644 init_dbus_chat_script(hald_t) -@@ -263,11 +272,20 @@ optional_policy(` +@@ -263,15 +269,28 @@ optional_policy(` ') optional_policy(` @@ -25490,7 +26132,27 @@ index 24c6253..f11fa08 100644 gpm_dontaudit_getattr_gpmctl(hald_t) ') -@@ -302,7 +320,7 @@ optional_policy(` + optional_policy(` ++ fstools_getattr_swap_files(hald_t) ++') ++ ++optional_policy(` + hotplug_read_config(hald_t) + ') + +@@ -280,6 +299,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_insmod(hald_t) ++ modutils_read_module_deps(hald_t) ++') ++ ++optional_policy(` + mount_domtrans(hald_t) + ') + +@@ -302,7 +326,7 @@ optional_policy(` ') optional_policy(` @@ -25499,7 +26161,7 @@ index 24c6253..f11fa08 100644 policykit_domtrans_auth(hald_t) policykit_domtrans_resolve(hald_t) policykit_read_lib(hald_t) -@@ -318,6 +336,10 @@ optional_policy(` +@@ -318,6 +342,10 @@ optional_policy(` ') optional_policy(` @@ -25510,7 +26172,7 @@ index 24c6253..f11fa08 100644 udev_domtrans(hald_t) udev_read_db(hald_t) ') -@@ -338,6 +360,10 @@ optional_policy(` +@@ -338,6 +366,10 @@ optional_policy(` virt_manage_images(hald_t) ') @@ -25521,7 +26183,7 @@ index 24c6253..f11fa08 100644 ######################################## # # Hal acl local policy -@@ -358,6 +384,7 @@ files_search_var_lib(hald_acl_t) +@@ -358,6 +390,7 @@ files_search_var_lib(hald_acl_t) manage_dirs_pattern(hald_acl_t, hald_var_run_t, hald_var_run_t) manage_files_pattern(hald_acl_t, hald_var_run_t, hald_var_run_t) files_pid_filetrans(hald_acl_t, hald_var_run_t, { dir file }) @@ -25529,7 +26191,7 @@ index 24c6253..f11fa08 100644 corecmd_exec_bin(hald_acl_t) -@@ -388,7 +415,7 @@ logging_send_syslog_msg(hald_acl_t) +@@ -388,7 +421,7 @@ logging_send_syslog_msg(hald_acl_t) miscfiles_read_localization(hald_acl_t) optional_policy(` @@ -25538,17 +26200,30 @@ index 24c6253..f11fa08 100644 policykit_domtrans_auth(hald_acl_t) policykit_read_lib(hald_acl_t) policykit_read_reload(hald_acl_t) -@@ -470,6 +497,10 @@ files_read_usr_files(hald_keymap_t) +@@ -470,6 +503,12 @@ files_read_usr_files(hald_keymap_t) miscfiles_read_localization(hald_keymap_t) -+# This is caused by a bug in hald and PolicyKit. -+# Should be removed when this is fixed -+cron_read_system_job_lib_files(hald_t) ++optional_policy(` ++ # This is caused by a bug in hald and PolicyKit. ++ # Should be removed when this is fixed ++ cron_read_system_job_lib_files(hald_t) ++') + ######################################## # # Local hald dccm policy +@@ -524,7 +563,9 @@ files_read_usr_files(hald_dccm_t) + + miscfiles_read_localization(hald_dccm_t) + +-hal_dontaudit_rw_dgram_sockets(hald_dccm_t) ++optional_policy(` ++ hal_dontaudit_rw_dgram_sockets(hald_dccm_t) ++') + + optional_policy(` + dbus_system_bus_client(hald_dccm_t) diff --git a/policy/modules/services/hddtemp.if b/policy/modules/services/hddtemp.if index 87b4531..db2d189 100644 --- a/policy/modules/services/hddtemp.if @@ -27563,10 +28238,10 @@ index 0000000..f60483e +') diff --git a/policy/modules/services/mock.te b/policy/modules/services/mock.te new file mode 100644 -index 0000000..b7d8f2f +index 0000000..fa43044 --- /dev/null +++ b/policy/modules/services/mock.te -@@ -0,0 +1,123 @@ +@@ -0,0 +1,125 @@ +policy_module(mock,1.0.0) + +## @@ -27673,8 +28348,6 @@ index 0000000..b7d8f2f + +miscfiles_read_localization(mock_t) + -+mount_domtrans(mock_t) -+ +userdom_use_user_ptys(mock_t) + +tunable_policy(`mock_enable_homedirs',` @@ -27682,6 +28355,10 @@ index 0000000..b7d8f2f +') + +optional_policy(` ++ mount_domtrans(mock_t) ++') ++ ++optional_policy(` + rpm_exec(mock_t) + rpm_manage_db(mock_t) + rpm_entry_type(mock_t) @@ -27707,7 +28384,7 @@ index 3368699..7a7fc02 100644 # interface(`modemmanager_domtrans',` diff --git a/policy/modules/services/modemmanager.te b/policy/modules/services/modemmanager.te -index b3ace16..7f18c33 100644 +index b3ace16..812a9ff 100644 --- a/policy/modules/services/modemmanager.te +++ b/policy/modules/services/modemmanager.te @@ -16,7 +16,8 @@ typealias modemmanager_exec_t alias ModemManager_exec_t; @@ -27720,7 +28397,7 @@ index b3ace16..7f18c33 100644 allow modemmanager_t self:fifo_file rw_file_perms; allow modemmanager_t self:unix_stream_socket create_stream_socket_perms; allow modemmanager_t self:netlink_kobject_uevent_socket create_socket_perms; -@@ -28,6 +29,7 @@ dev_rw_modem(modemmanager_t) +@@ -28,13 +29,24 @@ dev_rw_modem(modemmanager_t) files_read_etc_files(modemmanager_t) @@ -27728,20 +28405,24 @@ index b3ace16..7f18c33 100644 term_use_unallocated_ttys(modemmanager_t) miscfiles_read_localization(modemmanager_t) -@@ -37,5 +39,13 @@ logging_send_syslog_msg(modemmanager_t) - networkmanager_dbus_chat(modemmanager_t) - optional_policy(` -+ devicekit_dbus_chat_power(modemmanager_t) + logging_send_syslog_msg(modemmanager_t) + +-networkmanager_dbus_chat(modemmanager_t) ++optional_policy(` ++ networkmanager_dbus_chat(modemmanager_t) +') + +optional_policy(` -+ policykit_dbus_chat(modemmanager_t) ++ devicekit_dbus_chat_power(modemmanager_t) +') + +optional_policy(` ++ policykit_dbus_chat(modemmanager_t) ++') + + optional_policy(` udev_read_db(modemmanager_t) - ') diff --git a/policy/modules/services/mojomojo.if b/policy/modules/services/mojomojo.if index 657a9fc..88e7330 100644 --- a/policy/modules/services/mojomojo.if @@ -29161,7 +29842,7 @@ index e9c0982..f11e4f2 100644 + mysql_stream_connect($1) ') diff --git a/policy/modules/services/mysql.te b/policy/modules/services/mysql.te -index 0a0d63c..579f237 100644 +index 0a0d63c..91de41a 100644 --- a/policy/modules/services/mysql.te +++ b/policy/modules/services/mysql.te @@ -6,9 +6,9 @@ policy_module(mysql, 1.12.0) @@ -29228,7 +29909,7 @@ index 0a0d63c..579f237 100644 allow mysqld_safe_t self:fifo_file rw_fifo_file_perms; read_lnk_files_pattern(mysqld_safe_t, mysqld_db_t, mysqld_db_t) -@@ -175,6 +180,7 @@ dev_list_sysfs(mysqld_safe_t) +@@ -175,21 +180,27 @@ dev_list_sysfs(mysqld_safe_t) domain_read_all_domains_state(mysqld_safe_t) @@ -29236,12 +29917,12 @@ index 0a0d63c..579f237 100644 files_read_etc_files(mysqld_safe_t) files_read_usr_files(mysqld_safe_t) files_dontaudit_getattr_all_dirs(mysqld_safe_t) -@@ -183,11 +189,14 @@ logging_log_filetrans(mysqld_safe_t, mysqld_log_t, file) - hostname_exec(mysqld_safe_t) + logging_log_filetrans(mysqld_safe_t, mysqld_log_t, file) +-hostname_exec(mysqld_safe_t) +logging_send_syslog_msg(mysqld_safe_t) -+ + miscfiles_read_localization(mysqld_safe_t) mysql_manage_db_files(mysqld_safe_t) @@ -29250,7 +29931,13 @@ index 0a0d63c..579f237 100644 +mysql_signull(mysqld_safe_t) mysql_write_log(mysqld_safe_t) ++optional_policy(` ++ hostname_exec(mysqld_safe_t) ++') ++ ######################################## + # + # MySQL Manager Policy diff --git a/policy/modules/services/nagios.if b/policy/modules/services/nagios.if index 8581040..2367841 100644 --- a/policy/modules/services/nagios.if @@ -29598,7 +30285,7 @@ index 2324d9e..8069487 100644 + append_files_pattern($1, NetworkManager_log_t, NetworkManager_log_t) +') diff --git a/policy/modules/services/networkmanager.te b/policy/modules/services/networkmanager.te -index 0619395..cd5c974 100644 +index 0619395..3a396a1 100644 --- a/policy/modules/services/networkmanager.te +++ b/policy/modules/services/networkmanager.te @@ -12,6 +12,12 @@ init_daemon_domain(NetworkManager_t, NetworkManager_exec_t) @@ -29652,9 +30339,18 @@ index 0619395..cd5c974 100644 manage_files_pattern(NetworkManager_t, NetworkManager_tmp_t, NetworkManager_tmp_t) manage_sock_files_pattern(NetworkManager_t, NetworkManager_tmp_t, NetworkManager_tmp_t) files_tmp_filetrans(NetworkManager_t, NetworkManager_tmp_t, { sock_file file }) -@@ -141,22 +157,32 @@ sysnet_domtrans_ifconfig(NetworkManager_t) +@@ -133,30 +149,37 @@ logging_send_syslog_msg(NetworkManager_t) + miscfiles_read_localization(NetworkManager_t) + miscfiles_read_generic_certs(NetworkManager_t) + +-modutils_domtrans_insmod(NetworkManager_t) +- + seutil_read_config(NetworkManager_t) + + sysnet_domtrans_ifconfig(NetworkManager_t) sysnet_domtrans_dhcpc(NetworkManager_t) sysnet_signal_dhcpc(NetworkManager_t) ++sysnet_signull_dhcpc(NetworkManager_t) sysnet_read_dhcpc_pid(NetworkManager_t) +sysnet_read_dhcp_config(NetworkManager_t) sysnet_delete_dhcpc_pid(NetworkManager_t) @@ -29673,8 +30369,6 @@ index 0619395..cd5c974 100644 +userdom_read_home_certs(NetworkManager_t) userdom_read_user_home_content_files(NetworkManager_t) +userdom_dgram_send(NetworkManager_t) -+ -+cron_read_system_job_lib_files(NetworkManager_t) optional_policy(` avahi_domtrans(NetworkManager_t) @@ -29685,12 +30379,16 @@ index 0619395..cd5c974 100644 ') optional_policy(` -@@ -172,14 +198,17 @@ optional_policy(` +@@ -172,14 +195,21 @@ optional_policy(` ') optional_policy(` - consoletype_exec(NetworkManager_t) + consoletype_domtrans(NetworkManager_t) ++') ++ ++optional_policy(` ++ cron_read_system_job_lib_files(NetworkManager_t) ') optional_policy(` @@ -29704,7 +30402,7 @@ index 0619395..cd5c974 100644 ') ') -@@ -202,6 +231,17 @@ optional_policy(` +@@ -202,6 +232,17 @@ optional_policy(` ') optional_policy(` @@ -29722,15 +30420,19 @@ index 0619395..cd5c974 100644 iptables_domtrans(NetworkManager_t) ') -@@ -219,6 +259,7 @@ optional_policy(` +@@ -219,6 +260,11 @@ optional_policy(` ') optional_policy(` ++ modutils_domtrans_insmod(NetworkManager_t) ++') ++ ++optional_policy(` + openvpn_read_config(NetworkManager_t) openvpn_domtrans(NetworkManager_t) openvpn_kill(NetworkManager_t) openvpn_signal(NetworkManager_t) -@@ -263,6 +304,7 @@ optional_policy(` +@@ -263,6 +309,7 @@ optional_policy(` vpn_kill(NetworkManager_t) vpn_signal(NetworkManager_t) vpn_signull(NetworkManager_t) @@ -30839,7 +31541,7 @@ index ceafba6..eca6852 100644 # pid files diff --git a/policy/modules/services/pegasus.te b/policy/modules/services/pegasus.te -index 3185114..790742c 100644 +index 3185114..514e127 100644 --- a/policy/modules/services/pegasus.te +++ b/policy/modules/services/pegasus.te @@ -16,7 +16,7 @@ type pegasus_tmp_t; @@ -30890,7 +31592,7 @@ index 3185114..790742c 100644 corenet_all_recvfrom_unlabeled(pegasus_t) corenet_all_recvfrom_netlabel(pegasus_t) -@@ -95,13 +98,12 @@ files_getattr_all_dirs(pegasus_t) +@@ -95,17 +98,14 @@ files_getattr_all_dirs(pegasus_t) auth_use_nsswitch(pegasus_t) auth_domtrans_chk_passwd(pegasus_t) @@ -30905,8 +31607,12 @@ index 3185114..790742c 100644 +files_read_all_files(pegasus_t) files_read_var_lib_symlinks(pegasus_t) - hostname_exec(pegasus_t) -@@ -114,7 +116,6 @@ logging_send_syslog_msg(pegasus_t) +-hostname_exec(pegasus_t) +- + init_rw_utmp(pegasus_t) + init_stream_connect_script(pegasus_t) + +@@ -114,17 +114,28 @@ logging_send_syslog_msg(pegasus_t) miscfiles_read_localization(pegasus_t) @@ -30914,7 +31620,14 @@ index 3185114..790742c 100644 sysnet_domtrans_ifconfig(pegasus_t) userdom_dontaudit_use_unpriv_user_fds(pegasus_t) -@@ -125,6 +126,14 @@ optional_policy(` + userdom_dontaudit_search_user_home_dirs(pegasus_t) + + optional_policy(` ++ hostname_exec(pegasus_t) ++') ++ ++optional_policy(` + rpm_exec(pegasus_t) ') optional_policy(` @@ -30929,7 +31642,7 @@ index 3185114..790742c 100644 seutil_sigchld_newrole(pegasus_t) seutil_dontaudit_read_config(pegasus_t) ') -@@ -136,3 +145,13 @@ optional_policy(` +@@ -136,3 +147,13 @@ optional_policy(` optional_policy(` unconfined_signull(pegasus_t) ') @@ -31213,10 +31926,10 @@ index 0000000..6403c17 +') diff --git a/policy/modules/services/piranha.te b/policy/modules/services/piranha.te new file mode 100644 -index 0000000..5793840 +index 0000000..d8f53f3 --- /dev/null +++ b/policy/modules/services/piranha.te -@@ -0,0 +1,219 @@ +@@ -0,0 +1,223 @@ +policy_module(piranha, 1.0.0) + +######################################## @@ -31271,7 +31984,9 @@ index 0000000..5793840 + +domain_read_all_domains_state(piranha_fos_t) + -+consoletype_exec(piranha_fos_t) ++optional_policy(` ++ consoletype_exec(piranha_fos_t) ++') + +# start and stop services +init_domtrans_script(piranha_fos_t) @@ -31324,7 +32039,9 @@ index 0000000..5793840 + +files_read_usr_files(piranha_web_t) + -+consoletype_exec(piranha_web_t) ++optional_policy(` ++ consoletype_exec(piranha_web_t) ++') + +optional_policy(` + apache_read_config(piranha_web_t) @@ -31660,10 +32377,18 @@ index 9759ed8..48a5431 100644 admin_pattern($1, plymouthd_var_run_t) ') diff --git a/policy/modules/services/plymouthd.te b/policy/modules/services/plymouthd.te -index fb8dc84..57fcfe1 100644 +index 06e217d..179e320 100644 --- a/policy/modules/services/plymouthd.te +++ b/policy/modules/services/plymouthd.te -@@ -19,6 +19,9 @@ files_type(plymouthd_spool_t) +@@ -8,6 +8,7 @@ policy_module(plymouthd, 1.0.1) + type plymouth_t; + type plymouth_exec_t; + application_domain(plymouth_t, plymouth_exec_t) ++role system_r types plymouth_t; + + type plymouthd_t; + type plymouthd_exec_t; +@@ -19,6 +20,9 @@ files_type(plymouthd_spool_t) type plymouthd_var_lib_t; files_type(plymouthd_var_lib_t) @@ -31673,7 +32398,7 @@ index fb8dc84..57fcfe1 100644 type plymouthd_var_run_t; files_pid_file(plymouthd_var_run_t) -@@ -42,6 +45,10 @@ manage_dirs_pattern(plymouthd_t, plymouthd_var_lib_t, plymouthd_var_lib_t) +@@ -42,6 +46,10 @@ manage_dirs_pattern(plymouthd_t, plymouthd_var_lib_t, plymouthd_var_lib_t) manage_files_pattern(plymouthd_t, plymouthd_var_lib_t, plymouthd_var_lib_t) files_var_lib_filetrans(plymouthd_t, plymouthd_var_lib_t, { file dir }) @@ -31684,7 +32409,7 @@ index fb8dc84..57fcfe1 100644 manage_dirs_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) manage_files_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) files_pid_filetrans(plymouthd_t, plymouthd_var_run_t, { file dir }) -@@ -60,10 +67,22 @@ domain_use_interactive_fds(plymouthd_t) +@@ -60,10 +68,22 @@ domain_use_interactive_fds(plymouthd_t) files_read_etc_files(plymouthd_t) files_read_usr_files(plymouthd_t) @@ -31707,7 +32432,7 @@ index fb8dc84..57fcfe1 100644 ######################################## # # Plymouth private policy -@@ -74,6 +93,7 @@ allow plymouth_t self:fifo_file rw_file_perms; +@@ -74,6 +94,7 @@ allow plymouth_t self:fifo_file rw_file_perms; allow plymouth_t self:unix_stream_socket create_stream_socket_perms; kernel_read_system_state(plymouth_t) @@ -31715,7 +32440,7 @@ index fb8dc84..57fcfe1 100644 domain_use_interactive_fds(plymouth_t) -@@ -87,7 +107,7 @@ sysnet_read_config(plymouth_t) +@@ -87,7 +108,7 @@ sysnet_read_config(plymouth_t) plymouthd_stream_connect(plymouth_t) @@ -31744,7 +32469,7 @@ index 27c739c..c65d18f 100644 /var/run/PolicyKit(/.*)? gen_context(system_u:object_r:policykit_var_run_t,s0) diff --git a/policy/modules/services/policykit.if b/policy/modules/services/policykit.if -index 48ff1e8..13cdc77 100644 +index 48ff1e8..be00a65 100644 --- a/policy/modules/services/policykit.if +++ b/policy/modules/services/policykit.if @@ -17,18 +17,43 @@ interface(`policykit_dbus_chat',` @@ -31835,13 +32560,15 @@ index 48ff1e8..13cdc77 100644 ## # interface(`policykit_domtrans_resolve',` -@@ -206,4 +235,48 @@ interface(`policykit_read_lib',` +@@ -206,4 +235,50 @@ interface(`policykit_read_lib',` files_search_var_lib($1) read_files_pattern($1, policykit_var_lib_t, policykit_var_lib_t) + -+ # Broken placement -+ cron_read_system_job_lib_files($1) ++ optional_policy(` ++ # Broken placement ++ cron_read_system_job_lib_files($1) ++ ') +') + +####################################### @@ -33573,7 +34300,7 @@ index bc329d1..0589f97 100644 admin_pattern($1, psad_tmp_t) ') diff --git a/policy/modules/services/psad.te b/policy/modules/services/psad.te -index d4000e0..93cbfa2 100644 +index d4000e0..312e537 100644 --- a/policy/modules/services/psad.te +++ b/policy/modules/services/psad.te @@ -11,7 +11,7 @@ init_daemon_domain(psad_t, psad_exec_t) @@ -33597,7 +34324,7 @@ index d4000e0..93cbfa2 100644 # tmp files manage_dirs_pattern(psad_t, psad_tmp_t, psad_tmp_t) -@@ -85,6 +86,7 @@ corenet_sendrecv_whois_client_packets(psad_t) +@@ -85,13 +86,12 @@ corenet_sendrecv_whois_client_packets(psad_t) dev_read_urand(psad_t) files_read_etc_runtime_files(psad_t) @@ -33605,6 +34332,24 @@ index d4000e0..93cbfa2 100644 fs_getattr_all_fs(psad_t) + auth_use_nsswitch(psad_t) + +-iptables_domtrans(psad_t) +- + logging_read_generic_logs(psad_t) + logging_read_syslog_config(psad_t) + logging_send_syslog_msg(psad_t) +@@ -101,6 +101,10 @@ miscfiles_read_localization(psad_t) + sysnet_exec_ifconfig(psad_t) + + optional_policy(` ++ iptables_domtrans(psad_t) ++') ++ ++optional_policy(` + mta_send_mail(psad_t) + mta_read_queue(psad_t) + ') diff --git a/policy/modules/services/puppet.if b/policy/modules/services/puppet.if index 2855a44..0456b11 100644 --- a/policy/modules/services/puppet.if @@ -34832,7 +35577,7 @@ index 852840b..1244ab2 100644 + ') ') diff --git a/policy/modules/services/remotelogin.te b/policy/modules/services/remotelogin.te -index 0a76027..88ac667 100644 +index 0a76027..364903e 100644 --- a/policy/modules/services/remotelogin.te +++ b/policy/modules/services/remotelogin.te @@ -49,6 +49,7 @@ fs_getattr_xattr_fs(remote_login_t) @@ -34852,27 +35597,32 @@ index 0a76027..88ac667 100644 miscfiles_read_localization(remote_login_t) -@@ -87,6 +88,7 @@ userdom_search_user_home_content(remote_login_t) +@@ -87,9 +88,7 @@ userdom_search_user_home_content(remote_login_t) # since very weak authentication is used. userdom_signal_unpriv_users(remote_login_t) userdom_spec_domtrans_unpriv_users(remote_login_t) +- +-# Search for mail spool file. +-mta_getattr_spool(remote_login_t) +userdom_use_user_ptys(remote_login_t) - # Search for mail spool file. - mta_getattr_spool(remote_login_t) -@@ -106,15 +108,10 @@ optional_policy(` + tunable_policy(`use_nfs_home_dirs',` + fs_read_nfs_files(remote_login_t) +@@ -106,15 +105,15 @@ optional_policy(` ') optional_policy(` - nis_use_ypbind(remote_login_t) -+ telnet_use_ptys(remote_login_t) ++ # Search for mail spool file. ++ mta_getattr_spool(remote_login_t) ') optional_policy(` - nscd_socket_use(remote_login_t) --') -- --optional_policy(` ++ telnet_use_ptys(remote_login_t) + ') + + optional_policy(` - unconfined_domain(remote_login_t) unconfined_shell_domtrans(remote_login_t) ') @@ -34982,7 +35732,7 @@ index 7dc38d1..9c2c963 100644 + admin_pattern($1, rgmanager_var_run_t) +') diff --git a/policy/modules/services/rgmanager.te b/policy/modules/services/rgmanager.te -index 00fa514..f107bbb 100644 +index 00fa514..1ef4cc6 100644 --- a/policy/modules/services/rgmanager.te +++ b/policy/modules/services/rgmanager.te @@ -6,17 +6,19 @@ policy_module(rgmanager, 1.0.0) @@ -35034,7 +35784,15 @@ index 00fa514..f107bbb 100644 kernel_read_system_state(rgmanager_t) kernel_rw_rpc_sysctls(rgmanager_t) kernel_search_debugfs(rgmanager_t) -@@ -78,14 +83,19 @@ domain_read_all_domains_state(rgmanager_t) +@@ -67,7 +72,6 @@ kernel_search_network_state(rgmanager_t) + + corecmd_exec_bin(rgmanager_t) + corecmd_exec_shell(rgmanager_t) +-consoletype_exec(rgmanager_t) + + # need to write to /dev/misc/dlm-control + dev_rw_dlm_control(rgmanager_t) +@@ -78,18 +82,22 @@ domain_read_all_domains_state(rgmanager_t) domain_getattr_all_domains(rgmanager_t) domain_dontaudit_ptrace_all_domains(rgmanager_t) @@ -35055,10 +35813,27 @@ index 00fa514..f107bbb 100644 storage_getattr_fixed_disk_dev(rgmanager_t) term_getattr_pty_fs(rgmanager_t) -@@ -118,6 +128,10 @@ optional_policy(` +-#term_use_ptmx(rgmanager_t) + + # needed by resources scripts + auth_read_all_files_except_shadow(rgmanager_t) +@@ -100,8 +108,6 @@ logging_send_syslog_msg(rgmanager_t) + + miscfiles_read_localization(rgmanager_t) + +-mount_domtrans(rgmanager_t) +- + tunable_policy(`rgmanager_can_network_connect',` + corenet_tcp_connect_all_ports(rgmanager_t) + ') +@@ -118,6 +124,14 @@ optional_policy(` ') optional_policy(` ++ consoletype_exec(rgmanager_t) ++') ++ ++optional_policy(` + dbus_system_bus_client(rgmanager_t) +') + @@ -35066,7 +35841,7 @@ index 00fa514..f107bbb 100644 fstools_domtrans(rgmanager_t) ') -@@ -140,6 +154,11 @@ optional_policy(` +@@ -140,6 +154,15 @@ optional_policy(` ') optional_policy(` @@ -35075,6 +35850,10 @@ index 00fa514..f107bbb 100644 +') + +optional_policy(` ++ mount_domtrans(rgmanager_t) ++') ++ ++optional_policy(` mysql_domtrans_mysql_safe(rgmanager_t) mysql_stream_connect(rgmanager_t) ') @@ -35684,7 +36463,7 @@ index f7826f9..3128dd8 100644 + admin_pattern($1, ricci_var_run_t) +') diff --git a/policy/modules/services/ricci.te b/policy/modules/services/ricci.te -index 33e72e8..052a1ff 100644 +index 33e72e8..b71d193 100644 --- a/policy/modules/services/ricci.te +++ b/policy/modules/services/ricci.te @@ -7,9 +7,11 @@ policy_module(ricci, 1.7.0) @@ -35750,7 +36529,43 @@ index 33e72e8..052a1ff 100644 domain_read_all_domains_state(ricci_modcluster_t) -@@ -241,8 +250,7 @@ optional_policy(` +@@ -209,13 +218,9 @@ logging_send_syslog_msg(ricci_modcluster_t) + + miscfiles_read_localization(ricci_modcluster_t) + +-modutils_domtrans_insmod(ricci_modcluster_t) +- +-mount_domtrans(ricci_modcluster_t) +- +-consoletype_exec(ricci_modcluster_t) +- +-ricci_stream_connect_modclusterd(ricci_modcluster_t) ++optional_policy(` ++ ricci_stream_connect_modclusterd(ricci_modcluster_t) ++') + + optional_policy(` + aisexec_stream_connect(ricci_modcluster_t) +@@ -233,6 +238,18 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_insmod(ricci_modcluster_t) ++') ++ ++optional_policy(` ++ mount_domtrans(ricci_modcluster_t) ++') ++ ++optional_policy(` ++ consoletype_exec(ricci_modcluster_t) ++') ++ ++optional_policy(` + nscd_socket_use(ricci_modcluster_t) + ') + +@@ -241,8 +258,7 @@ optional_policy(` ') optional_policy(` @@ -35760,7 +36575,7 @@ index 33e72e8..052a1ff 100644 ') ######################################## -@@ -261,6 +269,10 @@ allow ricci_modclusterd_t self:socket create_socket_perms; +@@ -261,6 +277,10 @@ allow ricci_modclusterd_t self:socket create_socket_perms; allow ricci_modclusterd_t ricci_modcluster_t:unix_stream_socket connectto; allow ricci_modclusterd_t ricci_modcluster_t:fifo_file rw_file_perms; @@ -35771,7 +36586,7 @@ index 33e72e8..052a1ff 100644 allow ricci_modclusterd_t ricci_modcluster_var_log_t:dir setattr; manage_files_pattern(ricci_modclusterd_t, ricci_modcluster_var_log_t, ricci_modcluster_var_log_t) manage_sock_files_pattern(ricci_modclusterd_t, ricci_modcluster_var_log_t, ricci_modcluster_var_log_t) -@@ -272,6 +284,7 @@ files_pid_filetrans(ricci_modclusterd_t, ricci_modcluster_var_run_t, { file sock +@@ -272,6 +292,7 @@ files_pid_filetrans(ricci_modclusterd_t, ricci_modcluster_var_run_t, { file sock kernel_read_kernel_sysctls(ricci_modclusterd_t) kernel_read_system_state(ricci_modclusterd_t) @@ -35779,7 +36594,27 @@ index 33e72e8..052a1ff 100644 corecmd_exec_bin(ricci_modclusterd_t) -@@ -444,6 +457,12 @@ files_read_etc_runtime_files(ricci_modstorage_t) +@@ -394,8 +415,6 @@ files_search_usr(ricci_modservice_t) + # Needed for running chkconfig + files_manage_etc_symlinks(ricci_modservice_t) + +-consoletype_exec(ricci_modservice_t) +- + init_domtrans_script(ricci_modservice_t) + + miscfiles_read_localization(ricci_modservice_t) +@@ -405,6 +424,10 @@ optional_policy(` + ') + + optional_policy(` ++ consoletype_exec(ricci_modservice_t) ++') ++ ++optional_policy(` + nscd_dontaudit_search_pid(ricci_modservice_t) + ') + +@@ -444,22 +467,20 @@ files_read_etc_runtime_files(ricci_modstorage_t) files_read_usr_files(ricci_modstorage_t) files_read_kernel_modules(ricci_modstorage_t) @@ -35792,6 +36627,50 @@ index 33e72e8..052a1ff 100644 storage_raw_read_fixed_disk(ricci_modstorage_t) term_dontaudit_use_console(ricci_modstorage_t) + +-fstools_domtrans(ricci_modstorage_t) +- + logging_send_syslog_msg(ricci_modstorage_t) + + miscfiles_read_localization(ricci_modstorage_t) + +-modutils_read_module_deps(ricci_modstorage_t) +- +-consoletype_exec(ricci_modstorage_t) +- +-mount_domtrans(ricci_modstorage_t) +- + optional_policy(` + aisexec_stream_connect(ricci_modstorage_t) + corosync_stream_connect(ricci_modstorage_t) +@@ -471,11 +492,27 @@ optional_policy(` + ') + + optional_policy(` ++ consoletype_exec(ricci_modstorage_t) ++') ++ ++optional_policy(` ++ fstools_domtrans(ricci_modstorage_t) ++') ++ ++optional_policy(` + lvm_domtrans(ricci_modstorage_t) + lvm_manage_config(ricci_modstorage_t) + ') + + optional_policy(` ++ modutils_read_module_deps(ricci_modstorage_t) ++') ++ ++optional_policy(` ++ mount_domtrans(ricci_modstorage_t) ++') ++ ++optional_policy(` + nscd_socket_use(ricci_modstorage_t) + ') + diff --git a/policy/modules/services/rlogin.fc b/policy/modules/services/rlogin.fc index 2785337..c3c2775 100644 --- a/policy/modules/services/rlogin.fc @@ -35805,7 +36684,7 @@ index 2785337..c3c2775 100644 /usr/kerberos/sbin/klogind -- gen_context(system_u:object_r:rlogind_exec_t,s0) diff --git a/policy/modules/services/rlogin.te b/policy/modules/services/rlogin.te -index 779fa44..0155ca7 100644 +index 779fa44..cdfebe3 100644 --- a/policy/modules/services/rlogin.te +++ b/policy/modules/services/rlogin.te @@ -27,15 +27,14 @@ files_pid_file(rlogind_var_run_t) @@ -35842,16 +36721,30 @@ index 779fa44..0155ca7 100644 files_read_etc_files(rlogind_t) files_read_etc_runtime_files(rlogind_t) -@@ -88,6 +87,9 @@ seutil_read_config(rlogind_t) +@@ -88,9 +87,9 @@ seutil_read_config(rlogind_t) userdom_setattr_user_ptys(rlogind_t) # cjp: this is egregious userdom_read_user_home_content_files(rlogind_t) +- +-remotelogin_domtrans(rlogind_t) +-remotelogin_signal(rlogind_t) +userdom_search_admin_dir(rlogind_t) +userdom_manage_user_tmp_files(rlogind_t) +userdom_tmp_filetrans_user_tmp(rlogind_t, file) - remotelogin_domtrans(rlogind_t) - remotelogin_signal(rlogind_t) + rlogin_read_home_content(rlogind_t) + +@@ -112,5 +111,10 @@ optional_policy(` + ') + + optional_policy(` ++ remotelogin_domtrans(rlogind_t) ++ remotelogin_signal(rlogind_t) ++') ++ ++optional_policy(` + tcpd_wrapped_domain(rlogind_t, rlogind_exec_t) + ') diff --git a/policy/modules/services/rpc.fc b/policy/modules/services/rpc.fc index 5c70c0c..6842295 100644 --- a/policy/modules/services/rpc.fc @@ -35955,7 +36848,7 @@ index cda37bb..484e552 100644 + allow $1 var_lib_nfs_t:file relabel_file_perms; ') diff --git a/policy/modules/services/rpc.te b/policy/modules/services/rpc.te -index 8e1ab72..e6821be 100644 +index 8e1ab72..eaa8036 100644 --- a/policy/modules/services/rpc.te +++ b/policy/modules/services/rpc.te @@ -6,18 +6,18 @@ policy_module(rpc, 1.12.0) @@ -36061,7 +36954,15 @@ index 8e1ab72..e6821be 100644 manage_dirs_pattern(gssd_t, gssd_tmp_t, gssd_tmp_t) manage_files_pattern(gssd_t, gssd_tmp_t, gssd_tmp_t) -@@ -218,6 +236,8 @@ tunable_policy(`allow_gssd_read_tmp',` +@@ -210,14 +228,14 @@ auth_manage_cache(gssd_t) + + miscfiles_read_generic_certs(gssd_t) + +-mount_signal(gssd_t) +- + userdom_signal_all_users(gssd_t) + + tunable_policy(`allow_gssd_read_tmp',` userdom_list_user_tmp(gssd_t) userdom_read_user_tmp_files(gssd_t) userdom_read_user_tmp_symlinks(gssd_t) @@ -36070,6 +36971,17 @@ index 8e1ab72..e6821be 100644 ') optional_policy(` +@@ -229,6 +247,10 @@ optional_policy(` + ') + + optional_policy(` ++ mount_signal(gssd_t) ++') ++ ++optional_policy(` + pcscd_read_pub_files(gssd_t) + ') + diff --git a/policy/modules/services/rpcbind.fc b/policy/modules/services/rpcbind.fc index f5c47d6..5a965e9 100644 --- a/policy/modules/services/rpcbind.fc @@ -36676,7 +37588,7 @@ index 82cb169..9e72970 100644 + admin_pattern($1, samba_unconfined_script_exec_t) ') diff --git a/policy/modules/services/samba.te b/policy/modules/services/samba.te -index e30bb63..00a9125 100644 +index e30bb63..ef1edc6 100644 --- a/policy/modules/services/samba.te +++ b/policy/modules/services/samba.te @@ -152,9 +152,6 @@ domain_entry_file(winbind_helper_t, winbind_helper_exec_t) @@ -36813,7 +37725,27 @@ index e30bb63..00a9125 100644 samba_read_config(smbcontrol_t) samba_rw_var_files(smbcontrol_t) samba_search_var(smbcontrol_t) -@@ -677,7 +675,7 @@ samba_domtrans_nmbd(swat_t) +@@ -644,8 +642,6 @@ auth_use_nsswitch(smbmount_t) + + miscfiles_read_localization(smbmount_t) + +-mount_use_fds(smbmount_t) +- + locallogin_use_fds(smbmount_t) + + logging_search_logs(smbmount_t) +@@ -657,6 +653,10 @@ optional_policy(` + cups_read_rw_config(smbmount_t) + ') + ++optional_policy(` ++ mount_use_fds(smbmount_t) ++') ++ + ######################################## + # + # SWAT Local policy +@@ -677,7 +677,7 @@ samba_domtrans_nmbd(swat_t) allow swat_t nmbd_t:process { signal signull }; allow nmbd_t swat_t:process signal; @@ -36822,7 +37754,7 @@ index e30bb63..00a9125 100644 allow swat_t smbd_port_t:tcp_socket name_bind; -@@ -692,12 +690,14 @@ manage_files_pattern(swat_t, samba_log_t, samba_log_t) +@@ -692,12 +692,14 @@ manage_files_pattern(swat_t, samba_log_t, samba_log_t) manage_files_pattern(swat_t, samba_etc_t, samba_secrets_t) manage_files_pattern(swat_t, samba_var_t, samba_var_t) @@ -36837,7 +37769,7 @@ index e30bb63..00a9125 100644 manage_dirs_pattern(swat_t, swat_tmp_t, swat_tmp_t) manage_files_pattern(swat_t, swat_tmp_t, swat_tmp_t) -@@ -710,6 +710,7 @@ allow swat_t winbind_exec_t:file mmap_file_perms; +@@ -710,6 +712,7 @@ allow swat_t winbind_exec_t:file mmap_file_perms; domtrans_pattern(swat_t, winbind_exec_t, winbind_t) allow swat_t winbind_t:process { signal signull }; @@ -36845,7 +37777,7 @@ index e30bb63..00a9125 100644 allow swat_t winbind_var_run_t:dir { write add_name remove_name }; allow swat_t winbind_var_run_t:sock_file { create unlink }; -@@ -754,6 +755,8 @@ logging_search_logs(swat_t) +@@ -754,6 +757,8 @@ logging_search_logs(swat_t) miscfiles_read_localization(swat_t) @@ -36854,7 +37786,7 @@ index e30bb63..00a9125 100644 optional_policy(` cups_read_rw_config(swat_t) cups_stream_connect(swat_t) -@@ -806,15 +809,16 @@ rw_files_pattern(winbind_t, smbd_tmp_t, smbd_tmp_t) +@@ -806,15 +811,16 @@ rw_files_pattern(winbind_t, smbd_tmp_t, smbd_tmp_t) allow winbind_t winbind_log_t:file manage_file_perms; logging_log_filetrans(winbind_t, winbind_log_t, file) @@ -36876,7 +37808,7 @@ index e30bb63..00a9125 100644 kernel_read_kernel_sysctls(winbind_t) kernel_read_system_state(winbind_t) -@@ -833,6 +837,7 @@ corenet_udp_sendrecv_all_ports(winbind_t) +@@ -833,6 +839,7 @@ corenet_udp_sendrecv_all_ports(winbind_t) corenet_tcp_bind_generic_node(winbind_t) corenet_udp_bind_generic_node(winbind_t) corenet_tcp_connect_smbd_port(winbind_t) @@ -36884,7 +37816,7 @@ index e30bb63..00a9125 100644 corenet_tcp_connect_epmap_port(winbind_t) corenet_tcp_connect_all_unreserved_ports(winbind_t) -@@ -922,6 +927,18 @@ optional_policy(` +@@ -922,6 +929,18 @@ optional_policy(` # optional_policy(` @@ -36903,7 +37835,7 @@ index e30bb63..00a9125 100644 type samba_unconfined_script_t; type samba_unconfined_script_exec_t; domain_type(samba_unconfined_script_t) -@@ -932,9 +949,12 @@ optional_policy(` +@@ -932,9 +951,12 @@ optional_policy(` allow smbd_t samba_unconfined_script_exec_t:dir search_dir_perms; allow smbd_t samba_unconfined_script_exec_t:file ioctl; @@ -37170,7 +38102,7 @@ index 22dac1f..b6781d5 100644 + unconfined_domain_noaudit(unconfined_sendmail_t) ') diff --git a/policy/modules/services/setroubleshoot.if b/policy/modules/services/setroubleshoot.if -index 22dfeb4..d9f5dbc 100644 +index bcdd16c..7c379a8 100644 --- a/policy/modules/services/setroubleshoot.if +++ b/policy/modules/services/setroubleshoot.if @@ -105,6 +105,25 @@ interface(`setroubleshoot_dbus_chat_fixit',` @@ -37219,7 +38151,7 @@ index 22dfeb4..d9f5dbc 100644 files_list_var_lib($1) admin_pattern($1, setroubleshoot_var_lib_t) diff --git a/policy/modules/services/setroubleshoot.te b/policy/modules/services/setroubleshoot.te -index 086cd5f..b0ee422 100644 +index 086cd5f..43350e6 100644 --- a/policy/modules/services/setroubleshoot.te +++ b/policy/modules/services/setroubleshoot.te @@ -32,6 +32,8 @@ files_pid_file(setroubleshoot_var_run_t) @@ -37250,7 +38182,16 @@ index 086cd5f..b0ee422 100644 corecmd_exec_bin(setroubleshootd_t) corecmd_exec_shell(setroubleshootd_t) -@@ -121,6 +126,14 @@ seutil_read_bin_policy(setroubleshootd_t) +@@ -112,8 +117,6 @@ logging_send_audit_msgs(setroubleshootd_t) + logging_send_syslog_msg(setroubleshootd_t) + logging_stream_connect_dispatcher(setroubleshootd_t) + +-modutils_read_module_config(setroubleshootd_t) +- + seutil_read_config(setroubleshootd_t) + seutil_read_file_contexts(setroubleshootd_t) + seutil_read_bin_policy(setroubleshootd_t) +@@ -121,6 +124,18 @@ seutil_read_bin_policy(setroubleshootd_t) userdom_dontaudit_read_user_home_content_files(setroubleshootd_t) optional_policy(` @@ -37262,10 +38203,14 @@ index 086cd5f..b0ee422 100644 +') + +optional_policy(` ++ modutils_read_module_config(setroubleshootd_t) ++') ++ ++optional_policy(` dbus_system_domain(setroubleshootd_t, setroubleshootd_exec_t) ') -@@ -152,6 +165,7 @@ corecmd_exec_bin(setroubleshoot_fixit_t) +@@ -152,6 +167,7 @@ corecmd_exec_bin(setroubleshoot_fixit_t) corecmd_exec_shell(setroubleshoot_fixit_t) seutil_domtrans_setfiles(setroubleshoot_fixit_t) @@ -37273,7 +38218,7 @@ index 086cd5f..b0ee422 100644 files_read_usr_files(setroubleshoot_fixit_t) files_read_etc_files(setroubleshoot_fixit_t) -@@ -164,6 +178,13 @@ logging_send_syslog_msg(setroubleshoot_fixit_t) +@@ -164,6 +180,13 @@ logging_send_syslog_msg(setroubleshoot_fixit_t) miscfiles_read_localization(setroubleshoot_fixit_t) @@ -37309,11 +38254,11 @@ index adea9f9..d5b2d93 100644 init_labeled_script_domtrans($1, fsdaemon_initrc_exec_t) diff --git a/policy/modules/services/smartmon.te b/policy/modules/services/smartmon.te -index 4804f14..761df2d 100644 +index 606a098..8b74d10 100644 --- a/policy/modules/services/smartmon.te +++ b/policy/modules/services/smartmon.te -@@ -72,16 +72,21 @@ files_exec_etc_files(fsdaemon_t) - files_read_etc_runtime_files(fsdaemon_t) +@@ -73,16 +73,21 @@ files_read_etc_runtime_files(fsdaemon_t) + files_read_usr_files(fsdaemon_t) # for config files_read_etc_files(fsdaemon_t) +files_read_usr_files(fsdaemon_t) @@ -38301,7 +39246,7 @@ index 078bcd7..2d60774 100644 +/root/\.ssh(/.*)? gen_context(system_u:object_r:ssh_home_t,s0) +/root/\.shosts gen_context(system_u:object_r:ssh_home_t,s0) diff --git a/policy/modules/services/ssh.if b/policy/modules/services/ssh.if -index 22adaca..2cfaf93 100644 +index 22adaca..d9913e0 100644 --- a/policy/modules/services/ssh.if +++ b/policy/modules/services/ssh.if @@ -32,10 +32,10 @@ @@ -38567,7 +39512,40 @@ index 22adaca..2cfaf93 100644 files_search_pids($1) ') -@@ -695,7 +726,7 @@ interface(`ssh_dontaudit_read_server_keys',` +@@ -680,6 +711,32 @@ interface(`ssh_domtrans_keygen',` + domtrans_pattern($1, ssh_keygen_exec_t, ssh_keygen_t) + ') + ++####################################### ++## ++## Execute ssh-keygen in the iptables domain, and ++## allow the specified role the ssh-keygen domain. ++## ++## ++## ++## Domain allowed to transition. ++## ++## ++## ++## ++## Role allowed access. ++## ++## ++## ++# ++interface(`ssh_run_keygen',` ++ gen_require(` ++ type ssh_keygen_t; ++ ') ++ ++ role $2 types ssh_keygen_t; ++ ssh_domtrans_keygen($1) ++') ++ + ######################################## + ## + ## Read ssh server keys +@@ -695,7 +752,7 @@ interface(`ssh_dontaudit_read_server_keys',` type sshd_key_t; ') @@ -38576,7 +39554,7 @@ index 22adaca..2cfaf93 100644 ') ###################################### -@@ -735,3 +766,21 @@ interface(`ssh_delete_tmp',` +@@ -735,3 +792,21 @@ interface(`ssh_delete_tmp',` files_search_tmp($1) delete_files_pattern($1, sshd_tmp_t, sshd_tmp_t) ') @@ -38599,7 +39577,7 @@ index 22adaca..2cfaf93 100644 + allow $1 sshd_t:process signull; +') diff --git a/policy/modules/services/ssh.te b/policy/modules/services/ssh.te -index 2dad3c8..9a289e2 100644 +index 2dad3c8..f5c37de 100644 --- a/policy/modules/services/ssh.te +++ b/policy/modules/services/ssh.te @@ -6,26 +6,32 @@ policy_module(ssh, 2.2.0) @@ -38762,65 +39740,23 @@ index 2dad3c8..9a289e2 100644 ') tunable_policy(`use_nfs_home_dirs',` -@@ -200,6 +211,57 @@ optional_policy(` - xserver_domtrans_xauth(ssh_t) +@@ -196,10 +207,15 @@ tunable_policy(`user_tcp_server',` ') -+######################################## -+# -+# ssh_keygen local policy -+# -+ -+# ssh_keygen_t is the type of the ssh-keygen program when run at install time -+# and by sysadm_t -+ -+dontaudit ssh_keygen_t self:capability sys_tty_config; -+allow ssh_keygen_t self:process { sigchld sigkill sigstop signull signal }; -+allow ssh_keygen_t self:unix_stream_socket create_stream_socket_perms; -+ -+allow ssh_keygen_t sshd_key_t:file manage_file_perms; -+files_etc_filetrans(ssh_keygen_t, sshd_key_t, file) -+ -+manage_dirs_pattern(ssh_keygen_t, ssh_home_t, ssh_home_t) -+manage_files_pattern(ssh_keygen_t, ssh_home_t, ssh_home_t) -+userdom_admin_home_dir_filetrans(ssh_keygen_t, ssh_home_t, dir) -+ -+kernel_read_kernel_sysctls(ssh_keygen_t) -+ -+fs_search_auto_mountpoints(ssh_keygen_t) -+ -+dev_read_sysfs(ssh_keygen_t) -+dev_read_urand(ssh_keygen_t) -+ -+term_dontaudit_use_console(ssh_keygen_t) -+ -+domain_use_interactive_fds(ssh_keygen_t) -+ -+files_read_etc_files(ssh_keygen_t) -+ -+init_use_fds(ssh_keygen_t) -+init_use_script_ptys(ssh_keygen_t) -+ -+logging_send_syslog_msg(ssh_keygen_t) -+ -+userdom_dontaudit_use_unpriv_user_fds(ssh_keygen_t) -+ -+optional_policy(` -+ nscd_socket_use(ssh_keygen_t) -+') -+ -+optional_policy(` -+ seutil_sigchld_newrole(ssh_keygen_t) + optional_policy(` ++ gnome_stream_connect_all_gkeyringd(ssh_t) +') + +optional_policy(` -+ udev_read_db(ssh_keygen_t) -+') + xserver_user_x_domain_template(ssh, ssh_t, ssh_tmpfs_t) + xserver_domtrans_xauth(ssh_t) + ') + + ############################## # # ssh_keysign_t local policy -@@ -209,7 +271,7 @@ tunable_policy(`allow_ssh_keysign',` +@@ -209,7 +225,7 @@ tunable_policy(`allow_ssh_keysign',` allow ssh_keysign_t self:capability { setgid setuid }; allow ssh_keysign_t self:unix_stream_socket create_socket_perms; @@ -38829,7 +39765,7 @@ index 2dad3c8..9a289e2 100644 dev_read_urand(ssh_keysign_t) -@@ -232,33 +294,43 @@ optional_policy(` +@@ -232,33 +248,43 @@ optional_policy(` # so a tunnel can point to another ssh tunnel allow sshd_t self:netlink_route_socket r_netlink_socket_perms; allow sshd_t self:key { search link write }; @@ -38882,7 +39818,7 @@ index 2dad3c8..9a289e2 100644 ') optional_policy(` -@@ -266,11 +338,24 @@ optional_policy(` +@@ -266,11 +292,24 @@ optional_policy(` ') optional_policy(` @@ -38908,7 +39844,7 @@ index 2dad3c8..9a289e2 100644 ') optional_policy(` -@@ -284,6 +369,11 @@ optional_policy(` +@@ -284,6 +323,11 @@ optional_policy(` ') optional_policy(` @@ -38920,7 +39856,7 @@ index 2dad3c8..9a289e2 100644 unconfined_shell_domtrans(sshd_t) ') -@@ -292,26 +382,26 @@ optional_policy(` +@@ -292,26 +336,26 @@ optional_policy(` ') ifdef(`TODO',` @@ -38966,7 +39902,7 @@ index 2dad3c8..9a289e2 100644 ') dnl endif TODO ######################################## -@@ -324,7 +414,6 @@ tunable_policy(`ssh_sysadm_login',` +@@ -324,12 +368,15 @@ tunable_policy(`ssh_sysadm_login',` dontaudit ssh_keygen_t self:capability sys_tty_config; allow ssh_keygen_t self:process { sigchld sigkill sigstop signull signal }; @@ -38974,17 +39910,24 @@ index 2dad3c8..9a289e2 100644 allow ssh_keygen_t self:unix_stream_socket create_stream_socket_perms; allow ssh_keygen_t sshd_key_t:file manage_file_perms; -@@ -353,10 +442,6 @@ logging_send_syslog_msg(ssh_keygen_t) + files_etc_filetrans(ssh_keygen_t, sshd_key_t, file) + ++manage_dirs_pattern(ssh_keygen_t, ssh_home_t, ssh_home_t) ++manage_files_pattern(ssh_keygen_t, ssh_home_t, ssh_home_t) ++userdom_admin_home_dir_filetrans(ssh_keygen_t, ssh_home_t, dir) ++ + kernel_read_kernel_sysctls(ssh_keygen_t) + + fs_search_auto_mountpoints(ssh_keygen_t) +@@ -353,7 +400,7 @@ logging_send_syslog_msg(ssh_keygen_t) userdom_dontaudit_use_unpriv_user_fds(ssh_keygen_t) optional_policy(` - nscd_socket_use(ssh_keygen_t) --') -- --optional_policy(` - seutil_sigchld_newrole(ssh_keygen_t) ++ nscd_socket_use(ssh_keygen_t) ') + optional_policy(` diff --git a/policy/modules/services/sssd.if b/policy/modules/services/sssd.if index 941380a..6dbfc01 100644 --- a/policy/modules/services/sssd.if @@ -39279,7 +40222,7 @@ index 58e7ec0..cf4cc85 100644 + allow $1 telnetd_devpts_t:chr_file rw_term_perms; +') diff --git a/policy/modules/services/telnet.te b/policy/modules/services/telnet.te -index f40e67b..34c4c57 100644 +index f40e67b..8d1e658 100644 --- a/policy/modules/services/telnet.te +++ b/policy/modules/services/telnet.te @@ -8,7 +8,6 @@ policy_module(telnet, 1.10.0) @@ -39323,8 +40266,12 @@ index f40e67b..34c4c57 100644 init_rw_utmp(telnetd_t) -@@ -85,11 +80,8 @@ remotelogin_domtrans(telnetd_t) +@@ -81,15 +76,10 @@ miscfiles_read_localization(telnetd_t) + seutil_read_config(telnetd_t) + +-remotelogin_domtrans(telnetd_t) +- userdom_search_user_home_dirs(telnetd_t) userdom_setattr_user_ptys(telnetd_t) - @@ -39337,7 +40284,7 @@ index f40e67b..34c4c57 100644 tunable_policy(`use_nfs_home_dirs',` fs_search_nfs(telnetd_t) -@@ -98,3 +90,9 @@ tunable_policy(`use_nfs_home_dirs',` +@@ -98,3 +88,12 @@ tunable_policy(`use_nfs_home_dirs',` tunable_policy(`use_samba_home_dirs',` fs_search_cifs(telnetd_t) ') @@ -39347,6 +40294,9 @@ index f40e67b..34c4c57 100644 + kerberos_manage_host_rcache(telnetd_t) +') + ++optional_policy(` ++ remotelogin_domtrans(telnetd_t) ++') diff --git a/policy/modules/services/tftp.if b/policy/modules/services/tftp.if index 38bb312..414e03f 100644 --- a/policy/modules/services/tftp.if @@ -40404,7 +41354,7 @@ index 7c5d8d8..5e2f264 100644 + dontaudit $1 virtd_t:fifo_file write_fifo_file_perms; +') diff --git a/policy/modules/services/virt.te b/policy/modules/services/virt.te -index 3eca020..3e3dc01 100644 +index 3eca020..a541a0a 100644 --- a/policy/modules/services/virt.te +++ b/policy/modules/services/virt.te @@ -5,80 +5,97 @@ policy_module(virt, 1.4.0) @@ -40715,7 +41665,7 @@ index 3eca020..3e3dc01 100644 mcs_process_set_categories(virtd_t) -@@ -285,16 +356,31 @@ modutils_read_module_config(virtd_t) +@@ -285,16 +356,30 @@ modutils_read_module_config(virtd_t) modutils_manage_module_config(virtd_t) logging_send_syslog_msg(virtd_t) @@ -40743,11 +41693,21 @@ index 3eca020..3e3dc01 100644 +manage_lnk_files_pattern(virtd_t, virt_home_t, virt_home_t) +userdom_user_home_dir_filetrans(virtd_t, virt_home_t, { dir file }) + -+consoletype_exec(virtd_t) tunable_policy(`virt_use_nfs',` fs_manage_nfs_dirs(virtd_t) -@@ -329,6 +415,10 @@ optional_policy(` +@@ -313,6 +398,10 @@ optional_policy(` + ') + + optional_policy(` ++ consoletype_exec(virtd_t) ++') ++ ++optional_policy(` + dbus_system_bus_client(virtd_t) + + optional_policy(` +@@ -329,6 +418,10 @@ optional_policy(` ') optional_policy(` @@ -40758,7 +41718,7 @@ index 3eca020..3e3dc01 100644 dnsmasq_domtrans(virtd_t) dnsmasq_signal(virtd_t) dnsmasq_kill(virtd_t) -@@ -365,6 +455,8 @@ optional_policy(` +@@ -365,6 +458,8 @@ optional_policy(` qemu_signal(virtd_t) qemu_kill(virtd_t) qemu_setsched(virtd_t) @@ -40767,9 +41727,11 @@ index 3eca020..3e3dc01 100644 ') optional_policy(` -@@ -396,12 +488,25 @@ optional_policy(` +@@ -394,14 +489,26 @@ optional_policy(` + # virtual domains common policy + # - allow virt_domain self:capability { dac_read_search dac_override kill }; +-allow virt_domain self:capability { dac_read_search dac_override kill }; allow virt_domain self:process { execmem execstack signal getsched signull }; -allow virt_domain self:fifo_file rw_file_perms; +allow virt_domain self:fifo_file rw_fifo_file_perms; @@ -40794,7 +41756,7 @@ index 3eca020..3e3dc01 100644 append_files_pattern(virt_domain, virt_log_t, virt_log_t) append_files_pattern(virt_domain, virt_var_lib_t, virt_var_lib_t) -@@ -422,6 +527,7 @@ corenet_rw_tun_tap_dev(virt_domain) +@@ -422,6 +529,7 @@ corenet_rw_tun_tap_dev(virt_domain) corenet_tcp_bind_virt_migration_port(virt_domain) corenet_tcp_connect_virt_migration_port(virt_domain) @@ -40802,7 +41764,7 @@ index 3eca020..3e3dc01 100644 dev_read_rand(virt_domain) dev_read_sound(virt_domain) dev_read_urand(virt_domain) -@@ -429,10 +535,12 @@ dev_write_sound(virt_domain) +@@ -429,10 +537,12 @@ dev_write_sound(virt_domain) dev_rw_ksm(virt_domain) dev_rw_kvm(virt_domain) dev_rw_qemu(virt_domain) @@ -40815,11 +41777,14 @@ index 3eca020..3e3dc01 100644 files_read_usr_files(virt_domain) files_read_var_files(virt_domain) files_search_all(virt_domain) -@@ -440,6 +548,11 @@ files_search_all(virt_domain) +@@ -440,6 +550,14 @@ files_search_all(virt_domain) fs_getattr_tmpfs(virt_domain) fs_rw_anon_inodefs_files(virt_domain) fs_rw_tmpfs_files(virt_domain) +fs_getattr_hugetlbfs(virt_domain) ++fs_rw_inherited_nfs_files(virt_domain) ++fs_rw_inherited_cifs_files(virt_domain) ++fs_rw_inherited_noxattr_fs_files(virt_domain) + +# I think we need these for now. +miscfiles_read_public_files(virt_domain) @@ -40827,7 +41792,7 @@ index 3eca020..3e3dc01 100644 term_use_all_terms(virt_domain) term_getattr_pty_fs(virt_domain) -@@ -457,8 +570,117 @@ optional_policy(` +@@ -457,8 +575,117 @@ optional_policy(` ') optional_policy(` @@ -41111,10 +42076,10 @@ index 0000000..b9104b7 +') diff --git a/policy/modules/services/vnstatd.te b/policy/modules/services/vnstatd.te new file mode 100644 -index 0000000..ff32e95 +index 0000000..a7de540 --- /dev/null +++ b/policy/modules/services/vnstatd.te -@@ -0,0 +1,70 @@ +@@ -0,0 +1,73 @@ +policy_module(vnstatd, 1.0.0) + +######################################## @@ -41135,7 +42100,6 @@ index 0000000..ff32e95 +type vnstat_t; +type vnstat_exec_t; +application_domain(vnstat_t, vnstat_exec_t) -+cron_system_entry(vnstat_t, vnstat_exec_t) + +######################################## +# @@ -41161,6 +42125,10 @@ index 0000000..ff32e95 + +miscfiles_read_localization(vnstatd_t) + ++optional_policy(` ++ cron_system_entry(vnstat_t, vnstat_exec_t) ++') ++ +######################################## +# +# vnstat local policy @@ -41351,7 +42319,7 @@ index 6f1e3c7..ecfe665 100644 +/var/lib/pqsql/\.Xauthority.* -- gen_context(system_u:object_r:xauth_home_t,s0) + diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if -index da2601a..88c2626 100644 +index 130ced9..33c8170 100644 --- a/policy/modules/services/xserver.if +++ b/policy/modules/services/xserver.if @@ -19,9 +19,10 @@ @@ -41366,10 +42334,10 @@ index da2601a..88c2626 100644 ') role $1 types { xserver_t xauth_t iceauth_t }; -@@ -31,12 +32,13 @@ interface(`xserver_restricted_role',` +@@ -30,12 +31,13 @@ interface(`xserver_restricted_role',` + allow xserver_t $2:fd use; allow xserver_t $2:shm rw_shm_perms; - domtrans_pattern($2, xserver_exec_t, xserver_t) - allow xserver_t $2:process signal; + allow xserver_t $2:process { getpgid signal }; @@ -41381,7 +42349,7 @@ index da2601a..88c2626 100644 allow $2 user_fonts_config_t:dir list_dir_perms; allow $2 user_fonts_config_t:file read_file_perms; -@@ -45,6 +47,8 @@ interface(`xserver_restricted_role',` +@@ -44,6 +46,8 @@ interface(`xserver_restricted_role',` manage_files_pattern($2, user_fonts_cache_t, user_fonts_cache_t) stream_connect_pattern($2, xserver_tmp_t, xserver_tmp_t, xserver_t) @@ -41390,7 +42358,7 @@ index da2601a..88c2626 100644 files_search_tmp($2) # Communicate via System V shared memory. -@@ -70,17 +74,21 @@ interface(`xserver_restricted_role',` +@@ -69,17 +73,21 @@ interface(`xserver_restricted_role',` # for when /tmp/.X11-unix is created by the system allow $2 xdm_t:fd use; @@ -41416,7 +42384,7 @@ index da2601a..88c2626 100644 dev_rw_xserver_misc($2) dev_rw_power_management($2) -@@ -89,14 +97,15 @@ interface(`xserver_restricted_role',` +@@ -88,15 +96,17 @@ interface(`xserver_restricted_role',` dev_write_misc($2) # open office is looking for the following dev_getattr_agp_dev($2) @@ -41430,11 +42398,13 @@ index da2601a..88c2626 100644 + miscfiles_read_hwdata($2) xserver_common_x_domain_template(user, $2) + xserver_domtrans($2) - xserver_unconfined($2) ++ #xserver_unconfined($2) xserver_xsession_entry_type($2) xserver_dontaudit_write_log($2) xserver_stream_connect_xdm($2) -@@ -106,12 +115,25 @@ interface(`xserver_restricted_role',` +@@ -106,12 +116,25 @@ interface(`xserver_restricted_role',` xserver_create_xdm_tmp_sockets($2) # Needed for escd, remove if we get escd policy xserver_manage_xdm_tmp_files($2) @@ -41460,7 +42430,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -143,13 +165,15 @@ interface(`xserver_role',` +@@ -143,13 +166,15 @@ interface(`xserver_role',` allow $2 xserver_tmpfs_t:file rw_file_perms; allow $2 iceauth_home_t:file manage_file_perms; @@ -41478,7 +42448,7 @@ index da2601a..88c2626 100644 relabel_dirs_pattern($2, user_fonts_t, user_fonts_t) relabel_files_pattern($2, user_fonts_t, user_fonts_t) -@@ -162,7 +186,6 @@ interface(`xserver_role',` +@@ -162,7 +187,6 @@ interface(`xserver_role',` manage_files_pattern($2, user_fonts_config_t, user_fonts_config_t) relabel_dirs_pattern($2, user_fonts_config_t, user_fonts_config_t) relabel_files_pattern($2, user_fonts_config_t, user_fonts_config_t) @@ -41486,7 +42456,7 @@ index da2601a..88c2626 100644 ') ####################################### -@@ -197,7 +220,7 @@ interface(`xserver_ro_session',` +@@ -197,7 +221,7 @@ interface(`xserver_ro_session',` allow $1 xserver_t:process signal; # Read /tmp/.X0-lock @@ -41495,7 +42465,7 @@ index da2601a..88c2626 100644 # Client read xserver shm allow $1 xserver_t:fd use; -@@ -227,7 +250,7 @@ interface(`xserver_rw_session',` +@@ -227,7 +251,7 @@ interface(`xserver_rw_session',` type xserver_t, xserver_tmpfs_t; ') @@ -41504,7 +42474,7 @@ index da2601a..88c2626 100644 allow $1 xserver_t:shm rw_shm_perms; allow $1 xserver_tmpfs_t:file rw_file_perms; ') -@@ -255,7 +278,7 @@ interface(`xserver_non_drawing_client',` +@@ -255,7 +279,7 @@ interface(`xserver_non_drawing_client',` allow $1 self:x_gc { create setattr }; @@ -41513,7 +42483,7 @@ index da2601a..88c2626 100644 allow $1 xserver_t:unix_stream_socket connectto; allow $1 xextension_t:x_extension { query use }; -@@ -291,13 +314,13 @@ interface(`xserver_user_client',` +@@ -291,13 +315,13 @@ interface(`xserver_user_client',` allow $1 self:unix_stream_socket { connectto create_stream_socket_perms }; # Read .Xauthority file @@ -41531,7 +42501,7 @@ index da2601a..88c2626 100644 allow $1 xdm_tmp_t:sock_file { read write }; dontaudit $1 xdm_t:tcp_socket { read write }; -@@ -342,19 +365,23 @@ interface(`xserver_user_client',` +@@ -342,19 +366,23 @@ interface(`xserver_user_client',` # template(`xserver_common_x_domain_template',` gen_require(` @@ -41558,7 +42528,7 @@ index da2601a..88c2626 100644 ') ############################## -@@ -386,6 +413,15 @@ template(`xserver_common_x_domain_template',` +@@ -386,6 +414,15 @@ template(`xserver_common_x_domain_template',` allow $2 xevent_t:{ x_event x_synthetic_event } receive; # dont audit send failures dontaudit $2 input_xevent_type:x_event send; @@ -41574,7 +42544,7 @@ index da2601a..88c2626 100644 ') ####################################### -@@ -444,8 +480,8 @@ template(`xserver_object_types_template',` +@@ -444,8 +481,8 @@ template(`xserver_object_types_template',` # template(`xserver_user_x_domain_template',` gen_require(` @@ -41585,7 +42555,7 @@ index da2601a..88c2626 100644 ') allow $2 self:shm create_shm_perms; -@@ -458,9 +494,9 @@ template(`xserver_user_x_domain_template',` +@@ -458,9 +495,9 @@ template(`xserver_user_x_domain_template',` # for when /tmp/.X11-unix is created by the system allow $2 xdm_t:fd use; @@ -41597,7 +42567,7 @@ index da2601a..88c2626 100644 dontaudit $2 xdm_t:tcp_socket { read write }; # Allow connections to X server. -@@ -472,20 +508,25 @@ template(`xserver_user_x_domain_template',` +@@ -472,20 +509,25 @@ template(`xserver_user_x_domain_template',` # for .xsession-errors userdom_dontaudit_write_user_home_content_files($2) @@ -41625,7 +42595,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -517,6 +558,7 @@ interface(`xserver_use_user_fonts',` +@@ -517,6 +559,7 @@ interface(`xserver_use_user_fonts',` # Read per user fonts allow $1 user_fonts_t:dir list_dir_perms; allow $1 user_fonts_t:file read_file_perms; @@ -41633,7 +42603,7 @@ index da2601a..88c2626 100644 # Manipulate the global font cache manage_dirs_pattern($1, user_fonts_cache_t, user_fonts_cache_t) -@@ -545,6 +587,28 @@ interface(`xserver_domtrans_xauth',` +@@ -545,6 +588,28 @@ interface(`xserver_domtrans_xauth',` ') domtrans_pattern($1, xauth_exec_t, xauth_t) @@ -41662,7 +42632,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -598,6 +662,7 @@ interface(`xserver_read_user_xauth',` +@@ -598,6 +663,7 @@ interface(`xserver_read_user_xauth',` allow $1 xauth_home_t:file read_file_perms; userdom_search_user_home_dirs($1) @@ -41670,7 +42640,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -615,7 +680,7 @@ interface(`xserver_setattr_console_pipes',` +@@ -615,7 +681,7 @@ interface(`xserver_setattr_console_pipes',` type xconsole_device_t; ') @@ -41679,7 +42649,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -651,7 +716,7 @@ interface(`xserver_use_xdm_fds',` +@@ -651,7 +717,7 @@ interface(`xserver_use_xdm_fds',` type xdm_t; ') @@ -41688,7 +42658,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -670,7 +735,7 @@ interface(`xserver_dontaudit_use_xdm_fds',` +@@ -670,7 +736,7 @@ interface(`xserver_dontaudit_use_xdm_fds',` type xdm_t; ') @@ -41697,7 +42667,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -688,7 +753,7 @@ interface(`xserver_rw_xdm_pipes',` +@@ -688,7 +754,7 @@ interface(`xserver_rw_xdm_pipes',` type xdm_t; ') @@ -41706,7 +42676,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -703,12 +768,11 @@ interface(`xserver_rw_xdm_pipes',` +@@ -703,12 +769,11 @@ interface(`xserver_rw_xdm_pipes',` ## # interface(`xserver_dontaudit_rw_xdm_pipes',` @@ -41720,7 +42690,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -724,11 +788,31 @@ interface(`xserver_dontaudit_rw_xdm_pipes',` +@@ -724,11 +789,31 @@ interface(`xserver_dontaudit_rw_xdm_pipes',` # interface(`xserver_stream_connect_xdm',` gen_require(` @@ -41754,7 +42724,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -765,7 +849,7 @@ interface(`xserver_setattr_xdm_tmp_dirs',` +@@ -765,7 +850,7 @@ interface(`xserver_setattr_xdm_tmp_dirs',` type xdm_tmp_t; ') @@ -41763,7 +42733,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -805,7 +889,26 @@ interface(`xserver_read_xdm_pid',` +@@ -805,7 +890,26 @@ interface(`xserver_read_xdm_pid',` ') files_search_pids($1) @@ -41791,7 +42761,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -897,7 +1000,7 @@ interface(`xserver_getattr_log',` +@@ -897,7 +1001,7 @@ interface(`xserver_getattr_log',` ') logging_search_logs($1) @@ -41800,7 +42770,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -916,7 +1019,7 @@ interface(`xserver_dontaudit_write_log',` +@@ -916,7 +1020,7 @@ interface(`xserver_dontaudit_write_log',` type xserver_log_t; ') @@ -41809,7 +42779,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -963,6 +1066,45 @@ interface(`xserver_read_xkb_libs',` +@@ -963,6 +1067,45 @@ interface(`xserver_read_xkb_libs',` ######################################## ## @@ -41855,7 +42825,7 @@ index da2601a..88c2626 100644 ## Read xdm temporary files. ## ## -@@ -976,7 +1118,7 @@ interface(`xserver_read_xdm_tmp_files',` +@@ -976,7 +1119,7 @@ interface(`xserver_read_xdm_tmp_files',` type xdm_tmp_t; ') @@ -41864,7 +42834,7 @@ index da2601a..88c2626 100644 read_files_pattern($1, xdm_tmp_t, xdm_tmp_t) ') -@@ -1038,6 +1180,42 @@ interface(`xserver_manage_xdm_tmp_files',` +@@ -1038,6 +1181,42 @@ interface(`xserver_manage_xdm_tmp_files',` ######################################## ## @@ -41907,7 +42877,7 @@ index da2601a..88c2626 100644 ## Do not audit attempts to get the attributes of ## xdm temporary named sockets. ## -@@ -1052,7 +1230,7 @@ interface(`xserver_dontaudit_getattr_xdm_tmp_sockets',` +@@ -1052,7 +1231,7 @@ interface(`xserver_dontaudit_getattr_xdm_tmp_sockets',` type xdm_tmp_t; ') @@ -41916,7 +42886,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -1070,8 +1248,10 @@ interface(`xserver_domtrans',` +@@ -1070,8 +1249,10 @@ interface(`xserver_domtrans',` type xserver_t, xserver_exec_t; ') @@ -41928,7 +42898,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -1185,6 +1365,26 @@ interface(`xserver_stream_connect',` +@@ -1185,6 +1366,26 @@ interface(`xserver_stream_connect',` files_search_tmp($1) stream_connect_pattern($1, xserver_tmp_t, xserver_tmp_t, xserver_t) @@ -41955,7 +42925,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -1210,7 +1410,7 @@ interface(`xserver_read_tmp_files',` +@@ -1210,7 +1411,7 @@ interface(`xserver_read_tmp_files',` ## ## Interface to provide X object permissions on a given X server to ## an X client domain. Gives the domain permission to read the @@ -41964,7 +42934,7 @@ index da2601a..88c2626 100644 ## ## ## -@@ -1220,13 +1420,23 @@ interface(`xserver_read_tmp_files',` +@@ -1220,13 +1421,23 @@ interface(`xserver_read_tmp_files',` # interface(`xserver_manage_core_devices',` gen_require(` @@ -41989,7 +42959,7 @@ index da2601a..88c2626 100644 ') ######################################## -@@ -1243,10 +1453,393 @@ interface(`xserver_manage_core_devices',` +@@ -1243,10 +1454,392 @@ interface(`xserver_manage_core_devices',` # interface(`xserver_unconfined',` gen_require(` @@ -42014,11 +42984,10 @@ index da2601a..88c2626 100644 +# +interface(`xserver_dontaudit_append_xdm_home_files',` + gen_require(` -+ type xdm_home_t, xserver_tmp_t; ++ type xdm_home_t; + ') + + dontaudit $1 xdm_home_t:file rw_inherited_file_perms; -+ dontaudit $1 xserver_tmp_t:file rw_inherited_file_perms; + + tunable_policy(`use_nfs_home_dirs',` + fs_dontaudit_rw_nfs_files($1) @@ -42386,15 +43355,9 @@ index da2601a..88c2626 100644 + manage_files_pattern($1, user_fonts_config_t, user_fonts_config_t) +') diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te -index edc58df..f71b9e8 100644 +index 6c01261..7add988 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te -@@ -1,4 +1,4 @@ --policy_module(xserver, 3.5.1) -+policy_module(xserver, 3.5.2) - - gen_require(` - class x_drawable all_x_drawable_perms; @@ -26,27 +26,50 @@ gen_require(` # @@ -42454,13 +43417,7 @@ index edc58df..f71b9e8 100644 attribute x_domain; # X Events -@@ -104,26 +127,30 @@ typealias user_input_xevent_t alias { auditadm_input_xevent_t secadm_input_xeven - - type remote_t; - xserver_object_types_template(remote) --xserver_common_x_domain_template(remote,remote_t) -+xserver_common_x_domain_template(remote, remote_t) - +@@ -109,21 +132,25 @@ xserver_common_x_domain_template(remote, remote_t) type user_fonts_t; typealias user_fonts_t alias { staff_fonts_t sysadm_fonts_t }; typealias user_fonts_t alias { auditadm_fonts_t secadm_fonts_t }; @@ -42584,7 +43541,7 @@ index edc58df..f71b9e8 100644 files_tmpfs_file(xserver_tmpfs_t) ubac_constrained(xserver_tmpfs_t) -@@ -234,9 +279,17 @@ userdom_user_home_dir_filetrans(iceauth_t, iceauth_home_t, file) +@@ -234,10 +279,17 @@ userdom_user_home_dir_filetrans(iceauth_t, iceauth_home_t, file) allow xdm_t iceauth_home_t:file read_file_perms; @@ -42593,7 +43550,7 @@ index edc58df..f71b9e8 100644 fs_search_auto_mountpoints(iceauth_t) userdom_use_user_terminals(iceauth_t) -+userdom_read_user_tmp_files(iceauth_t) + userdom_read_user_tmp_files(iceauth_t) +userdom_read_all_users_state(iceauth_t) + +tunable_policy(`use_fusefs_home_dirs',` @@ -42602,7 +43559,7 @@ index edc58df..f71b9e8 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_files(iceauth_t) -@@ -246,50 +299,109 @@ tunable_policy(`use_samba_home_dirs',` +@@ -247,50 +299,109 @@ tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_files(iceauth_t) ') @@ -42717,7 +43674,7 @@ index edc58df..f71b9e8 100644 optional_policy(` ssh_sigchld(xauth_t) ssh_read_pipes(xauth_t) -@@ -301,20 +413,33 @@ optional_policy(` +@@ -302,20 +413,33 @@ optional_policy(` # XDM Local policy # @@ -42755,7 +43712,7 @@ index edc58df..f71b9e8 100644 # Allow gdm to run gdm-binary can_exec(xdm_t, xdm_exec_t) -@@ -322,43 +447,69 @@ can_exec(xdm_t, xdm_exec_t) +@@ -323,43 +447,62 @@ can_exec(xdm_t, xdm_exec_t) allow xdm_t xdm_lock_t:file manage_file_perms; files_lock_filetrans(xdm_t, xdm_lock_t, file) @@ -42779,15 +43736,7 @@ index edc58df..f71b9e8 100644 manage_lnk_files_pattern(xdm_t, xdm_tmpfs_t, xdm_tmpfs_t) manage_fifo_files_pattern(xdm_t, xdm_tmpfs_t, xdm_tmpfs_t) manage_sock_files_pattern(xdm_t, xdm_tmpfs_t, xdm_tmpfs_t) --fs_tmpfs_filetrans(xdm_t, xdm_tmpfs_t,{ dir file lnk_file sock_file fifo_file }) - --manage_dirs_pattern(xdm_t, xdm_var_lib_t, xdm_var_lib_t) -+fs_getattr_all_fs(xdm_t) -+fs_list_inotifyfs(xdm_t) -+fs_dontaudit_list_noxattr_fs(xdm_t) -+fs_dontaudit_read_noxattr_fs_files(xdm_t) -+fs_manage_cgroup_dirs(xdm_t) -+fs_manage_cgroup_files(xdm_t) +-fs_tmpfs_filetrans(xdm_t, xdm_tmpfs_t, { dir file lnk_file sock_file fifo_file }) + +manage_files_pattern(xdm_t, user_fonts_t, user_fonts_t) + @@ -42795,8 +43744,8 @@ index edc58df..f71b9e8 100644 +manage_dirs_pattern(xdm_t, xdm_spool_t, xdm_spool_t) +manage_files_pattern(xdm_t, xdm_spool_t, xdm_spool_t) +files_spool_filetrans(xdm_t, xdm_spool_t, { file dir }) -+ -+manage_dirs_pattern(xdm_t, xdm_var_lib_t, xdm_var_lib_t) + + manage_dirs_pattern(xdm_t, xdm_var_lib_t, xdm_var_lib_t) manage_files_pattern(xdm_t, xdm_var_lib_t, xdm_var_lib_t) -files_var_lib_filetrans(xdm_t, xdm_var_lib_t, file) +manage_lnk_files_pattern(xdm_t, xdm_var_lib_t, xdm_var_lib_t) @@ -42832,7 +43781,7 @@ index edc58df..f71b9e8 100644 # connect to xdm xserver over stream socket stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) -@@ -367,18 +518,26 @@ stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) +@@ -368,18 +511,26 @@ stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) delete_files_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t) delete_sock_files_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t) @@ -42860,7 +43809,7 @@ index edc58df..f71b9e8 100644 corenet_all_recvfrom_unlabeled(xdm_t) corenet_all_recvfrom_netlabel(xdm_t) -@@ -390,18 +549,22 @@ corenet_tcp_sendrecv_all_ports(xdm_t) +@@ -391,18 +542,22 @@ corenet_tcp_sendrecv_all_ports(xdm_t) corenet_udp_sendrecv_all_ports(xdm_t) corenet_tcp_bind_generic_node(xdm_t) corenet_udp_bind_generic_node(xdm_t) @@ -42884,7 +43833,7 @@ index edc58df..f71b9e8 100644 dev_setattr_apm_bios_dev(xdm_t) dev_rw_dri(xdm_t) dev_rw_agp(xdm_t) -@@ -410,18 +573,24 @@ dev_setattr_xserver_misc_dev(xdm_t) +@@ -411,18 +566,24 @@ dev_setattr_xserver_misc_dev(xdm_t) dev_getattr_misc_dev(xdm_t) dev_setattr_misc_dev(xdm_t) dev_dontaudit_rw_misc(xdm_t) @@ -42912,7 +43861,7 @@ index edc58df..f71b9e8 100644 files_read_etc_files(xdm_t) files_read_var_files(xdm_t) -@@ -432,9 +601,17 @@ files_list_mnt(xdm_t) +@@ -433,9 +594,22 @@ files_list_mnt(xdm_t) files_read_usr_files(xdm_t) # Poweroff wants to create the /poweroff file when run from xdm files_create_boot_flag(xdm_t) @@ -42925,12 +43874,17 @@ index edc58df..f71b9e8 100644 fs_search_auto_mountpoints(xdm_t) +fs_rw_anon_inodefs_files(xdm_t) +fs_mount_tmpfs(xdm_t) ++fs_list_inotifyfs(xdm_t) ++fs_dontaudit_list_noxattr_fs(xdm_t) ++fs_dontaudit_read_noxattr_fs_files(xdm_t) ++fs_manage_cgroup_dirs(xdm_t) ++fs_manage_cgroup_files(xdm_t) + +mls_socket_write_to_clearance(xdm_t) storage_dontaudit_read_fixed_disk(xdm_t) storage_dontaudit_write_fixed_disk(xdm_t) -@@ -443,28 +620,36 @@ storage_dontaudit_raw_read_removable_device(xdm_t) +@@ -444,28 +618,36 @@ storage_dontaudit_raw_read_removable_device(xdm_t) storage_dontaudit_raw_write_removable_device(xdm_t) storage_dontaudit_setattr_removable_dev(xdm_t) storage_dontaudit_rw_scsi_generic(xdm_t) @@ -42969,7 +43923,7 @@ index edc58df..f71b9e8 100644 userdom_dontaudit_use_unpriv_user_fds(xdm_t) userdom_create_all_users_keys(xdm_t) -@@ -473,9 +658,30 @@ userdom_read_user_home_content_files(xdm_t) +@@ -474,9 +656,30 @@ userdom_read_user_home_content_files(xdm_t) # Search /proc for any user domain processes. userdom_read_all_users_state(xdm_t) userdom_signal_all_users(xdm_t) @@ -43000,20 +43954,22 @@ index edc58df..f71b9e8 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xdm_t) -@@ -491,6 +697,12 @@ tunable_policy(`use_samba_home_dirs',` +@@ -492,6 +695,14 @@ tunable_policy(`use_samba_home_dirs',` fs_exec_cifs_files(xdm_t) ') -+tunable_policy(`xdm_exec_bootloader',` -+ bootloader_exec(xdm_t) -+ files_read_boot_files(xdm_t) -+ files_read_boot_symlinks(xdm_t) ++optional_policy(` ++ tunable_policy(`xdm_exec_bootloader',` ++ bootloader_exec(xdm_t) ++ files_read_boot_files(xdm_t) ++ files_read_boot_symlinks(xdm_t) ++ ') +') + tunable_policy(`xdm_sysadm_login',` userdom_xsession_spec_domtrans_all_users(xdm_t) # FIXME: -@@ -504,11 +716,21 @@ tunable_policy(`xdm_sysadm_login',` +@@ -505,11 +716,21 @@ tunable_policy(`xdm_sysadm_login',` ') optional_policy(` @@ -43035,10 +43991,11 @@ index edc58df..f71b9e8 100644 ') optional_policy(` -@@ -516,12 +738,54 @@ optional_policy(` +@@ -517,7 +738,37 @@ optional_policy(` ') optional_policy(` +- cpufreqselector_dbus_chat(xdm_t) + # Use dbus to start other processes as xdm_t + dbus_role_template(xdm, system_r, xdm_t) + @@ -43055,7 +44012,7 @@ index edc58df..f71b9e8 100644 + ') + + optional_policy(` -+ cpufreqselector_dbus_send(xdm_t) ++ cpufreqselector_dbus_chat(xdm_t) + ') + + optional_policy(` @@ -43070,12 +44027,10 @@ index edc58df..f71b9e8 100644 + optional_policy(` + networkmanager_dbus_chat(xdm_t) + ') -+') -+ -+optional_policy(` - # Talk to the console mouse server. - gpm_stream_connect(xdm_t) - gpm_setattr_gpmctl(xdm_t) + ') + + optional_policy(` +@@ -527,6 +778,14 @@ optional_policy(` ') optional_policy(` @@ -43090,7 +44045,7 @@ index edc58df..f71b9e8 100644 hostname_exec(xdm_t) ') -@@ -539,28 +803,64 @@ optional_policy(` +@@ -544,28 +803,65 @@ optional_policy(` ') optional_policy(` @@ -43127,6 +44082,7 @@ index edc58df..f71b9e8 100644 + rpm_exec(xdm_t) + rpm_read_db(xdm_t) + rpm_dontaudit_manage_db(xdm_t) ++ rpm_dontaudit_dbus_chat(xdm_t) +') + +optional_policy(` @@ -43164,10 +44120,14 @@ index edc58df..f71b9e8 100644 ') optional_policy(` -@@ -572,6 +872,10 @@ optional_policy(` +@@ -577,6 +873,14 @@ optional_policy(` ') optional_policy(` ++ vdagent_stream_connect(xdm_t) ++') ++ ++optional_policy(` + wm_exec(xdm_t) +') + @@ -43175,7 +44135,7 @@ index edc58df..f71b9e8 100644 xfs_stream_connect(xdm_t) ') -@@ -596,7 +900,7 @@ allow xserver_t input_xevent_t:x_event send; +@@ -601,7 +905,7 @@ allow xserver_t input_xevent_t:x_event send; # execheap needed until the X module loader is fixed. # NVIDIA Needs execstack @@ -43184,7 +44144,7 @@ index edc58df..f71b9e8 100644 dontaudit xserver_t self:capability chown; allow xserver_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow xserver_t self:fd use; -@@ -610,8 +914,15 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; +@@ -615,8 +919,15 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; allow xserver_t self:unix_stream_socket { create_stream_socket_perms connectto }; allow xserver_t self:tcp_socket create_stream_socket_perms; allow xserver_t self:udp_socket create_socket_perms; @@ -43200,7 +44160,7 @@ index edc58df..f71b9e8 100644 manage_dirs_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_sock_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) -@@ -630,12 +941,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) +@@ -635,12 +946,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) manage_lnk_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) files_search_var_lib(xserver_t) @@ -43222,7 +44182,7 @@ index edc58df..f71b9e8 100644 kernel_read_system_state(xserver_t) kernel_read_device_sysctls(xserver_t) -@@ -643,6 +961,7 @@ kernel_read_modprobe_sysctls(xserver_t) +@@ -648,6 +966,7 @@ kernel_read_modprobe_sysctls(xserver_t) # Xorg wants to check if kernel is tainted kernel_read_kernel_sysctls(xserver_t) kernel_write_proc_files(xserver_t) @@ -43230,7 +44190,7 @@ index edc58df..f71b9e8 100644 # Run helper programs in xserver_t. corecmd_exec_bin(xserver_t) -@@ -669,7 +988,6 @@ dev_rw_apm_bios(xserver_t) +@@ -674,7 +993,6 @@ dev_rw_apm_bios(xserver_t) dev_rw_agp(xserver_t) dev_rw_framebuffer(xserver_t) dev_manage_dri_dev(xserver_t) @@ -43238,7 +44198,7 @@ index edc58df..f71b9e8 100644 dev_create_generic_dirs(xserver_t) dev_setattr_generic_dirs(xserver_t) # raw memory access is needed if not using the frame buffer -@@ -679,11 +997,17 @@ dev_wx_raw_memory(xserver_t) +@@ -684,11 +1002,17 @@ dev_wx_raw_memory(xserver_t) dev_rw_xserver_misc(xserver_t) # read events - the synaptics touchpad driver reads raw events dev_rw_input_dev(xserver_t) @@ -43256,7 +44216,7 @@ index edc58df..f71b9e8 100644 # brought on by rhgb files_search_mnt(xserver_t) -@@ -694,8 +1018,13 @@ fs_getattr_xattr_fs(xserver_t) +@@ -699,8 +1023,13 @@ fs_getattr_xattr_fs(xserver_t) fs_search_nfs(xserver_t) fs_search_auto_mountpoints(xserver_t) fs_search_ramfs(xserver_t) @@ -43270,14 +44230,23 @@ index edc58df..f71b9e8 100644 selinux_validate_context(xserver_t) selinux_compute_access_vector(xserver_t) -@@ -717,15 +1046,19 @@ logging_send_audit_msgs(xserver_t) +@@ -713,8 +1042,6 @@ init_getpgid(xserver_t) + term_setattr_unallocated_ttys(xserver_t) + term_use_unallocated_ttys(xserver_t) + +-getty_use_fds(xserver_t) +- + locallogin_use_fds(xserver_t) + + logging_send_syslog_msg(xserver_t) +@@ -722,11 +1049,12 @@ logging_send_audit_msgs(xserver_t) miscfiles_read_localization(xserver_t) miscfiles_read_fonts(xserver_t) +- +-modutils_domtrans_insmod(xserver_t) +miscfiles_read_hwdata(xserver_t) - modutils_domtrans_insmod(xserver_t) - # read x_contexts seutil_read_default_contexts(xserver_t) +seutil_read_config(xserver_t) @@ -43285,12 +44254,7 @@ index edc58df..f71b9e8 100644 userdom_search_user_home_dirs(xserver_t) userdom_use_user_ttys(xserver_t) - userdom_setattr_user_ttys(xserver_t) -+userdom_read_user_tmp_files(xserver_t) - userdom_rw_user_tmpfs_files(xserver_t) - - xserver_use_user_fonts(xserver_t) -@@ -774,16 +1107,28 @@ optional_policy(` +@@ -780,16 +1108,36 @@ optional_policy(` ') optional_policy(` @@ -43298,6 +44262,14 @@ index edc58df..f71b9e8 100644 +') + +optional_policy(` ++ getty_use_fds(xserver_t) ++') ++ ++optional_policy(` ++ modutils_domtrans_insmod(xserver_t) ++') ++ ++optional_policy(` rhgb_getpgid(xserver_t) rhgb_signal(xserver_t) ') @@ -43320,7 +44292,7 @@ index edc58df..f71b9e8 100644 unconfined_domtrans(xserver_t) ') -@@ -792,6 +1137,10 @@ optional_policy(` +@@ -798,6 +1146,10 @@ optional_policy(` ') optional_policy(` @@ -43331,7 +44303,7 @@ index edc58df..f71b9e8 100644 xfs_stream_connect(xserver_t) ') -@@ -807,10 +1156,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; +@@ -813,10 +1165,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; # NB we do NOT allow xserver_t xdm_var_lib_t:dir, only access to an open # handle of a file inside the dir!!! @@ -43345,7 +44317,7 @@ index edc58df..f71b9e8 100644 # Label pid and temporary files with derived types. manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) -@@ -818,7 +1167,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) +@@ -824,7 +1176,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) manage_sock_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) # Run xkbcomp. @@ -43354,7 +44326,7 @@ index edc58df..f71b9e8 100644 can_exec(xserver_t, xkb_var_lib_t) # VNC v4 module in X server -@@ -831,6 +1180,9 @@ init_use_fds(xserver_t) +@@ -837,6 +1189,9 @@ init_use_fds(xserver_t) # to read ROLE_home_t - examine this in more detail # (xauth?) userdom_read_user_home_content_files(xserver_t) @@ -43364,7 +44336,7 @@ index edc58df..f71b9e8 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xserver_t) -@@ -838,6 +1190,11 @@ tunable_policy(`use_nfs_home_dirs',` +@@ -844,6 +1199,11 @@ tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_symlinks(xserver_t) ') @@ -43376,7 +44348,7 @@ index edc58df..f71b9e8 100644 tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(xserver_t) fs_manage_cifs_files(xserver_t) -@@ -846,11 +1203,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -852,11 +1212,14 @@ tunable_policy(`use_samba_home_dirs',` optional_policy(` dbus_system_bus_client(xserver_t) @@ -43393,7 +44365,7 @@ index edc58df..f71b9e8 100644 ') optional_policy(` -@@ -858,6 +1218,10 @@ optional_policy(` +@@ -864,6 +1227,10 @@ optional_policy(` rhgb_rw_tmpfs_files(xserver_t) ') @@ -43404,7 +44376,7 @@ index edc58df..f71b9e8 100644 ######################################## # # Rules common to all X window domains -@@ -901,7 +1265,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy +@@ -907,7 +1274,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy allow x_domain root_xdrawable_t:x_drawable { getattr setattr list_child add_child remove_child send receive hide show }; # operations allowed on my windows allow x_domain self:x_drawable { create destroy getattr setattr read write show hide list_child add_child remove_child manage send receive }; @@ -43413,7 +44385,7 @@ index edc58df..f71b9e8 100644 # operations allowed on all windows allow x_domain x_domain:x_drawable { getattr get_property set_property remove_child }; -@@ -955,11 +1319,31 @@ allow x_domain self:x_resource { read write }; +@@ -961,11 +1328,31 @@ allow x_domain self:x_resource { read write }; # can mess with the screensaver allow x_domain xserver_t:x_screen { getattr saver_getattr }; @@ -43445,7 +44417,7 @@ index edc58df..f71b9e8 100644 tunable_policy(`! xserver_object_manager',` # should be xserver_unconfined(x_domain), # but typeattribute doesnt work in conditionals -@@ -981,18 +1365,32 @@ tunable_policy(`! xserver_object_manager',` +@@ -987,18 +1374,32 @@ tunable_policy(`! xserver_object_manager',` allow x_domain xevent_type:{ x_event x_synthetic_event } *; ') @@ -44084,7 +45056,7 @@ index 2952cef..4485fd5 100644 /var/run/pam_ssh(/.*)? gen_context(system_u:object_r:var_auth_t,s0) /var/run/sepermit(/.*)? gen_context(system_u:object_r:pam_var_run_t,s0) diff --git a/policy/modules/system/authlogin.if b/policy/modules/system/authlogin.if -index bea0ade..a0feb45 100644 +index 42b4f0f..e6b751b 100644 --- a/policy/modules/system/authlogin.if +++ b/policy/modules/system/authlogin.if @@ -57,6 +57,8 @@ interface(`auth_use_pam',` @@ -44473,10 +45445,10 @@ index bea0ade..a0feb45 100644 optional_policy(` diff --git a/policy/modules/system/authlogin.te b/policy/modules/system/authlogin.te -index 54d122b..b86897f 100644 +index 66d13c4..66a0a25 100644 --- a/policy/modules/system/authlogin.te +++ b/policy/modules/system/authlogin.te -@@ -5,9 +5,24 @@ policy_module(authlogin, 2.2.0) +@@ -5,9 +5,24 @@ policy_module(authlogin, 2.2.1) # Declarations # @@ -44510,16 +45482,7 @@ index 54d122b..b86897f 100644 type pam_var_run_t; files_pid_file(pam_var_run_t) -@@ -83,7 +98,7 @@ logging_log_file(wtmp_t) - - allow chkpwd_t self:capability { dac_override setuid }; - dontaudit chkpwd_t self:capability sys_tty_config; --allow chkpwd_t self:process getattr; -+allow chkpwd_t self:process { getattr signal }; - - allow chkpwd_t shadow_t:file read_file_perms; - files_list_etc(chkpwd_t) -@@ -99,6 +114,8 @@ dev_read_urand(chkpwd_t) +@@ -100,6 +115,8 @@ dev_read_urand(chkpwd_t) files_read_etc_files(chkpwd_t) # for nscd files_dontaudit_search_var(chkpwd_t) @@ -44528,7 +45491,7 @@ index 54d122b..b86897f 100644 fs_dontaudit_getattr_xattr_fs(chkpwd_t) -@@ -394,3 +411,13 @@ optional_policy(` +@@ -395,3 +412,13 @@ optional_policy(` xserver_use_xdm_fds(utempter_t) xserver_rw_xdm_pipes(utempter_t) ') @@ -44738,7 +45701,7 @@ index a97a096..ab1e16a 100644 /usr/bin/raw -- gen_context(system_u:object_r:fsadm_exec_t,s0) /usr/bin/scsi_unique_id -- gen_context(system_u:object_r:fsadm_exec_t,s0) diff --git a/policy/modules/system/fstools.te b/policy/modules/system/fstools.te -index a442acc..133f7f8 100644 +index a442acc..9f99f16 100644 --- a/policy/modules/system/fstools.te +++ b/policy/modules/system/fstools.te @@ -55,6 +55,7 @@ allow fsadm_t swapfile_t:file { rw_file_perms swapon }; @@ -44758,7 +45721,11 @@ index a442acc..133f7f8 100644 # Access to /initrd devices dev_getattr_usbfs_dirs(fsadm_t) # Access to /dev/mapper/control -@@ -117,6 +118,9 @@ fs_remount_xattr_fs(fsadm_t) +@@ -114,9 +115,13 @@ fs_rw_tmpfs_files(fsadm_t) + # remount file system to apply changes + fs_remount_xattr_fs(fsadm_t) + # for /dev/shm ++fs_list_auto_mountpoints(fsadm_t) fs_search_tmpfs(fsadm_t) fs_getattr_tmpfs_dirs(fsadm_t) fs_read_tmpfs_symlinks(fsadm_t) @@ -44768,7 +45735,7 @@ index a442acc..133f7f8 100644 # Recreate /mnt/cdrom. files_manage_mnt_dirs(fsadm_t) # for tune2fs -@@ -130,6 +134,7 @@ storage_raw_write_fixed_disk(fsadm_t) +@@ -130,6 +135,7 @@ storage_raw_write_fixed_disk(fsadm_t) storage_raw_read_removable_device(fsadm_t) storage_raw_write_removable_device(fsadm_t) storage_read_scsi_generic(fsadm_t) @@ -44776,8 +45743,13 @@ index a442acc..133f7f8 100644 storage_swapon_fixed_disk(fsadm_t) term_use_console(fsadm_t) -@@ -147,7 +152,7 @@ modutils_read_module_deps(fsadm_t) +@@ -142,12 +148,9 @@ logging_send_syslog_msg(fsadm_t) + + miscfiles_read_localization(fsadm_t) +-modutils_read_module_config(fsadm_t) +-modutils_read_module_deps(fsadm_t) +- seutil_read_config(fsadm_t) -userdom_use_user_terminals(fsadm_t) @@ -44785,7 +45757,7 @@ index a442acc..133f7f8 100644 ifdef(`distro_redhat',` optional_policy(` -@@ -166,6 +171,19 @@ optional_policy(` +@@ -166,6 +169,24 @@ optional_policy(` ') optional_policy(` @@ -44802,10 +45774,15 @@ index a442acc..133f7f8 100644 +') + +optional_policy(` ++ modutils_read_module_config(fsadm_t) ++ modutils_read_module_deps(fsadm_t) ++') ++ ++optional_policy(` nis_use_ypbind(fsadm_t) ') -@@ -175,6 +193,14 @@ optional_policy(` +@@ -175,6 +196,14 @@ optional_policy(` ') optional_policy(` @@ -44855,11 +45832,37 @@ index c310775..d5fc685 100644 fs_dontaudit_use_tmpfs_chr_dev(hostname_t) term_dontaudit_use_console(hostname_t) +diff --git a/policy/modules/system/hotplug.te b/policy/modules/system/hotplug.te +index 882c6a2..d0ff4ec 100644 +--- a/policy/modules/system/hotplug.te ++++ b/policy/modules/system/hotplug.te +@@ -105,9 +105,6 @@ libs_read_lib_files(hotplug_t) + miscfiles_read_hwdata(hotplug_t) + miscfiles_read_localization(hotplug_t) + +-modutils_domtrans_insmod(hotplug_t) +-modutils_read_module_deps(hotplug_t) +- + seutil_dontaudit_search_config(hotplug_t) + + sysnet_read_config(hotplug_t) +@@ -154,6 +151,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_domtrans_insmod(hotplug_t) ++ modutils_read_module_deps(hotplug_t) ++') ++ ++optional_policy(` + mount_domtrans(hotplug_t) + ') + diff --git a/policy/modules/system/init.fc b/policy/modules/system/init.fc -index 6fed22c..06e5395 100644 +index 354ce93..f7cda1c 100644 --- a/policy/modules/system/init.fc +++ b/policy/modules/system/init.fc -@@ -33,7 +33,21 @@ ifdef(`distro_gentoo', ` +@@ -33,6 +33,19 @@ ifdef(`distro_gentoo', ` # # /sbin # @@ -44877,11 +45880,9 @@ index 6fed22c..06e5395 100644 +# /sbin +# /sbin/init(ng)? -- gen_context(system_u:object_r:init_exec_t,s0) -+/sbin/upstart -- gen_context(system_u:object_r:init_exec_t,s0) - - ifdef(`distro_gentoo', ` - /sbin/rc -- gen_context(system_u:object_r:initrc_exec_t,s0) -@@ -53,6 +67,9 @@ ifdef(`distro_gentoo', ` + # because nowadays, /sbin/init is often a symlink to /sbin/upstart + /sbin/upstart -- gen_context(system_u:object_r:init_exec_t,s0) +@@ -55,6 +68,9 @@ ifdef(`distro_gentoo', ` /usr/sbin/apachectl -- gen_context(system_u:object_r:initrc_exec_t,s0) /usr/sbin/open_init_pty -- gen_context(system_u:object_r:initrc_exec_t,s0) @@ -44892,7 +45893,7 @@ index 6fed22c..06e5395 100644 # # /var diff --git a/policy/modules/system/init.if b/policy/modules/system/init.if -index cc83689..2657c0b 100644 +index cc83689..6a82950 100644 --- a/policy/modules/system/init.if +++ b/policy/modules/system/init.if @@ -79,6 +79,40 @@ interface(`init_script_domain',` @@ -45335,7 +46336,7 @@ index cc83689..2657c0b 100644 ') ######################################## -@@ -1749,3 +1961,93 @@ interface(`init_udp_recvfrom_all_daemons',` +@@ -1749,3 +1961,120 @@ interface(`init_udp_recvfrom_all_daemons',` ') corenet_udp_recvfrom_labeled($1, daemon) ') @@ -45429,8 +46430,35 @@ index cc83689..2657c0b 100644 + + allow $1 init_t:unix_dgram_socket sendto; +') ++ ++######################################## ++## ++## Create a file type used for init socket files. ++## ++## ++##

++## This defines a type that init can create sock_file within for ++## impersonation purposes ++##

++##
++## ++## ++## Type to be used for a sock file. ++## ++## ++## ++# ++interface(`init_sock_file',` ++ gen_require(` ++ attribute init_sock_file_type; ++ ') ++ ++ typeattribute $1 init_sock_file_type; ++ ++') ++ diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te -index 77e8ca8..2abb81b 100644 +index ea29513..2370758 100644 --- a/policy/modules/system/init.te +++ b/policy/modules/system/init.te @@ -16,6 +16,34 @@ gen_require(` @@ -45468,15 +46496,17 @@ index 77e8ca8..2abb81b 100644 # used for direct running of init scripts # by admin domains attribute direct_run_init; -@@ -25,6 +53,7 @@ attribute direct_init_entry; +@@ -25,6 +53,9 @@ attribute direct_init_entry; attribute init_script_domain_type; attribute init_script_file_type; attribute init_run_all_scripts_domain; +attribute initrc_transition_domain; ++# Attribute used for systemd so domains can allow systemd to create sock_files ++attribute init_sock_file_type; # Mark process types as daemons attribute daemon; -@@ -32,7 +61,7 @@ attribute daemon; +@@ -32,7 +63,7 @@ attribute daemon; # # init_t is the domain of the init process. # @@ -45485,7 +46515,7 @@ index 77e8ca8..2abb81b 100644 type init_exec_t; domain_type(init_t) domain_entry_file(init_t, init_exec_t) -@@ -63,6 +92,8 @@ role system_r types initrc_t; +@@ -63,6 +94,8 @@ role system_r types initrc_t; # of the below init_upstart tunable # but this has a typeattribute in it corecmd_shell_entry_type(initrc_t) @@ -45494,7 +46524,7 @@ index 77e8ca8..2abb81b 100644 type initrc_devpts_t; term_pty(initrc_devpts_t) -@@ -87,7 +118,7 @@ ifdef(`enable_mls',` +@@ -87,7 +120,7 @@ ifdef(`enable_mls',` # # Use capabilities. old rule: @@ -45503,7 +46533,7 @@ index 77e8ca8..2abb81b 100644 # is ~sys_module really needed? observed: # sys_boot # sys_tty_config -@@ -100,7 +131,9 @@ allow init_t self:fifo_file rw_fifo_file_perms; +@@ -100,7 +133,9 @@ allow init_t self:fifo_file rw_fifo_file_perms; # Re-exec itself can_exec(init_t, init_exec_t) @@ -45514,7 +46544,7 @@ index 77e8ca8..2abb81b 100644 # For /var/run/shutdown.pid. allow init_t init_var_run_t:file manage_file_perms; -@@ -114,11 +147,13 @@ allow init_t initrc_var_run_t:file { rw_file_perms setattr }; +@@ -114,11 +149,13 @@ allow init_t initrc_var_run_t:file { rw_file_perms setattr }; kernel_read_system_state(init_t) kernel_share_state(init_t) @@ -45528,7 +46558,7 @@ index 77e8ca8..2abb81b 100644 # Early devtmpfs dev_rw_generic_chr_files(init_t) -@@ -127,9 +162,13 @@ domain_kill_all_domains(init_t) +@@ -127,9 +164,13 @@ domain_kill_all_domains(init_t) domain_signal_all_domains(init_t) domain_signull_all_domains(init_t) domain_sigstop_all_domains(init_t) @@ -45542,7 +46572,7 @@ index 77e8ca8..2abb81b 100644 files_rw_generic_pids(init_t) files_dontaudit_search_isid_type_dirs(init_t) files_manage_etc_runtime_files(init_t) -@@ -151,6 +190,7 @@ mls_file_read_all_levels(init_t) +@@ -151,6 +192,7 @@ mls_file_read_all_levels(init_t) mls_file_write_all_levels(init_t) mls_process_write_down(init_t) mls_fd_use_all_levels(init_t) @@ -45550,7 +46580,7 @@ index 77e8ca8..2abb81b 100644 selinux_set_all_booleans(init_t) -@@ -162,12 +202,15 @@ init_domtrans_script(init_t) +@@ -162,12 +204,15 @@ init_domtrans_script(init_t) libs_rw_ld_so_cache(init_t) logging_send_syslog_msg(init_t) @@ -45566,7 +46596,7 @@ index 77e8ca8..2abb81b 100644 ifdef(`distro_gentoo',` allow init_t self:process { getcap setcap }; ') -@@ -178,7 +221,7 @@ ifdef(`distro_redhat',` +@@ -178,7 +223,7 @@ ifdef(`distro_redhat',` fs_tmpfs_filetrans(init_t, initctl_t, fifo_file) ') @@ -45575,12 +46605,15 @@ index 77e8ca8..2abb81b 100644 corecmd_shell_domtrans(init_t, initrc_t) ',` # Run the shell in the sysadm role for single-user mode. -@@ -186,12 +229,100 @@ tunable_policy(`init_upstart',` +@@ -186,12 +231,105 @@ tunable_policy(`init_upstart',` sysadm_shell_domtrans(init_t) ') +storage_raw_rw_fixed_disk(init_t) -+modutils_domtrans_insmod(init_t) ++ ++optional_policy(` ++ modutils_domtrans_insmod(init_t) ++') + +tunable_policy(`init_systemd',` + allow init_t self:unix_dgram_socket { create_socket_perms sendto }; @@ -45648,6 +46681,8 @@ index 77e8ca8..2abb81b 100644 + # needs to remain + logging_create_devlog_dev(init_t) + ++ create_sock_files_pattern(init_t, init_sock_file_type, init_sock_file_type) ++ +# miscfiles_delete_man_pages(init_t) +# miscfiles_relabel_man_pages(init_t) + @@ -45676,7 +46711,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -199,10 +330,25 @@ optional_policy(` +@@ -199,10 +337,25 @@ optional_policy(` ') optional_policy(` @@ -45702,7 +46737,7 @@ index 77e8ca8..2abb81b 100644 unconfined_domain(init_t) ') -@@ -212,7 +358,7 @@ optional_policy(` +@@ -212,7 +365,7 @@ optional_policy(` # allow initrc_t self:process { getpgid setsched setpgid setrlimit getsched }; @@ -45711,7 +46746,7 @@ index 77e8ca8..2abb81b 100644 dontaudit initrc_t self:capability sys_module; # sysctl is triggering this allow initrc_t self:passwd rootok; allow initrc_t self:key manage_key_perms; -@@ -241,12 +387,14 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) +@@ -241,12 +394,14 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) allow initrc_t initrc_var_run_t:file manage_file_perms; files_pid_filetrans(initrc_t, initrc_var_run_t, file) @@ -45726,7 +46761,7 @@ index 77e8ca8..2abb81b 100644 init_write_initctl(initrc_t) -@@ -258,11 +406,23 @@ kernel_change_ring_buffer_level(initrc_t) +@@ -258,11 +413,23 @@ kernel_change_ring_buffer_level(initrc_t) kernel_clear_ring_buffer(initrc_t) kernel_get_sysvipc_info(initrc_t) kernel_read_all_sysctls(initrc_t) @@ -45750,7 +46785,7 @@ index 77e8ca8..2abb81b 100644 corecmd_exec_all_executables(initrc_t) -@@ -279,6 +439,7 @@ corenet_sendrecv_all_client_packets(initrc_t) +@@ -279,6 +446,7 @@ corenet_sendrecv_all_client_packets(initrc_t) dev_read_rand(initrc_t) dev_read_urand(initrc_t) @@ -45758,7 +46793,7 @@ index 77e8ca8..2abb81b 100644 dev_write_kmsg(initrc_t) dev_write_rand(initrc_t) dev_write_urand(initrc_t) -@@ -291,6 +452,7 @@ dev_read_sound_mixer(initrc_t) +@@ -291,6 +459,7 @@ dev_read_sound_mixer(initrc_t) dev_write_sound_mixer(initrc_t) dev_setattr_all_chr_files(initrc_t) dev_rw_lvm_control(initrc_t) @@ -45766,7 +46801,7 @@ index 77e8ca8..2abb81b 100644 dev_delete_lvm_control_dev(initrc_t) dev_manage_generic_symlinks(initrc_t) dev_manage_generic_files(initrc_t) -@@ -298,13 +460,13 @@ dev_manage_generic_files(initrc_t) +@@ -298,13 +467,13 @@ dev_manage_generic_files(initrc_t) dev_delete_generic_symlinks(initrc_t) dev_getattr_all_blk_files(initrc_t) dev_getattr_all_chr_files(initrc_t) @@ -45782,7 +46817,7 @@ index 77e8ca8..2abb81b 100644 domain_sigchld_all_domains(initrc_t) domain_read_all_domains_state(initrc_t) domain_getattr_all_domains(initrc_t) -@@ -323,8 +485,10 @@ files_getattr_all_symlinks(initrc_t) +@@ -323,8 +492,10 @@ files_getattr_all_symlinks(initrc_t) files_getattr_all_pipes(initrc_t) files_getattr_all_sockets(initrc_t) files_purge_tmp(initrc_t) @@ -45794,7 +46829,7 @@ index 77e8ca8..2abb81b 100644 files_delete_all_pids(initrc_t) files_delete_all_pid_dirs(initrc_t) files_read_etc_files(initrc_t) -@@ -340,8 +504,12 @@ files_list_isid_type_dirs(initrc_t) +@@ -340,8 +511,12 @@ files_list_isid_type_dirs(initrc_t) files_mounton_isid_type_dirs(initrc_t) files_list_default(initrc_t) files_mounton_default(initrc_t) @@ -45808,7 +46843,7 @@ index 77e8ca8..2abb81b 100644 fs_list_inotifyfs(initrc_t) fs_register_binary_executable_type(initrc_t) # rhgb-console writes to ramfs -@@ -351,6 +519,8 @@ fs_mount_all_fs(initrc_t) +@@ -351,6 +526,8 @@ fs_mount_all_fs(initrc_t) fs_unmount_all_fs(initrc_t) fs_remount_all_fs(initrc_t) fs_getattr_all_fs(initrc_t) @@ -45817,7 +46852,7 @@ index 77e8ca8..2abb81b 100644 # initrc_t needs to do a pidof which requires ptrace mcs_ptrace_all(initrc_t) -@@ -363,6 +533,7 @@ mls_process_read_up(initrc_t) +@@ -363,6 +540,7 @@ mls_process_read_up(initrc_t) mls_process_write_down(initrc_t) mls_rangetrans_source(initrc_t) mls_fd_share_all_levels(initrc_t) @@ -45825,7 +46860,7 @@ index 77e8ca8..2abb81b 100644 selinux_get_enforce_mode(initrc_t) -@@ -374,6 +545,7 @@ term_use_all_terms(initrc_t) +@@ -374,6 +552,7 @@ term_use_all_terms(initrc_t) term_reset_tty_labels(initrc_t) auth_rw_login_records(initrc_t) @@ -45833,15 +46868,15 @@ index 77e8ca8..2abb81b 100644 auth_setattr_login_records(initrc_t) auth_rw_lastlog(initrc_t) auth_read_pam_pid(initrc_t) -@@ -394,13 +566,14 @@ logging_read_audit_config(initrc_t) +@@ -394,13 +573,12 @@ logging_read_audit_config(initrc_t) miscfiles_read_localization(initrc_t) # slapd needs to read cert files from its initscript -miscfiles_read_generic_certs(initrc_t) +miscfiles_manage_generic_cert_files(initrc_t) - modutils_read_module_config(initrc_t) - modutils_domtrans_insmod(initrc_t) +-modutils_read_module_config(initrc_t) +-modutils_domtrans_insmod(initrc_t) seutil_read_config(initrc_t) @@ -45849,7 +46884,7 @@ index 77e8ca8..2abb81b 100644 userdom_read_user_home_content_files(initrc_t) # Allow access to the sysadm TTYs. Note that this will give access to the # TTYs to any process in the initrc_t domain. Therefore, daemons and such -@@ -478,7 +651,7 @@ ifdef(`distro_redhat',` +@@ -478,7 +656,7 @@ ifdef(`distro_redhat',` # Red Hat systems seem to have a stray # fd open from the initrd @@ -45858,7 +46893,7 @@ index 77e8ca8..2abb81b 100644 files_dontaudit_read_root_files(initrc_t) # These seem to be from the initrd -@@ -524,6 +697,23 @@ ifdef(`distro_redhat',` +@@ -524,6 +702,23 @@ ifdef(`distro_redhat',` optional_policy(` bind_manage_config_dirs(initrc_t) bind_write_config(initrc_t) @@ -45882,7 +46917,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -531,10 +721,17 @@ ifdef(`distro_redhat',` +@@ -531,10 +726,17 @@ ifdef(`distro_redhat',` rpc_write_exports(initrc_t) rpc_manage_nfs_state_data(initrc_t) ') @@ -45900,7 +46935,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -549,6 +746,39 @@ ifdef(`distro_suse',` +@@ -549,6 +751,39 @@ ifdef(`distro_suse',` ') ') @@ -45940,7 +46975,7 @@ index 77e8ca8..2abb81b 100644 optional_policy(` amavis_search_lib(initrc_t) amavis_setattr_pid_files(initrc_t) -@@ -561,6 +791,8 @@ optional_policy(` +@@ -561,6 +796,8 @@ optional_policy(` optional_policy(` apache_read_config(initrc_t) apache_list_modules(initrc_t) @@ -45949,7 +46984,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -577,6 +809,7 @@ optional_policy(` +@@ -577,6 +814,7 @@ optional_policy(` optional_policy(` cgroup_stream_connect_cgred(initrc_t) @@ -45957,7 +46992,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -589,6 +822,11 @@ optional_policy(` +@@ -589,6 +827,11 @@ optional_policy(` ') optional_policy(` @@ -45969,7 +47004,7 @@ index 77e8ca8..2abb81b 100644 dev_getattr_printer_dev(initrc_t) cups_read_log(initrc_t) -@@ -605,9 +843,13 @@ optional_policy(` +@@ -605,9 +848,13 @@ optional_policy(` dbus_connect_system_bus(initrc_t) dbus_system_bus_client(initrc_t) dbus_read_config(initrc_t) @@ -45983,7 +47018,19 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -706,7 +948,13 @@ optional_policy(` +@@ -649,6 +896,11 @@ optional_policy(` + ') + + optional_policy(` ++ modutils_read_module_config(initrc_t) ++ modutils_domtrans_insmod(initrc_t) ++') ++ ++optional_policy(` + inn_exec_config(initrc_t) + ') + +@@ -706,7 +958,13 @@ optional_policy(` ') optional_policy(` @@ -45997,7 +47044,7 @@ index 77e8ca8..2abb81b 100644 mta_dontaudit_read_spool_symlinks(initrc_t) ') -@@ -729,6 +977,10 @@ optional_policy(` +@@ -729,6 +987,10 @@ optional_policy(` ') optional_policy(` @@ -46008,7 +47055,7 @@ index 77e8ca8..2abb81b 100644 postgresql_manage_db(initrc_t) postgresql_read_config(initrc_t) ') -@@ -738,10 +990,20 @@ optional_policy(` +@@ -738,10 +1000,20 @@ optional_policy(` ') optional_policy(` @@ -46029,7 +47076,7 @@ index 77e8ca8..2abb81b 100644 quota_manage_flags(initrc_t) ') -@@ -750,6 +1012,10 @@ optional_policy(` +@@ -750,6 +1022,10 @@ optional_policy(` ') optional_policy(` @@ -46040,7 +47087,7 @@ index 77e8ca8..2abb81b 100644 fs_write_ramfs_sockets(initrc_t) fs_search_ramfs(initrc_t) -@@ -771,8 +1037,6 @@ optional_policy(` +@@ -771,8 +1047,6 @@ optional_policy(` # bash tries ioctl for some reason files_dontaudit_ioctl_all_pids(initrc_t) @@ -46049,7 +47096,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -781,14 +1045,21 @@ optional_policy(` +@@ -781,14 +1055,21 @@ optional_policy(` ') optional_policy(` @@ -46071,7 +47118,7 @@ index 77e8ca8..2abb81b 100644 optional_policy(` ssh_dontaudit_read_server_keys(initrc_t) -@@ -810,11 +1081,19 @@ optional_policy(` +@@ -810,11 +1091,19 @@ optional_policy(` ') optional_policy(` @@ -46092,7 +47139,7 @@ index 77e8ca8..2abb81b 100644 ifdef(`distro_redhat',` # system-config-services causes avc messages that should be dontaudited -@@ -824,6 +1103,25 @@ optional_policy(` +@@ -824,6 +1113,25 @@ optional_policy(` optional_policy(` mono_domtrans(initrc_t) ') @@ -46118,7 +47165,7 @@ index 77e8ca8..2abb81b 100644 ') optional_policy(` -@@ -849,3 +1147,59 @@ optional_policy(` +@@ -849,3 +1157,37 @@ optional_policy(` optional_policy(` zebra_read_config(initrc_t) ') @@ -46156,28 +47203,6 @@ index 77e8ca8..2abb81b 100644 +') + +init_rw_stream_sockets(daemon) -+ -+ifdef(`hide_broken_symptoms',` -+optional_policy(` -+gen_require(` -+ type system_dbusd_var_run_t; -+ type fsadm_t; -+ type avahi_var_run_t; -+') -+ -+fs_list_auto_mountpoints(fsadm_t) -+ -+fs_list_auto_mountpoints(lvm_t) -+fs_list_hugetlbfs(lvm_t) -+ -+allow init_t avahi_var_run_t:dir { write add_name }; -+allow init_t avahi_var_run_t:sock_file create; -+ -+allow init_t system_dbusd_var_run_t:dir { write add_name }; -+allow init_t system_dbusd_var_run_t:sock_file create; -+ -+') -+') diff --git a/policy/modules/system/ipsec.fc b/policy/modules/system/ipsec.fc index 07eba2b..942bea1 100644 --- a/policy/modules/system/ipsec.fc @@ -46319,7 +47344,7 @@ index 8232f91..8897e32 100644 + allow ipsec_mgmt_t $1:dbus send_msg; +') diff --git a/policy/modules/system/ipsec.te b/policy/modules/system/ipsec.te -index 98d6081..fbc8601 100644 +index 98d6081..ba4b965 100644 --- a/policy/modules/system/ipsec.te +++ b/policy/modules/system/ipsec.te @@ -73,7 +73,7 @@ role system_r types setkey_t; @@ -46421,15 +47446,19 @@ index 98d6081..fbc8601 100644 term_use_console(ipsec_mgmt_t) -term_dontaudit_getattr_unallocated_ttys(ipsec_mgmt_t) +term_use_all_terms(ipsec_mgmt_t) -+ -+auth_dontaudit_read_login_records(ipsec_mgmt_t) ++auth_dontaudit_read_login_records(ipsec_mgmt_t) ++ +init_read_utmp(ipsec_mgmt_t) init_use_script_ptys(ipsec_mgmt_t) init_exec_script_files(ipsec_mgmt_t) init_use_fds(ipsec_mgmt_t) -@@ -291,7 +308,9 @@ modutils_domtrans_insmod(ipsec_mgmt_t) +@@ -287,11 +304,11 @@ logging_send_syslog_msg(ipsec_mgmt_t) + + miscfiles_read_localization(ipsec_mgmt_t) +-modutils_domtrans_insmod(ipsec_mgmt_t) +- seutil_dontaudit_search_config(ipsec_mgmt_t) +sysnet_manage_config(ipsec_mgmt_t) @@ -46438,7 +47467,7 @@ index 98d6081..fbc8601 100644 userdom_use_user_terminals(ipsec_mgmt_t) -@@ -300,6 +319,23 @@ optional_policy(` +@@ -300,6 +317,27 @@ optional_policy(` ') optional_policy(` @@ -46455,14 +47484,18 @@ index 98d6081..fbc8601 100644 +') + +optional_policy(` -+ iptables_domtrans(ipsec_mgmt_t) ++ iptables_domtrans(ipsec_mgmt_t) ++') ++ ++optional_policy(` ++ modutils_domtrans_insmod(ipsec_mgmt_t) +') + +optional_policy(` nscd_socket_use(ipsec_mgmt_t) ') -@@ -386,6 +422,8 @@ miscfiles_read_localization(racoon_t) +@@ -386,6 +424,8 @@ miscfiles_read_localization(racoon_t) sysnet_exec_ifconfig(racoon_t) @@ -46471,7 +47504,7 @@ index 98d6081..fbc8601 100644 auth_can_read_shadow_passwords(racoon_t) tunable_policy(`racoon_read_shadow',` auth_tunable_read_shadow(racoon_t) -@@ -412,6 +450,7 @@ domain_ipsec_setcontext_all_domains(setkey_t) +@@ -412,6 +452,7 @@ domain_ipsec_setcontext_all_domains(setkey_t) files_read_etc_files(setkey_t) init_dontaudit_use_fds(setkey_t) @@ -46479,7 +47512,7 @@ index 98d6081..fbc8601 100644 # allow setkey to set the context for ipsec SAs and policy. corenet_setcontext_all_spds(setkey_t) -@@ -423,4 +462,5 @@ miscfiles_read_localization(setkey_t) +@@ -423,4 +464,5 @@ miscfiles_read_localization(setkey_t) seutil_read_config(setkey_t) userdom_use_user_terminals(setkey_t) @@ -47534,10 +48567,10 @@ index 9b5a9ed..7ea0ae3 100644 ') diff --git a/policy/modules/system/lvm.fc b/policy/modules/system/lvm.fc -index 879bb1e..526d11c 100644 +index 879bb1e..7b22111 100644 --- a/policy/modules/system/lvm.fc +++ b/policy/modules/system/lvm.fc -@@ -28,10 +28,13 @@ ifdef(`distro_gentoo',` +@@ -28,20 +28,24 @@ ifdef(`distro_gentoo',` # /lib/lvm-10/.* -- gen_context(system_u:object_r:lvm_exec_t,s0) /lib/lvm-200/.* -- gen_context(system_u:object_r:lvm_exec_t,s0) @@ -47551,7 +48584,19 @@ index 879bb1e..526d11c 100644 /sbin/cryptsetup -- gen_context(system_u:object_r:lvm_exec_t,s0) /sbin/dmraid -- gen_context(system_u:object_r:lvm_exec_t,s0) /sbin/dmsetup -- gen_context(system_u:object_r:lvm_exec_t,s0) -@@ -97,5 +100,7 @@ ifdef(`distro_gentoo',` + /sbin/dmsetup\.static -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/e2fsadm -- gen_context(system_u:object_r:lvm_exec_t,s0) ++/sbin/kpartx -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvchange -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvcreate -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvdisplay -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvextend -- gen_context(system_u:object_r:lvm_exec_t,s0) +-/sbin/lvm -- gen_context(system_u:object_r:lvm_exec_t,s0) ++/sbin/lvm -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvm\.static -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvmchange -- gen_context(system_u:object_r:lvm_exec_t,s0) + /sbin/lvmdiskscan -- gen_context(system_u:object_r:lvm_exec_t,s0) +@@ -97,5 +101,7 @@ ifdef(`distro_gentoo',` /var/cache/multipathd(/.*)? gen_context(system_u:object_r:lvm_metadata_t,s0) /var/lib/multipath(/.*)? gen_context(system_u:object_r:lvm_var_lib_t,s0) /var/lock/lvm(/.*)? gen_context(system_u:object_r:lvm_lock_t,s0) @@ -47604,7 +48649,7 @@ index 58bc27f..b95f0c0 100644 + allow $1 clvmd_tmpfs_t:file unlink; +') diff --git a/policy/modules/system/lvm.te b/policy/modules/system/lvm.te -index a0a0ebf..1440818 100644 +index a0a0ebf..f596c62 100644 --- a/policy/modules/system/lvm.te +++ b/policy/modules/system/lvm.te @@ -12,6 +12,9 @@ init_daemon_domain(clvmd_t, clvmd_exec_t) @@ -47703,7 +48748,7 @@ index a0a0ebf..1440818 100644 domain_use_interactive_fds(lvm_t) domain_read_all_domains_state(lvm_t) -@@ -253,8 +270,9 @@ files_read_etc_files(lvm_t) +@@ -253,17 +270,21 @@ files_read_etc_files(lvm_t) files_read_etc_runtime_files(lvm_t) # for when /usr is not mounted: files_dontaudit_search_isid_type_dirs(lvm_t) @@ -47714,7 +48759,11 @@ index a0a0ebf..1440818 100644 fs_search_auto_mountpoints(lvm_t) fs_list_tmpfs(lvm_t) fs_read_tmpfs_symlinks(lvm_t) -@@ -264,6 +282,7 @@ fs_rw_anon_inodefs_files(lvm_t) + fs_dontaudit_read_removable_files(lvm_t) + fs_dontaudit_getattr_tmpfs_files(lvm_t) + fs_rw_anon_inodefs_files(lvm_t) ++fs_list_auto_mountpoints(lvm_t) ++fs_list_hugetlbfs(lvm_t) mls_file_read_all_levels(lvm_t) mls_file_write_to_clearance(lvm_t) @@ -47722,7 +48771,7 @@ index a0a0ebf..1440818 100644 selinux_get_fs_mount(lvm_t) selinux_validate_context(lvm_t) -@@ -311,6 +330,11 @@ ifdef(`distro_redhat',` +@@ -311,6 +332,11 @@ ifdef(`distro_redhat',` ') optional_policy(` @@ -47734,7 +48783,7 @@ index a0a0ebf..1440818 100644 bootloader_rw_tmp_files(lvm_t) ') -@@ -331,6 +355,10 @@ optional_policy(` +@@ -331,6 +357,10 @@ optional_policy(` ') optional_policy(` @@ -47745,7 +48794,7 @@ index a0a0ebf..1440818 100644 modutils_domtrans_insmod(lvm_t) ') -@@ -339,6 +367,10 @@ optional_policy(` +@@ -339,6 +369,10 @@ optional_policy(` ') optional_policy(` @@ -48007,7 +49056,7 @@ index 72c746e..3d0bc28 100644 +/var/cache/davfs2(/.*)? gen_context(system_u:object_r:mount_var_run_t,s0) +/var/run/davfs2(/.*)? gen_context(system_u:object_r:mount_var_run_t,s0) diff --git a/policy/modules/system/mount.if b/policy/modules/system/mount.if -index 8b5c196..83107f9 100644 +index 8b5c196..6dc92dd 100644 --- a/policy/modules/system/mount.if +++ b/policy/modules/system/mount.if @@ -16,6 +16,16 @@ interface(`mount_domtrans',` @@ -48027,7 +49076,7 @@ index 8b5c196..83107f9 100644 ') ######################################## -@@ -45,8 +55,54 @@ interface(`mount_run',` +@@ -45,12 +55,77 @@ interface(`mount_run',` role $2 types mount_t; optional_policy(` @@ -48050,11 +49099,11 @@ index 8b5c196..83107f9 100644 + + optional_policy(` + samba_run_smbmount(mount_t, $2) -+ ') -+') -+ -+######################################## -+## + ') + ') + + ######################################## + ## +## Execute fusermount in the mount domain, and +## allow the specified role the mount domain, +## and use the caller's terminal. @@ -48074,16 +49123,39 @@ index 8b5c196..83107f9 100644 +interface(`mount_run_fusermount',` + gen_require(` + type mount_t; - ') ++ ') + + mount_domtrans_fusermount($1) + role $2 types mount_t; + + fstools_run(mount_t, $2) - ') - - ######################################## -@@ -84,9 +140,11 @@ interface(`mount_exec',` ++') ++ ++######################################## ++## ++## Read mount PID files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`mount_read_pid_files',` ++ gen_require(` ++ type mount_var_run_t; ++ ') ++ ++ allow $1 mount_var_run_t:file read_file_perms; ++ files_search_pids($1) ++') ++ ++######################################## ++## + ## Execute mount in the caller domain. + ## + ## +@@ -84,9 +159,11 @@ interface(`mount_exec',` interface(`mount_signal',` gen_require(` type mount_t; @@ -48095,7 +49167,7 @@ index 8b5c196..83107f9 100644 ') ######################################## -@@ -95,7 +153,7 @@ interface(`mount_signal',` +@@ -95,7 +172,7 @@ interface(`mount_signal',` ## ## ## @@ -48104,7 +49176,7 @@ index 8b5c196..83107f9 100644 ## ## # -@@ -135,6 +193,24 @@ interface(`mount_send_nfs_client_request',` +@@ -135,6 +212,24 @@ interface(`mount_send_nfs_client_request',` ######################################## ## @@ -48129,7 +49201,7 @@ index 8b5c196..83107f9 100644 ## Execute mount in the unconfined mount domain. ## ## -@@ -176,4 +252,109 @@ interface(`mount_run_unconfined',` +@@ -176,4 +271,110 @@ interface(`mount_run_unconfined',` mount_domtrans_unconfined($1) role $2 types unconfined_mount_t; @@ -48159,6 +49231,7 @@ index 8b5c196..83107f9 100644 + ') + + domtrans_pattern($1, fusermount_exec_t, mount_t) ++ ps_process_pattern(mount_t, $1) +') + +######################################## @@ -48240,7 +49313,7 @@ index 8b5c196..83107f9 100644 + role $2 types showmount_t; ') diff --git a/policy/modules/system/mount.te b/policy/modules/system/mount.te -index 15832c7..b842390 100644 +index 15832c7..e7aff81 100644 --- a/policy/modules/system/mount.te +++ b/policy/modules/system/mount.te @@ -17,8 +17,15 @@ type mount_exec_t; @@ -48430,16 +49503,12 @@ index 15832c7..b842390 100644 ifdef(`distro_redhat',` optional_policy(` -@@ -141,10 +212,17 @@ ifdef(`distro_ubuntu',` +@@ -141,10 +212,13 @@ ifdef(`distro_ubuntu',` ') ') +corecmd_exec_shell(mount_t) + -+modutils_domtrans_insmod(mount_t) -+ -+fstools_domtrans(mount_t) -+ tunable_policy(`allow_mount_anyfile',` auth_read_all_dirs_except_shadow(mount_t) auth_read_all_files_except_shadow(mount_t) @@ -48448,7 +49517,7 @@ index 15832c7..b842390 100644 ') optional_policy(` -@@ -174,6 +252,8 @@ optional_policy(` +@@ -174,6 +248,8 @@ optional_policy(` fs_search_rpc(mount_t) rpc_stub(mount_t) @@ -48457,7 +49526,7 @@ index 15832c7..b842390 100644 ') optional_policy(` -@@ -181,6 +261,28 @@ optional_policy(` +@@ -181,6 +257,28 @@ optional_policy(` ') optional_policy(` @@ -48486,7 +49555,7 @@ index 15832c7..b842390 100644 ifdef(`hide_broken_symptoms',` # for a bug in the X server rhgb_dontaudit_rw_stream_sockets(mount_t) -@@ -188,13 +290,44 @@ optional_policy(` +@@ -188,13 +286,52 @@ optional_policy(` ') ') @@ -48500,6 +49569,14 @@ index 15832c7..b842390 100644 +') + +optional_policy(` ++ modutils_domtrans_insmod(mount_t) ++') ++ ++optional_policy(` ++ fstools_domtrans(mount_t) ++') ++ ++optional_policy(` + rhcs_stream_connect_gfs_controld(mount_t) +') + @@ -48531,7 +49608,7 @@ index 15832c7..b842390 100644 ') ######################################## -@@ -203,6 +336,43 @@ optional_policy(` +@@ -203,6 +340,43 @@ optional_policy(` # optional_policy(` @@ -48576,6 +49653,30 @@ index 15832c7..b842390 100644 +sysnet_dns_name_resolve(showmount_t) + +userdom_use_user_terminals(showmount_t) +diff --git a/policy/modules/system/pcmcia.te b/policy/modules/system/pcmcia.te +index 4d06ae3..a9918e0 100644 +--- a/policy/modules/system/pcmcia.te ++++ b/policy/modules/system/pcmcia.te +@@ -98,8 +98,6 @@ logging_send_syslog_msg(cardmgr_t) + + miscfiles_read_localization(cardmgr_t) + +-modutils_domtrans_insmod(cardmgr_t) +- + sysnet_domtrans_ifconfig(cardmgr_t) + # for /etc/resolv.conf + sysnet_etc_filetrans_config(cardmgr_t) +@@ -110,6 +108,10 @@ userdom_dontaudit_use_unpriv_user_fds(cardmgr_t) + userdom_dontaudit_search_user_home_dirs(cardmgr_t) + + optional_policy(` ++ modutils_domtrans_insmod(cardmgr_t) ++') ++ ++optional_policy(` + seutil_dontaudit_read_config(cardmgr_t) + seutil_sigchld_newrole(cardmgr_t) + ') diff --git a/policy/modules/system/raid.fc b/policy/modules/system/raid.fc index ed9c70d..b961d53 100644 --- a/policy/modules/system/raid.fc @@ -49107,7 +50208,7 @@ index 170e2c7..540a936 100644 +') +') diff --git a/policy/modules/system/selinuxutil.te b/policy/modules/system/selinuxutil.te -index 7ed9819..d6a6763 100644 +index 7ed9819..c3dc5ba 100644 --- a/policy/modules/system/selinuxutil.te +++ b/policy/modules/system/selinuxutil.te @@ -22,6 +22,9 @@ attribute can_relabelto_binary_policy; @@ -49120,7 +50221,7 @@ index 7ed9819..d6a6763 100644 type checkpolicy_t, can_write_binary_policy; type checkpolicy_exec_t; application_domain(checkpolicy_t, checkpolicy_exec_t) -@@ -57,8 +60,9 @@ domain_interactive_fd(newrole_t) +@@ -57,8 +60,13 @@ domain_interactive_fd(newrole_t) # policy_config_t is the type of /etc/security/selinux/* # the security server policy configuration. # @@ -49128,11 +50229,15 @@ index 7ed9819..d6a6763 100644 -files_type(policy_config_t) +#type policy_config_t; +#files_type(policy_config_t) ++gen_require(` ++ type semanage_store_t; ++') ++ +typealias semanage_store_t alias policy_config_t; neverallow ~can_relabelto_binary_policy policy_config_t:file relabelto; #neverallow ~can_write_binary_policy policy_config_t:file { write append }; -@@ -74,7 +78,6 @@ type restorecond_t; +@@ -74,7 +82,6 @@ type restorecond_t; type restorecond_exec_t; init_daemon_domain(restorecond_t, restorecond_exec_t) domain_obj_id_change_exemption(restorecond_t) @@ -49140,7 +50245,7 @@ index 7ed9819..d6a6763 100644 type restorecond_var_run_t; files_pid_file(restorecond_var_run_t) -@@ -88,26 +91,36 @@ role system_r types run_init_t; +@@ -88,26 +95,36 @@ role system_r types run_init_t; type semanage_t; type semanage_exec_t; application_domain(semanage_t, semanage_exec_t) @@ -49179,7 +50284,7 @@ index 7ed9819..d6a6763 100644 ######################################## # # Checkpolicy local policy -@@ -176,6 +189,7 @@ term_list_ptys(load_policy_t) +@@ -176,6 +193,7 @@ term_list_ptys(load_policy_t) init_use_script_fds(load_policy_t) init_use_script_ptys(load_policy_t) @@ -49187,7 +50292,7 @@ index 7ed9819..d6a6763 100644 miscfiles_read_localization(load_policy_t) -@@ -204,7 +218,7 @@ ifdef(`hide_broken_symptoms',` +@@ -204,7 +222,7 @@ ifdef(`hide_broken_symptoms',` # Newrole local policy # @@ -49196,7 +50301,7 @@ index 7ed9819..d6a6763 100644 allow newrole_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execheap execstack }; allow newrole_t self:process setexec; allow newrole_t self:fd use; -@@ -216,7 +230,7 @@ allow newrole_t self:msgq create_msgq_perms; +@@ -216,7 +234,7 @@ allow newrole_t self:msgq create_msgq_perms; allow newrole_t self:msg { send receive }; allow newrole_t self:unix_dgram_socket sendto; allow newrole_t self:unix_stream_socket { create_stream_socket_perms connectto }; @@ -49205,7 +50310,7 @@ index 7ed9819..d6a6763 100644 read_files_pattern(newrole_t, default_context_t, default_context_t) read_lnk_files_pattern(newrole_t, default_context_t, default_context_t) -@@ -233,6 +247,7 @@ domain_use_interactive_fds(newrole_t) +@@ -233,6 +251,7 @@ domain_use_interactive_fds(newrole_t) # for when the user types "exec newrole" at the command line: domain_sigchld_interactive_fds(newrole_t) @@ -49213,7 +50318,7 @@ index 7ed9819..d6a6763 100644 files_read_etc_files(newrole_t) files_read_var_files(newrole_t) files_read_var_symlinks(newrole_t) -@@ -260,25 +275,30 @@ term_relabel_all_ptys(newrole_t) +@@ -260,25 +279,30 @@ term_relabel_all_ptys(newrole_t) term_getattr_unallocated_ttys(newrole_t) term_dontaudit_use_unallocated_ttys(newrole_t) @@ -49250,7 +50355,7 @@ index 7ed9819..d6a6763 100644 ifdef(`distro_ubuntu',` optional_policy(` unconfined_domain(newrole_t) -@@ -312,6 +332,8 @@ kernel_use_fds(restorecond_t) +@@ -312,6 +336,8 @@ kernel_use_fds(restorecond_t) kernel_rw_pipes(restorecond_t) kernel_read_system_state(restorecond_t) @@ -49259,7 +50364,7 @@ index 7ed9819..d6a6763 100644 fs_relabelfrom_noxattr_fs(restorecond_t) fs_dontaudit_list_nfs(restorecond_t) fs_getattr_xattr_fs(restorecond_t) -@@ -335,6 +357,8 @@ miscfiles_read_localization(restorecond_t) +@@ -335,6 +361,8 @@ miscfiles_read_localization(restorecond_t) seutil_libselinux_linked(restorecond_t) @@ -49268,7 +50373,7 @@ index 7ed9819..d6a6763 100644 ifdef(`distro_ubuntu',` optional_policy(` unconfined_domain(restorecond_t) -@@ -353,7 +377,7 @@ optional_policy(` +@@ -353,7 +381,7 @@ optional_policy(` allow run_init_t self:process setexec; allow run_init_t self:capability setuid; allow run_init_t self:fifo_file rw_file_perms; @@ -49277,7 +50382,7 @@ index 7ed9819..d6a6763 100644 # often the administrator runs such programs from a directory that is owned # by a different user or has restrictive SE permissions, do not want to audit -@@ -380,6 +404,8 @@ selinux_compute_create_context(run_init_t) +@@ -380,6 +408,8 @@ selinux_compute_create_context(run_init_t) selinux_compute_relabel_context(run_init_t) selinux_compute_user_contexts(run_init_t) @@ -49286,7 +50391,7 @@ index 7ed9819..d6a6763 100644 auth_use_nsswitch(run_init_t) auth_domtrans_chk_passwd(run_init_t) auth_domtrans_upd_passwd(run_init_t) -@@ -405,6 +431,15 @@ ifndef(`direct_sysadm_daemon',` +@@ -405,6 +435,15 @@ ifndef(`direct_sysadm_daemon',` ') ') @@ -49302,7 +50407,7 @@ index 7ed9819..d6a6763 100644 ifdef(`distro_ubuntu',` optional_policy(` unconfined_domain(run_init_t) -@@ -420,61 +455,22 @@ optional_policy(` +@@ -420,61 +459,22 @@ optional_policy(` # semodule local policy # @@ -49319,17 +50424,17 @@ index 7ed9819..d6a6763 100644 - -kernel_read_system_state(semanage_t) -kernel_read_kernel_sysctls(semanage_t) -- --corecmd_exec_bin(semanage_t) -- --dev_read_urand(semanage_t) +seutil_semanage_policy(semanage_t) +allow semanage_t self:fifo_file rw_fifo_file_perms; --domain_use_interactive_fds(semanage_t) +-corecmd_exec_bin(semanage_t) +manage_dirs_pattern(semanage_t, selinux_var_lib_t, selinux_var_lib_t) +manage_files_pattern(semanage_t, selinux_var_lib_t, selinux_var_lib_t) +-dev_read_urand(semanage_t) +- +-domain_use_interactive_fds(semanage_t) +- -files_read_etc_files(semanage_t) -files_read_etc_runtime_files(semanage_t) -files_read_usr_files(semanage_t) @@ -49351,13 +50456,13 @@ index 7ed9819..d6a6763 100644 -auth_use_nsswitch(semanage_t) - -locallogin_use_fds(semanage_t) -+# Admins are creating pp files in random locations -+auth_read_all_files_except_shadow(semanage_t) - +- -logging_send_syslog_msg(semanage_t) - -miscfiles_read_localization(semanage_t) -- ++# Admins are creating pp files in random locations ++auth_read_all_files_except_shadow(semanage_t) + -seutil_libselinux_linked(semanage_t) seutil_manage_file_contexts(semanage_t) seutil_manage_config(semanage_t) @@ -49372,13 +50477,13 @@ index 7ed9819..d6a6763 100644 # netfilter_contexts: seutil_manage_default_contexts(semanage_t) -@@ -487,118 +483,64 @@ ifdef(`distro_debian',` +@@ -487,118 +487,64 @@ ifdef(`distro_debian',` files_read_var_lib_symlinks(semanage_t) ') +optional_policy(` + setrans_initrc_domtrans(semanage_t) -+ domain_system_change_exemption(semanage_t) ++ domain_system_change_exemption(semanage_t) + consoletype_exec(semanage_t) +') + @@ -49455,17 +50560,17 @@ index 7ed9819..d6a6763 100644 -init_use_script_fds(setfiles_t) -init_use_script_ptys(setfiles_t) -init_exec_script_files(setfiles_t) -- --logging_send_syslog_msg(setfiles_t) +init_dontaudit_use_fds(setsebool_t) --miscfiles_read_localization(setfiles_t) +-logging_send_syslog_msg(setfiles_t) +# Bug in semanage +seutil_domtrans_setfiles(setsebool_t) +seutil_manage_file_contexts(setsebool_t) +seutil_manage_default_contexts(setsebool_t) +seutil_manage_config(setsebool_t) +-miscfiles_read_localization(setfiles_t) +- -seutil_libselinux_linked(setfiles_t) +######################################## +# @@ -49540,7 +50645,7 @@ index 1447687..cdc0223 100644 type setrans_initrc_exec_t; init_script_file(setrans_initrc_exec_t) diff --git a/policy/modules/system/sysnetwork.fc b/policy/modules/system/sysnetwork.fc -index 726619b..ece1edf 100644 +index 694fd94..334e80e 100644 --- a/policy/modules/system/sysnetwork.fc +++ b/policy/modules/system/sysnetwork.fc @@ -10,10 +10,10 @@ @@ -49564,7 +50669,7 @@ index 726619b..ece1edf 100644 + +/etc/firestarter/firestarter\.sh gen_context(system_u:object_r:dhcpc_helper_exec_t,s0) diff --git a/policy/modules/system/sysnetwork.if b/policy/modules/system/sysnetwork.if -index 8e71fb7..065b98e 100644 +index ff80d0a..7f1a21c 100644 --- a/policy/modules/system/sysnetwork.if +++ b/policy/modules/system/sysnetwork.if @@ -60,6 +60,24 @@ interface(`sysnet_run_dhcpc',` @@ -49592,7 +50697,7 @@ index 8e71fb7..065b98e 100644 ') ######################################## -@@ -249,6 +267,43 @@ interface(`sysnet_delete_dhcpc_state',` +@@ -269,6 +287,43 @@ interface(`sysnet_delete_dhcpc_state',` delete_files_pattern($1, dhcpc_state_t, dhcpc_state_t) ') @@ -49636,7 +50741,7 @@ index 8e71fb7..065b98e 100644 ####################################### ## ## Set the attributes of network config files. -@@ -270,6 +325,44 @@ interface(`sysnet_setattr_config',` +@@ -290,6 +345,44 @@ interface(`sysnet_setattr_config',` ####################################### ## @@ -49681,7 +50786,7 @@ index 8e71fb7..065b98e 100644 ## Read network config files. ## ## -@@ -406,6 +499,7 @@ interface(`sysnet_manage_config',` +@@ -426,6 +519,7 @@ interface(`sysnet_manage_config',` allow $1 net_conf_t:file manage_file_perms; ifdef(`distro_redhat',` @@ -49689,7 +50794,7 @@ index 8e71fb7..065b98e 100644 manage_files_pattern($1, net_conf_t, net_conf_t) ') ') -@@ -444,6 +538,7 @@ interface(`sysnet_delete_dhcpc_pid',` +@@ -464,6 +558,7 @@ interface(`sysnet_delete_dhcpc_pid',` type dhcpc_var_run_t; ') @@ -49697,7 +50802,7 @@ index 8e71fb7..065b98e 100644 allow $1 dhcpc_var_run_t:file unlink; ') -@@ -464,6 +559,9 @@ interface(`sysnet_domtrans_ifconfig',` +@@ -484,6 +579,9 @@ interface(`sysnet_domtrans_ifconfig',` corecmd_search_bin($1) domtrans_pattern($1, ifconfig_exec_t, ifconfig_t) @@ -49707,7 +50812,7 @@ index 8e71fb7..065b98e 100644 ') ######################################## -@@ -534,6 +632,25 @@ interface(`sysnet_signal_ifconfig',` +@@ -554,6 +652,25 @@ interface(`sysnet_signal_ifconfig',` ######################################## ## @@ -49733,7 +50838,7 @@ index 8e71fb7..065b98e 100644 ## Read the DHCP configuration files. ## ## -@@ -641,6 +758,8 @@ interface(`sysnet_dns_name_resolve',` +@@ -661,6 +778,8 @@ interface(`sysnet_dns_name_resolve',` corenet_tcp_connect_dns_port($1) corenet_sendrecv_dns_client_packets($1) @@ -49742,7 +50847,7 @@ index 8e71fb7..065b98e 100644 sysnet_read_config($1) optional_policy(` -@@ -678,6 +797,9 @@ interface(`sysnet_use_ldap',` +@@ -698,6 +817,9 @@ interface(`sysnet_use_ldap',` corenet_sendrecv_ldap_client_packets($1) sysnet_read_config($1) @@ -49752,7 +50857,7 @@ index 8e71fb7..065b98e 100644 ') ######################################## -@@ -711,3 +833,49 @@ interface(`sysnet_use_portmap',` +@@ -731,3 +853,49 @@ interface(`sysnet_use_portmap',` sysnet_read_config($1) ') @@ -49803,10 +50908,10 @@ index 8e71fb7..065b98e 100644 + role_transition $1 dhcpc_exec_t system_r; +') diff --git a/policy/modules/system/sysnetwork.te b/policy/modules/system/sysnetwork.te -index dfbe736..b8e873f 100644 +index df32316..6de83ef 100644 --- a/policy/modules/system/sysnetwork.te +++ b/policy/modules/system/sysnetwork.te -@@ -5,6 +5,13 @@ policy_module(sysnetwork, 1.11.0) +@@ -5,6 +5,13 @@ policy_module(sysnetwork, 1.11.1) # Declarations # @@ -49875,7 +50980,7 @@ index dfbe736..b8e873f 100644 domain_use_interactive_fds(dhcpc_t) domain_dontaudit_read_all_domains_state(dhcpc_t) -@@ -130,9 +148,11 @@ term_dontaudit_use_unallocated_ttys(dhcpc_t) +@@ -130,13 +148,13 @@ term_dontaudit_use_unallocated_ttys(dhcpc_t) term_dontaudit_use_generic_ptys(dhcpc_t) init_rw_utmp(dhcpc_t) @@ -49886,8 +50991,12 @@ index dfbe736..b8e873f 100644 +miscfiles_read_generic_certs(dhcpc_t) miscfiles_read_localization(dhcpc_t) - modutils_domtrans_insmod(dhcpc_t) -@@ -155,6 +175,14 @@ optional_policy(` +-modutils_domtrans_insmod(dhcpc_t) +- + userdom_use_user_terminals(dhcpc_t) + userdom_dontaudit_search_user_home_dirs(dhcpc_t) + +@@ -155,6 +173,14 @@ optional_policy(` ') optional_policy(` @@ -49902,7 +51011,7 @@ index dfbe736..b8e873f 100644 init_dbus_chat_script(dhcpc_t) dbus_system_bus_client(dhcpc_t) -@@ -171,6 +199,8 @@ optional_policy(` +@@ -171,6 +197,8 @@ optional_policy(` optional_policy(` hal_dontaudit_rw_dgram_sockets(dhcpc_t) @@ -49911,10 +51020,14 @@ index dfbe736..b8e873f 100644 ') optional_policy(` -@@ -192,6 +222,13 @@ optional_policy(` +@@ -192,6 +220,17 @@ optional_policy(` ') optional_policy(` ++ modutils_domtrans_insmod(dhcpc_t) ++') ++ ++optional_policy(` + networkmanager_domtrans(dhcpc_t) + networkmanager_read_pid_files(dhcpc_t) + networkmanager_read_lib_files(dhcpc_t) @@ -49925,7 +51038,7 @@ index dfbe736..b8e873f 100644 nis_read_ypbind_pid(dhcpc_t) ') -@@ -213,6 +250,10 @@ optional_policy(` +@@ -213,6 +252,10 @@ optional_policy(` optional_policy(` seutil_sigchld_newrole(dhcpc_t) seutil_dontaudit_search_config(dhcpc_t) @@ -49936,7 +51049,7 @@ index dfbe736..b8e873f 100644 ') optional_policy(` -@@ -276,8 +317,11 @@ dev_read_urand(ifconfig_t) +@@ -276,8 +319,11 @@ dev_read_urand(ifconfig_t) domain_use_interactive_fds(ifconfig_t) @@ -49948,7 +51061,11 @@ index dfbe736..b8e873f 100644 fs_getattr_xattr_fs(ifconfig_t) fs_search_auto_mountpoints(ifconfig_t) -@@ -305,6 +349,8 @@ modutils_domtrans_insmod(ifconfig_t) +@@ -301,10 +347,11 @@ logging_send_syslog_msg(ifconfig_t) + + miscfiles_read_localization(ifconfig_t) + +-modutils_domtrans_insmod(ifconfig_t) seutil_use_runinit_fds(ifconfig_t) @@ -49957,7 +51074,7 @@ index dfbe736..b8e873f 100644 userdom_use_user_terminals(ifconfig_t) userdom_use_all_users_fds(ifconfig_t) -@@ -314,6 +360,10 @@ ifdef(`distro_ubuntu',` +@@ -314,6 +361,10 @@ ifdef(`distro_ubuntu',` ') ') @@ -49968,7 +51085,7 @@ index dfbe736..b8e873f 100644 ifdef(`hide_broken_symptoms',` optional_policy(` dev_dontaudit_rw_cardmgr(ifconfig_t) -@@ -325,12 +375,27 @@ ifdef(`hide_broken_symptoms',` +@@ -325,12 +376,31 @@ ifdef(`hide_broken_symptoms',` ') optional_policy(` @@ -49992,11 +51109,15 @@ index dfbe736..b8e873f 100644 +') + +optional_policy(` ++ modutils_domtrans_insmod(ifconfig_t) ++') ++ ++optional_policy(` + netutils_domtrans(dhcpc_t) ') optional_policy(` -@@ -355,3 +420,9 @@ optional_policy(` +@@ -355,3 +425,9 @@ optional_policy(` xen_append_log(ifconfig_t) xen_dontaudit_rw_unix_stream_sockets(ifconfig_t) ') @@ -50008,10 +51129,12 @@ index dfbe736..b8e873f 100644 +') diff --git a/policy/modules/system/systemd.fc b/policy/modules/system/systemd.fc new file mode 100644 -index 0000000..64fc1a5 +index 0000000..50aed3b --- /dev/null +++ b/policy/modules/system/systemd.fc -@@ -0,0 +1,9 @@ +@@ -0,0 +1,11 @@ ++/bin/systemd-notify -- gen_context(system_u:object_r:systemd_notify_exec_t,s0) ++ +/bin/systemd-tty-ask-password-agent -- gen_context(system_u:object_r:systemd_passwd_agent_exec_t,s0) +/bin/systemd-tmpfiles -- gen_context(system_u:object_r:systemd_tmpfiles_exec_t,s0) + @@ -50023,10 +51146,10 @@ index 0000000..64fc1a5 + diff --git a/policy/modules/system/systemd.if b/policy/modules/system/systemd.if new file mode 100644 -index 0000000..eed77d0 +index 0000000..1d17a7b --- /dev/null +++ b/policy/modules/system/systemd.if -@@ -0,0 +1,122 @@ +@@ -0,0 +1,139 @@ +## SELinux policy for systemd components + +####################################### @@ -50065,6 +51188,23 @@ index 0000000..eed77d0 + domtrans_pattern($1, systemd_passwd_agent_exec_t, systemd_passwd_agent_t) +') + ++######################################## ++## ++## Execute a domain transition to run systemd_notify. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`systemd_notify_domtrans',` ++ gen_require(` ++ type systemd_notify_t, systemd_notify_exec_t; ++ ') ++ ++ domtrans_pattern($1, systemd_notify_exec_t, systemd_notify_t) ++') + +######################################## +## @@ -50151,10 +51291,10 @@ index 0000000..eed77d0 +') diff --git a/policy/modules/system/systemd.te b/policy/modules/system/systemd.te new file mode 100644 -index 0000000..d09b523 +index 0000000..23d4b0c --- /dev/null +++ b/policy/modules/system/systemd.te -@@ -0,0 +1,108 @@ +@@ -0,0 +1,138 @@ + +policy_module(systemd, 1.0.0) + @@ -50177,7 +51317,12 @@ index 0000000..d09b523 +type systemd_tmpfiles_exec_t; +init_systemd_domain(systemd_tmpfiles_t, systemd_tmpfiles_exec_t) + ++type systemd_notify_t; ++type systemd_notify_exec_t; ++init_systemd_domain(systemd_notify_t, systemd_notify_exec_t) ++ +permissive systemd_tmpfiles_t; ++permissive systemd_notify_t; + +# +# Type for systemd pipes in /dev/.systemd/ directory @@ -50263,23 +51408,42 @@ index 0000000..d09b523 + auth_rw_login_records(systemd_tmpfiles_t) +') + ++optional_policy(` ++ rpm_delete_db(systemd_tmpfiles_t) ++') ++ ++######################################## ++# ++# systemd_notify local policy ++# ++allow systemd_notify_t self:capability { chown }; ++allow systemd_notify_t self:process { fork setfscreate setsockcreate }; ++ ++allow systemd_notify_t self:fifo_file rw_fifo_file_perms; ++allow systemd_notify_t self:unix_stream_socket create_stream_socket_perms; ++ ++domain_use_interactive_fds(systemd_notify_t) ++ ++files_read_etc_files(systemd_notify_t) ++ ++auth_use_nsswitch(systemd_notify_t) ++ ++miscfiles_read_localization(systemd_notify_t) ++ ++optional_policy(` ++ readahead_manage_pid_files(systemd_notify_t) ++') diff --git a/policy/modules/system/udev.fc b/policy/modules/system/udev.fc -index d1c22f3..44fe366 100644 +index 0291685..44fe366 100644 --- a/policy/modules/system/udev.fc +++ b/policy/modules/system/udev.fc -@@ -1,4 +1,4 @@ --/dev/\.udev(/.*)? gen_context(system_u:object_r:udev_tbl_t,s0) -+/dev/\.udev(/.*)? -- gen_context(system_u:object_r:udev_tbl_t,s0) - /dev/\.udevdb -- gen_context(system_u:object_r:udev_tbl_t,s0) - /dev/udev\.tbl -- gen_context(system_u:object_r:udev_tbl_t,s0) - @@ -22,3 +22,4 @@ /usr/bin/udevinfo -- gen_context(system_u:object_r:udev_exec_t,s0) /var/run/PackageKit/udev(/.*)? gen_context(system_u:object_r:udev_var_run_t,s0) +/var/run/libgpod(/.*)? gen_context(system_u:object_r:udev_var_run_t,s0) diff --git a/policy/modules/system/udev.if b/policy/modules/system/udev.if -index 025348a..ad5bfd8 100644 +index 025348a..8b50d5f 100644 --- a/policy/modules/system/udev.if +++ b/policy/modules/system/udev.if @@ -34,6 +34,7 @@ interface(`udev_domtrans',` @@ -50364,7 +51528,7 @@ index 025348a..ad5bfd8 100644 +# +interface(`udev_run',` + gen_require(` -+ type iptables_t; ++ type udev_t; + ') + + udev_domtrans($1) @@ -50404,15 +51568,9 @@ index 025348a..ad5bfd8 100644 +') + diff --git a/policy/modules/system/udev.te b/policy/modules/system/udev.te -index 8f852e5..d3c3938 100644 +index d88f7c3..d3c3938 100644 --- a/policy/modules/system/udev.te +++ b/policy/modules/system/udev.te -@@ -1,4 +1,4 @@ --policy_module(udev, 1.12.1) -+policy_module(udev, 1.12.2) - - ######################################## - # @@ -52,6 +52,7 @@ allow udev_t self:unix_dgram_socket sendto; allow udev_t self:unix_stream_socket connectto; allow udev_t self:netlink_kobject_uevent_socket create_socket_perms; @@ -51310,7 +52468,7 @@ index db75976..392d1ee 100644 +HOME_DIR/\.gvfs(/.*)? <> +HOME_DIR/\.debug(/.*)? <> diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if -index 28b88de..296513f 100644 +index 28b88de..774a8cc 100644 --- a/policy/modules/system/userdomain.if +++ b/policy/modules/system/userdomain.if @@ -30,8 +30,9 @@ template(`userdom_base_user_template',` @@ -52354,7 +53512,7 @@ index 28b88de..296513f 100644 userdom_common_user_template($1) ############################## -@@ -956,54 +1164,77 @@ template(`userdom_unpriv_user_template', ` +@@ -956,54 +1164,78 @@ template(`userdom_unpriv_user_template', ` # # port access is audited even if dac would not have allowed it, so dontaudit it here @@ -52446,6 +53604,7 @@ index 28b88de..296513f 100644 optional_policy(` - setroubleshoot_stream_connect($1_t) + mount_run_fusermount($1_t, $1_r) ++ mount_read_pid_files($1_t) + ') + + optional_policy(` @@ -52462,7 +53621,7 @@ index 28b88de..296513f 100644 ') ') -@@ -1039,7 +1270,7 @@ template(`userdom_unpriv_user_template', ` +@@ -1039,7 +1271,7 @@ template(`userdom_unpriv_user_template', ` template(`userdom_admin_user_template',` gen_require(` attribute admindomain; @@ -52471,7 +53630,7 @@ index 28b88de..296513f 100644 ') ############################## -@@ -1066,6 +1297,7 @@ template(`userdom_admin_user_template',` +@@ -1066,6 +1298,7 @@ template(`userdom_admin_user_template',` # allow $1_t self:capability ~{ sys_module audit_control audit_write }; @@ -52479,7 +53638,7 @@ index 28b88de..296513f 100644 allow $1_t self:process { setexec setfscreate }; allow $1_t self:netlink_audit_socket nlmsg_readpriv; allow $1_t self:tun_socket create; -@@ -1074,6 +1306,9 @@ template(`userdom_admin_user_template',` +@@ -1074,6 +1307,9 @@ template(`userdom_admin_user_template',` # Skip authentication when pam_rootok is specified. allow $1_t self:passwd rootok; @@ -52489,7 +53648,7 @@ index 28b88de..296513f 100644 kernel_read_software_raid_state($1_t) kernel_getattr_core_if($1_t) kernel_getattr_message_if($1_t) -@@ -1088,6 +1323,7 @@ template(`userdom_admin_user_template',` +@@ -1088,6 +1324,7 @@ template(`userdom_admin_user_template',` kernel_sigstop_unlabeled($1_t) kernel_signull_unlabeled($1_t) kernel_sigchld_unlabeled($1_t) @@ -52497,7 +53656,7 @@ index 28b88de..296513f 100644 corenet_tcp_bind_generic_port($1_t) # allow setting up tunnels -@@ -1105,6 +1341,8 @@ template(`userdom_admin_user_template',` +@@ -1105,6 +1342,8 @@ template(`userdom_admin_user_template',` dev_rename_all_blk_files($1_t) dev_rename_all_chr_files($1_t) dev_create_generic_symlinks($1_t) @@ -52506,7 +53665,7 @@ index 28b88de..296513f 100644 domain_setpriority_all_domains($1_t) domain_read_all_domains_state($1_t) -@@ -1119,15 +1357,19 @@ template(`userdom_admin_user_template',` +@@ -1119,15 +1358,19 @@ template(`userdom_admin_user_template',` domain_sigchld_all_domains($1_t) # for lsof domain_getattr_all_sockets($1_t) @@ -52526,15 +53685,19 @@ index 28b88de..296513f 100644 term_use_all_terms($1_t) -@@ -1142,6 +1384,7 @@ template(`userdom_admin_user_template',` +@@ -1141,7 +1384,10 @@ template(`userdom_admin_user_template',` + logging_send_syslog_msg($1_t) - modutils_domtrans_insmod($1_t) -+ modutils_domtrans_depmod($1_t) +- modutils_domtrans_insmod($1_t) ++ optional_policy(` ++ modutils_domtrans_insmod($1_t) ++ modutils_domtrans_depmod($1_t) ++ ') # The following rule is temporary until such time that a complete # policy management infrastructure is in place so that an administrator -@@ -1210,6 +1453,8 @@ template(`userdom_security_admin_template',` +@@ -1210,6 +1456,8 @@ template(`userdom_security_admin_template',` dev_relabel_all_dev_nodes($1) files_create_boot_flag($1) @@ -52543,7 +53706,7 @@ index 28b88de..296513f 100644 # Necessary for managing /boot/efi fs_manage_dos_files($1) -@@ -1222,6 +1467,7 @@ template(`userdom_security_admin_template',` +@@ -1222,6 +1470,7 @@ template(`userdom_security_admin_template',` selinux_set_enforce_mode($1) selinux_set_all_booleans($1) selinux_set_parameters($1) @@ -52551,7 +53714,7 @@ index 28b88de..296513f 100644 auth_relabel_all_files_except_shadow($1) auth_relabel_shadow($1) -@@ -1237,6 +1483,7 @@ template(`userdom_security_admin_template',` +@@ -1237,6 +1486,7 @@ template(`userdom_security_admin_template',` seutil_run_checkpolicy($1,$2) seutil_run_loadpolicy($1,$2) seutil_run_semanage($1,$2) @@ -52559,7 +53722,7 @@ index 28b88de..296513f 100644 seutil_run_setfiles($1, $2) optional_policy(` -@@ -1279,11 +1526,37 @@ template(`userdom_security_admin_template',` +@@ -1279,11 +1529,37 @@ template(`userdom_security_admin_template',` interface(`userdom_user_home_content',` gen_require(` type user_home_t; @@ -52597,7 +53760,7 @@ index 28b88de..296513f 100644 ubac_constrained($1) ') -@@ -1395,6 +1668,7 @@ interface(`userdom_search_user_home_dirs',` +@@ -1395,6 +1671,7 @@ interface(`userdom_search_user_home_dirs',` ') allow $1 user_home_dir_t:dir search_dir_perms; @@ -52605,7 +53768,7 @@ index 28b88de..296513f 100644 files_search_home($1) ') -@@ -1441,6 +1715,14 @@ interface(`userdom_list_user_home_dirs',` +@@ -1441,6 +1718,14 @@ interface(`userdom_list_user_home_dirs',` allow $1 user_home_dir_t:dir list_dir_perms; files_search_home($1) @@ -52620,7 +53783,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1456,9 +1738,11 @@ interface(`userdom_list_user_home_dirs',` +@@ -1456,9 +1741,11 @@ interface(`userdom_list_user_home_dirs',` interface(`userdom_dontaudit_list_user_home_dirs',` gen_require(` type user_home_dir_t; @@ -52632,7 +53795,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1515,10 +1799,10 @@ interface(`userdom_relabelto_user_home_dirs',` +@@ -1515,10 +1802,10 @@ interface(`userdom_relabelto_user_home_dirs',` allow $1 user_home_dir_t:dir relabelto; ') @@ -52645,7 +53808,7 @@ index 28b88de..296513f 100644 ## ## ## -@@ -1526,35 +1810,71 @@ interface(`userdom_relabelto_user_home_dirs',` +@@ -1526,33 +1813,69 @@ interface(`userdom_relabelto_user_home_dirs',` ## ## # @@ -52681,8 +53844,7 @@ index 28b88de..296513f 100644 -## -## +## - ## --## Domain allowed to transition. ++## +## Domain allowed access. +## +## @@ -52733,12 +53895,10 @@ index 28b88de..296513f 100644 +##

+## +## -+## -+## Domain allowed to transition. + ## + ## Domain allowed to transition. ## - ## - ## -@@ -1589,6 +1909,8 @@ interface(`userdom_dontaudit_search_user_home_content',` +@@ -1589,6 +1912,8 @@ interface(`userdom_dontaudit_search_user_home_content',` ') dontaudit $1 user_home_t:dir search_dir_perms; @@ -52747,7 +53907,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1603,10 +1925,12 @@ interface(`userdom_dontaudit_search_user_home_content',` +@@ -1603,10 +1928,12 @@ interface(`userdom_dontaudit_search_user_home_content',` # interface(`userdom_list_user_home_content',` gen_require(` @@ -52762,7 +53922,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1649,6 +1973,25 @@ interface(`userdom_delete_user_home_content_dirs',` +@@ -1649,6 +1976,25 @@ interface(`userdom_delete_user_home_content_dirs',` ######################################## ## @@ -52788,7 +53948,7 @@ index 28b88de..296513f 100644 ## Do not audit attempts to set the ## attributes of user home files. ## -@@ -1700,12 +2043,32 @@ interface(`userdom_read_user_home_content_files',` +@@ -1700,12 +2046,32 @@ interface(`userdom_read_user_home_content_files',` type user_home_dir_t, user_home_t; ') @@ -52821,7 +53981,7 @@ index 28b88de..296513f 100644 ## Do not audit attempts to read user home files. ## ## -@@ -1716,11 +2079,14 @@ interface(`userdom_read_user_home_content_files',` +@@ -1716,11 +2082,14 @@ interface(`userdom_read_user_home_content_files',` # interface(`userdom_dontaudit_read_user_home_content_files',` gen_require(` @@ -52839,7 +53999,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1810,8 +2176,7 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -1810,8 +2179,7 @@ interface(`userdom_read_user_home_content_symlinks',` type user_home_dir_t, user_home_t; ') @@ -52849,7 +54009,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -1827,21 +2192,15 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -1827,21 +2195,15 @@ interface(`userdom_read_user_home_content_symlinks',` # interface(`userdom_exec_user_home_content_files',` gen_require(` @@ -52875,7 +54035,7 @@ index 28b88de..296513f 100644 ######################################## ## ## Do not audit attempts to execute user home files. -@@ -2182,7 +2541,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` +@@ -2182,7 +2544,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` type user_tmp_t; ') @@ -52884,7 +54044,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -2435,13 +2794,14 @@ interface(`userdom_read_user_tmpfs_files',` +@@ -2435,13 +2797,14 @@ interface(`userdom_read_user_tmpfs_files',` ') read_files_pattern($1, user_tmpfs_t, user_tmpfs_t) @@ -52900,7 +54060,7 @@ index 28b88de..296513f 100644 ## ## ## -@@ -2462,26 +2822,6 @@ interface(`userdom_rw_user_tmpfs_files',` +@@ -2462,26 +2825,6 @@ interface(`userdom_rw_user_tmpfs_files',` ######################################## ## @@ -52927,7 +54087,7 @@ index 28b88de..296513f 100644 ## Get the attributes of a user domain tty. ## ## -@@ -2815,7 +3155,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -2815,7 +3158,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` domain_entry_file_spec_domtrans($1, unpriv_userdomain) allow unpriv_userdomain $1:fd use; @@ -52936,7 +54096,7 @@ index 28b88de..296513f 100644 allow unpriv_userdomain $1:process sigchld; ') -@@ -2831,11 +3171,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -2831,11 +3174,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` # interface(`userdom_search_user_home_content',` gen_require(` @@ -52952,7 +54112,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -2917,7 +3259,7 @@ interface(`userdom_dontaudit_use_user_ptys',` +@@ -2917,7 +3262,7 @@ interface(`userdom_dontaudit_use_user_ptys',` type user_devpts_t; ') @@ -52961,7 +54121,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -2972,7 +3314,45 @@ interface(`userdom_write_user_tmp_files',` +@@ -2972,7 +3317,45 @@ interface(`userdom_write_user_tmp_files',` type user_tmp_t; ') @@ -53008,7 +54168,7 @@ index 28b88de..296513f 100644 ') ######################################## -@@ -3009,6 +3389,7 @@ interface(`userdom_read_all_users_state',` +@@ -3009,6 +3392,7 @@ interface(`userdom_read_all_users_state',` ') read_files_pattern($1, userdomain, userdomain) @@ -53016,7 +54176,7 @@ index 28b88de..296513f 100644 kernel_search_proc($1) ') -@@ -3139,3 +3520,1058 @@ interface(`userdom_dbus_send_all_users',` +@@ -3139,3 +3523,1058 @@ interface(`userdom_dbus_send_all_users',` allow $1 userdomain:dbus send_msg; ') @@ -54243,7 +55403,7 @@ index 77d41b6..4aa96c6 100644 files_search_pids($1) diff --git a/policy/modules/system/xen.te b/policy/modules/system/xen.te -index 4350ba0..630c03d 100644 +index 4350ba0..c8b1d3b 100644 --- a/policy/modules/system/xen.te +++ b/policy/modules/system/xen.te @@ -4,6 +4,7 @@ policy_module(xen, 1.10.1) @@ -54274,16 +55434,52 @@ index 4350ba0..630c03d 100644 ######################################## # # blktap local policy -@@ -341,6 +338,8 @@ xen_stream_connect_xenstore(xend_t) +@@ -320,12 +317,9 @@ locallogin_dontaudit_use_fds(xend_t) - netutils_domtrans(xend_t) + logging_send_syslog_msg(xend_t) -+virt_read_config(xend_t) -+ +-lvm_domtrans(xend_t) +- + miscfiles_read_localization(xend_t) + miscfiles_read_hwdata(xend_t) + +-mount_domtrans(xend_t) + + sysnet_domtrans_dhcpc(xend_t) + sysnet_signal_dhcpc(xend_t) +@@ -339,8 +333,6 @@ userdom_dontaudit_search_user_home_dirs(xend_t) + + xen_stream_connect_xenstore(xend_t) + +-netutils_domtrans(xend_t) +- optional_policy(` brctl_domtrans(xend_t) ') -@@ -413,9 +412,10 @@ manage_dirs_pattern(xenstored_t, xenstored_tmp_t, xenstored_tmp_t) +@@ -349,6 +341,22 @@ optional_policy(` + consoletype_exec(xend_t) + ') + ++optional_policy(` ++ lvm_domtrans(xend_t) ++') ++ ++optional_policy(` ++ mount_domtrans(xend_t) ++') ++ ++optional_policy(` ++ netutils_domtrans(xend_t) ++') ++ ++optional_policy(` ++ virt_read_config(xend_t) ++') ++ + ######################################## + # + # Xen console local policy +@@ -413,9 +421,10 @@ manage_dirs_pattern(xenstored_t, xenstored_tmp_t, xenstored_tmp_t) files_tmp_filetrans(xenstored_t, xenstored_tmp_t, { file dir }) # pid file @@ -54295,7 +55491,7 @@ index 4350ba0..630c03d 100644 # log files manage_dirs_pattern(xenstored_t, xenstored_var_log_t, xenstored_var_log_t) -@@ -442,9 +442,11 @@ files_read_etc_files(xenstored_t) +@@ -442,9 +451,11 @@ files_read_etc_files(xenstored_t) files_read_usr_files(xenstored_t) @@ -54307,7 +55503,7 @@ index 4350ba0..630c03d 100644 init_use_fds(xenstored_t) init_use_script_ptys(xenstored_t) -@@ -457,96 +459,9 @@ xen_append_log(xenstored_t) +@@ -457,96 +468,9 @@ xen_append_log(xenstored_t) ######################################## # @@ -54404,7 +55600,7 @@ index 4350ba0..630c03d 100644 #Should have a boolean wrapping these fs_list_auto_mountpoints(xend_t) files_search_mnt(xend_t) -@@ -559,8 +474,4 @@ optional_policy(` +@@ -559,8 +483,4 @@ optional_policy(` fs_manage_nfs_files(xend_t) fs_read_nfs_symlinks(xend_t) ') diff --git a/selinux-policy.spec b/selinux-policy.spec index 76bb25a..f963050 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -20,8 +20,8 @@ %define CHECKPOLICYVER 2.0.21-1 Summary: SELinux policy configuration Name: selinux-policy -Version: 3.9.15 -Release: 5%{?dist} +Version: 3.9.16 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -472,6 +472,19 @@ exit 0 %endif %changelog +* Tue Mar 8 2011 Miroslav Grepl 3.9.16-1 +- Update to upstream +- Fixes for telepathy +- Add port defition for ssdp port +- add policy for /bin/systemd-notify from Dan +- Mount command requires users read mount_var_run_t +- colord needs to read konject_uevent_socket +- User domains connect to the gkeyring socket +- Add colord policy and allow user_t and staff_t to dbus chat with it +- Add lvm_exec_t label for kpartx +- Dontaudit reading the mail_spool_t link from sandbox -X +- systemd is creating sockets in avahi_var_run and system_dbusd_var_run + * Tue Mar 1 2011 Miroslav Grepl 3.9.15-5 - gpg_t needs to talk to gnome-keyring - nscd wants to read /usr/tmp->/var/tmp to generate randomziation in unixchkpwd diff --git a/sources b/sources index 0fe45a1..e45ca02 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 409b40c8102b1617681ba17c31032e66 config.tgz -2eeeb55c62c5ead3dab8a0ae7b29bfd5 serefpolicy-3.9.15.tgz +f5e2a024693e5f5fb65bb2c1cd8256cd serefpolicy-3.9.16.tgz