diff --git a/policy-rawhide.patch b/policy-rawhide.patch index 7f547f87..0f15e94a 100644 --- a/policy-rawhide.patch +++ b/policy-rawhide.patch @@ -59605,7 +59605,7 @@ index 98b8b2d..da75471 100644 ######################################## diff --git a/policy/modules/admin/usermanage.te b/policy/modules/admin/usermanage.te -index 81b6608..527c7bb 100644 +index 81b6608..c8252ac 100644 --- a/policy/modules/admin/usermanage.te +++ b/policy/modules/admin/usermanage.te @@ -5,18 +5,18 @@ policy_module(usermanage, 1.17.3) @@ -60000,10 +60000,10 @@ index 81b6608..527c7bb 100644 userdom_use_unpriv_users_fds(useradd_t) # Add/remove user home directories -userdom_manage_user_home_dirs(useradd_t) - userdom_home_filetrans_user_home_dir(useradd_t) +-userdom_home_filetrans_user_home_dir(useradd_t) -userdom_manage_user_home_content_dirs(useradd_t) -userdom_manage_user_home_content_files(useradd_t) --userdom_home_filetrans_user_home_dir(useradd_t) + userdom_home_filetrans_user_home_dir(useradd_t) -userdom_user_home_dir_filetrans_user_home_content(useradd_t, notdevfile_class_set) +userdom_manage_home_role(system_r, useradd_t) +userdom_delete_all_user_home_content(useradd_t) @@ -60043,6 +60043,14 @@ index 81b6608..527c7bb 100644 tunable_policy(`samba_domain_controller',` samba_append_log(useradd_t) ') +@@ -559,3 +610,7 @@ optional_policy(` + rpm_use_fds(useradd_t) + rpm_rw_pipes(useradd_t) + ') ++ ++optional_policy(` ++ stapserver_manage_lib(useradd_t) ++') diff --git a/policy/modules/apps/seunshare.if b/policy/modules/apps/seunshare.if index 1dc7a85..a01511f 100644 --- a/policy/modules/apps/seunshare.if @@ -62392,10 +62400,10 @@ index 3f6e168..51ad69a 100644 ') diff --git a/policy/modules/kernel/devices.fc b/policy/modules/kernel/devices.fc -index 02b7ac1..67183c5 100644 +index 02b7ac1..82666ab 100644 --- a/policy/modules/kernel/devices.fc +++ b/policy/modules/kernel/devices.fc -@@ -15,12 +15,14 @@ +@@ -15,14 +15,17 @@ /dev/atibm -c gen_context(system_u:object_r:mouse_device_t,s0) /dev/audio.* -c gen_context(system_u:object_r:sound_device_t,s0) /dev/autofs.* -c gen_context(system_u:object_r:autofs_device_t,s0) @@ -62410,8 +62418,11 @@ index 02b7ac1..67183c5 100644 +/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) /dev/dsp.* -c gen_context(system_u:object_r:sound_device_t,s0) ++/dev/ecryptfs -c gen_context(system_u:object_r:ecryptfs_device_t,mls_systemhigh) /dev/efirtc -c gen_context(system_u:object_r:clock_device_t,s0) -@@ -57,8 +59,10 @@ + /dev/elographics/e2201 -c gen_context(system_u:object_r:mouse_device_t,s0) + /dev/em8300.* -c gen_context(system_u:object_r:v4l_device_t,s0) +@@ -57,8 +60,10 @@ /dev/lirc[0-9]+ -c gen_context(system_u:object_r:lirc_device_t,s0) /dev/lircm -c gen_context(system_u:object_r:mouse_device_t,s0) /dev/logibm -c gen_context(system_u:object_r:mouse_device_t,s0) @@ -62422,7 +62433,7 @@ index 02b7ac1..67183c5 100644 /dev/mem -c gen_context(system_u:object_r:memory_device_t,mls_systemhigh) /dev/mergemem -c gen_context(system_u:object_r:memory_device_t,mls_systemhigh) /dev/mga_vid.* -c gen_context(system_u:object_r:xserver_misc_device_t,s0) -@@ -126,12 +130,14 @@ ifdef(`distro_suse', ` +@@ -126,12 +131,14 @@ ifdef(`distro_suse', ` /dev/vttuner -c gen_context(system_u:object_r:v4l_device_t,s0) /dev/vtx.* -c gen_context(system_u:object_r:v4l_device_t,s0) /dev/watchdog -c gen_context(system_u:object_r:watchdog_device_t,s0) @@ -62437,7 +62448,7 @@ index 02b7ac1..67183c5 100644 /dev/card.* -c gen_context(system_u:object_r:xserver_misc_device_t,s0) /dev/cmx.* -c gen_context(system_u:object_r:smartcard_device_t,s0) -@@ -195,12 +201,22 @@ ifdef(`distro_debian',` +@@ -195,12 +202,22 @@ ifdef(`distro_debian',` /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) @@ -62463,7 +62474,7 @@ index 02b7ac1..67183c5 100644 +/usr/lib/udev/devices/null -c gen_context(system_u:object_r:null_device_t,s0) +/usr/lib/udev/devices/zero -c gen_context(system_u:object_r:zero_device_t,s0) diff --git a/policy/modules/kernel/devices.if b/policy/modules/kernel/devices.if -index d820975..e236661 100644 +index d820975..21a21e4 100644 --- a/policy/modules/kernel/devices.if +++ b/policy/modules/kernel/devices.if @@ -143,13 +143,32 @@ interface(`dev_relabel_all_dev_nodes',` @@ -62777,7 +62788,32 @@ index d820975..e236661 100644 ## Get the attributes of the CPU ## microcode and id interfaces. ## -@@ -2383,7 +2549,97 @@ interface(`dev_filetrans_lirc',` +@@ -1772,6 +1938,24 @@ interface(`dev_rw_crypto',` + rw_chr_files_pattern($1, device_t, crypt_device_t) + ') + ++######################################## ++## ++## Read and write the the ecrypt filesystem device. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`dev_rw_ecryptfs',` ++ gen_require(` ++ type device_t, ecryptfs_device_t; ++ ') ++ ++ rw_chr_files_pattern($1, device_t, ecryptfs_device_t) ++') ++ + ####################################### + ## + ## Set the attributes of the dlm control devices. +@@ -2383,7 +2567,97 @@ interface(`dev_filetrans_lirc',` ######################################## ## @@ -62876,7 +62912,7 @@ index d820975..e236661 100644 ## ## ## -@@ -2706,7 +2962,7 @@ interface(`dev_write_misc',` +@@ -2706,7 +2980,7 @@ interface(`dev_write_misc',` ## ## ## @@ -62885,7 +62921,7 @@ index d820975..e236661 100644 ## ## # -@@ -2956,8 +3212,8 @@ interface(`dev_dontaudit_write_mtrr',` +@@ -2956,8 +3230,8 @@ interface(`dev_dontaudit_write_mtrr',` type mtrr_device_t; ') @@ -62896,7 +62932,7 @@ index d820975..e236661 100644 ') ######################################## -@@ -3235,7 +3491,7 @@ interface(`dev_rw_printer',` +@@ -3235,7 +3509,7 @@ interface(`dev_rw_printer',` ######################################## ## @@ -62905,7 +62941,7 @@ index d820975..e236661 100644 ## ## ## -@@ -3243,12 +3499,31 @@ interface(`dev_rw_printer',` +@@ -3243,12 +3517,31 @@ interface(`dev_rw_printer',` ## ## # @@ -62940,7 +62976,7 @@ index d820975..e236661 100644 ') ######################################## -@@ -3836,6 +4111,42 @@ interface(`dev_getattr_sysfs_dirs',` +@@ -3836,6 +4129,42 @@ interface(`dev_getattr_sysfs_dirs',` ######################################## ## @@ -62983,7 +63019,7 @@ index d820975..e236661 100644 ## Search the sysfs directories. ## ## -@@ -3885,6 +4196,7 @@ interface(`dev_list_sysfs',` +@@ -3885,6 +4214,7 @@ interface(`dev_list_sysfs',` type sysfs_t; ') @@ -62991,7 +63027,7 @@ index d820975..e236661 100644 list_dirs_pattern($1, sysfs_t, sysfs_t) ') -@@ -3927,23 +4239,49 @@ interface(`dev_dontaudit_write_sysfs_dirs',` +@@ -3927,23 +4257,49 @@ interface(`dev_dontaudit_write_sysfs_dirs',` ######################################## ## @@ -63045,7 +63081,7 @@ index d820975..e236661 100644 ######################################## ## ## Read hardware state information. -@@ -3997,6 +4335,62 @@ interface(`dev_rw_sysfs',` +@@ -3997,6 +4353,62 @@ interface(`dev_rw_sysfs',` ######################################## ## @@ -63108,7 +63144,7 @@ index d820975..e236661 100644 ## Read and write the TPM device. ## ## -@@ -4094,6 +4488,25 @@ interface(`dev_write_urand',` +@@ -4094,6 +4506,25 @@ interface(`dev_write_urand',` ######################################## ## @@ -63134,7 +63170,7 @@ index d820975..e236661 100644 ## Getattr generic the USB devices. ## ## -@@ -4128,6 +4541,24 @@ interface(`dev_setattr_generic_usb_dev',` +@@ -4128,6 +4559,24 @@ interface(`dev_setattr_generic_usb_dev',` setattr_chr_files_pattern($1, device_t, usb_device_t) ') @@ -63159,7 +63195,7 @@ index d820975..e236661 100644 ######################################## ## ## Read generic the USB devices. -@@ -4520,6 +4951,24 @@ interface(`dev_rw_vhost',` +@@ -4520,6 +4969,24 @@ interface(`dev_rw_vhost',` ######################################## ## @@ -63184,7 +63220,7 @@ index d820975..e236661 100644 ## Read and write VMWare devices. ## ## -@@ -4725,6 +5174,26 @@ interface(`dev_rw_xserver_misc',` +@@ -4725,6 +5192,26 @@ interface(`dev_rw_xserver_misc',` ######################################## ## @@ -63211,7 +63247,7 @@ index d820975..e236661 100644 ## Read and write to the zero device (/dev/zero). ## ## -@@ -4814,3 +5283,861 @@ interface(`dev_unconfined',` +@@ -4814,3 +5301,863 @@ interface(`dev_unconfined',` typeattribute $1 devices_unconfined_type; ') @@ -63348,6 +63384,7 @@ index d820975..e236661 100644 + type zero_device_t; + type smartcard_device_t; + type mtrr_device_t; ++ type ecryptfs_device_t; +') + + dev_filetrans_printer_named_dev($1) @@ -63413,6 +63450,7 @@ index d820975..e236661 100644 + filetrans_pattern($1, device_t, sound_device_t, chr_file, "audio7") + filetrans_pattern($1, device_t, sound_device_t, chr_file, "audio8") + filetrans_pattern($1, device_t, sound_device_t, chr_file, "audio9") ++ filetrans_pattern($1, device_t, ecryptfs_device_t, chr_file, "ecryptfs") + filetrans_pattern($1, device_t, autofs_device_t, chr_file, "autofs0") + filetrans_pattern($1, device_t, autofs_device_t, chr_file, "autofs1") + filetrans_pattern($1, device_t, autofs_device_t, chr_file, "autofs2") @@ -64074,7 +64112,7 @@ index d820975..e236661 100644 + filetrans_pattern($1, device_t, xserver_misc_device_t, chr_file, "card9") +') diff --git a/policy/modules/kernel/devices.te b/policy/modules/kernel/devices.te -index 74894d7..b570097 100644 +index 74894d7..94d5f10 100644 --- a/policy/modules/kernel/devices.te +++ b/policy/modules/kernel/devices.te @@ -20,6 +20,7 @@ files_mountpoint(device_t) @@ -64085,7 +64123,17 @@ index 74894d7..b570097 100644 # # Type for /dev/agpgart -@@ -108,6 +109,7 @@ dev_node(ksm_device_t) +@@ -62,6 +63,9 @@ dev_node(cpu_device_t) + type crash_device_t; + dev_node(crash_device_t) + ++type ecryptfs_device_t; ++dev_node(ecryptfs_device_t) ++ + # for the IBM zSeries z90crypt hardware ssl accelorator + type crypt_device_t; + dev_node(crypt_device_t) +@@ -108,6 +112,7 @@ dev_node(ksm_device_t) # type kvm_device_t; dev_node(kvm_device_t) @@ -64093,7 +64141,7 @@ index 74894d7..b570097 100644 # # Type for /dev/lirc -@@ -118,6 +120,12 @@ dev_node(lirc_device_t) +@@ -118,6 +123,12 @@ dev_node(lirc_device_t) # # Type for /dev/mapper/control # @@ -64106,7 +64154,7 @@ index 74894d7..b570097 100644 type lvm_control_t; dev_node(lvm_control_t) -@@ -218,6 +226,10 @@ files_mountpoint(sysfs_t) +@@ -218,6 +229,10 @@ files_mountpoint(sysfs_t) fs_type(sysfs_t) genfscon sysfs / gen_context(system_u:object_r:sysfs_t,s0) @@ -64117,7 +64165,7 @@ index 74894d7..b570097 100644 # # Type for /dev/tpm # -@@ -265,6 +277,7 @@ dev_node(v4l_device_t) +@@ -265,6 +280,7 @@ dev_node(v4l_device_t) # type vhost_device_t; dev_node(vhost_device_t) @@ -64125,7 +64173,7 @@ index 74894d7..b570097 100644 # Type for vmware devices. type vmware_device_t; -@@ -310,5 +323,5 @@ files_associate_tmp(device_node) +@@ -310,5 +326,5 @@ files_associate_tmp(device_node) # allow devices_unconfined_type self:capability sys_rawio; @@ -72859,7 +72907,7 @@ index fe0c682..93ec53f 100644 + userdom_user_home_dir_filetrans($1, ssh_home_t, dir, ".shosts") +') diff --git a/policy/modules/services/ssh.te b/policy/modules/services/ssh.te -index b17e27a..9dbbafe 100644 +index b17e27a..89d7bf8 100644 --- a/policy/modules/services/ssh.te +++ b/policy/modules/services/ssh.te @@ -6,44 +6,51 @@ policy_module(ssh, 2.3.0) @@ -73008,7 +73056,7 @@ index b17e27a..9dbbafe 100644 dev_read_urand(ssh_t) fs_getattr_all_fs(ssh_t) -@@ -157,37 +176,36 @@ logging_read_generic_logs(ssh_t) +@@ -157,37 +176,42 @@ logging_read_generic_logs(ssh_t) auth_use_nsswitch(ssh_t) miscfiles_read_localization(ssh_t) @@ -73058,12 +73106,18 @@ index b17e27a..9dbbafe 100644 + corenet_tcp_bind_all_unreserved_ports(ssh_t) +') + ++ifdef(`enable_mcs',` ++ optional_policy(` ++ condor_startd_ranged_domtrans_to(sshd_t, sshd_exec_t, mcs_systemlow - mcs_systemhigh) ++ ') ++') ++ +optional_policy(` + gnome_stream_connect_gkeyringd(ssh_t) ') optional_policy(` -@@ -195,28 +213,24 @@ optional_policy(` +@@ -195,28 +219,24 @@ optional_policy(` xserver_domtrans_xauth(ssh_t) ') @@ -73096,7 +73150,7 @@ index b17e27a..9dbbafe 100644 ################################# # # sshd local policy -@@ -227,33 +241,46 @@ optional_policy(` +@@ -227,33 +247,46 @@ 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 }; @@ -73152,7 +73206,7 @@ index b17e27a..9dbbafe 100644 ') optional_policy(` -@@ -261,11 +288,24 @@ optional_policy(` +@@ -261,11 +294,24 @@ optional_policy(` ') optional_policy(` @@ -73178,7 +73232,7 @@ index b17e27a..9dbbafe 100644 ') optional_policy(` -@@ -283,6 +323,15 @@ optional_policy(` +@@ -283,6 +329,15 @@ optional_policy(` ') optional_policy(` @@ -73194,7 +73248,7 @@ index b17e27a..9dbbafe 100644 unconfined_shell_domtrans(sshd_t) ') -@@ -290,6 +339,29 @@ optional_policy(` +@@ -290,6 +345,29 @@ optional_policy(` xserver_domtrans_xauth(sshd_t) ') @@ -73224,7 +73278,7 @@ index b17e27a..9dbbafe 100644 ######################################## # # ssh_keygen local policy -@@ -298,19 +370,26 @@ optional_policy(` +@@ -298,19 +376,26 @@ optional_policy(` # ssh_keygen_t is the type of the ssh-keygen program when run at install time # and by sysadm_t @@ -73252,7 +73306,7 @@ index b17e27a..9dbbafe 100644 dev_read_urand(ssh_keygen_t) term_dontaudit_use_console(ssh_keygen_t) -@@ -327,9 +406,11 @@ auth_use_nsswitch(ssh_keygen_t) +@@ -327,9 +412,11 @@ auth_use_nsswitch(ssh_keygen_t) logging_send_syslog_msg(ssh_keygen_t) userdom_dontaudit_use_unpriv_user_fds(ssh_keygen_t) @@ -73266,7 +73320,7 @@ index b17e27a..9dbbafe 100644 ') optional_policy(` -@@ -339,3 +420,83 @@ optional_policy(` +@@ -339,3 +426,83 @@ optional_policy(` optional_policy(` udev_read_db(ssh_keygen_t) ') @@ -75978,7 +76032,7 @@ index c4f7c35..06c447c 100644 + unconfined_domain(xdm_unconfined_t) +') diff --git a/policy/modules/system/application.if b/policy/modules/system/application.if -index 1b6619e..232be41 100644 +index 1b6619e..219acba 100644 --- a/policy/modules/system/application.if +++ b/policy/modules/system/application.if @@ -43,6 +43,27 @@ interface(`application_executable_file',` @@ -76009,7 +76063,15 @@ index 1b6619e..232be41 100644 ######################################## ## ## Execute application executables in the caller domain. -@@ -189,6 +210,24 @@ interface(`application_dontaudit_signal',` +@@ -76,7 +97,6 @@ interface(`application_exec_all',` + corecmd_dontaudit_exec_all_executables($1) + corecmd_exec_bin($1) + corecmd_exec_shell($1) +- corecmd_exec_chroot($1) + + application_exec($1) + ') +@@ -189,6 +209,24 @@ interface(`application_dontaudit_signal',` ######################################## ## @@ -76034,7 +76096,7 @@ index 1b6619e..232be41 100644 ## Do not audit attempts to send kill signals ## to all application domains. ## -@@ -205,3 +244,21 @@ interface(`application_dontaudit_sigkill',` +@@ -205,3 +243,21 @@ interface(`application_dontaudit_sigkill',` dontaudit $1 application_domain_type:process sigkill; ') @@ -76090,7 +76152,7 @@ index c6fdab7..32f45fa 100644 cron_sigchld(application_domain_type) ') diff --git a/policy/modules/system/authlogin.fc b/policy/modules/system/authlogin.fc -index 28ad538..82def3d 100644 +index 28ad538..47fdb65 100644 --- a/policy/modules/system/authlogin.fc +++ b/policy/modules/system/authlogin.fc @@ -1,3 +1,7 @@ @@ -76101,12 +76163,14 @@ index 28ad538..82def3d 100644 /bin/login -- gen_context(system_u:object_r:login_exec_t,s0) -@@ -5,7 +9,12 @@ +@@ -5,7 +9,14 @@ /etc/group\.lock -- gen_context(system_u:object_r:shadow_t,s0) /etc/gshadow.* -- gen_context(system_u:object_r:shadow_t,s0) /etc/passwd\.lock -- gen_context(system_u:object_r:shadow_t,s0) +/etc/passwd\.adjunct.* -- gen_context(system_u:object_r:shadow_t,s0) /etc/shadow.* -- gen_context(system_u:object_r:shadow_t,s0) ++/etc/security/opasswd -- gen_context(system_u:object_r:shadow_t,s0) ++/etc/security/opasswd\.old -- gen_context(system_u:object_r:shadow_t,s0) +/etc/passwd[-\+]? -- gen_context(system_u:object_r:passwd_file_t,s0) +/etc/passwd\.OLD -- gen_context(system_u:object_r:passwd_file_t,s0) +/etc/ptmptmp -- gen_context(system_u:object_r:passwd_file_t,s0) @@ -76114,7 +76178,7 @@ index 28ad538..82def3d 100644 /sbin/pam_console_apply -- gen_context(system_u:object_r:pam_console_exec_t,s0) /sbin/pam_timestamp_check -- gen_context(system_u:object_r:pam_exec_t,s0) -@@ -16,13 +25,22 @@ ifdef(`distro_suse', ` +@@ -16,13 +27,22 @@ ifdef(`distro_suse', ` /sbin/unix2_chkpwd -- gen_context(system_u:object_r:chkpwd_exec_t,s0) ') @@ -76139,7 +76203,7 @@ index 28ad538..82def3d 100644 /var/cache/coolkey(/.*)? gen_context(system_u:object_r:auth_cache_t,s0) -@@ -30,6 +48,8 @@ ifdef(`distro_gentoo', ` +@@ -30,6 +50,8 @@ ifdef(`distro_gentoo', ` /var/lib/abl(/.*)? gen_context(system_u:object_r:var_auth_t,s0) /var/lib/pam_ssh(/.*)? gen_context(system_u:object_r:var_auth_t,s0) @@ -76148,7 +76212,7 @@ index 28ad538..82def3d 100644 /var/log/btmp.* -- gen_context(system_u:object_r:faillog_t,s0) /var/log/dmesg -- gen_context(system_u:object_r:var_log_t,s0) -@@ -39,11 +59,13 @@ ifdef(`distro_gentoo', ` +@@ -39,11 +61,13 @@ ifdef(`distro_gentoo', ` /var/log/tallylog -- gen_context(system_u:object_r:faillog_t,s0) /var/log/wtmp.* -- gen_context(system_u:object_r:wtmp_t,s0) @@ -87635,7 +87699,7 @@ index db75976..ce61aed 100644 + +/var/run/user(/.*)? gen_context(system_u:object_r:user_tmp_t,s0) diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if -index e720dcd..18fff60 100644 +index e720dcd..bb468a3 100644 --- a/policy/modules/system/userdomain.if +++ b/policy/modules/system/userdomain.if @@ -30,9 +30,11 @@ template(`userdom_base_user_template',` @@ -87651,7 +87715,7 @@ index e720dcd..18fff60 100644 corecmd_shell_entry_type($1_t) corecmd_bin_entry_type($1_t) domain_user_exemption_target($1_t) -@@ -44,79 +46,134 @@ template(`userdom_base_user_template',` +@@ -44,79 +46,132 @@ template(`userdom_base_user_template',` term_user_pty($1_t, user_devpts_t) term_user_tty($1_t, user_tty_device_t) @@ -87794,8 +87858,6 @@ index e720dcd..18fff60 100644 - libs_exec_ld_so($1_t) + libs_exec_ld_so($1_usertype) -+ -+ logging_send_audit_msgs($1_t) miscfiles_read_localization($1_t) miscfiles_read_generic_certs($1_t) @@ -87837,7 +87899,7 @@ index e720dcd..18fff60 100644 ') ####################################### -@@ -150,6 +207,8 @@ interface(`userdom_ro_home_role',` +@@ -150,6 +205,8 @@ interface(`userdom_ro_home_role',` type user_home_t, user_home_dir_t; ') @@ -87846,7 +87908,7 @@ index e720dcd..18fff60 100644 ############################## # # Domain access to home dir -@@ -167,27 +226,6 @@ interface(`userdom_ro_home_role',` +@@ -167,27 +224,6 @@ interface(`userdom_ro_home_role',` read_sock_files_pattern($2, { user_home_t user_home_dir_t }, user_home_t) files_list_home($2) @@ -87874,7 +87936,7 @@ index e720dcd..18fff60 100644 ') ####################################### -@@ -219,8 +257,11 @@ interface(`userdom_ro_home_role',` +@@ -219,8 +255,11 @@ interface(`userdom_ro_home_role',` interface(`userdom_manage_home_role',` gen_require(` type user_home_t, user_home_dir_t; @@ -87886,7 +87948,7 @@ index e720dcd..18fff60 100644 ############################## # # Domain access to home dir -@@ -229,43 +270,47 @@ interface(`userdom_manage_home_role',` +@@ -229,43 +268,47 @@ interface(`userdom_manage_home_role',` type_member $2 user_home_dir_t:dir user_home_dir_t; # full control of the home directory @@ -87950,7 +88012,7 @@ index e720dcd..18fff60 100644 ') ') -@@ -273,6 +318,25 @@ interface(`userdom_manage_home_role',` +@@ -273,6 +316,25 @@ interface(`userdom_manage_home_role',` ## ## Manage user temporary files ## @@ -87976,7 +88038,7 @@ index e720dcd..18fff60 100644 ## ## ## Role allowed access. -@@ -287,17 +351,64 @@ interface(`userdom_manage_home_role',` +@@ -287,17 +349,64 @@ interface(`userdom_manage_home_role',` # interface(`userdom_manage_tmp_role',` gen_require(` @@ -88046,7 +88108,7 @@ index e720dcd..18fff60 100644 ') ####################################### -@@ -317,6 +428,7 @@ interface(`userdom_exec_user_tmp_files',` +@@ -317,6 +426,7 @@ interface(`userdom_exec_user_tmp_files',` ') exec_files_pattern($1, user_tmp_t, user_tmp_t) @@ -88054,7 +88116,7 @@ index e720dcd..18fff60 100644 files_search_tmp($1) ') -@@ -348,59 +460,62 @@ interface(`userdom_exec_user_tmp_files',` +@@ -348,59 +458,62 @@ interface(`userdom_exec_user_tmp_files',` # interface(`userdom_manage_tmpfs_role',` gen_require(` @@ -88149,7 +88211,7 @@ index e720dcd..18fff60 100644 ') ####################################### -@@ -431,6 +546,7 @@ template(`userdom_xwindows_client_template',` +@@ -431,6 +544,7 @@ template(`userdom_xwindows_client_template',` dev_dontaudit_rw_dri($1_t) # GNOME checks for usb and other devices: dev_rw_usbfs($1_t) @@ -88157,7 +88219,7 @@ index e720dcd..18fff60 100644 xserver_user_x_domain_template($1, $1_t, user_tmpfs_t) xserver_xsession_entry_type($1_t) -@@ -463,8 +579,8 @@ template(`userdom_change_password_template',` +@@ -463,8 +577,8 @@ template(`userdom_change_password_template',` ') optional_policy(` @@ -88168,7 +88230,7 @@ index e720dcd..18fff60 100644 ') ') -@@ -491,7 +607,7 @@ template(`userdom_common_user_template',` +@@ -491,7 +605,7 @@ template(`userdom_common_user_template',` attribute unpriv_userdomain; ') @@ -88177,7 +88239,7 @@ index e720dcd..18fff60 100644 ############################## # -@@ -501,73 +617,83 @@ template(`userdom_common_user_template',` +@@ -501,73 +615,83 @@ template(`userdom_common_user_template',` # evolution and gnome-session try to create a netlink socket dontaudit $1_t self:netlink_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown }; dontaudit $1_t self:netlink_route_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }; @@ -88248,7 +88310,7 @@ index e720dcd..18fff60 100644 - fs_rw_cgroup_files($1_t) + logging_send_syslog_msg($1_usertype) -+ logging_send_audit_msgs($1_usertype) ++ + selinux_get_enforce_mode($1_usertype) # cjp: some of this probably can be removed @@ -88303,7 +88365,7 @@ index e720dcd..18fff60 100644 ') tunable_policy(`user_ttyfile_stat',` -@@ -575,71 +701,117 @@ template(`userdom_common_user_template',` +@@ -575,71 +699,117 @@ template(`userdom_common_user_template',` ') optional_policy(` @@ -88318,19 +88380,19 @@ index e720dcd..18fff60 100644 - # Allow graphical boot to check battery lifespan - apm_stream_connect($1_t) + canna_stream_connect($1_usertype) - ') - - optional_policy(` -- canna_stream_connect($1_t) ++ ') ++ ++ optional_policy(` + chrome_role($1_r, $1_usertype) ') optional_policy(` -- dbus_system_bus_client($1_t) +- canna_stream_connect($1_t) + colord_read_lib_files($1_usertype) -+ ') -+ -+ optional_policy(` + ') + + optional_policy(` +- dbus_system_bus_client($1_t) + dbus_system_bus_client($1_usertype) + + allow $1_usertype $1_usertype:dbus send_msg; @@ -88404,23 +88466,23 @@ index e720dcd..18fff60 100644 + optional_policy(` + inetd_use_fds($1_usertype) + inetd_rw_tcp_sockets($1_usertype) - ') - - optional_policy(` -- inn_read_config($1_t) -- inn_read_news_lib($1_t) -- inn_read_news_spool($1_t) ++ ') ++ ++ optional_policy(` + inn_read_config($1_usertype) + inn_read_news_lib($1_usertype) + inn_read_news_spool($1_usertype) ') optional_policy(` -- locate_read_lib_files($1_t) +- inn_read_config($1_t) +- inn_read_news_lib($1_t) +- inn_read_news_spool($1_t) + lircd_stream_connect($1_usertype) -+ ') -+ -+ optional_policy(` + ') + + optional_policy(` +- locate_read_lib_files($1_t) + locate_read_lib_files($1_usertype) ') @@ -88443,7 +88505,7 @@ index e720dcd..18fff60 100644 mysql_stream_connect($1_t) ') ') -@@ -651,40 +823,52 @@ template(`userdom_common_user_template',` +@@ -651,40 +821,52 @@ template(`userdom_common_user_template',` optional_policy(` # to allow monitoring of pcmcia status @@ -88480,35 +88542,35 @@ index e720dcd..18fff60 100644 + + optional_policy(` + rpcbind_stream_connect($1_usertype) -+ ') -+ -+ optional_policy(` -+ samba_stream_connect_winbind($1_usertype) ') optional_policy(` - rpc_dontaudit_getattr_exports($1_t) - rpc_manage_nfs_rw_content($1_t) -+ sandbox_transition($1_usertype, $1_r) ++ samba_stream_connect_winbind($1_usertype) ') optional_policy(` - samba_stream_connect_winbind($1_t) -+ seunshare_role_template($1, $1_r, $1_t) ++ sandbox_transition($1_usertype, $1_r) ') optional_policy(` - slrnpull_search_spool($1_t) -+ slrnpull_search_spool($1_usertype) ++ seunshare_role_template($1, $1_r, $1_t) ') optional_policy(` - usernetctl_run($1_t, $1_r) ++ slrnpull_search_spool($1_usertype) ++ ') ++ ++ optional_policy(` + thumb_role($1_r, $1_usertype) ') ') -@@ -709,17 +893,33 @@ template(`userdom_common_user_template',` +@@ -709,17 +891,33 @@ template(`userdom_common_user_template',` template(`userdom_login_user_template', ` gen_require(` class context contains; @@ -88519,11 +88581,11 @@ index e720dcd..18fff60 100644 - userdom_manage_home_role($1_r, $1_t) + typeattribute $1_t login_userdomain; ++ ++ userdom_manage_home_role($1_r, $1_usertype) - userdom_manage_tmp_role($1_r, $1_t) - userdom_manage_tmpfs_role($1_r, $1_t) -+ userdom_manage_home_role($1_r, $1_usertype) -+ + userdom_manage_tmp_role($1_r, $1_usertype) + userdom_manage_tmpfs_role($1_r, $1_usertype) + @@ -88547,20 +88609,19 @@ index e720dcd..18fff60 100644 userdom_change_password_template($1) -@@ -728,81 +928,98 @@ template(`userdom_login_user_template', ` +@@ -727,82 +925,95 @@ template(`userdom_login_user_template', ` + # # User domain Local policy # - +- - allow $1_t self:capability { setgid chown fowner }; -+ allow $1_t self:capability { setgid setuid chown fowner }; -+ allow $1_t self:process setcurrent; -+ domain_dyntrans_type($1_t) dontaudit $1_t self:capability { sys_nice fsetid }; - +- - allow $1_t self:process ~{ setcurrent setexec setrlimit execmem execstack execheap }; + allow $1_t self:process ~{ ptrace setrlimit execmem execstack execheap }; dontaudit $1_t self:process setrlimit; dontaudit $1_t self:netlink_route_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }; ++ domain_dyntrans_type($1_t) allow $1_t self:context contains; @@ -88632,56 +88693,56 @@ index e720dcd..18fff60 100644 - miscfiles_exec_tetex_data($1_t) + miscfiles_read_tetex_data($1_usertype) + miscfiles_exec_tetex_data($1_usertype) - -- seutil_read_config($1_t) ++ + seutil_read_config($1_usertype) + seutil_read_file_contexts($1_usertype) + seutil_read_default_contexts($1_usertype) + seutil_exec_setfiles($1_usertype) ++ ++ optional_policy(` ++ cups_read_config($1_usertype) ++ cups_stream_connect($1_usertype) ++ cups_stream_connect_ptal($1_usertype) ++ ') + +- seutil_read_config($1_t) ++ optional_policy(` ++ kerberos_use($1_usertype) ++ kerberos_filetrans_home_content($1_usertype) ++ ') optional_policy(` - cups_read_config($1_t) - cups_stream_connect($1_t) - cups_stream_connect_ptal($1_t) -+ cups_read_config($1_usertype) -+ cups_stream_connect($1_usertype) -+ cups_stream_connect_ptal($1_usertype) - ') - - optional_policy(` -- kerberos_use($1_t) -+ kerberos_use($1_usertype) -+ kerberos_filetrans_home_content($1_usertype) - ') - - optional_policy(` -- mta_dontaudit_read_spool_symlinks($1_t) + mysql_filetrans_named_content($1_usertype) ') optional_policy(` -- quota_dontaudit_getattr_db($1_t) +- kerberos_use($1_t) + mta_dontaudit_read_spool_symlinks($1_usertype) ') + optional_policy(` +- mta_dontaudit_read_spool_symlinks($1_t) ++ quota_dontaudit_getattr_db($1_usertype) + ') + + optional_policy(` +- quota_dontaudit_getattr_db($1_t) ++ rpm_read_db($1_usertype) ++ rpm_dontaudit_manage_db($1_usertype) ++ rpm_read_cache($1_usertype) + ') + optional_policy(` - rpm_read_db($1_t) - rpm_dontaudit_manage_db($1_t) -+ quota_dontaudit_getattr_db($1_usertype) -+ ') -+ -+ optional_policy(` -+ rpm_read_db($1_usertype) -+ rpm_dontaudit_manage_db($1_usertype) -+ rpm_read_cache($1_usertype) -+ ') -+ -+ optional_policy(` + oddjob_run_mkhomedir($1_t, $1_r) ') ') -@@ -834,6 +1051,12 @@ template(`userdom_restricted_user_template',` +@@ -834,6 +1045,12 @@ template(`userdom_restricted_user_template',` typeattribute $1_t unpriv_userdomain; domain_interactive_fd($1_t) @@ -88694,7 +88755,7 @@ index e720dcd..18fff60 100644 ############################## # # Local policy -@@ -874,46 +1097,115 @@ template(`userdom_restricted_xwindows_user_template',` +@@ -874,46 +1091,114 @@ template(`userdom_restricted_xwindows_user_template',` # Local policy # @@ -88734,7 +88795,7 @@ index e720dcd..18fff60 100644 logging_dontaudit_send_audit_msgs($1_t) # Need to to this just so screensaver will work. Should be moved to screensaver domain - logging_send_audit_msgs($1_t) +- logging_send_audit_msgs($1_t) selinux_get_enforce_mode($1_t) + seutil_exec_restorecond($1_t) + seutil_read_file_contexts($1_t) @@ -88823,7 +88884,7 @@ index e720dcd..18fff60 100644 ') ') -@@ -948,7 +1240,7 @@ template(`userdom_unpriv_user_template', ` +@@ -948,21 +1233,27 @@ template(`userdom_unpriv_user_template', ` # # Inherit rules for ordinary users. @@ -88832,8 +88893,12 @@ index e720dcd..18fff60 100644 userdom_common_user_template($1) ############################## -@@ -957,12 +1249,15 @@ template(`userdom_unpriv_user_template', ` # + # Local policy + # ++ allow $1_t self:capability { setgid chown fowner }; ++ ++ corecmd_exec_chroot($1_t) # port access is audited even if dac would not have allowed it, so dontaudit it here - corenet_dontaudit_tcp_bind_all_reserved_ports($1_t) @@ -88850,7 +88915,7 @@ index e720dcd..18fff60 100644 files_read_kernel_symbol_table($1_t) ifndef(`enable_mls',` -@@ -979,23 +1274,60 @@ template(`userdom_unpriv_user_template', ` +@@ -979,23 +1270,60 @@ template(`userdom_unpriv_user_template', ` ') ') @@ -88920,7 +88985,7 @@ index e720dcd..18fff60 100644 ') # Run pppd in pppd_t by default for user -@@ -1004,7 +1336,9 @@ template(`userdom_unpriv_user_template', ` +@@ -1004,7 +1332,9 @@ template(`userdom_unpriv_user_template', ` ') optional_policy(` @@ -88931,7 +88996,7 @@ index e720dcd..18fff60 100644 ') ') -@@ -1040,7 +1374,7 @@ template(`userdom_unpriv_user_template', ` +@@ -1040,7 +1370,7 @@ template(`userdom_unpriv_user_template', ` template(`userdom_admin_user_template',` gen_require(` attribute admindomain; @@ -88940,7 +89005,7 @@ index e720dcd..18fff60 100644 ') ############################## -@@ -1067,6 +1401,7 @@ template(`userdom_admin_user_template',` +@@ -1067,6 +1397,7 @@ template(`userdom_admin_user_template',` # allow $1_t self:capability ~{ sys_module audit_control audit_write }; @@ -88948,7 +89013,7 @@ index e720dcd..18fff60 100644 allow $1_t self:process { setexec setfscreate }; allow $1_t self:netlink_audit_socket nlmsg_readpriv; allow $1_t self:tun_socket create; -@@ -1075,6 +1410,9 @@ template(`userdom_admin_user_template',` +@@ -1075,6 +1406,9 @@ template(`userdom_admin_user_template',` # Skip authentication when pam_rootok is specified. allow $1_t self:passwd rootok; @@ -88958,7 +89023,7 @@ index e720dcd..18fff60 100644 kernel_read_software_raid_state($1_t) kernel_getattr_core_if($1_t) kernel_getattr_message_if($1_t) -@@ -1089,6 +1427,7 @@ template(`userdom_admin_user_template',` +@@ -1089,6 +1423,7 @@ template(`userdom_admin_user_template',` kernel_sigstop_unlabeled($1_t) kernel_signull_unlabeled($1_t) kernel_sigchld_unlabeled($1_t) @@ -88966,7 +89031,7 @@ index e720dcd..18fff60 100644 corenet_tcp_bind_generic_port($1_t) # allow setting up tunnels -@@ -1106,10 +1445,13 @@ template(`userdom_admin_user_template',` +@@ -1106,10 +1441,13 @@ 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) @@ -88980,7 +89045,7 @@ index e720dcd..18fff60 100644 domain_dontaudit_ptrace_all_domains($1_t) # signal all domains: domain_kill_all_domains($1_t) -@@ -1120,29 +1462,38 @@ template(`userdom_admin_user_template',` +@@ -1120,29 +1458,38 @@ template(`userdom_admin_user_template',` domain_sigchld_all_domains($1_t) # for lsof domain_getattr_all_sockets($1_t) @@ -89023,7 +89088,7 @@ index e720dcd..18fff60 100644 # The following rule is temporary until such time that a complete # policy management infrastructure is in place so that an administrator -@@ -1152,6 +1503,8 @@ template(`userdom_admin_user_template',` +@@ -1152,6 +1499,8 @@ template(`userdom_admin_user_template',` # But presently necessary for installing the file_contexts file. seutil_manage_bin_policy($1_t) @@ -89032,7 +89097,7 @@ index e720dcd..18fff60 100644 userdom_manage_user_home_content_dirs($1_t) userdom_manage_user_home_content_files($1_t) userdom_manage_user_home_content_symlinks($1_t) -@@ -1166,6 +1519,10 @@ template(`userdom_admin_user_template',` +@@ -1166,6 +1515,10 @@ template(`userdom_admin_user_template',` fs_read_noxattr_fs_files($1_t) ') @@ -89043,7 +89108,7 @@ index e720dcd..18fff60 100644 optional_policy(` postgresql_unconfined($1_t) ') -@@ -1211,6 +1568,8 @@ template(`userdom_security_admin_template',` +@@ -1211,6 +1564,8 @@ template(`userdom_security_admin_template',` dev_relabel_all_dev_nodes($1) files_create_boot_flag($1) @@ -89052,7 +89117,7 @@ index e720dcd..18fff60 100644 # Necessary for managing /boot/efi fs_manage_dos_files($1) -@@ -1223,8 +1582,10 @@ template(`userdom_security_admin_template',` +@@ -1223,8 +1578,10 @@ template(`userdom_security_admin_template',` selinux_set_enforce_mode($1) selinux_set_all_booleans($1) selinux_set_parameters($1) @@ -89064,7 +89129,7 @@ index e720dcd..18fff60 100644 auth_relabel_shadow($1) init_exec($1) -@@ -1235,13 +1596,18 @@ template(`userdom_security_admin_template',` +@@ -1235,13 +1592,18 @@ template(`userdom_security_admin_template',` logging_read_audit_config($1) seutil_manage_bin_policy($1) @@ -89087,7 +89152,7 @@ index e720dcd..18fff60 100644 ') optional_policy(` -@@ -1252,12 +1618,12 @@ template(`userdom_security_admin_template',` +@@ -1252,12 +1614,12 @@ template(`userdom_security_admin_template',` dmesg_exec($1) ') @@ -89103,7 +89168,7 @@ index e720dcd..18fff60 100644 ') optional_policy(` -@@ -1317,12 +1683,15 @@ interface(`userdom_user_application_domain',` +@@ -1317,12 +1679,15 @@ interface(`userdom_user_application_domain',` interface(`userdom_user_home_content',` gen_require(` type user_home_t; @@ -89120,7 +89185,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1363,18 +1732,63 @@ interface(`userdom_user_tmpfs_file',` +@@ -1363,9 +1728,54 @@ interface(`userdom_user_tmpfs_file',` ## ## Allow domain to attach to TUN devices created by administrative users. ## @@ -89130,17 +89195,14 @@ index e720dcd..18fff60 100644 -## Domain allowed access. +## Type to be used as a file in the +## generic temporary directory. - ## - ## - # --interface(`userdom_attach_admin_tun_iface',` ++## ++## ++# +interface(`userdom_user_tmp_content',` - gen_require(` -- attribute admindomain; ++ gen_require(` + attribute user_tmp_type; - ') - -- allow $1 admindomain:tun_socket relabelfrom; ++ ') ++ + typeattribute $1 user_tmp_type; + + files_tmp_file($1) @@ -89177,19 +89239,10 @@ index e720dcd..18fff60 100644 +## +## +## Domain allowed access. -+## -+## -+# -+interface(`userdom_attach_admin_tun_iface',` -+ gen_require(` -+ attribute admindomain; -+ ') -+ -+ allow $1 admindomain:tun_socket relabelfrom; - allow $1 self:tun_socket relabelto; - ') - -@@ -1467,11 +1881,31 @@ interface(`userdom_search_user_home_dirs',` + ## + ## + # +@@ -1467,11 +1877,31 @@ interface(`userdom_search_user_home_dirs',` ') allow $1 user_home_dir_t:dir search_dir_perms; @@ -89221,7 +89274,7 @@ index e720dcd..18fff60 100644 ## Do not audit attempts to search user home directories. ## ## -@@ -1513,6 +1947,14 @@ interface(`userdom_list_user_home_dirs',` +@@ -1513,6 +1943,14 @@ interface(`userdom_list_user_home_dirs',` allow $1 user_home_dir_t:dir list_dir_perms; files_search_home($1) @@ -89236,7 +89289,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1528,9 +1970,11 @@ interface(`userdom_list_user_home_dirs',` +@@ -1528,9 +1966,11 @@ interface(`userdom_list_user_home_dirs',` interface(`userdom_dontaudit_list_user_home_dirs',` gen_require(` type user_home_dir_t; @@ -89248,7 +89301,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1587,6 +2031,42 @@ interface(`userdom_relabelto_user_home_dirs',` +@@ -1587,6 +2027,42 @@ interface(`userdom_relabelto_user_home_dirs',` allow $1 user_home_dir_t:dir relabelto; ') @@ -89291,7 +89344,7 @@ index e720dcd..18fff60 100644 ######################################## ## ## Create directories in the home dir root with -@@ -1666,6 +2146,8 @@ interface(`userdom_dontaudit_search_user_home_content',` +@@ -1666,6 +2142,8 @@ interface(`userdom_dontaudit_search_user_home_content',` ') dontaudit $1 user_home_t:dir search_dir_perms; @@ -89300,7 +89353,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1680,10 +2162,12 @@ interface(`userdom_dontaudit_search_user_home_content',` +@@ -1680,10 +2158,12 @@ interface(`userdom_dontaudit_search_user_home_content',` # interface(`userdom_list_user_home_content',` gen_require(` @@ -89315,7 +89368,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1726,6 +2210,43 @@ interface(`userdom_delete_user_home_content_dirs',` +@@ -1726,6 +2206,43 @@ interface(`userdom_delete_user_home_content_dirs',` ######################################## ## @@ -89359,7 +89412,7 @@ index e720dcd..18fff60 100644 ## Do not audit attempts to set the ## attributes of user home files. ## -@@ -1745,6 +2266,25 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',` +@@ -1745,6 +2262,25 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',` ######################################## ## @@ -89385,7 +89438,7 @@ index e720dcd..18fff60 100644 ## Mmap user home files. ## ## -@@ -1775,14 +2315,36 @@ interface(`userdom_mmap_user_home_content_files',` +@@ -1775,14 +2311,36 @@ interface(`userdom_mmap_user_home_content_files',` interface(`userdom_read_user_home_content_files',` gen_require(` type user_home_dir_t, user_home_t; @@ -89423,7 +89476,7 @@ index e720dcd..18fff60 100644 ## Do not audit attempts to read user home files. ## ## -@@ -1793,11 +2355,14 @@ interface(`userdom_read_user_home_content_files',` +@@ -1793,11 +2351,14 @@ interface(`userdom_read_user_home_content_files',` # interface(`userdom_dontaudit_read_user_home_content_files',` gen_require(` @@ -89441,7 +89494,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1856,6 +2421,78 @@ interface(`userdom_delete_user_home_content_files',` +@@ -1856,6 +2417,78 @@ interface(`userdom_delete_user_home_content_files',` ######################################## ## @@ -89520,7 +89573,7 @@ index e720dcd..18fff60 100644 ## Do not audit attempts to write user home files. ## ## -@@ -1887,8 +2524,7 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -1887,8 +2520,7 @@ interface(`userdom_read_user_home_content_symlinks',` type user_home_dir_t, user_home_t; ') @@ -89530,7 +89583,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -1904,20 +2540,14 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -1904,20 +2536,14 @@ interface(`userdom_read_user_home_content_symlinks',` # interface(`userdom_exec_user_home_content_files',` gen_require(` @@ -89555,7 +89608,7 @@ index e720dcd..18fff60 100644 ######################################## ## -@@ -2018,6 +2648,24 @@ interface(`userdom_delete_user_home_content_symlinks',` +@@ -2018,6 +2644,24 @@ interface(`userdom_delete_user_home_content_symlinks',` ######################################## ## @@ -89580,7 +89633,7 @@ index e720dcd..18fff60 100644 ## Create, read, write, and delete named pipes ## in a user home subdirectory. ## -@@ -2250,11 +2898,11 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',` +@@ -2250,11 +2894,11 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',` # interface(`userdom_read_user_tmp_files',` gen_require(` @@ -89595,7 +89648,7 @@ index e720dcd..18fff60 100644 files_search_tmp($1) ') -@@ -2274,7 +2922,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` +@@ -2274,7 +2918,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` type user_tmp_t; ') @@ -89604,7 +89657,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -2521,6 +3169,25 @@ interface(`userdom_tmp_filetrans_user_tmp',` +@@ -2521,6 +3165,25 @@ interface(`userdom_tmp_filetrans_user_tmp',` files_tmp_filetrans($1, user_tmp_t, $2, $3) ') @@ -89630,7 +89683,7 @@ index e720dcd..18fff60 100644 ######################################## ## ## Read user tmpfs files. -@@ -2537,13 +3204,14 @@ interface(`userdom_read_user_tmpfs_files',` +@@ -2537,13 +3200,14 @@ interface(`userdom_read_user_tmpfs_files',` ') read_files_pattern($1, user_tmpfs_t, user_tmpfs_t) @@ -89646,7 +89699,7 @@ index e720dcd..18fff60 100644 ## ## ## -@@ -2564,7 +3232,7 @@ interface(`userdom_rw_user_tmpfs_files',` +@@ -2564,7 +3228,7 @@ interface(`userdom_rw_user_tmpfs_files',` ######################################## ## @@ -89655,7 +89708,7 @@ index e720dcd..18fff60 100644 ## ## ## -@@ -2572,19 +3240,17 @@ interface(`userdom_rw_user_tmpfs_files',` +@@ -2572,19 +3236,17 @@ interface(`userdom_rw_user_tmpfs_files',` ## ## # @@ -89678,13 +89731,14 @@ index e720dcd..18fff60 100644 ## ## ## -@@ -2592,7 +3258,25 @@ interface(`userdom_manage_user_tmpfs_files',` +@@ -2592,9 +3254,27 @@ interface(`userdom_manage_user_tmpfs_files',` ## ## # -interface(`userdom_getattr_user_ttys',` +interface(`userdom_execute_user_tmpfs_files',` -+ gen_require(` + gen_require(` +- type user_tty_device_t; + type user_tmpfs_t; + ') + @@ -89702,10 +89756,12 @@ index e720dcd..18fff60 100644 +## +# +interface(`userdom_getattr_user_ttys',` - gen_require(` - type user_tty_device_t; ++ gen_require(` ++ type user_tty_device_t; ') -@@ -2674,6 +3358,24 @@ interface(`userdom_use_user_ttys',` + + allow $1 user_tty_device_t:chr_file getattr_chr_file_perms; +@@ -2674,6 +3354,24 @@ interface(`userdom_use_user_ttys',` ######################################## ## @@ -89730,7 +89786,7 @@ index e720dcd..18fff60 100644 ## Read and write a user domain pty. ## ## -@@ -2692,22 +3394,34 @@ interface(`userdom_use_user_ptys',` +@@ -2692,22 +3390,34 @@ interface(`userdom_use_user_ptys',` ######################################## ## @@ -89773,7 +89829,7 @@ index e720dcd..18fff60 100644 ## ## ## -@@ -2716,14 +3430,33 @@ interface(`userdom_use_user_ptys',` +@@ -2716,14 +3426,33 @@ interface(`userdom_use_user_ptys',` ## ## # @@ -89811,7 +89867,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -2742,8 +3475,27 @@ interface(`userdom_dontaudit_use_user_terminals',` +@@ -2742,8 +3471,27 @@ interface(`userdom_dontaudit_use_user_terminals',` type user_tty_device_t, user_devpts_t; ') @@ -89841,7 +89897,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -2815,69 +3567,68 @@ interface(`userdom_spec_domtrans_unpriv_users',` +@@ -2815,69 +3563,68 @@ interface(`userdom_spec_domtrans_unpriv_users',` allow unpriv_userdomain $1:process sigchld; ') @@ -89942,7 +89998,7 @@ index e720dcd..18fff60 100644 ## ## ## -@@ -2885,12 +3636,12 @@ interface(`userdom_manage_unpriv_user_semaphores',` +@@ -2885,12 +3632,12 @@ interface(`userdom_manage_unpriv_user_semaphores',` ## ## # @@ -89957,7 +90013,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -2954,7 +3705,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -2954,7 +3701,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` domain_entry_file_spec_domtrans($1, unpriv_userdomain) allow unpriv_userdomain $1:fd use; @@ -89966,7 +90022,7 @@ index e720dcd..18fff60 100644 allow unpriv_userdomain $1:process sigchld; ') -@@ -2970,29 +3721,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -2970,29 +3717,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` # interface(`userdom_search_user_home_content',` gen_require(` @@ -90000,7 +90056,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -3074,7 +3809,7 @@ interface(`userdom_dontaudit_use_user_ptys',` +@@ -3074,7 +3805,7 @@ interface(`userdom_dontaudit_use_user_ptys',` type user_devpts_t; ') @@ -90009,7 +90065,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -3129,7 +3864,45 @@ interface(`userdom_write_user_tmp_files',` +@@ -3129,7 +3860,45 @@ interface(`userdom_write_user_tmp_files',` type user_tmp_t; ') @@ -90056,7 +90112,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -3147,7 +3920,7 @@ interface(`userdom_dontaudit_use_user_ttys',` +@@ -3147,7 +3916,7 @@ interface(`userdom_dontaudit_use_user_ttys',` type user_tty_device_t; ') @@ -90065,7 +90121,7 @@ index e720dcd..18fff60 100644 ') ######################################## -@@ -3166,6 +3939,7 @@ interface(`userdom_read_all_users_state',` +@@ -3166,6 +3935,7 @@ interface(`userdom_read_all_users_state',` ') read_files_pattern($1, userdomain, userdomain) @@ -90073,7 +90129,7 @@ index e720dcd..18fff60 100644 kernel_search_proc($1) ') -@@ -3242,6 +4016,42 @@ interface(`userdom_signal_all_users',` +@@ -3242,6 +4012,42 @@ interface(`userdom_signal_all_users',` allow $1 userdomain:process signal; ') @@ -90116,7 +90172,7 @@ index e720dcd..18fff60 100644 ######################################## ## ## Send a SIGCHLD signal to all user domains. -@@ -3262,6 +4072,24 @@ interface(`userdom_sigchld_all_users',` +@@ -3262,6 +4068,24 @@ interface(`userdom_sigchld_all_users',` ######################################## ## @@ -90141,7 +90197,7 @@ index e720dcd..18fff60 100644 ## Create keys for all user domains. ## ## -@@ -3296,3 +4124,1282 @@ interface(`userdom_dbus_send_all_users',` +@@ -3296,3 +4120,1282 @@ interface(`userdom_dbus_send_all_users',` allow $1 userdomain:dbus send_msg; ') diff --git a/policy_contrib-rawhide.patch b/policy_contrib-rawhide.patch index 9b32038c..e906a1b6 100644 --- a/policy_contrib-rawhide.patch +++ b/policy_contrib-rawhide.patch @@ -833,7 +833,7 @@ index c0f858d..d75aae9 100644 + allow $1 accountsd_unit_file_t:service all_service_perms; ') diff --git a/accountsd.te b/accountsd.te -index 1632f10..67cd103 100644 +index 1632f10..1cb95bc 100644 --- a/accountsd.te +++ b/accountsd.te @@ -1,5 +1,9 @@ @@ -865,7 +865,7 @@ index 1632f10..67cd103 100644 # -allow accountsd_t self:capability { dac_override setuid setgid sys_ptrace }; -+allow accountsd_t self:capability { dac_override setuid setgid }; ++allow accountsd_t self:capability { chown dac_override setuid setgid }; +allow accountsd_t self:process signal; allow accountsd_t self:fifo_file rw_fifo_file_perms; +allow accountsd_t self:passwd { rootok passwd chfn chsh }; @@ -988,10 +988,18 @@ index 8559cdc..641044e 100644 # Allow afs_admin to restart the afs service afs_initrc_domtrans($1) diff --git a/afs.te b/afs.te -index a496fde..847609a 100644 +index a496fde..859f4cf 100644 --- a/afs.te +++ b/afs.te -@@ -107,6 +107,10 @@ miscfiles_read_localization(afs_t) +@@ -71,6 +71,7 @@ role system_r types afs_vlserver_t; + # + + allow afs_t self:capability { sys_admin sys_nice sys_tty_config }; ++dontaudit afs_t self:capability dac_override; + allow afs_t self:process { setsched signal }; + allow afs_t self:udp_socket create_socket_perms; + allow afs_t self:fifo_file rw_file_perms; +@@ -107,6 +108,10 @@ miscfiles_read_localization(afs_t) sysnet_dns_name_resolve(afs_t) @@ -1022,7 +1030,7 @@ index 184c9a8..8f77bf5 100644 domain_system_change_exemption($1) role_transition $2 aiccu_initrc_exec_t system_r; diff --git a/aiccu.te b/aiccu.te -index 6d685ba..4114d9b 100644 +index 6d685ba..b6f9ba3 100644 --- a/aiccu.te +++ b/aiccu.te @@ -45,9 +45,11 @@ corecmd_exec_shell(aiccu_t) @@ -1037,6 +1045,15 @@ index 6d685ba..4114d9b 100644 corenet_tcp_sendrecv_sixxsconfig_port(aiccu_t) corenet_tcp_bind_generic_node(aiccu_t) corenet_tcp_connect_sixxsconfig_port(aiccu_t) +@@ -62,6 +64,8 @@ dev_read_urand(aiccu_t) + + files_read_etc_files(aiccu_t) + ++auth_read_passwd(aiccu_t) ++ + logging_send_syslog_msg(aiccu_t) + + miscfiles_read_localization(aiccu_t) diff --git a/aide.if b/aide.if index 838d25b..33981e0 100644 --- a/aide.if @@ -1472,6 +1489,18 @@ index bec220e..1d26add 100644 + fstools_domtrans(amanda_t) + fstools_signal(amanda_t) +') +diff --git a/amavis.fc b/amavis.fc +index 446ee16..25423bf 100644 +--- a/amavis.fc ++++ b/amavis.fc +@@ -2,6 +2,7 @@ + /etc/amavis(d)?\.conf -- gen_context(system_u:object_r:amavis_etc_t,s0) + /etc/amavisd(/.*)? gen_context(system_u:object_r:amavis_etc_t,s0) + /etc/rc\.d/init\.d/amavis -- gen_context(system_u:object_r:amavis_initrc_exec_t,s0) ++/etc/rc\.d/init\.d/amavisd-snmp -- gen_context(system_u:object_r:amavis_initrc_exec_t,s0) + + /usr/sbin/amavisd.* -- gen_context(system_u:object_r:amavis_exec_t,s0) + /usr/lib/AntiVir/antivir -- gen_context(system_u:object_r:amavis_exec_t,s0) diff --git a/amavis.if b/amavis.if index e31d92a..1aa0718 100644 --- a/amavis.if @@ -1500,7 +1529,7 @@ index e31d92a..1aa0718 100644 domain_system_change_exemption($1) role_transition $2 amavis_initrc_exec_t system_r; diff --git a/amavis.te b/amavis.te -index 5a9b451..c4b2eec 100644 +index 5a9b451..189c0a8 100644 --- a/amavis.te +++ b/amavis.te @@ -38,7 +38,7 @@ type amavis_quarantine_t; @@ -1534,7 +1563,11 @@ index 5a9b451..c4b2eec 100644 # var/lib files for amavis manage_dirs_pattern(amavis_t, amavis_var_lib_t, amavis_var_lib_t) -@@ -128,17 +130,19 @@ corenet_tcp_connect_razor_port(amavis_t) +@@ -125,20 +127,23 @@ corenet_tcp_bind_amavisd_recv_port(amavis_t) + corenet_udp_bind_generic_port(amavis_t) + corenet_dontaudit_udp_bind_all_ports(amavis_t) + corenet_tcp_connect_razor_port(amavis_t) ++corenet_tcp_connect_agentx_port(amavis_t) dev_read_rand(amavis_t) dev_read_urand(amavis_t) @@ -1555,7 +1588,7 @@ index 5a9b451..c4b2eec 100644 # uses uptime which reads utmp - redhat bug 561383 init_read_utmp(amavis_t) init_stream_connect_script(amavis_t) -@@ -148,29 +152,32 @@ logging_send_syslog_msg(amavis_t) +@@ -148,34 +153,38 @@ logging_send_syslog_msg(amavis_t) miscfiles_read_generic_certs(amavis_t) miscfiles_read_localization(amavis_t) @@ -1596,6 +1629,23 @@ index 5a9b451..c4b2eec 100644 nslcd_stream_connect(amavis_t) ') + optional_policy(` + postfix_read_config(amavis_t) ++ postfix_list_spool(amavis_t) + ') + + optional_policy(` +@@ -188,6 +197,10 @@ optional_policy(` + ') + + optional_policy(` ++ snmp_manage_var_lib_files(amavis_t) ++') ++ ++optional_policy(` + spamassassin_exec(amavis_t) + spamassassin_exec_client(amavis_t) + spamassassin_read_lib_files(amavis_t) diff --git a/amtu.te b/amtu.te index 057abb0..c75e9e9 100644 --- a/amtu.te @@ -10035,10 +10085,10 @@ index 0000000..b3a5b51 +/var/run/condor(/.*)? gen_context(system_u:object_r:condor_var_run_t,s0) diff --git a/condor.if b/condor.if new file mode 100644 -index 0000000..168f664 +index 0000000..e4ef32f --- /dev/null +++ b/condor.if -@@ -0,0 +1,327 @@ +@@ -0,0 +1,387 @@ + +## policy for condor + @@ -10091,6 +10141,66 @@ index 0000000..168f664 + corecmd_search_bin($1) + domtrans_pattern($1, condor_exec_t, condor_t) +') ++ ++####################################### ++## ++## Allows to start userland processes ++## by transitioning to the specified domain, ++## with a range transition. ++## ++## ++## ++## The process type entered by condor_startd. ++## ++## ++## ++## ++## The executable type for the entrypoint. ++## ++## ++## ++## ++## Range for the domain. ++## ++## ++# ++interface(`condor_startd_ranged_domtrans_to',` ++ gen_require(` ++ type sshd_t; ++ ') ++ condor_startd_domtrans_to($1, $2) ++ ++ ++ ifdef(`enable_mcs',` ++ range_transition condor_startd_t $2:process $3; ++ ') ++ ++') ++ ++####################################### ++## ++## Allows to start userlandprocesses ++## by transitioning to the specified domain. ++## ++## ++## ++## The process type entered by condor_startd. ++## ++## ++## ++## ++## The executable type for the entrypoint. ++## ++## ++# ++interface(`condor_startd_domtrans_to',` ++ gen_require(` ++ type condor_startd_t; ++ ') ++ ++ domtrans_pattern(condor_startd_t, $2, $1) ++') ++ +######################################## +## +## Read condor's log files. @@ -10368,10 +10478,10 @@ index 0000000..168f664 +') diff --git a/condor.te b/condor.te new file mode 100644 -index 0000000..40f65d5 +index 0000000..d39573f --- /dev/null +++ b/condor.te -@@ -0,0 +1,239 @@ +@@ -0,0 +1,241 @@ +policy_module(condor, 1.0.0) + +######################################## @@ -10587,6 +10697,8 @@ index 0000000..40f65d5 + +domain_read_all_domains_state(condor_startd_t) + ++mcs_process_set_categories(condor_startd_t) ++ +auth_use_nsswitch(condor_startd_t) + +init_domtrans_script(condor_startd_t) @@ -19318,7 +19430,7 @@ index ebad8c4..640293e 100644 ') - diff --git a/fprintd.te b/fprintd.te -index 7df52c7..5b9e374 100644 +index 7df52c7..1eb75fd 100644 --- a/fprintd.te +++ b/fprintd.te @@ -8,6 +8,7 @@ policy_module(fprintd, 1.1.0) @@ -19338,7 +19450,7 @@ index 7df52c7..5b9e374 100644 + allow fprintd_t self:fifo_file rw_fifo_file_perms; -allow fprintd_t self:process { getsched signal }; -+allow fprintd_t self:process { getsched setsched signal }; ++allow fprintd_t self:process { getsched setsched signal sigkill }; manage_dirs_pattern(fprintd_t, fprintd_var_lib_t, fprintd_var_lib_t) manage_files_pattern(fprintd_t, fprintd_var_lib_t, fprintd_var_lib_t) @@ -28415,7 +28527,7 @@ index a4f32f5..628b63c 100644 ## in the caller domain. ## diff --git a/lpd.te b/lpd.te -index a03b63a..bee4750 100644 +index a03b63a..ce66d05 100644 --- a/lpd.te +++ b/lpd.te @@ -45,14 +45,14 @@ userdom_user_tmp_file(lpr_tmp_t) @@ -28481,7 +28593,15 @@ index a03b63a..bee4750 100644 logging_send_syslog_msg(lpd_t) -@@ -256,7 +255,6 @@ domain_use_interactive_fds(lpr_t) +@@ -236,6 +235,7 @@ can_exec(lpr_t, lpr_exec_t) + # Allow lpd to read, rename, and unlink spool files. + allow lpd_t print_spool_t:file { read_file_perms rename_file_perms delete_file_perms }; + ++kernel_read_system_state(lpr_t) + kernel_read_kernel_sysctls(lpr_t) + + corenet_all_recvfrom_unlabeled(lpr_t) +@@ -256,7 +256,6 @@ domain_use_interactive_fds(lpr_t) files_search_spool(lpr_t) # for lpd config files (should have a new type) @@ -28489,7 +28609,7 @@ index a03b63a..bee4750 100644 # for test print files_read_usr_files(lpr_t) #Added to cover read_content macro -@@ -275,19 +273,21 @@ miscfiles_read_localization(lpr_t) +@@ -275,19 +274,21 @@ miscfiles_read_localization(lpr_t) userdom_read_user_tmp_symlinks(lpr_t) # Write to the user domain tty. @@ -28516,7 +28636,7 @@ index a03b63a..bee4750 100644 # Send SIGHUP to lpd. allow lpr_t lpd_t:process signal; -@@ -305,17 +305,7 @@ tunable_policy(`use_lpd_server',` +@@ -305,17 +306,7 @@ tunable_policy(`use_lpd_server',` read_lnk_files_pattern(lpr_t, printconf_t, printconf_t) ') @@ -28535,7 +28655,7 @@ index a03b63a..bee4750 100644 optional_policy(` cups_read_config(lpr_t) -@@ -324,5 +314,13 @@ optional_policy(` +@@ -324,5 +315,13 @@ optional_policy(` ') optional_policy(` @@ -30671,7 +30791,7 @@ index 3a73e74..60e7237 100644 +/usr/lib/nspluginwrapper/plugin-config -- gen_context(system_u:object_r:mozilla_plugin_config_exec_t,s0) +') diff --git a/mozilla.if b/mozilla.if -index b397fde..30bfefb 100644 +index b397fde..25a03ce 100644 --- a/mozilla.if +++ b/mozilla.if @@ -18,10 +18,11 @@ @@ -30819,7 +30939,7 @@ index b397fde..30bfefb 100644 ## ## ## -@@ -275,28 +359,98 @@ interface(`mozilla_rw_tcp_sockets',` +@@ -275,28 +359,100 @@ interface(`mozilla_rw_tcp_sockets',` ## ## # @@ -30923,6 +31043,8 @@ index b397fde..30bfefb 100644 + userdom_user_home_dir_filetrans($1, mozilla_home_t, dir, ".gcjwebplugin") + userdom_user_home_dir_filetrans($1, mozilla_home_t, dir, ".icedteaplugin") + userdom_user_home_dir_filetrans($1, mozilla_home_t, dir, ".spicec") ++ userdom_user_home_dir_filetrans($1, mozilla_home_t, dir, ".ICAClient") ++ userdom_user_home_dir_filetrans($1, mozilla_home_t, dir, "zimbrauserdata") +') + diff --git a/mozilla.te b/mozilla.te @@ -34811,10 +34933,17 @@ index 632a565..cd0e015 100644 +/usr/lib/systemd/system/yppasswdd.* -- gen_context(system_u:object_r:nis_unit_file_t,s0) +/usr/lib/systemd/system/ypxfrd.* -- gen_context(system_u:object_r:nis_unit_file_t,s0) diff --git a/nis.if b/nis.if -index abe3f7f..8c0b6f9 100644 +index abe3f7f..026e1e6 100644 --- a/nis.if +++ b/nis.if -@@ -34,7 +34,7 @@ interface(`nis_use_ypbind_uncond',` +@@ -27,14 +27,11 @@ interface(`nis_use_ypbind_uncond',` + gen_require(` + type var_yp_t; + ') +- +- allow $1 self:capability net_bind_service; +- + allow $1 self:tcp_socket create_stream_socket_perms; allow $1 self:udp_socket create_socket_perms; allow $1 var_yp_t:dir list_dir_perms; @@ -34823,7 +34952,7 @@ index abe3f7f..8c0b6f9 100644 allow $1 var_yp_t:file read_file_perms; corenet_all_recvfrom_unlabeled($1) -@@ -49,14 +49,13 @@ interface(`nis_use_ypbind_uncond',` +@@ -49,14 +46,13 @@ interface(`nis_use_ypbind_uncond',` corenet_udp_bind_generic_node($1) corenet_tcp_bind_generic_port($1) corenet_udp_bind_generic_port($1) @@ -34841,7 +34970,7 @@ index abe3f7f..8c0b6f9 100644 corenet_sendrecv_portmap_client_packets($1) corenet_sendrecv_generic_client_packets($1) corenet_sendrecv_generic_server_packets($1) -@@ -88,7 +87,7 @@ interface(`nis_use_ypbind_uncond',` +@@ -88,7 +84,7 @@ interface(`nis_use_ypbind_uncond',` ## # interface(`nis_use_ypbind',` @@ -34850,7 +34979,7 @@ index abe3f7f..8c0b6f9 100644 nis_use_ypbind_uncond($1) ') ') -@@ -105,7 +104,7 @@ interface(`nis_use_ypbind',` +@@ -105,7 +101,7 @@ interface(`nis_use_ypbind',` ## # interface(`nis_authenticate',` @@ -34859,7 +34988,7 @@ index abe3f7f..8c0b6f9 100644 nis_use_ypbind_uncond($1) corenet_tcp_bind_all_rpc_ports($1) corenet_udp_bind_all_rpc_ports($1) -@@ -337,6 +336,55 @@ interface(`nis_initrc_domtrans_ypbind',` +@@ -337,6 +333,55 @@ interface(`nis_initrc_domtrans_ypbind',` ######################################## ## @@ -34915,7 +35044,7 @@ index abe3f7f..8c0b6f9 100644 ## All of the rules required to administrate ## an nis environment ## -@@ -354,22 +402,31 @@ interface(`nis_initrc_domtrans_ypbind',` +@@ -354,22 +399,31 @@ interface(`nis_initrc_domtrans_ypbind',` # interface(`nis_admin',` gen_require(` @@ -34954,7 +35083,7 @@ index abe3f7f..8c0b6f9 100644 ps_process_pattern($1, ypxfr_t) nis_initrc_domtrans($1) -@@ -379,18 +436,24 @@ interface(`nis_admin',` +@@ -379,18 +433,24 @@ interface(`nis_admin',` role_transition $2 ypbind_initrc_exec_t system_r; allow $2 system_r; @@ -42952,6 +43081,35 @@ index d4000e0..f35afa4 100644 mta_send_mail(psad_t) mta_read_queue(psad_t) ') +diff --git a/ptchown.if b/ptchown.if +index 96cc023..5919bbd 100644 +--- a/ptchown.if ++++ b/ptchown.if +@@ -18,6 +18,24 @@ interface(`ptchown_domtrans',` + domtrans_pattern($1, ptchown_exec_t, ptchown_t) + ') + ++####################################### ++## ++## Execute ptchown in the caller domain. ++## ++## ++## ++## Domain allowed to transition. ++## ++## ++# ++interface(`ptchown_exec',` ++ gen_require(` ++ type ptchown_exec_t; ++ ') ++ ++ can_exec($1, ptchown_exec_t) ++') ++ + ######################################## + ## + ## Execute ptchown in the ptchown domain, and diff --git a/pulseaudio.fc b/pulseaudio.fc index 84f23dc..5be2738 100644 --- a/pulseaudio.fc @@ -46351,6 +46509,87 @@ index b4ac57e..ef944a4 100644 logging_send_syslog_msg(readahead_t) logging_set_audit_parameters(readahead_t) +diff --git a/realmd.fc b/realmd.fc +new file mode 100644 +index 0000000..3c24ce4 +--- /dev/null ++++ b/realmd.fc +@@ -0,0 +1 @@ ++/usr/lib/realmd/realmd -- gen_context(system_u:object_r:realmd_exec_t,s0) +diff --git a/realmd.if b/realmd.if +new file mode 100644 +index 0000000..48ea717 +--- /dev/null ++++ b/realmd.if +@@ -0,0 +1,21 @@ ++ ++## dbus system service which manages discovery and enrollment in realms and domains like Active Directory or IPA ++ ++######################################## ++## ++## Execute realmd in the realmd_t domain. ++## ++## ++## ++## Domain allowed to transition. ++## ++## ++# ++interface(`realmd_domtrans',` ++ gen_require(` ++ type realmd_t, realmd_exec_t; ++ ') ++ ++ corecmd_search_bin($1) ++ domtrans_pattern($1, realmd_exec_t, realmd_t) ++') +diff --git a/realmd.te b/realmd.te +new file mode 100644 +index 0000000..158fd63 +--- /dev/null ++++ b/realmd.te +@@ -0,0 +1,41 @@ ++policy_module(realmd, 1.0.0) ++ ++######################################## ++# ++# Declarations ++# ++ ++type realmd_t; ++type realmd_exec_t; ++dbus_system_domain(realmd_t, realmd_exec_t) ++ ++ ++######################################## ++# ++# realmd local policy ++# ++ ++allow realmd_t self:capability { kill }; ++ ++domain_use_interactive_fds(realmd_t) ++ ++files_read_etc_files(realmd_t) ++ ++logging_send_syslog_msg(realmd_t) ++ ++miscfiles_read_localization(realmd_t) ++ ++optional_policy(` ++ kerberos_use(realmd_t) ++') ++ ++optional_policy(` ++ samba_domtrans_net(realmd_t) ++ samba_read_config(realmd_t) ++') ++ ++optional_policy(` ++ sssd_read_config(realmd_t) ++ sssd_write_config(realmd_t) ++ sssd_create_config(realmd_t) ++') diff --git a/remotelogin.te b/remotelogin.te index 0a76027..a3bc03a 100644 --- a/remotelogin.te @@ -54183,7 +54422,7 @@ index c954f31..82fc7f6 100644 + admin_pattern($1, spamd_var_run_t) ') diff --git a/spamassassin.te b/spamassassin.te -index 1bbf73b..2269290 100644 +index 1bbf73b..bf120b4 100644 --- a/spamassassin.te +++ b/spamassassin.te @@ -6,52 +6,41 @@ policy_module(spamassassin, 2.5.0) @@ -54420,7 +54659,7 @@ index 1bbf73b..2269290 100644 ') ######################################## -@@ -202,15 +268,32 @@ allow spamc_t self:unix_stream_socket connectto; +@@ -202,15 +268,36 @@ allow spamc_t self:unix_stream_socket connectto; allow spamc_t self:tcp_socket create_stream_socket_perms; allow spamc_t self:udp_socket create_socket_perms; @@ -54437,6 +54676,9 @@ index 1bbf73b..2269290 100644 +manage_sock_files_pattern(spamc_t, spamc_home_t, spamc_home_t) +userdom_user_home_dir_filetrans(spamc_t, spamc_home_t, { dir file lnk_file sock_file fifo_file }) +userdom_append_user_home_content_files(spamc_t) ++# for /root/.pyzor ++allow spamc_t self:capability dac_override; ++userdom_admin_home_dir_filetrans(spamc_t, spamc_home_t , dir, ".pyzor") + +list_dirs_pattern(spamc_t, spamd_var_lib_t, spamd_var_lib_t) +read_files_pattern(spamc_t, spamd_var_lib_t, spamd_var_lib_t) @@ -54445,6 +54687,7 @@ index 1bbf73b..2269290 100644 allow spamc_t spamd_t:unix_stream_socket connectto; allow spamc_t spamd_tmp_t:sock_file rw_sock_file_perms; +spamd_stream_connect(spamc_t) ++allow spamc_t spamd_tmp_t:file read_inherited_file_perms; kernel_read_kernel_sysctls(spamc_t) +kernel_read_system_state(spamc_t) @@ -54453,7 +54696,7 @@ index 1bbf73b..2269290 100644 corenet_all_recvfrom_unlabeled(spamc_t) corenet_all_recvfrom_netlabel(spamc_t) -@@ -222,6 +305,7 @@ corenet_tcp_sendrecv_all_ports(spamc_t) +@@ -222,6 +309,7 @@ corenet_tcp_sendrecv_all_ports(spamc_t) corenet_udp_sendrecv_all_ports(spamc_t) corenet_tcp_connect_all_ports(spamc_t) corenet_sendrecv_all_client_packets(spamc_t) @@ -54461,7 +54704,7 @@ index 1bbf73b..2269290 100644 fs_search_auto_mountpoints(spamc_t) -@@ -234,15 +318,19 @@ corecmd_read_bin_sockets(spamc_t) +@@ -234,15 +322,19 @@ corecmd_read_bin_sockets(spamc_t) domain_use_interactive_fds(spamc_t) @@ -54482,7 +54725,7 @@ index 1bbf73b..2269290 100644 miscfiles_read_localization(spamc_t) # cjp: this should probably be removed: -@@ -250,27 +338,35 @@ seutil_read_config(spamc_t) +@@ -250,27 +342,35 @@ seutil_read_config(spamc_t) sysnet_read_config(spamc_t) @@ -54524,7 +54767,7 @@ index 1bbf73b..2269290 100644 ') ######################################## -@@ -282,7 +378,7 @@ optional_policy(` +@@ -282,7 +382,7 @@ optional_policy(` # setuids to the user running spamc. Comment this if you are not # using this ability. @@ -54533,7 +54776,7 @@ index 1bbf73b..2269290 100644 dontaudit spamd_t self:capability sys_tty_config; allow spamd_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow spamd_t self:fd use; -@@ -298,10 +394,17 @@ allow spamd_t self:unix_dgram_socket sendto; +@@ -298,10 +398,17 @@ allow spamd_t self:unix_dgram_socket sendto; allow spamd_t self:unix_stream_socket connectto; allow spamd_t self:tcp_socket create_stream_socket_perms; allow spamd_t self:udp_socket create_socket_perms; @@ -54552,7 +54795,7 @@ index 1bbf73b..2269290 100644 files_spool_filetrans(spamd_t, spamd_spool_t, { file dir }) manage_dirs_pattern(spamd_t, spamd_tmp_t, spamd_tmp_t) -@@ -310,11 +413,15 @@ files_tmp_filetrans(spamd_t, spamd_tmp_t, { file dir }) +@@ -310,11 +417,15 @@ files_tmp_filetrans(spamd_t, spamd_tmp_t, { file dir }) # var/lib files for spamd allow spamd_t spamd_var_lib_t:dir list_dir_perms; @@ -54570,7 +54813,7 @@ index 1bbf73b..2269290 100644 kernel_read_all_sysctls(spamd_t) kernel_read_system_state(spamd_t) -@@ -356,30 +463,29 @@ corecmd_exec_bin(spamd_t) +@@ -356,30 +467,29 @@ corecmd_exec_bin(spamd_t) domain_use_interactive_fds(spamd_t) files_read_usr_files(spamd_t) @@ -54609,7 +54852,7 @@ index 1bbf73b..2269290 100644 ') optional_policy(` -@@ -395,7 +501,9 @@ optional_policy(` +@@ -395,7 +505,9 @@ optional_policy(` ') optional_policy(` @@ -54619,7 +54862,7 @@ index 1bbf73b..2269290 100644 dcc_stream_connect_dccifd(spamd_t) ') -@@ -404,25 +512,17 @@ optional_policy(` +@@ -404,25 +516,17 @@ optional_policy(` ') optional_policy(` @@ -54647,7 +54890,7 @@ index 1bbf73b..2269290 100644 postgresql_stream_connect(spamd_t) ') -@@ -433,6 +533,10 @@ optional_policy(` +@@ -433,6 +537,10 @@ optional_policy(` optional_policy(` razor_domtrans(spamd_t) @@ -54658,7 +54901,7 @@ index 1bbf73b..2269290 100644 ') optional_policy(` -@@ -440,6 +544,7 @@ optional_policy(` +@@ -440,6 +548,7 @@ optional_policy(` ') optional_policy(` @@ -54666,7 +54909,7 @@ index 1bbf73b..2269290 100644 sendmail_stub(spamd_t) mta_read_config(spamd_t) ') -@@ -447,3 +552,50 @@ optional_policy(` +@@ -447,3 +556,50 @@ optional_policy(` optional_policy(` udev_read_db(spamd_t) ') @@ -54839,10 +55082,15 @@ index d24bd07..624dd50 100644 + kerberos_tmp_filetrans_host_rcache(squid_t, "host_0") +') diff --git a/sssd.fc b/sssd.fc -index 4271815..4bc00ea 100644 +index 4271815..fb5520f 100644 --- a/sssd.fc +++ b/sssd.fc -@@ -4,6 +4,8 @@ +@@ -1,9 +1,13 @@ + /etc/rc\.d/init\.d/sssd -- gen_context(system_u:object_r:sssd_initrc_exec_t,s0) + ++/etc/sssd(/.*)? gen_context(system_u:object_r:sssd_conf_t,s0) ++ + /usr/sbin/sssd -- gen_context(system_u:object_r:sssd_exec_t,s0) /var/lib/sss(/.*)? gen_context(system_u:object_r:sssd_var_lib_t,s0) @@ -54852,7 +55100,7 @@ index 4271815..4bc00ea 100644 /var/log/sssd(/.*)? gen_context(system_u:object_r:sssd_var_log_t,s0) diff --git a/sssd.if b/sssd.if -index 941380a..e1095f0 100644 +index 941380a..ff89df6 100644 --- a/sssd.if +++ b/sssd.if @@ -5,9 +5,9 @@ @@ -54867,7 +55115,71 @@ index 941380a..e1095f0 100644 ## # interface(`sssd_domtrans',` -@@ -89,6 +89,7 @@ interface(`sssd_manage_pids',` +@@ -36,6 +36,63 @@ interface(`sssd_initrc_domtrans',` + init_labeled_script_domtrans($1, sssd_initrc_exec_t) + ') + ++####################################### ++## ++## Read sssd configuration. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`sssd_read_config',` ++ gen_require(` ++ type sssd_conf_t; ++ ') ++ ++ files_search_etc($1) ++ read_files_pattern($1, sssd_conf_t, sssd_conf_t) ++') ++ ++###################################### ++## ++## Write sssd configuration. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`sssd_write_config',` ++ gen_require(` ++ type sssd_conf_t; ++ ') ++ ++ files_search_etc($1) ++ write_files_pattern($1, sssd_conf_t, sssd_conf_t) ++') ++ ++##################################### ++## ++## Write sssd configuration. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`sssd_create_config',` ++ gen_require(` ++ type sssd_conf_t; ++ ') ++ ++ files_search_etc($1) ++ create_files_pattern($1, sssd_conf_t, sssd_conf_t) ++') ++ + ######################################## + ## + ## Read sssd public files. +@@ -89,6 +146,7 @@ interface(`sssd_manage_pids',` type sssd_var_run_t; ') @@ -54875,7 +55187,7 @@ index 941380a..e1095f0 100644 manage_dirs_pattern($1, sssd_var_run_t, sssd_var_run_t) manage_files_pattern($1, sssd_var_run_t, sssd_var_run_t) ') -@@ -128,7 +129,6 @@ interface(`sssd_dontaudit_search_lib',` +@@ -128,7 +186,6 @@ interface(`sssd_dontaudit_search_lib',` ') dontaudit $1 sssd_var_lib_t:dir search_dir_perms; @@ -54883,7 +55195,7 @@ index 941380a..e1095f0 100644 ') ######################################## -@@ -148,6 +148,7 @@ interface(`sssd_read_lib_files',` +@@ -148,6 +205,7 @@ interface(`sssd_read_lib_files',` files_search_var_lib($1) read_files_pattern($1, sssd_var_lib_t, sssd_var_lib_t) @@ -54891,7 +55203,7 @@ index 941380a..e1095f0 100644 ') ######################################## -@@ -168,6 +169,7 @@ interface(`sssd_manage_lib_files',` +@@ -168,6 +226,7 @@ interface(`sssd_manage_lib_files',` files_search_var_lib($1) manage_files_pattern($1, sssd_var_lib_t, sssd_var_lib_t) @@ -54899,7 +55211,7 @@ index 941380a..e1095f0 100644 ') ######################################## -@@ -193,7 +195,7 @@ interface(`sssd_dbus_chat',` +@@ -193,7 +252,7 @@ interface(`sssd_dbus_chat',` ######################################## ## @@ -54908,7 +55220,7 @@ index 941380a..e1095f0 100644 ## ## ## -@@ -225,21 +227,18 @@ interface(`sssd_stream_connect',` +@@ -225,21 +284,18 @@ interface(`sssd_stream_connect',` ## The role to be allowed to manage the sssd domain. ## ## @@ -54937,10 +55249,18 @@ index 941380a..e1095f0 100644 # Allow sssd_t to restart the apache service sssd_initrc_domtrans($1) diff --git a/sssd.te b/sssd.te -index 8ffa257..20d8944 100644 +index 8ffa257..706c52b 100644 --- a/sssd.te +++ b/sssd.te -@@ -17,6 +17,7 @@ files_pid_file(sssd_public_t) +@@ -12,11 +12,15 @@ init_daemon_domain(sssd_t, sssd_exec_t) + type sssd_initrc_exec_t; + init_script_file(sssd_initrc_exec_t) + ++type sssd_conf_t; ++files_config_file(sssd_conf_t) ++ + type sssd_public_t; + files_pid_file(sssd_public_t) type sssd_var_lib_t; files_type(sssd_var_lib_t) @@ -54948,7 +55268,7 @@ index 8ffa257..20d8944 100644 type sssd_var_log_t; logging_log_file(sssd_var_log_t) -@@ -28,9 +29,11 @@ files_pid_file(sssd_var_run_t) +@@ -28,18 +32,23 @@ files_pid_file(sssd_var_run_t) # # sssd local policy # @@ -54962,8 +55282,10 @@ index 8ffa257..20d8944 100644 +allow sssd_t self:key manage_key_perms; allow sssd_t self:unix_stream_socket { create_stream_socket_perms connectto }; ++read_files_pattern(sssd_t, sssd_conf_t, sssd_conf_t) ++ manage_dirs_pattern(sssd_t, sssd_public_t, sssd_public_t) -@@ -38,8 +41,9 @@ manage_files_pattern(sssd_t, sssd_public_t, sssd_public_t) + manage_files_pattern(sssd_t, sssd_public_t, sssd_public_t) manage_dirs_pattern(sssd_t, sssd_var_lib_t, sssd_var_lib_t) manage_files_pattern(sssd_t, sssd_var_lib_t, sssd_var_lib_t) @@ -54974,7 +55296,7 @@ index 8ffa257..20d8944 100644 manage_files_pattern(sssd_t, sssd_var_log_t, sssd_var_log_t) logging_log_filetrans(sssd_t, sssd_var_log_t, file) -@@ -48,18 +52,25 @@ manage_dirs_pattern(sssd_t, sssd_var_run_t, sssd_var_run_t) +@@ -48,18 +57,25 @@ manage_dirs_pattern(sssd_t, sssd_var_run_t, sssd_var_run_t) manage_files_pattern(sssd_t, sssd_var_run_t, sssd_var_run_t) files_pid_filetrans(sssd_t, sssd_var_run_t, { file dir }) @@ -55000,7 +55322,7 @@ index 8ffa257..20d8944 100644 fs_list_inotifyfs(sssd_t) -@@ -68,10 +79,14 @@ selinux_validate_context(sssd_t) +@@ -68,10 +84,14 @@ selinux_validate_context(sssd_t) seutil_read_file_contexts(sssd_t) mls_file_read_to_clearance(sssd_t) @@ -55016,7 +55338,7 @@ index 8ffa257..20d8944 100644 init_read_utmp(sssd_t) -@@ -79,6 +94,12 @@ logging_send_syslog_msg(sssd_t) +@@ -79,6 +99,12 @@ logging_send_syslog_msg(sssd_t) logging_send_audit_msgs(sssd_t) miscfiles_read_localization(sssd_t) @@ -55029,7 +55351,7 @@ index 8ffa257..20d8944 100644 optional_policy(` dbus_system_bus_client(sssd_t) -@@ -87,4 +108,19 @@ optional_policy(` +@@ -87,4 +113,19 @@ optional_policy(` optional_policy(` kerberos_manage_host_rcache(sssd_t) @@ -55039,16 +55361,296 @@ index 8ffa257..20d8944 100644 + +optional_policy(` + dirsrv_stream_connect(sssd_t) - ') ++') + +optional_policy(` + ldap_stream_connect(sssd_t) -+') + ') + +userdom_home_reader(sssd_t) + + + +diff --git a/stapserver.fc b/stapserver.fc +new file mode 100644 +index 0000000..0ccce59 +--- /dev/null ++++ b/stapserver.fc +@@ -0,0 +1,7 @@ ++/usr/bin/stap-server -- gen_context(system_u:object_r:stapserver_exec_t,s0) ++ ++/var/lib/stap-server(/.*)? gen_context(system_u:object_r:stapserver_var_lib_t,s0) ++ ++/var/log/stap-server(/.*)? gen_context(system_u:object_r:stapserver_log_t,s0) ++ ++/var/run/stap-server(/.*)? gen_context(system_u:object_r:stapserver_var_run_t,s0) +diff --git a/stapserver.if b/stapserver.if +new file mode 100644 +index 0000000..89b20d3 +--- /dev/null ++++ b/stapserver.if +@@ -0,0 +1,156 @@ ++ ++## Instrumentation System Server ++ ++######################################## ++## ++## Execute stapserver in the stapserver domain. ++## ++## ++## ++## Domain allowed to transition. ++## ++## ++# ++interface(`stapserver_domtrans',` ++ gen_require(` ++ type stapserver_t, stapserver_exec_t; ++ ') ++ ++ corecmd_search_bin($1) ++ domtrans_pattern($1, stapserver_exec_t, stapserver_t) ++') ++######################################## ++## ++## Read stapserver's log files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++## ++# ++interface(`stapserver_read_log',` ++ gen_require(` ++ type stapserver_log_t; ++ ') ++ ++ logging_search_logs($1) ++ read_files_pattern($1, stapserver_log_t, stapserver_log_t) ++') ++ ++######################################## ++## ++## Append to stapserver log files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`stapserver_append_log',` ++ gen_require(` ++ type stapserver_log_t; ++ ') ++ ++ logging_search_logs($1) ++ append_files_pattern($1, stapserver_log_t, stapserver_log_t) ++') ++ ++######################################## ++## ++## Manage stapserver log files ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`stapserver_manage_log',` ++ gen_require(` ++ type stapserver_log_t; ++ ') ++ ++ logging_search_logs($1) ++ manage_dirs_pattern($1, stapserver_log_t, stapserver_log_t) ++ manage_files_pattern($1, stapserver_log_t, stapserver_log_t) ++ manage_lnk_files_pattern($1, stapserver_log_t, stapserver_log_t) ++') ++######################################## ++## ++## Read stapserver PID files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`stapserver_read_pid_files',` ++ gen_require(` ++ type stapserver_var_run_t; ++ ') ++ ++ files_search_pids($1) ++ allow $1 stapserver_var_run_t:file read_file_perms; ++') ++ ++####################################### ++## ++## Manage stapserver lib files ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`stapserver_manage_lib',` ++ gen_require(` ++ type stapserver_var_lib_t; ++ ') ++ ++ manage_dirs_pattern($1, stapserver_var_lib_t, stapserver_var_lib_t) ++ manage_files_pattern($1, stapserver_var_lib_t, stapserver_var_lib_t) ++') ++ ++######################################## ++## ++## All of the rules required to administrate ++## an stapserver environment ++## ++## ++## ++## Domain allowed access. ++## ++## ++## ++## ++## Role allowed access. ++## ++## ++## ++# ++interface(`stapserver_admin',` ++ gen_require(` ++ type stapserver_t; ++ type stapserver_log_t; ++ type stapserver_var_run_t; ++ ') ++ ++ allow $1 stapserver_t:process { ptrace signal_perms }; ++ ps_process_pattern($1, stapserver_t) ++ ++ logging_search_logs($1) ++ admin_pattern($1, stapserver_log_t) ++ ++ files_search_pids($1) ++ admin_pattern($1, stapserver_var_run_t) ++ ++ optional_policy(` ++ systemd_passwd_agent_exec($1) ++ systemd_read_fifo_file_passwd_run($1) ++ ') ++') +diff --git a/stapserver.te b/stapserver.te +new file mode 100644 +index 0000000..fa12095 +--- /dev/null ++++ b/stapserver.te +@@ -0,0 +1,99 @@ ++policy_module(stapserver, 1.0.0) ++ ++######################################## ++# ++# Declarations ++# ++ ++type stapserver_t; ++type stapserver_exec_t; ++init_daemon_domain(stapserver_t, stapserver_exec_t) ++ ++type stapserver_var_lib_t; ++files_type(stapserver_var_lib_t) ++ ++type stapserver_log_t; ++logging_log_file(stapserver_log_t) ++ ++type stapserver_var_run_t; ++files_pid_file(stapserver_var_run_t) ++ ++######################################## ++# ++# stapserver local policy ++# ++ ++#runuser ++allow stapserver_t self:capability { setuid setgid }; ++allow stapserver_t self:process setsched; ++ ++allow stapserver_t self:capability { dac_override kill }; ++allow stapserver_t self:process { setrlimit signal }; ++ ++allow stapserver_t self:fifo_file rw_fifo_file_perms; ++allow stapserver_t self:key write; ++allow stapserver_t self:unix_stream_socket create_stream_socket_perms; ++allow stapserver_t self:tcp_socket { accept listen }; ++ ++manage_dirs_pattern(stapserver_t, stapserver_var_lib_t, stapserver_var_lib_t) ++manage_files_pattern(stapserver_t, stapserver_var_lib_t, stapserver_var_lib_t) ++files_var_lib_filetrans(stapserver_t, stapserver_var_lib_t, dir) ++ ++manage_dirs_pattern(stapserver_t, stapserver_log_t, stapserver_log_t) ++manage_files_pattern(stapserver_t, stapserver_log_t, stapserver_log_t) ++logging_log_filetrans(stapserver_t, stapserver_log_t, dir ) ++ ++manage_dirs_pattern(stapserver_t, stapserver_var_run_t, stapserver_var_run_t) ++manage_files_pattern(stapserver_t, stapserver_var_run_t, stapserver_var_run_t) ++files_pid_filetrans(stapserver_t, stapserver_var_run_t, dir ) ++ ++kernel_read_system_state(stapserver_t) ++kernel_read_kernel_sysctls(stapserver_t) ++ ++corecmd_exec_bin(stapserver_t) ++corecmd_exec_shell(stapserver_t) ++ ++domain_read_all_domains_state(stapserver_t) ++domain_use_interactive_fds(stapserver_t) ++ ++dev_read_sysfs(stapserver_t) ++dev_read_rand(stapserver_t) ++dev_read_urand(stapserver_t) ++ ++files_list_tmp(stapserver_t) ++files_read_usr_files(stapserver_t) ++files_search_kernel_modules(stapserver_t) ++ ++auth_use_nsswitch(stapserver_t) ++ ++init_read_utmp(stapserver_t) ++ ++logging_send_audit_msgs(stapserver_t) ++logging_send_syslog_msg(stapserver_t) ++ ++miscfiles_read_localization(stapserver_t) ++#lspci ++miscfiles_read_hwdata(stapserver_t) ++ ++userdom_use_user_terminals(stapserver_t) ++ ++optional_policy(` ++ consoletype_exec(stapserver_t) ++') ++ ++optional_policy(` ++ dbus_system_bus_client(stapserver_t) ++') ++ ++optional_policy(` ++ hostname_exec(stapserver_t) ++') ++ ++optional_policy(` ++ plymouthd_exec_plymouth(stapserver_t) ++') ++ ++optional_policy(` ++ rpm_exec(stapserver_t) ++') ++ diff --git a/stunnel.te b/stunnel.te index f646c66..6fef759 100644 --- a/stunnel.te @@ -61234,7 +61836,7 @@ index 77d41b6..cc73c96 100644 files_search_pids($1) diff --git a/xen.te b/xen.te -index d995c70..17e2d43 100644 +index d995c70..da9a6e1 100644 --- a/xen.te +++ b/xen.te @@ -4,6 +4,7 @@ policy_module(xen, 1.11.1) @@ -61316,12 +61918,23 @@ index d995c70..17e2d43 100644 files_read_etc_files(xend_t) files_read_kernel_symbol_table(xend_t) -@@ -320,13 +326,9 @@ locallogin_dontaudit_use_fds(xend_t) +@@ -309,7 +315,9 @@ files_etc_filetrans_etc_runtime(xend_t, file) + files_read_usr_files(xend_t) + files_read_default_symlinks(xend_t) + ++term_setattr_generic_ptys(xend_t) + term_getattr_all_ptys(xend_t) ++term_setattr_all_ptys(xend_t) + term_use_generic_ptys(xend_t) + term_use_ptmx(xend_t) + term_getattr_pty_fs(xend_t) +@@ -320,13 +328,11 @@ locallogin_dontaudit_use_fds(xend_t) logging_send_syslog_msg(xend_t) -lvm_domtrans(xend_t) -- ++auth_read_passwd(xend_t) + miscfiles_read_localization(xend_t) miscfiles_read_hwdata(xend_t) @@ -61330,7 +61943,7 @@ index d995c70..17e2d43 100644 sysnet_domtrans_dhcpc(xend_t) sysnet_signal_dhcpc(xend_t) sysnet_domtrans_ifconfig(xend_t) -@@ -339,8 +341,6 @@ userdom_dontaudit_search_user_home_dirs(xend_t) +@@ -339,8 +345,6 @@ userdom_dontaudit_search_user_home_dirs(xend_t) xen_stream_connect_xenstore(xend_t) @@ -61339,7 +61952,7 @@ index d995c70..17e2d43 100644 optional_policy(` brctl_domtrans(xend_t) ') -@@ -349,6 +349,23 @@ optional_policy(` +@@ -349,6 +353,27 @@ optional_policy(` consoletype_exec(xend_t) ') @@ -61356,6 +61969,10 @@ index d995c70..17e2d43 100644 +') + +optional_policy(` ++ ptchown_exec(xend_t) ++') ++ ++optional_policy(` + virt_search_images(xend_t) + virt_read_config(xend_t) +') @@ -61363,7 +61980,7 @@ index d995c70..17e2d43 100644 ######################################## # # Xen console local policy -@@ -374,8 +391,6 @@ dev_rw_xen(xenconsoled_t) +@@ -374,8 +399,6 @@ dev_rw_xen(xenconsoled_t) dev_filetrans_xen(xenconsoled_t) dev_rw_sysfs(xenconsoled_t) @@ -61372,7 +61989,7 @@ index d995c70..17e2d43 100644 files_read_etc_files(xenconsoled_t) files_read_usr_files(xenconsoled_t) -@@ -413,9 +428,10 @@ manage_dirs_pattern(xenstored_t, xenstored_tmp_t, xenstored_tmp_t) +@@ -413,9 +436,10 @@ manage_dirs_pattern(xenstored_t, xenstored_tmp_t, xenstored_tmp_t) files_tmp_filetrans(xenstored_t, xenstored_tmp_t, { file dir }) # pid file @@ -61384,7 +62001,7 @@ index d995c70..17e2d43 100644 # log files manage_dirs_pattern(xenstored_t, xenstored_var_log_t, xenstored_var_log_t) -@@ -442,9 +458,11 @@ files_read_etc_files(xenstored_t) +@@ -442,9 +466,11 @@ files_read_etc_files(xenstored_t) files_read_usr_files(xenstored_t) @@ -61396,7 +62013,7 @@ index d995c70..17e2d43 100644 init_use_fds(xenstored_t) init_use_script_ptys(xenstored_t) -@@ -457,96 +475,9 @@ xen_append_log(xenstored_t) +@@ -457,96 +483,9 @@ xen_append_log(xenstored_t) ######################################## # @@ -61493,7 +62110,7 @@ index d995c70..17e2d43 100644 #Should have a boolean wrapping these fs_list_auto_mountpoints(xend_t) files_search_mnt(xend_t) -@@ -559,8 +490,4 @@ optional_policy(` +@@ -559,8 +498,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 9689a363..16e2d0f7 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -19,7 +19,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 3.11.0 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -491,6 +491,28 @@ SELinux Reference policy mls base module. %endif %changelog +* Mon Jul 16 2012 Miroslav Grepl 3.11.0-10 +- Add realmd and stapserver policies +- Allow useradd to manage stap-server lib files +- Tighten up capabilities for confined users +- Label /etc/security/opasswd as shadow_t +- Add label for /dev/ecryptfs +- Allow condor_startd_t to start sshd with the ranged +- Allow lpstat.cups to read fips_enabled file +- Allow pyzor running as spamc_t to create /root/.pyzor directory +- Add labelinf for amavisd-snmp init script +- Add support for amavisd-snmp +- Allow fprintd sigkill self +- Allow xend (w/o libvirt) to start virtual machines +- Allow aiccu to read /etc/passwd +- Allow condor_startd to Make specified domain MCS trusted for setting any category set for the processes it executes +- Add condor_startd_ranged_domtrans_to() interface +- Add ssd_conf_t for /etc/sssd +- accountsd needs to fchown some files/directories +- Add ICACLient and zibrauserdata as mozilla_filetrans_home_content +- SELinux reports afs_t needs dac_override to read /etc/mtab, even though everything works, adding dontaudit +- Allow xend_t to read the /etc/passwd file + * Wed Jul 11 2012 Miroslav Grepl 3.11.0-9 - Until we figure out how to fix systemd issues, allow all apps that send syslog messages to send them to kernel_t - Add init_access_check() interface