From 062b36f481c5fb6d6338438b74fba3e11e6adadb Mon Sep 17 00:00:00 2001
From: Lukas Vrabec
Date: Nov 07 2014 21:58:35 +0000
Subject: * Fri Nov 07 2014 Lukas Vrabec 3.13.1-91
- Added interface userdom_dontaudit_manage_user_home_dirs
- Fix unconfined_server_dbus_chat() interface.
- Add unconfined_server_dbus_chat() inteface.
- Allow login domains to create kernel keyring with different level.
- Dontaudit policykit_auth_t to write to user home dirs. BZ (1157256)
- Make tuned as unconfined domain.
- Added support for linuxptp policy. BZ(1149693)
- make zoneminder as dbus client by default.
- Allow bluetooth read/write uhid devices. BZ (1161169)
- Add fixes for hypervkvp daemon
- Allow guest to connect to libvirt using unix_stream_socket.
- Allow all bus client domains to dbus chat with unconfined_service_t.
- Allow inetd service without own policy to run in inetd_child_t which is unconfined domain.
- Make opensm as nsswitch domain to make it working with sssd.
- Allow brctl to read meminfo.
- Allow winbind-helper to execute ntlm_auth in the caller domain.
- Make plymouthd as nsswitch domain to make it working with sssd.
- Make drbd as nsswitch domain to make it working with sssd.
- Make conman as nsswitch domain to make ipmitool.exp runing as conman_t working.
- Add support for /var/lib/sntp directory.
---
diff --git a/policy-rawhide-base.patch b/policy-rawhide-base.patch
index fcb5143..59592da 100644
--- a/policy-rawhide-base.patch
+++ b/policy-rawhide-base.patch
@@ -6065,7 +6065,7 @@ index b31c054..872ff1b 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 76f285e..d36451a 100644
+index 76f285e..0e6161d 100644
--- a/policy/modules/kernel/devices.if
+++ b/policy/modules/kernel/devices.if
@@ -143,13 +143,32 @@ interface(`dev_relabel_all_dev_nodes',`
@@ -6566,7 +6566,7 @@ index 76f285e..d36451a 100644
##
##
##
-@@ -2043,7 +2285,101 @@ interface(`dev_getattr_framebuffer_dev',`
+@@ -2043,7 +2285,99 @@ interface(`dev_getattr_framebuffer_dev',`
##
##
#
@@ -6635,8 +6635,6 @@ index 76f285e..d36451a 100644
+ rw_blk_files_pattern($1, device_t, infiniband_device_t)
+')
+
-+
-+
+########################################
+##
+## Get the attributes of the framebuffer device node.
@@ -6669,7 +6667,7 @@ index 76f285e..d36451a 100644
gen_require(`
type device_t, framebuf_device_t;
')
-@@ -2402,7 +2738,97 @@ interface(`dev_filetrans_lirc',`
+@@ -2402,7 +2736,97 @@ interface(`dev_filetrans_lirc',`
########################################
##
@@ -6768,7 +6766,7 @@ index 76f285e..d36451a 100644
##
##
##
-@@ -2725,7 +3151,7 @@ interface(`dev_write_misc',`
+@@ -2725,7 +3149,7 @@ interface(`dev_write_misc',`
##
##
##
@@ -6777,7 +6775,7 @@ index 76f285e..d36451a 100644
##
##
#
-@@ -2811,6 +3237,78 @@ interface(`dev_rw_modem',`
+@@ -2811,6 +3235,78 @@ interface(`dev_rw_modem',`
########################################
##
@@ -6856,7 +6854,7 @@ index 76f285e..d36451a 100644
## Get the attributes of the mouse devices.
##
##
-@@ -2903,20 +3401,20 @@ interface(`dev_getattr_mtrr_dev',`
+@@ -2903,20 +3399,20 @@ interface(`dev_getattr_mtrr_dev',`
########################################
##
@@ -6881,7 +6879,7 @@ index 76f285e..d36451a 100644
##
##
##
-@@ -2925,43 +3423,34 @@ interface(`dev_getattr_mtrr_dev',`
+@@ -2925,43 +3421,34 @@ interface(`dev_getattr_mtrr_dev',`
##
##
#
@@ -6937,7 +6935,7 @@ index 76f285e..d36451a 100644
## range registers (MTRR).
##
##
-@@ -2970,13 +3459,13 @@ interface(`dev_write_mtrr',`
+@@ -2970,13 +3457,13 @@ interface(`dev_write_mtrr',`
##
##
#
@@ -6954,7 +6952,7 @@ index 76f285e..d36451a 100644
')
########################################
-@@ -3144,48 +3633,102 @@ interface(`dev_create_null_dev',`
+@@ -3144,52 +3631,106 @@ interface(`dev_create_null_dev',`
########################################
##
@@ -7013,9 +7011,10 @@ index 76f285e..d36451a 100644
##
-## Domain allowed access.
+## Domain to not audit.
-+##
-+##
-+#
+ ##
+ ##
+ #
+-interface(`dev_getattr_printer_dev',`
+interface(`dev_dontaudit_getattr_nvram_dev',`
+ gen_require(`
+ type nvram_device_t;
@@ -7067,54 +7066,58 @@ index 76f285e..d36451a 100644
+##
+##
+## Domain allowed access.
- ##
- ##
- #
-@@ -3254,7 +3797,25 @@ interface(`dev_rw_printer',`
++##
++##
++#
++interface(`dev_getattr_printer_dev',`
+ gen_require(`
+ type device_t, printer_device_t;
+ ')
+@@ -3254,7 +3795,7 @@ interface(`dev_rw_printer',`
########################################
##
-## Read printk devices (e.g., /dev/kmsg /dev/mcelog)
+## Relabel the printer device node.
-+##
-+##
-+##
-+## Domain allowed access.
-+##
-+##
-+#
-+interface(`dev_relabel_printer',`
-+ gen_require(`
-+ type printer_device_t;
-+ ')
-+
-+ allow $1 printer_device_t:chr_file relabel_chr_file_perms;
-+')
-+
-+########################################
-+##
-+## Read and write the printer device.
##
##
##
-@@ -3262,12 +3823,13 @@ interface(`dev_rw_printer',`
+@@ -3262,12 +3803,31 @@ interface(`dev_rw_printer',`
##
##
#
-interface(`dev_read_printk',`
-+interface(`dev_manage_printer',`
++interface(`dev_relabel_printer',`
gen_require(`
- type device_t, printk_device_t;
-+ type device_t, printer_device_t;
++ type printer_device_t;
')
- read_chr_files_pattern($1, device_t, printk_device_t)
++ allow $1 printer_device_t:chr_file relabel_chr_file_perms;
++')
++
++########################################
++##
++## Read and write the printer device.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`dev_manage_printer',`
++ gen_require(`
++ type device_t, printer_device_t;
++ ')
++
+ manage_chr_files_pattern($1, device_t, printer_device_t)
+ dev_filetrans_printer_named_dev($1)
')
########################################
-@@ -3399,7 +3961,7 @@ interface(`dev_dontaudit_read_rand',`
+@@ -3399,7 +3959,7 @@ interface(`dev_dontaudit_read_rand',`
########################################
##
@@ -7123,7 +7126,7 @@ index 76f285e..d36451a 100644
## number generator devices (e.g., /dev/random)
##
##
-@@ -3413,7 +3975,7 @@ interface(`dev_dontaudit_append_rand',`
+@@ -3413,7 +3973,7 @@ interface(`dev_dontaudit_append_rand',`
type random_device_t;
')
@@ -7132,7 +7135,7 @@ index 76f285e..d36451a 100644
')
########################################
-@@ -3855,6 +4417,96 @@ interface(`dev_getattr_sysfs_dirs',`
+@@ -3855,6 +4415,96 @@ interface(`dev_getattr_sysfs_dirs',`
########################################
##
@@ -7229,7 +7232,7 @@ index 76f285e..d36451a 100644
## Search the sysfs directories.
##
##
-@@ -3904,6 +4556,7 @@ interface(`dev_list_sysfs',`
+@@ -3904,6 +4554,7 @@ interface(`dev_list_sysfs',`
type sysfs_t;
')
@@ -7237,7 +7240,7 @@ index 76f285e..d36451a 100644
list_dirs_pattern($1, sysfs_t, sysfs_t)
')
-@@ -3946,23 +4599,49 @@ interface(`dev_dontaudit_write_sysfs_dirs',`
+@@ -3946,23 +4597,49 @@ interface(`dev_dontaudit_write_sysfs_dirs',`
########################################
##
@@ -7291,7 +7294,7 @@ index 76f285e..d36451a 100644
########################################
##
## Read hardware state information.
-@@ -4016,6 +4695,62 @@ interface(`dev_rw_sysfs',`
+@@ -4016,6 +4693,62 @@ interface(`dev_rw_sysfs',`
########################################
##
@@ -7354,7 +7357,7 @@ index 76f285e..d36451a 100644
## Read and write the TPM device.
##
##
-@@ -4113,6 +4848,25 @@ interface(`dev_write_urand',`
+@@ -4113,6 +4846,25 @@ interface(`dev_write_urand',`
########################################
##
@@ -7380,7 +7383,7 @@ index 76f285e..d36451a 100644
## Getattr generic the USB devices.
##
##
-@@ -4123,7 +4877,7 @@ interface(`dev_write_urand',`
+@@ -4123,7 +4875,7 @@ interface(`dev_write_urand',`
#
interface(`dev_getattr_generic_usb_dev',`
gen_require(`
@@ -7389,7 +7392,7 @@ index 76f285e..d36451a 100644
')
getattr_chr_files_pattern($1, device_t, usb_device_t)
-@@ -4409,9 +5163,9 @@ interface(`dev_rw_usbfs',`
+@@ -4409,9 +5161,9 @@ interface(`dev_rw_usbfs',`
read_lnk_files_pattern($1, usbfs_t, usbfs_t)
')
@@ -7401,7 +7404,7 @@ index 76f285e..d36451a 100644
##
##
##
-@@ -4419,17 +5173,17 @@ interface(`dev_rw_usbfs',`
+@@ -4419,17 +5171,17 @@ interface(`dev_rw_usbfs',`
##
##
#
@@ -7424,7 +7427,7 @@ index 76f285e..d36451a 100644
##
##
##
-@@ -4437,12 +5191,12 @@ interface(`dev_getattr_video_dev',`
+@@ -4437,12 +5189,12 @@ interface(`dev_getattr_video_dev',`
##
##
#
@@ -7440,7 +7443,7 @@ index 76f285e..d36451a 100644
')
########################################
-@@ -4539,6 +5293,134 @@ interface(`dev_write_video_dev',`
+@@ -4539,6 +5291,134 @@ interface(`dev_write_video_dev',`
########################################
##
@@ -7575,7 +7578,7 @@ index 76f285e..d36451a 100644
## Allow read/write the vhost net device
##
##
-@@ -4557,6 +5439,24 @@ interface(`dev_rw_vhost',`
+@@ -4557,6 +5437,24 @@ interface(`dev_rw_vhost',`
########################################
##
@@ -7600,7 +7603,7 @@ index 76f285e..d36451a 100644
## Read and write VMWare devices.
##
##
-@@ -4762,6 +5662,44 @@ interface(`dev_rw_xserver_misc',`
+@@ -4762,6 +5660,44 @@ interface(`dev_rw_xserver_misc',`
########################################
##
@@ -7645,7 +7648,7 @@ index 76f285e..d36451a 100644
## Read and write to the zero device (/dev/zero).
##
##
-@@ -4851,3 +5789,948 @@ interface(`dev_unconfined',`
+@@ -4851,3 +5787,966 @@ interface(`dev_unconfined',`
typeattribute $1 devices_unconfined_type;
')
@@ -7725,6 +7728,24 @@ index 76f285e..d36451a 100644
+
+########################################
+##
++## Read and write uhid devices.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`dev_rw_uhid_dev',`
++ gen_require(`
++ type device_t, uhid_device_t;
++ ')
++
++ rw_chr_files_pattern($1, device_t, uhid_device_t)
++')
++
++########################################
++##
+## Create all named devices with the correct label
+##
+##
@@ -27234,7 +27255,7 @@ index 2479587..890e1e2 100644
/var/(db|adm)/sudo(/.*)? gen_context(system_u:object_r:pam_var_run_t,s0)
/var/lib/sudo(/.*)? 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 3efd5b6..12dca57 100644
+index 3efd5b6..9e85ea0 100644
--- a/policy/modules/system/authlogin.if
+++ b/policy/modules/system/authlogin.if
@@ -23,11 +23,17 @@ interface(`auth_role',`
@@ -27296,7 +27317,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -95,48 +117,20 @@ interface(`auth_use_pam',`
+@@ -95,69 +117,67 @@ interface(`auth_use_pam',`
interface(`auth_login_pgm_domain',`
gen_require(`
type var_auth_t, auth_cache_t;
@@ -27350,7 +27371,10 @@ index 3efd5b6..12dca57 100644
mls_file_read_all_levels($1)
mls_file_write_all_levels($1)
-@@ -146,18 +140,43 @@ interface(`auth_login_pgm_domain',`
+ mls_file_upgrade($1)
+ mls_file_downgrade($1)
+ mls_process_set_level($1)
++ mls_process_write_to_clearance($1)
mls_fd_share_all_levels($1)
auth_use_pam($1)
@@ -27402,7 +27426,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -231,6 +250,25 @@ interface(`auth_domtrans_login_program',`
+@@ -231,6 +251,25 @@ interface(`auth_domtrans_login_program',`
########################################
##
@@ -27428,7 +27452,7 @@ index 3efd5b6..12dca57 100644
## Execute a login_program in the target domain,
## with a range transition.
##
-@@ -322,6 +360,24 @@ interface(`auth_rw_cache',`
+@@ -322,6 +361,24 @@ interface(`auth_rw_cache',`
########################################
##
@@ -27453,7 +27477,7 @@ index 3efd5b6..12dca57 100644
## Manage authentication cache
##
##
-@@ -402,6 +458,8 @@ interface(`auth_domtrans_chk_passwd',`
+@@ -402,6 +459,8 @@ interface(`auth_domtrans_chk_passwd',`
optional_policy(`
samba_stream_connect_winbind($1)
')
@@ -27462,7 +27486,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -428,6 +486,24 @@ interface(`auth_domtrans_chkpwd',`
+@@ -428,6 +487,24 @@ interface(`auth_domtrans_chkpwd',`
########################################
##
@@ -27487,7 +27511,7 @@ index 3efd5b6..12dca57 100644
## Execute chkpwd programs in the chkpwd domain.
##
##
-@@ -448,6 +524,25 @@ interface(`auth_run_chk_passwd',`
+@@ -448,6 +525,25 @@ interface(`auth_run_chk_passwd',`
auth_domtrans_chk_passwd($1)
role $2 types chkpwd_t;
@@ -27513,7 +27537,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -467,7 +562,6 @@ interface(`auth_domtrans_upd_passwd',`
+@@ -467,7 +563,6 @@ interface(`auth_domtrans_upd_passwd',`
domtrans_pattern($1, updpwd_exec_t, updpwd_t)
auth_dontaudit_read_shadow($1)
@@ -27521,7 +27545,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -664,6 +758,10 @@ interface(`auth_manage_shadow',`
+@@ -664,6 +759,10 @@ interface(`auth_manage_shadow',`
allow $1 shadow_t:file manage_file_perms;
typeattribute $1 can_read_shadow_passwords, can_write_shadow_passwords;
@@ -27532,7 +27556,7 @@ index 3efd5b6..12dca57 100644
')
#######################################
-@@ -763,7 +861,50 @@ interface(`auth_rw_faillog',`
+@@ -763,7 +862,50 @@ interface(`auth_rw_faillog',`
')
logging_search_logs($1)
@@ -27584,7 +27608,7 @@ index 3efd5b6..12dca57 100644
')
#######################################
-@@ -824,9 +965,29 @@ interface(`auth_rw_lastlog',`
+@@ -824,9 +966,29 @@ interface(`auth_rw_lastlog',`
allow $1 lastlog_t:file { rw_file_perms lock setattr };
')
@@ -27615,7 +27639,7 @@ index 3efd5b6..12dca57 100644
##
##
##
-@@ -834,12 +995,27 @@ interface(`auth_rw_lastlog',`
+@@ -834,12 +996,27 @@ interface(`auth_rw_lastlog',`
##
##
#
@@ -27646,7 +27670,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -854,15 +1030,15 @@ interface(`auth_domtrans_pam',`
+@@ -854,15 +1031,15 @@ interface(`auth_domtrans_pam',`
#
interface(`auth_signal_pam',`
gen_require(`
@@ -27665,7 +27689,7 @@ index 3efd5b6..12dca57 100644
##
##
##
-@@ -875,13 +1051,33 @@ interface(`auth_signal_pam',`
+@@ -875,13 +1052,33 @@ interface(`auth_signal_pam',`
##
##
#
@@ -27703,7 +27727,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -959,9 +1155,30 @@ interface(`auth_manage_var_auth',`
+@@ -959,9 +1156,30 @@ interface(`auth_manage_var_auth',`
')
files_search_var($1)
@@ -27737,7 +27761,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -1040,6 +1257,10 @@ interface(`auth_manage_pam_pid',`
+@@ -1040,6 +1258,10 @@ interface(`auth_manage_pam_pid',`
files_search_pids($1)
allow $1 pam_var_run_t:dir manage_dir_perms;
allow $1 pam_var_run_t:file manage_file_perms;
@@ -27748,7 +27772,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -1176,6 +1397,7 @@ interface(`auth_manage_pam_console_data',`
+@@ -1176,6 +1398,7 @@ interface(`auth_manage_pam_console_data',`
files_search_pids($1)
manage_files_pattern($1, pam_var_console_t, pam_var_console_t)
manage_lnk_files_pattern($1, pam_var_console_t, pam_var_console_t)
@@ -27756,7 +27780,7 @@ index 3efd5b6..12dca57 100644
')
#######################################
-@@ -1576,6 +1798,25 @@ interface(`auth_setattr_login_records',`
+@@ -1576,6 +1799,25 @@ interface(`auth_setattr_login_records',`
########################################
##
@@ -27782,7 +27806,7 @@ index 3efd5b6..12dca57 100644
## Read login records files (/var/log/wtmp).
##
##
-@@ -1726,24 +1967,7 @@ interface(`auth_manage_login_records',`
+@@ -1726,24 +1968,7 @@ interface(`auth_manage_login_records',`
logging_rw_generic_log_dirs($1)
allow $1 wtmp_t:file manage_file_perms;
@@ -27808,7 +27832,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -1767,11 +1991,13 @@ interface(`auth_relabel_login_records',`
+@@ -1767,11 +1992,13 @@ interface(`auth_relabel_login_records',`
##
#
interface(`auth_use_nsswitch',`
@@ -27825,7 +27849,7 @@ index 3efd5b6..12dca57 100644
')
########################################
-@@ -1805,3 +2031,280 @@ interface(`auth_unconfined',`
+@@ -1805,3 +2032,280 @@ interface(`auth_unconfined',`
typeattribute $1 can_write_shadow_passwords;
typeattribute $1 can_relabelto_shadow_passwords;
')
@@ -42476,7 +42500,7 @@ index 0abaf84..8b34dbc 100644
-/usr/lib/openoffice/program/[^/]+\.bin -- gen_context(system_u:object_r:unconfined_execmem_exec_t,s0)
-')
diff --git a/policy/modules/system/unconfined.if b/policy/modules/system/unconfined.if
-index 5ca20a9..e749152 100644
+index 5ca20a9..cf27c0a 100644
--- a/policy/modules/system/unconfined.if
+++ b/policy/modules/system/unconfined.if
@@ -12,53 +12,57 @@
@@ -42529,10 +42553,10 @@ index 5ca20a9..e749152 100644
+ systemd_config_all_services($1)
+
+ domain_mmap_low($1)
-+
-+ ubac_process_exempt($1)
- tunable_policy(`allow_execheap',`
++ ubac_process_exempt($1)
++
+ tunable_policy(`selinuxuser_execheap',`
# Allow making the stack executable via mprotect.
allow $1 self:process execheap;
@@ -42587,7 +42611,7 @@ index 5ca20a9..e749152 100644
')
########################################
-@@ -175,381 +185,12 @@ interface(`unconfined_alias_domain',`
+@@ -175,361 +185,12 @@ interface(`unconfined_alias_domain',`
##
#
interface(`unconfined_execmem_alias_program',`
@@ -42941,26 +42965,32 @@ index 5ca20a9..e749152 100644
- ')
-
- allow $1 unconfined_t:key create;
--')
--
--########################################
--##
++ refpolicywarn(`$0() has been deprecated.')
+ ')
+
+ ########################################
+ ##
-## Send messages to the unconfined domain over dbus.
--##
--##
--##
--## Domain allowed access.
--##
--##
--#
++## Connect to unconfined_server with a unix socket.
+ ##
+ ##
+ ##
+@@ -537,19 +198,19 @@ interface(`unconfined_create_keys',`
+ ##
+ ##
+ #
-interface(`unconfined_dbus_send',`
-- gen_require(`
++interface(`unconfined_server_stream_connect',`
+ gen_require(`
- type unconfined_t;
- class dbus send_msg;
-- ')
--
++ type unconfined_service_t;
+ ')
+
- allow $1 unconfined_t:dbus send_msg;
-+ refpolicywarn(`$0() has been deprecated.')
++ files_search_pids($1)
++ files_write_generic_pid_pipes($1)
++ allow $1 unconfined_service_t:unix_stream_socket { getattr connectto };
')
########################################
@@ -42971,12 +43001,12 @@ index 5ca20a9..e749152 100644
##
##
##
-@@ -557,20 +198,19 @@ interface(`unconfined_dbus_send',`
+@@ -557,20 +218,17 @@ interface(`unconfined_dbus_send',`
##
##
#
-interface(`unconfined_dbus_chat',`
-+interface(`unconfined_server_stream_connect',`
++interface(`unconfined_server_domtrans',`
gen_require(`
- type unconfined_t;
- class dbus send_msg;
@@ -42985,25 +43015,23 @@ index 5ca20a9..e749152 100644
- allow $1 unconfined_t:dbus send_msg;
- allow unconfined_t $1:dbus send_msg;
-+ files_search_pids($1)
-+ files_write_generic_pid_pipes($1)
-+ allow $1 unconfined_service_t:unix_stream_socket { getattr connectto };
++ corecmd_bin_domtrans($1, unconfined_service_t)
')
########################################
##
-## Connect to the the unconfined DBUS
-## for service (acquire_svc).
-+## Connect to unconfined_server with a unix socket.
++## Allow caller domain to dbus chat unconfined_server.
##
##
##
-@@ -578,11 +218,10 @@ interface(`unconfined_dbus_chat',`
+@@ -578,11 +236,11 @@ interface(`unconfined_dbus_chat',`
##
##
#
-interface(`unconfined_dbus_connect',`
-+interface(`unconfined_server_domtrans',`
++interface(`unconfined_server_dbus_chat',`
gen_require(`
- type unconfined_t;
- class dbus acquire_svc;
@@ -43011,7 +43039,8 @@ index 5ca20a9..e749152 100644
')
- allow $1 unconfined_t:dbus acquire_svc;
-+ corecmd_bin_domtrans($1, unconfined_service_t)
++ allow $1 unconfined_service_t:dbus send_msg;
++ allow unconfined_service_t $1:dbus send_msg;
')
diff --git a/policy/modules/system/unconfined.te b/policy/modules/system/unconfined.te
index 5fe902d..a349d18 100644
@@ -43280,7 +43309,7 @@ index db75976..1ee08ec 100644
+/var/tmp/hsperfdata_root 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 9dc60c6..0bed312 100644
+index 9dc60c6..2861886 100644
--- a/policy/modules/system/userdomain.if
+++ b/policy/modules/system/userdomain.if
@@ -30,9 +30,11 @@ template(`userdom_base_user_template',`
@@ -45054,7 +45083,32 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -1629,6 +2135,42 @@ interface(`userdom_relabelto_user_home_dirs',`
+@@ -1613,6 +2119,24 @@ interface(`userdom_manage_user_home_dirs',`
+
+ ########################################
+ ##
++## Create user home directories.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`userdom_dontaudit_manage_user_home_dirs',`
++ gen_require(`
++ type user_home_dir_t;
++ ')
++
++ dontaudit $1 user_home_dir_t:dir manage_dir_perms;
++')
++
++########################################
++##
+ ## Relabel to user home directories.
+ ##
+ ##
+@@ -1629,6 +2153,42 @@ interface(`userdom_relabelto_user_home_dirs',`
allow $1 user_home_dir_t:dir relabelto;
')
@@ -45097,7 +45151,7 @@ index 9dc60c6..0bed312 100644
########################################
##
## Create directories in the home dir root with
-@@ -1708,6 +2250,8 @@ interface(`userdom_dontaudit_search_user_home_content',`
+@@ -1708,6 +2268,8 @@ interface(`userdom_dontaudit_search_user_home_content',`
')
dontaudit $1 user_home_t:dir search_dir_perms;
@@ -45106,7 +45160,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -1741,10 +2285,12 @@ interface(`userdom_list_all_user_home_content',`
+@@ -1741,10 +2303,12 @@ interface(`userdom_list_all_user_home_content',`
#
interface(`userdom_list_user_home_content',`
gen_require(`
@@ -45121,7 +45175,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -1769,7 +2315,7 @@ interface(`userdom_manage_user_home_content_dirs',`
+@@ -1769,7 +2333,7 @@ interface(`userdom_manage_user_home_content_dirs',`
########################################
##
@@ -45130,7 +45184,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -1777,19 +2323,17 @@ interface(`userdom_manage_user_home_content_dirs',`
+@@ -1777,19 +2341,17 @@ interface(`userdom_manage_user_home_content_dirs',`
##
##
#
@@ -45154,7 +45208,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -1797,55 +2341,55 @@ interface(`userdom_delete_all_user_home_content_dirs',`
+@@ -1797,55 +2359,55 @@ interface(`userdom_delete_all_user_home_content_dirs',`
##
##
#
@@ -45225,7 +45279,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -1853,18 +2397,19 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',`
+@@ -1853,18 +2415,19 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',`
##
##
#
@@ -45253,7 +45307,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -1872,55 +2417,55 @@ interface(`userdom_mmap_user_home_content_files',`
+@@ -1872,45 +2435,182 @@ interface(`userdom_mmap_user_home_content_files',`
##
##
#
@@ -45311,59 +45365,48 @@ index 9dc60c6..0bed312 100644
#
-interface(`userdom_dontaudit_append_user_home_content_files',`
+interface(`userdom_relabel_user_tmp_dirs',`
- gen_require(`
-- type user_home_t;
++ gen_require(`
+ type user_tmp_t;
- ')
-
-- dontaudit $1 user_home_t:file append_file_perms;
++ ')
++
+ allow $1 user_tmp_t:dir relabel_dir_perms;
- ')
-
- ########################################
- ##
--## Do not audit attempts to write user home files.
++')
++
++########################################
++##
+## Do not audit attempts to set the
+## attributes of user home files.
- ##
- ##
- ##
-@@ -1928,32 +2473,149 @@ interface(`userdom_dontaudit_append_user_home_content_files',`
- ##
- ##
- #
--interface(`userdom_dontaudit_write_user_home_content_files',`
++##
++##
++##
++## Domain to not audit.
++##
++##
++#
+interface(`userdom_dontaudit_setattr_user_home_content_files',`
- gen_require(`
- type user_home_t;
- ')
-
-- dontaudit $1 user_home_t:file write_file_perms;
++ gen_require(`
++ type user_home_t;
++ ')
++
+ dontaudit $1 user_home_t:file setattr_file_perms;
- ')
-
- ########################################
- ##
--## Delete all user home content files.
++')
++
++########################################
++##
+## Set the attributes of all user home directories.
- ##
- ##
- ##
- ## Domain allowed access.
- ##
- ##
++##
++##
++##
++## Domain allowed access.
++##
++##
+##
- #
--interface(`userdom_delete_all_user_home_content_files',`
++#
+interface(`userdom_setattr_all_user_home_content_dirs',`
- gen_require(`
-- attribute user_home_content_type;
-- type user_home_dir_t;
++ gen_require(`
+ attribute user_home_type;
- ')
-
-- userdom_search_user_home_content($1)
-- delete_files_pattern($1, { user_home_dir_t user_home_content_type }, user_home_content_type)
++ ')
++
+ allow $1 user_home_type:dir setattr_dir_perms;
+')
+
@@ -45460,51 +45503,45 @@ index 9dc60c6..0bed312 100644
+##
+#
+interface(`userdom_dontaudit_append_user_home_content_files',`
-+ gen_require(`
-+ type user_home_t;
-+ ')
-+
-+ dontaudit $1 user_home_t:file append_file_perms;
-+')
-+
-+########################################
-+##
-+## Do not audit attempts to write user home files.
-+##
-+##
-+##
-+## Domain to not audit.
-+##
-+##
-+#
-+interface(`userdom_dontaudit_write_user_home_content_files',`
-+ gen_require(`
-+ type user_home_t;
-+ ')
-+
-+ dontaudit $1 user_home_t:file write_file_perms;
- ')
+ gen_require(`
+ type user_home_t;
+ ')
+@@ -1938,7 +2638,7 @@ interface(`userdom_dontaudit_write_user_home_content_files',`
########################################
-@@ -1971,7 +2633,80 @@ interface(`userdom_delete_user_home_content_files',`
- type user_home_t;
+ ##
+-## Delete all user home content files.
++## Delete files in a user home subdirectory.
+ ##
+ ##
+ ##
+@@ -1946,10 +2646,9 @@ interface(`userdom_dontaudit_write_user_home_content_files',`
+ ##
+ ##
+ #
+-interface(`userdom_delete_all_user_home_content_files',`
++interface(`userdom_delete_user_home_content_files',`
+ gen_require(`
+- attribute user_home_content_type;
+- type user_home_dir_t;
++ type user_home_t;
')
-- allow $1 user_home_t:file delete_file_perms;
-+ userdom_search_user_home_content($1)
-+ delete_files_pattern($1, { user_home_dir_t user_home_content_type }, user_home_content_type)
-+')
-+
-+########################################
-+##
+ userdom_search_user_home_content($1)
+@@ -1958,7 +2657,7 @@ interface(`userdom_delete_all_user_home_content_files',`
+
+ ########################################
+ ##
+-## Delete files in a user home subdirectory.
+## Delete all files in a user home subdirectory.
-+##
-+##
-+##
-+## Domain allowed access.
-+##
-+##
-+#
+ ##
+ ##
+ ##
+@@ -1966,12 +2665,66 @@ interface(`userdom_delete_all_user_home_content_files',`
+ ##
+ ##
+ #
+-interface(`userdom_delete_user_home_content_files',`
+interface(`userdom_delete_all_user_home_content_files',`
+ gen_require(`
+ attribute user_home_type;
@@ -45524,10 +45561,11 @@ index 9dc60c6..0bed312 100644
+##
+#
+interface(`userdom_delete_user_home_content_sock_files',`
-+ gen_require(`
-+ type user_home_t;
-+ ')
-+
+ gen_require(`
+ type user_home_t;
+ ')
+
+- allow $1 user_home_t:file delete_file_perms;
+ allow $1 user_home_t:sock_file delete_file_perms;
+')
+
@@ -45568,7 +45606,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2007,8 +2742,7 @@ interface(`userdom_read_user_home_content_symlinks',`
+@@ -2007,8 +2760,7 @@ interface(`userdom_read_user_home_content_symlinks',`
type user_home_dir_t, user_home_t;
')
@@ -45578,7 +45616,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2024,20 +2758,14 @@ interface(`userdom_read_user_home_content_symlinks',`
+@@ -2024,20 +2776,14 @@ interface(`userdom_read_user_home_content_symlinks',`
#
interface(`userdom_exec_user_home_content_files',`
gen_require(`
@@ -45603,7 +45641,7 @@ index 9dc60c6..0bed312 100644
########################################
##
-@@ -2120,7 +2848,7 @@ interface(`userdom_manage_user_home_content_symlinks',`
+@@ -2120,7 +2866,7 @@ interface(`userdom_manage_user_home_content_symlinks',`
########################################
##
@@ -45612,7 +45650,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2128,19 +2856,17 @@ interface(`userdom_manage_user_home_content_symlinks',`
+@@ -2128,19 +2874,17 @@ interface(`userdom_manage_user_home_content_symlinks',`
##
##
#
@@ -45636,7 +45674,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2148,12 +2874,12 @@ interface(`userdom_delete_all_user_home_content_symlinks',`
+@@ -2148,12 +2892,12 @@ interface(`userdom_delete_all_user_home_content_symlinks',`
##
##
#
@@ -45652,7 +45690,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2388,18 +3114,54 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',`
+@@ -2388,18 +3132,54 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',`
##
##
#
@@ -45710,7 +45748,7 @@ index 9dc60c6..0bed312 100644
## Do not audit attempts to read users
## temporary files.
##
-@@ -2414,7 +3176,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',`
+@@ -2414,7 +3194,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',`
type user_tmp_t;
')
@@ -45719,7 +45757,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2455,6 +3217,25 @@ interface(`userdom_rw_user_tmp_files',`
+@@ -2455,6 +3235,25 @@ interface(`userdom_rw_user_tmp_files',`
rw_files_pattern($1, user_tmp_t, user_tmp_t)
files_search_tmp($1)
')
@@ -45745,7 +45783,7 @@ index 9dc60c6..0bed312 100644
########################################
##
-@@ -2538,7 +3319,7 @@ interface(`userdom_manage_user_tmp_files',`
+@@ -2538,7 +3337,7 @@ interface(`userdom_manage_user_tmp_files',`
########################################
##
## Create, read, write, and delete user
@@ -45754,7 +45792,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2546,19 +3327,19 @@ interface(`userdom_manage_user_tmp_files',`
+@@ -2546,19 +3345,19 @@ interface(`userdom_manage_user_tmp_files',`
##
##
#
@@ -45777,7 +45815,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2566,19 +3347,19 @@ interface(`userdom_manage_user_tmp_symlinks',`
+@@ -2566,19 +3365,19 @@ interface(`userdom_manage_user_tmp_symlinks',`
##
##
#
@@ -45800,7 +45838,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2586,27 +3367,68 @@ interface(`userdom_manage_user_tmp_pipes',`
+@@ -2586,12 +3385,53 @@ interface(`userdom_manage_user_tmp_pipes',`
##
##
#
@@ -45812,24 +45850,20 @@ index 9dc60c6..0bed312 100644
- manage_sock_files_pattern($1, user_tmp_t, user_tmp_t)
+ allow $1 user_tmp_t:fifo_file rw_inherited_fifo_file_perms;
- files_search_tmp($1)
- ')
-
++ files_search_tmp($1)
++')
+
- ########################################
- ##
--## Create objects in a user temporary directory
--## with an automatic type transition to
--## a specified private type.
++
++########################################
++##
+## Create, read, write, and delete user
+## temporary named pipes.
- ##
- ##
- ##
- ## Domain allowed access.
- ##
- ##
--##
++##
++##
++##
++## Domain allowed access.
++##
++##
+#
+interface(`userdom_manage_user_tmp_pipes',`
+ gen_require(`
@@ -45857,25 +45891,10 @@ index 9dc60c6..0bed312 100644
+ ')
+
+ manage_sock_files_pattern($1, user_tmp_t, user_tmp_t)
-+ files_search_tmp($1)
-+')
-+
-+########################################
-+##
-+## Create objects in a user temporary directory
-+## with an automatic type transition to
-+## a specified private type.
-+##
-+##
-+##
-+## Domain allowed access.
-+##
-+##
-+##
- ##
- ## The type of the object to create.
- ##
-@@ -2661,6 +3483,21 @@ interface(`userdom_tmp_filetrans_user_tmp',`
+ files_search_tmp($1)
+ ')
+
+@@ -2661,6 +3501,21 @@ interface(`userdom_tmp_filetrans_user_tmp',`
files_tmp_filetrans($1, user_tmp_t, $2, $3)
')
@@ -45897,7 +45916,7 @@ index 9dc60c6..0bed312 100644
########################################
##
## Read user tmpfs files.
-@@ -2672,18 +3509,13 @@ interface(`userdom_tmp_filetrans_user_tmp',`
+@@ -2672,18 +3527,13 @@ interface(`userdom_tmp_filetrans_user_tmp',`
##
#
interface(`userdom_read_user_tmpfs_files',`
@@ -45919,7 +45938,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2692,19 +3524,13 @@ interface(`userdom_read_user_tmpfs_files',`
+@@ -2692,19 +3542,13 @@ interface(`userdom_read_user_tmpfs_files',`
##
#
interface(`userdom_rw_user_tmpfs_files',`
@@ -45942,7 +45961,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2713,13 +3539,56 @@ interface(`userdom_rw_user_tmpfs_files',`
+@@ -2713,13 +3557,56 @@ interface(`userdom_rw_user_tmpfs_files',`
##
#
interface(`userdom_manage_user_tmpfs_files',`
@@ -46003,7 +46022,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2814,6 +3683,24 @@ interface(`userdom_use_user_ttys',`
+@@ -2814,6 +3701,24 @@ interface(`userdom_use_user_ttys',`
########################################
##
@@ -46028,7 +46047,7 @@ index 9dc60c6..0bed312 100644
## Read and write a user domain pty.
##
##
-@@ -2832,22 +3719,34 @@ interface(`userdom_use_user_ptys',`
+@@ -2832,22 +3737,34 @@ interface(`userdom_use_user_ptys',`
########################################
##
@@ -46071,7 +46090,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -2856,14 +3755,33 @@ interface(`userdom_use_user_ptys',`
+@@ -2856,14 +3773,33 @@ interface(`userdom_use_user_ptys',`
##
##
#
@@ -46109,7 +46128,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2882,8 +3800,27 @@ interface(`userdom_dontaudit_use_user_terminals',`
+@@ -2882,8 +3818,27 @@ interface(`userdom_dontaudit_use_user_terminals',`
type user_tty_device_t, user_devpts_t;
')
@@ -46139,7 +46158,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -2955,69 +3892,68 @@ interface(`userdom_spec_domtrans_unpriv_users',`
+@@ -2955,69 +3910,68 @@ interface(`userdom_spec_domtrans_unpriv_users',`
allow unpriv_userdomain $1:process sigchld;
')
@@ -46240,7 +46259,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -3025,12 +3961,12 @@ interface(`userdom_manage_unpriv_user_semaphores',`
+@@ -3025,12 +3979,12 @@ interface(`userdom_manage_unpriv_user_semaphores',`
##
##
#
@@ -46255,7 +46274,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -3094,7 +4030,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',`
+@@ -3094,7 +4048,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',`
domain_entry_file_spec_domtrans($1, unpriv_userdomain)
allow unpriv_userdomain $1:fd use;
@@ -46264,7 +46283,7 @@ index 9dc60c6..0bed312 100644
allow unpriv_userdomain $1:process sigchld;
')
-@@ -3110,29 +4046,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',`
+@@ -3110,29 +4064,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',`
#
interface(`userdom_search_user_home_content',`
gen_require(`
@@ -46298,7 +46317,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -3214,7 +4134,25 @@ interface(`userdom_dontaudit_use_user_ptys',`
+@@ -3214,7 +4152,25 @@ interface(`userdom_dontaudit_use_user_ptys',`
type user_devpts_t;
')
@@ -46325,7 +46344,7 @@ index 9dc60c6..0bed312 100644
')
########################################
-@@ -3269,12 +4207,13 @@ interface(`userdom_write_user_tmp_files',`
+@@ -3269,12 +4225,13 @@ interface(`userdom_write_user_tmp_files',`
type user_tmp_t;
')
@@ -46341,7 +46360,7 @@ index 9dc60c6..0bed312 100644
##
##
##
-@@ -3282,46 +4221,122 @@ interface(`userdom_write_user_tmp_files',`
+@@ -3282,49 +4239,125 @@ interface(`userdom_write_user_tmp_files',`
##
##
#
@@ -46399,8 +46418,9 @@ index 9dc60c6..0bed312 100644
gen_require(`
- attribute userdomain;
+ type user_tmp_t;
-+ ')
-+
+ ')
+
+- allow $1 userdomain:process getattr;
+ dontaudit $1 user_tmp_t:fifo_file rw_inherited_fifo_file_perms;
+')
+
@@ -46474,10 +46494,13 @@ index 9dc60c6..0bed312 100644
+interface(`userdom_getattr_all_users',`
+ gen_require(`
+ attribute userdomain;
- ')
++ ')
++
++ allow $1 userdomain:process getattr;
+ ')
- allow $1 userdomain:process getattr;
-@@ -3382,6 +4397,42 @@ interface(`userdom_signal_all_users',`
+ ########################################
+@@ -3382,6 +4415,42 @@ interface(`userdom_signal_all_users',`
allow $1 userdomain:process signal;
')
@@ -46520,7 +46543,7 @@ index 9dc60c6..0bed312 100644
########################################
##
## Send a SIGCHLD signal to all user domains.
-@@ -3402,6 +4453,60 @@ interface(`userdom_sigchld_all_users',`
+@@ -3402,6 +4471,60 @@ interface(`userdom_sigchld_all_users',`
########################################
##
@@ -46581,7 +46604,7 @@ index 9dc60c6..0bed312 100644
## Create keys for all user domains.
##
##
-@@ -3435,4 +4540,1686 @@ interface(`userdom_dbus_send_all_users',`
+@@ -3435,4 +4558,1686 @@ interface(`userdom_dbus_send_all_users',`
')
allow $1 userdomain:dbus send_msg;
diff --git a/policy-rawhide-contrib.patch b/policy-rawhide-contrib.patch
index 7d8b345..9cc8bac 100644
--- a/policy-rawhide-contrib.patch
+++ b/policy-rawhide-contrib.patch
@@ -9707,7 +9707,7 @@ index c723a0a..3e8a553 100644
+ allow $1 bluetooth_unit_file_t:service all_service_perms;
')
diff --git a/bluetooth.te b/bluetooth.te
-index 851769e..055c97c 100644
+index 851769e..a069dc3 100644
--- a/bluetooth.te
+++ b/bluetooth.te
@@ -49,6 +49,9 @@ files_type(bluetooth_var_lib_t)
@@ -9757,7 +9757,13 @@ index 851769e..055c97c 100644
dev_read_sysfs(bluetooth_t)
dev_rw_usbfs(bluetooth_t)
-@@ -110,7 +124,6 @@ domain_use_interactive_fds(bluetooth_t)
+@@ -105,12 +119,12 @@ dev_rw_generic_usb_dev(bluetooth_t)
+ dev_read_urand(bluetooth_t)
+ dev_rw_input_dev(bluetooth_t)
+ dev_rw_wireless(bluetooth_t)
++dev_rw_uhid_dev(bluetooth_t)
+
+ domain_use_interactive_fds(bluetooth_t)
domain_dontaudit_search_all_domains_state(bluetooth_t)
files_read_etc_runtime_files(bluetooth_t)
@@ -9765,7 +9771,7 @@ index 851769e..055c97c 100644
fs_getattr_all_fs(bluetooth_t)
fs_search_auto_mountpoints(bluetooth_t)
-@@ -122,7 +135,6 @@ auth_use_nsswitch(bluetooth_t)
+@@ -122,7 +136,6 @@ auth_use_nsswitch(bluetooth_t)
logging_send_syslog_msg(bluetooth_t)
@@ -9773,7 +9779,7 @@ index 851769e..055c97c 100644
miscfiles_read_fonts(bluetooth_t)
miscfiles_read_hwdata(bluetooth_t)
-@@ -130,6 +142,10 @@ userdom_dontaudit_use_unpriv_user_fds(bluetooth_t)
+@@ -130,6 +143,10 @@ userdom_dontaudit_use_unpriv_user_fds(bluetooth_t)
userdom_dontaudit_use_user_terminals(bluetooth_t)
userdom_dontaudit_search_user_home_dirs(bluetooth_t)
@@ -9784,7 +9790,7 @@ index 851769e..055c97c 100644
optional_policy(`
dbus_system_bus_client(bluetooth_t)
dbus_connect_system_bus(bluetooth_t)
-@@ -200,7 +216,6 @@ dev_read_urand(bluetooth_helper_t)
+@@ -200,7 +217,6 @@ dev_read_urand(bluetooth_helper_t)
domain_read_all_domains_state(bluetooth_helper_t)
files_read_etc_runtime_files(bluetooth_helper_t)
@@ -10317,15 +10323,23 @@ index 687d4c4..3c5a83a 100644
+ unconfined_domain(boinc_project_t)
+')
diff --git a/brctl.te b/brctl.te
-index c5a9113..6ad8ccb 100644
+index c5a9113..1919abd 100644
--- a/brctl.te
+++ b/brctl.te
-@@ -34,12 +34,9 @@ dev_write_sysfs_dirs(brctl_t)
+@@ -24,6 +24,7 @@ allow brctl_t self:unix_dgram_socket create_socket_perms;
+ allow brctl_t self:tcp_socket create_socket_perms;
+
+ kernel_request_load_module(brctl_t)
++kernel_read_system_state(brctl_t)
+ kernel_read_network_state(brctl_t)
+ kernel_read_sysctl(brctl_t)
+
+@@ -34,12 +35,8 @@ dev_write_sysfs_dirs(brctl_t)
domain_use_interactive_fds(brctl_t)
-files_read_etc_files(brctl_t)
-
+-
term_dontaudit_use_console(brctl_t)
-miscfiles_read_localization(brctl_t)
@@ -12488,7 +12502,7 @@ index 32e8265..0de4af3 100644
+ allow $1 chronyd_unit_file_t:service all_service_perms;
')
diff --git a/chronyd.te b/chronyd.te
-index e5b621c..e7c249d 100644
+index e5b621c..f975594 100644
--- a/chronyd.te
+++ b/chronyd.te
@@ -18,6 +18,9 @@ files_type(chronyd_keys_t)
@@ -12519,7 +12533,7 @@ index e5b621c..e7c249d 100644
allow chronyd_t chronyd_keys_t:file read_file_perms;
manage_dirs_pattern(chronyd_t, chronyd_tmpfs_t, chronyd_tmpfs_t)
-@@ -76,18 +83,20 @@ corenet_sendrecv_chronyd_server_packets(chronyd_t)
+@@ -76,18 +83,24 @@ corenet_sendrecv_chronyd_server_packets(chronyd_t)
corenet_udp_bind_chronyd_port(chronyd_t)
corenet_udp_sendrecv_chronyd_port(chronyd_t)
@@ -12541,10 +12555,11 @@ index e5b621c..e7c249d 100644
optional_policy(`
gpsd_rw_shm(chronyd_t)
')
--
--optional_policy(`
+
+ optional_policy(`
- mta_send_mail(chronyd_t)
--')
++ timemaster_stream_connect(chronyd_t)
+ ')
diff --git a/cinder.fc b/cinder.fc
new file mode 100644
index 0000000..4b318b7
@@ -15514,7 +15529,7 @@ index 0000000..54b4b04
+')
diff --git a/conman.te b/conman.te
new file mode 100644
-index 0000000..ccff09f
+index 0000000..4772f64
--- /dev/null
+++ b/conman.te
@@ -0,0 +1,55 @@
@@ -15557,7 +15572,7 @@ index 0000000..ccff09f
+manage_files_pattern(conman_t, conman_var_run_t, conman_var_run_t)
+files_pid_filetrans(conman_t, conman_var_run_t, file)
+
-+auth_read_passwd(conman_t)
++auth_use_nsswitch(conman_t)
+
+corenet_tcp_bind_generic_node(conman_t)
+corenet_tcp_bind_conman_port(conman_t)
@@ -20732,7 +20747,7 @@ index dda905b..ccd0ba9 100644
/var/named/chroot/var/run/dbus(/.*)? gen_context(system_u:object_r:system_dbusd_var_run_t,s0)
+')
diff --git a/dbus.if b/dbus.if
-index 62d22cb..e1b35aa 100644
+index 62d22cb..f8ab4af 100644
--- a/dbus.if
+++ b/dbus.if
@@ -1,4 +1,4 @@
@@ -20858,7 +20873,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -103,91 +129,84 @@ template(`dbus_role_template',`
+@@ -103,91 +129,88 @@ template(`dbus_role_template',`
#
interface(`dbus_system_bus_client',`
gen_require(`
@@ -20888,6 +20903,10 @@ index 62d22cb..e1b35aa 100644
stream_connect_pattern($1, system_dbusd_var_run_t, system_dbusd_var_run_t, system_dbusd_t)
-
dbus_read_config($1)
++
++ optional_policy(`
++ unconfined_server_dbus_chat($1)
++ ')
')
#######################################
@@ -20984,7 +21003,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -195,15 +214,18 @@ interface(`dbus_connect_spec_session_bus',`
+@@ -195,15 +218,18 @@ interface(`dbus_connect_spec_session_bus',`
##
##
#
@@ -21009,7 +21028,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -211,57 +233,39 @@ interface(`dbus_session_bus_client',`
+@@ -211,57 +237,39 @@ interface(`dbus_session_bus_client',`
##
##
#
@@ -21081,7 +21100,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -269,15 +273,19 @@ interface(`dbus_spec_session_bus_client',`
+@@ -269,15 +277,19 @@ interface(`dbus_spec_session_bus_client',`
##
##
#
@@ -21107,7 +21126,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -285,44 +293,52 @@ interface(`dbus_send_session_bus',`
+@@ -285,44 +297,52 @@ interface(`dbus_send_session_bus',`
##
##
#
@@ -21174,7 +21193,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -330,18 +346,18 @@ interface(`dbus_send_spec_session_bus',`
+@@ -330,18 +350,18 @@ interface(`dbus_send_spec_session_bus',`
##
##
#
@@ -21198,7 +21217,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -349,20 +365,18 @@ interface(`dbus_read_config',`
+@@ -349,20 +369,18 @@ interface(`dbus_read_config',`
##
##
#
@@ -21224,7 +21243,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -370,26 +384,20 @@ interface(`dbus_read_lib_files',`
+@@ -370,26 +388,20 @@ interface(`dbus_read_lib_files',`
##
##
#
@@ -21257,7 +21276,7 @@ index 62d22cb..e1b35aa 100644
##
##
## Type to be used as a domain.
-@@ -397,81 +405,67 @@ interface(`dbus_manage_lib_files',`
+@@ -397,81 +409,67 @@ interface(`dbus_manage_lib_files',`
##
##
##
@@ -21367,7 +21386,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -479,18 +473,18 @@ interface(`dbus_spec_session_domain',`
+@@ -479,18 +477,18 @@ interface(`dbus_spec_session_domain',`
##
##
#
@@ -21391,7 +21410,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -498,98 +492,100 @@ interface(`dbus_connect_system_bus',`
+@@ -498,98 +496,100 @@ interface(`dbus_connect_system_bus',`
##
##
#
@@ -21535,7 +21554,7 @@ index 62d22cb..e1b35aa 100644
##
##
##
-@@ -597,28 +593,50 @@ interface(`dbus_use_system_bus_fds',`
+@@ -597,28 +597,50 @@ interface(`dbus_use_system_bus_fds',`
##
##
#
@@ -26210,7 +26229,7 @@ index 9a21639..26c5986 100644
')
+
diff --git a/drbd.te b/drbd.te
-index f2516cc..6f78534 100644
+index f2516cc..70ddc24 100644
--- a/drbd.te
+++ b/drbd.te
@@ -18,17 +18,20 @@ files_type(drbd_var_lib_t)
@@ -26247,7 +26266,7 @@ index f2516cc..6f78534 100644
kernel_read_system_state(drbd_t)
-+auth_read_passwd(drbd_t)
++auth_use_nsswitch(drbd_t)
+
+can_exec(drbd_t, drbd_exec_t)
+
@@ -35169,10 +35188,10 @@ index 6517fad..b7ca833 100644
+ allow $1 hypervkvp_unit_file_t:service all_service_perms;
')
diff --git a/hypervkvp.te b/hypervkvp.te
-index 4eb7041..6f859e1 100644
+index 4eb7041..ccb563e 100644
--- a/hypervkvp.te
+++ b/hypervkvp.te
-@@ -5,24 +5,72 @@ policy_module(hypervkvp, 1.0.0)
+@@ -5,24 +5,81 @@ policy_module(hypervkvp, 1.0.0)
# Declarations
#
@@ -35207,7 +35226,7 @@ index 4eb7041..6f859e1 100644
#
-# Local policy
+# hyperv domain local policy
- #
++#
+
+allow hyperv_domain self:capability net_admin;
+allow hyperv_domain self:netlink_socket create_socket_perms;
@@ -35223,23 +35242,32 @@ index 4eb7041..6f859e1 100644
+########################################
#
+# hypervkvp local policy
-+#
-+
+ #
+
+-allow hypervkvpd_t self:fifo_file rw_fifo_file_perms;
+-allow hypervkvpd_t self:unix_stream_socket create_stream_socket_perms;
+manage_dirs_pattern(hypervkvp_t, hypervkvp_var_lib_t, hypervkvp_var_lib_t)
+manage_files_pattern(hypervkvp_t, hypervkvp_var_lib_t, hypervkvp_var_lib_t)
+files_var_lib_filetrans(hypervkvp_t, hypervkvp_var_lib_t, dir)
+
++domain_read_all_domains_state(hypervkvp_t)
++
+files_dontaudit_search_home(hypervkvp_t)
+
+logging_send_syslog_msg(hypervkvp_t)
+
+sysnet_dns_name_resolve(hypervkvp_t)
-
--allow hypervkvpd_t self:fifo_file rw_fifo_file_perms;
--allow hypervkvpd_t self:unix_stream_socket create_stream_socket_perms;
++sysnet_domtrans_dhcpc(hypervkvp_t)
++
++systemd_exec_systemctl(hypervkvp_t)
++
+userdom_dontaudit_search_admin_dir(hypervkvp_t)
+
+optional_policy(`
++ netutils_domtrans_ping(hypervkvp_t)
++')
++
++optional_policy(`
+ sysnet_exec_ifconfig(hypervkvp_t)
+')
+
@@ -35414,7 +35442,7 @@ index fbb54e7..05c3777 100644
########################################
diff --git a/inetd.te b/inetd.te
-index c6450df..93445b7 100644
+index c6450df..a28aa13 100644
--- a/inetd.te
+++ b/inetd.te
@@ -37,9 +37,9 @@ ifdef(`enable_mcs',`
@@ -35487,7 +35515,7 @@ index c6450df..93445b7 100644
########################################
#
# Child local policy
-@@ -220,6 +223,14 @@ kernel_read_kernel_sysctls(inetd_child_t)
+@@ -220,6 +223,16 @@ kernel_read_kernel_sysctls(inetd_child_t)
kernel_read_network_state(inetd_child_t)
kernel_read_system_state(inetd_child_t)
@@ -35499,10 +35527,12 @@ index c6450df..93445b7 100644
+corenet_tcp_sendrecv_all_ports(inetd_child_t)
+corenet_udp_sendrecv_all_ports(inetd_child_t)
+
++corecmd_bin_entry_type(inetd_child_t)
++
dev_read_urand(inetd_child_t)
fs_getattr_xattr_fs(inetd_child_t)
-@@ -230,7 +241,11 @@ auth_use_nsswitch(inetd_child_t)
+@@ -230,7 +243,11 @@ auth_use_nsswitch(inetd_child_t)
logging_send_syslog_msg(inetd_child_t)
@@ -41863,6 +41893,238 @@ index d8c2442..ef30d42 100644
corenet_sendrecv_generic_server_packets(srvsvcd_t)
corenet_tcp_sendrecv_generic_if(srvsvcd_t)
corenet_tcp_sendrecv_generic_node(srvsvcd_t)
+diff --git a/linuxptp.fc b/linuxptp.fc
+new file mode 100644
+index 0000000..d2061a9
+--- /dev/null
++++ b/linuxptp.fc
+@@ -0,0 +1,11 @@
++/usr/lib/systemd/system/phc2sys.* -- gen_context(system_u:object_r:phc2sys_unit_file_t,s0)
++
++/usr/lib/systemd/system/ptp4l.* -- gen_context(system_u:object_r:ptp4l_unit_file_t,s0)
++
++/usr/lib/systemd/system/timemaster.* -- gen_context(system_u:object_r:timemaster_unit_file_t,s0)
++
++/usr/sbin/ptp4l -- gen_context(system_u:object_r:ptp4l_exec_t,s0)
++/usr/sbin/phc2sys -- gen_context(system_u:object_r:phc2sys_exec_t,s0)
++/usr/sbin/timemaster -- gen_context(system_u:object_r:timemaster_exec_t,s0)
++
++/var/run/timemaster(/.*)? gen_context(system_u:object_r:timemaster_var_run_t,s0)
+diff --git a/linuxptp.if b/linuxptp.if
+new file mode 100644
+index 0000000..8d6873f
+--- /dev/null
++++ b/linuxptp.if
+@@ -0,0 +1,59 @@
++## implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux.
++
++########################################
++##
++## Execute domain in the phc2sys domain.
++##
++##
++##
++## Domain allowed to transition.
++##
++##
++#
++interface(`linuxptp_domtrans_phc2sys',`
++ gen_require(`
++ type phc2sys_t, phc2sys_exec_t;
++ ')
++
++ corecmd_search_bin($1)
++ domtrans_pattern($1, phc2sys_exec_t, phc2sys_t)
++')
++
++########################################
++##
++## Execute domain in the phc2sys domain.
++##
++##
++##
++## Domain allowed to transition.
++##
++##
++#
++interface(`linuxptp_domtrans_ptp4l',`
++ gen_require(`
++ type ptp4l_t, ptp4l_exec_t;
++ ')
++
++ corecmd_search_bin($1)
++ domtrans_pattern($1, ptp4l_exec_t, ptp4l_t)
++')
++######################################
++##
++## Connect to timemaster using a unix
++## domain stream socket.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`timemaster_stream_connect',`
++ gen_require(`
++ type timemaster_t, timemaster_var_run_t;
++ ')
++
++ files_search_pids($1)
++ stream_connect_pattern($1, timemaster_var_run_t, timemaster_var_run_t, timemaster_t)
++')
++
+diff --git a/linuxptp.te b/linuxptp.te
+new file mode 100644
+index 0000000..5a1445c
+--- /dev/null
++++ b/linuxptp.te
+@@ -0,0 +1,144 @@
++policy_module(linuxptp, 1.0.0)
++
++
++########################################
++#
++# Declarations
++#
++
++type timemaster_t;
++type timemaster_exec_t;
++init_daemon_domain(timemaster_t, timemaster_exec_t)
++
++type timemaster_var_run_t;
++files_pid_file(timemaster_var_run_t)
++
++type timemaster_unit_file_t;
++systemd_unit_file(timemaster_unit_file_t)
++
++type phc2sys_t;
++type phc2sys_exec_t;
++init_daemon_domain(phc2sys_t, phc2sys_exec_t)
++
++type phc2sys_unit_file_t;
++systemd_unit_file(phc2sys_unit_file_t)
++
++type ptp4l_t;
++type ptp4l_exec_t;
++init_daemon_domain(ptp4l_t, ptp4l_exec_t)
++
++type ptp4l_unit_file_t;
++systemd_unit_file(ptp4l_unit_file_t)
++
++########################################
++#
++# timemaster local policy
++#
++
++allow timemaster_t self:process { signal_perms setcap};
++allow timemaster_t self:fifo_file rw_fifo_file_perms;
++allow timemaster_t self:capability { setuid sys_time kill setgid };
++allow timemaster_t self:unix_stream_socket create_stream_socket_perms;
++allow timemaster_t self:shm create_shm_perms;
++allow timemaster_t self:udp_socket create_socket_perms;
++
++allow timemaster_t ptp4l_t:process signal;
++allow timemaster_t phc2sys_t:process signal;
++
++manage_dirs_pattern(timemaster_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_files_pattern(timemaster_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_sock_files_pattern(timemaster_t, timemaster_var_run_t, timemaster_var_run_t)
++files_pid_filetrans(timemaster_t, timemaster_var_run_t, { dir file sock_file })
++
++kernel_read_network_state(timemaster_t)
++
++auth_use_nsswitch(timemaster_t)
++
++corenet_udp_bind_generic_node(timemaster_t)
++corenet_udp_bind_ntp_port(timemaster_t)
++
++logging_send_syslog_msg(timemaster_t)
++
++sysnet_read_config(timemaster_t)
++
++optional_policy(`
++ chronyd_domtrans(timemaster_t)
++ chronyd_rw_shm(timemaster_t)
++')
++
++optional_policy(`
++ gpsd_rw_shm(timemaster_t)
++')
++
++optional_policy(`
++ linuxptp_domtrans_ptp4l(timemaster_t)
++')
++
++optional_policy(`
++ linuxptp_domtrans_phc2sys(timemaster_t)
++')
++
++########################################
++#
++# phc2sys local policy
++#
++
++allow phc2sys_t self:capability sys_time;
++allow phc2sys_t self:fifo_file rw_fifo_file_perms;
++allow phc2sys_t self:unix_stream_socket create_stream_socket_perms;
++allow phc2sys_t self:shm create_shm_perms;
++allow phc2sys_t self:udp_socket create_socket_perms;
++
++allow phc2sys_t ptp4l_t:unix_dgram_socket sendto;
++
++manage_dirs_pattern(phc2sys_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_files_pattern(phc2sys_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_sock_files_pattern(phc2sys_t, timemaster_var_run_t, timemaster_var_run_t)
++files_pid_filetrans(phc2sys_t, timemaster_var_run_t, { dir file sock_file })
++
++logging_send_syslog_msg(phc2sys_t)
++
++optional_policy(`
++ chronyd_rw_shm(phc2sys_t)
++')
++
++optional_policy(`
++ gpsd_rw_shm(phc2sys_t)
++')
++
++optional_policy(`
++ ntp_rw_shm(phc2sys_t)
++')
++
++########################################
++#
++# ptp4l local policy
++#
++
++allow ptp4l_t self:fifo_file rw_fifo_file_perms;
++allow ptp4l_t self:unix_stream_socket create_stream_socket_perms;
++allow ptp4l_t self:shm create_shm_perms;
++allow ptp4l_t self:udp_socket create_socket_perms;
++allow ptp4l_t self:capability { net_admin net_raw sys_time };
++allow ptp4l_t self:netlink_route_socket { bind create getattr nlmsg_read };
++
++allow ptp4l_t phc2sys_t:unix_dgram_socket sendto;
++
++manage_dirs_pattern(ptp4l_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_files_pattern(ptp4l_t, timemaster_var_run_t, timemaster_var_run_t)
++manage_sock_files_pattern(ptp4l_t, timemaster_var_run_t, timemaster_var_run_t)
++files_pid_filetrans(ptp4l_t, timemaster_var_run_t, { dir file sock_file })
++
++corenet_udp_bind_generic_node(ptp4l_t)
++corenet_udp_bind_reserved_port(ptp4l_t)
++
++logging_send_syslog_msg(ptp4l_t)
++
++optional_policy(`
++ chronyd_rw_shm(ptp4l_t)
++')
++
++optional_policy(`
++ gpsd_rw_shm(ptp4l_t)
++')
++
diff --git a/lircd.if b/lircd.if
index dff21a7..b6981c8 100644
--- a/lircd.if
@@ -58029,18 +58291,20 @@ index 8ec7859..719cffd 100644
fs_getattr_all_fs(ntop_t)
fs_search_auto_mountpoints(ntop_t)
diff --git a/ntp.fc b/ntp.fc
-index af3c91e..6882a3f 100644
+index af3c91e..2d41c4c 100644
--- a/ntp.fc
+++ b/ntp.fc
-@@ -13,6 +13,8 @@
+@@ -13,7 +13,10 @@
/usr/sbin/ntpdate -- gen_context(system_u:object_r:ntpdate_exec_t,s0)
/usr/sbin/sntp -- gen_context(system_u:object_r:ntpdate_exec_t,s0)
+/usr/lib/systemd/system/ntpd.* -- gen_context(system_u:object_r:ntpd_unit_file_t,s0)
+
/var/lib/ntp(/.*)? gen_context(system_u:object_r:ntp_drift_t,s0)
++/var/lib/sntp(/.*)? gen_context(system_u:object_r:ntp_drift_t,s0)
/var/lib/sntp-kod(/.*)? gen_context(system_u:object_r:ntp_drift_t,s0)
+ /var/log/ntp.* -- gen_context(system_u:object_r:ntpd_log_t,s0)
diff --git a/ntp.if b/ntp.if
index e96a309..2bacc3f 100644
--- a/ntp.if
@@ -58242,7 +58506,7 @@ index e96a309..2bacc3f 100644
+ files_var_lib_filetrans($1, ntp_drift_t, file, "sntp-kod")
')
diff --git a/ntp.te b/ntp.te
-index f81b113..5c71385 100644
+index f81b113..6f94328 100644
--- a/ntp.te
+++ b/ntp.te
@@ -18,6 +18,9 @@ role ntpd_roles types ntpd_t;
@@ -58255,15 +58519,16 @@ index f81b113..5c71385 100644
type ntp_conf_t;
files_config_file(ntp_conf_t)
-@@ -53,6 +56,7 @@ allow ntpd_t self:tcp_socket { accept listen };
+@@ -53,6 +56,8 @@ allow ntpd_t self:tcp_socket { accept listen };
manage_dirs_pattern(ntpd_t, ntp_drift_t, ntp_drift_t)
manage_files_pattern(ntpd_t, ntp_drift_t, ntp_drift_t)
++files_var_lib_filetrans(ntpd_t, ntp_drift_t, dir, "sntp")
+files_var_lib_filetrans(ntpd_t, ntp_drift_t, dir, "sntp-kod")
allow ntpd_t ntp_conf_t:file read_file_perms;
-@@ -60,9 +64,7 @@ read_files_pattern(ntpd_t, ntpd_key_t, ntpd_key_t)
+@@ -60,9 +65,7 @@ read_files_pattern(ntpd_t, ntpd_key_t, ntpd_key_t)
read_lnk_files_pattern(ntpd_t, ntpd_key_t, ntpd_key_t)
allow ntpd_t ntpd_log_t:dir setattr_dir_perms;
@@ -58274,7 +58539,7 @@ index f81b113..5c71385 100644
logging_log_filetrans(ntpd_t, ntpd_log_t, { file dir })
manage_dirs_pattern(ntpd_t, ntpd_tmp_t, ntpd_tmp_t)
-@@ -83,21 +85,16 @@ kernel_read_system_state(ntpd_t)
+@@ -83,21 +86,16 @@ kernel_read_system_state(ntpd_t)
kernel_read_network_state(ntpd_t)
kernel_request_load_module(ntpd_t)
@@ -58298,7 +58563,7 @@ index f81b113..5c71385 100644
corecmd_exec_bin(ntpd_t)
corecmd_exec_shell(ntpd_t)
-@@ -110,13 +107,15 @@ domain_use_interactive_fds(ntpd_t)
+@@ -110,13 +108,15 @@ domain_use_interactive_fds(ntpd_t)
domain_dontaudit_list_all_domains_state(ntpd_t)
files_read_etc_runtime_files(ntpd_t)
@@ -58315,7 +58580,7 @@ index f81b113..5c71385 100644
auth_use_nsswitch(ntpd_t)
-@@ -124,8 +123,6 @@ init_exec_script_files(ntpd_t)
+@@ -124,8 +124,6 @@ init_exec_script_files(ntpd_t)
logging_send_syslog_msg(ntpd_t)
@@ -61437,7 +61702,7 @@ index 0000000..776fda7
+')
diff --git a/opensm.te b/opensm.te
new file mode 100644
-index 0000000..32d1db4
+index 0000000..de03e94
--- /dev/null
+++ b/opensm.te
@@ -0,0 +1,45 @@
@@ -61478,7 +61743,7 @@ index 0000000..32d1db4
+
+kernel_read_system_state(opensm_t)
+
-+auth_read_passwd(opensm_t)
++auth_use_nsswitch(opensm_t)
+
+corecmd_exec_bin(opensm_t)
+
@@ -66394,7 +66659,7 @@ index 30e751f..61feb3a 100644
admin_pattern($1, plymouthd_var_run_t)
')
diff --git a/plymouthd.te b/plymouthd.te
-index 3078ce9..d2f68fa 100644
+index 3078ce9..18872dc 100644
--- a/plymouthd.te
+++ b/plymouthd.te
@@ -15,7 +15,7 @@ type plymouthd_exec_t;
@@ -66451,7 +66716,7 @@ index 3078ce9..d2f68fa 100644
+logging_link_generic_logs(plymouthd_t)
+logging_delete_generic_logs(plymouthd_t)
+
-+auth_read_passwd(plymouthd_t)
++auth_use_nsswitch(plymouthd_t)
+
miscfiles_read_fonts(plymouthd_t)
miscfiles_manage_fonts_cache(plymouthd_t)
@@ -66836,7 +67101,7 @@ index 032a84d..be00a65 100644
+ allow $1 policykit_auth_t:process signal;
')
diff --git a/policykit.te b/policykit.te
-index ee91778..6df7cf0 100644
+index ee91778..b00a474 100644
--- a/policykit.te
+++ b/policykit.te
@@ -7,9 +7,6 @@ policy_module(policykit, 1.3.0)
@@ -67002,7 +67267,7 @@ index ee91778..6df7cf0 100644
rw_files_pattern(policykit_auth_t, policykit_reload_t, policykit_reload_t)
-@@ -145,65 +159,79 @@ manage_dirs_pattern(policykit_auth_t, policykit_var_run_t, policykit_var_run_t)
+@@ -145,65 +159,80 @@ manage_dirs_pattern(policykit_auth_t, policykit_var_run_t, policykit_var_run_t)
manage_files_pattern(policykit_auth_t, policykit_var_run_t, policykit_var_run_t)
files_pid_filetrans(policykit_auth_t, policykit_var_run_t, { file dir })
@@ -67032,6 +67297,7 @@ index ee91778..6df7cf0 100644
userdom_dontaudit_read_user_home_content_files(policykit_auth_t)
+userdom_dontaudit_write_user_tmp_files(policykit_auth_t)
++userdom_dontaudit_manage_user_home_dirs(policykit_auth_t)
+userdom_read_admin_home_files(policykit_auth_t)
optional_policy(`
@@ -67094,7 +67360,7 @@ index ee91778..6df7cf0 100644
rw_files_pattern(policykit_grant_t, policykit_reload_t, policykit_reload_t)
-@@ -211,23 +239,20 @@ manage_files_pattern(policykit_grant_t, policykit_var_run_t, policykit_var_run_t
+@@ -211,23 +240,20 @@ manage_files_pattern(policykit_grant_t, policykit_var_run_t, policykit_var_run_t
manage_files_pattern(policykit_grant_t, policykit_var_lib_t, policykit_var_lib_t)
@@ -67121,7 +67387,7 @@ index ee91778..6df7cf0 100644
optional_policy(`
consolekit_dbus_chat(policykit_grant_t)
')
-@@ -235,26 +260,28 @@ optional_policy(`
+@@ -235,26 +261,28 @@ optional_policy(`
########################################
#
@@ -67156,7 +67422,7 @@ index ee91778..6df7cf0 100644
userdom_read_all_users_state(policykit_resolve_t)
optional_policy(`
-@@ -266,6 +293,6 @@ optional_policy(`
+@@ -266,6 +294,6 @@ optional_policy(`
')
optional_policy(`
@@ -87926,7 +88192,7 @@ index 50d07fb..bada62f 100644
+ allow $1 samba_unit_file_t:service all_service_perms;
')
diff --git a/samba.te b/samba.te
-index 2b7c441..9c52c41 100644
+index 2b7c441..fdfd40f 100644
--- a/samba.te
+++ b/samba.te
@@ -6,100 +6,80 @@ policy_module(samba, 1.16.3)
@@ -88840,13 +89106,13 @@ index 2b7c441..9c52c41 100644
-allow swat_t { nmbd_t smbd_t }:process { signal signull };
+samba_domtrans_smbd(swat_t)
+allow swat_t smbd_t:process { signal signull };
-
--allow swat_t smbd_var_run_t:file read_file_perms;
--allow swat_t smbd_var_run_t:file { lock delete_file_perms };
++
+samba_domtrans_nmbd(swat_t)
+allow swat_t nmbd_t:process { signal signull };
+allow nmbd_t swat_t:process signal;
-+
+
+-allow swat_t smbd_var_run_t:file read_file_perms;
+-allow swat_t smbd_var_run_t:file { lock delete_file_perms };
+read_files_pattern(swat_t, nmbd_var_run_t, nmbd_var_run_t)
+stream_connect_pattern(swat_t, nmbd_var_run_t, nmbd_var_run_t, nmbd_t)
+
@@ -89110,7 +89376,7 @@ index 2b7c441..9c52c41 100644
')
optional_policy(`
-@@ -959,31 +1017,29 @@ optional_policy(`
+@@ -959,31 +1017,35 @@ optional_policy(`
# Winbind helper local policy
#
@@ -89132,11 +89398,16 @@ index 2b7c441..9c52c41 100644
-domain_use_interactive_fds(winbind_helper_t)
-
-files_list_var_lib(winbind_helper_t)
--
++dev_read_urand(winbind_t)
+
term_list_ptys(winbind_helper_t)
++corecmd_exec_bin(winbind_helper_t)
++
+domain_use_interactive_fds(winbind_helper_t)
+
++files_list_tmp(winbind_helper_t)
++
auth_use_nsswitch(winbind_helper_t)
logging_send_syslog_msg(winbind_helper_t)
@@ -89148,7 +89419,7 @@ index 2b7c441..9c52c41 100644
optional_policy(`
apache_append_log(winbind_helper_t)
-@@ -997,25 +1053,38 @@ optional_policy(`
+@@ -997,25 +1059,38 @@ optional_policy(`
########################################
#
@@ -101545,7 +101816,7 @@ index e29db63..061fb98 100644
domain_system_change_exemption($1)
role_transition $2 tuned_initrc_exec_t system_r;
diff --git a/tuned.te b/tuned.te
-index 393a330..b500795 100644
+index 393a330..6893547 100644
--- a/tuned.te
+++ b/tuned.te
@@ -21,6 +21,9 @@ files_config_file(tuned_rw_etc_t)
@@ -101623,22 +101894,22 @@ index 393a330..b500795 100644
files_dontaudit_search_home(tuned_t)
-files_dontaudit_list_tmp(tuned_t)
+files_list_tmp(tuned_t)
-
--fs_getattr_xattr_fs(tuned_t)
++
+fs_getattr_all_fs(tuned_t)
+fs_search_all(tuned_t)
+fs_rw_hugetlbfs_files(tuned_t)
-+
+
+-fs_getattr_xattr_fs(tuned_t)
+auth_use_nsswitch(tuned_t)
logging_send_syslog_msg(tuned_t)
+#bug in tuned
+logging_manage_syslog_config(tuned_t)
+logging_filetrans_named_conf(tuned_t)
-+
-+mount_read_pid_files(tuned_t)
-miscfiles_read_localization(tuned_t)
++mount_read_pid_files(tuned_t)
++
+modutils_domtrans_insmod(tuned_t)
udev_read_pid_files(tuned_t)
@@ -101675,6 +101946,14 @@ index 393a330..b500795 100644
optional_policy(`
sysnet_domtrans_ifconfig(tuned_t)
')
+@@ -96,3 +139,7 @@ optional_policy(`
+ optional_policy(`
+ unconfined_dbus_send(tuned_t)
+ ')
++
++optional_policy(`
++ unconfined_domain(tuned_t)
++')
diff --git a/tvtime.if b/tvtime.if
index 1bb0f7c..372be2f 100644
--- a/tvtime.if
@@ -105209,7 +105488,7 @@ index facdee8..c7a2d97 100644
+ typeattribute $1 sandbox_caps_domain;
')
diff --git a/virt.te b/virt.te
-index f03dcf5..f960625 100644
+index f03dcf5..f3d6203 100644
--- a/virt.te
+++ b/virt.te
@@ -1,150 +1,241 @@
@@ -106214,7 +106493,7 @@ index f03dcf5..f960625 100644
+allow virt_domain self:process { setrlimit signal_perms getsched setsched };
+allow virt_domain self:fifo_file rw_fifo_file_perms;
+allow virt_domain self:shm create_shm_perms;
-+allow virt_domain self:unix_stream_socket create_stream_socket_perms;
++allow virt_domain self:unix_stream_socket { connectto create_stream_socket_perms };
+allow virt_domain self:unix_dgram_socket { create_socket_perms sendto };
+allow virt_domain self:tcp_socket create_stream_socket_perms;
+allow virt_domain self:udp_socket create_socket_perms;
@@ -112178,7 +112457,7 @@ index 0000000..fb0519e
+
diff --git a/zoneminder.te b/zoneminder.te
new file mode 100644
-index 0000000..b66e76d
+index 0000000..184e3d5
--- /dev/null
+++ b/zoneminder.te
@@ -0,0 +1,187 @@
@@ -112319,16 +112598,16 @@ index 0000000..b66e76d
+
+optional_policy(`
+ tunable_policy(`zoneminder_run_sudo',`
-+ dbus_system_bus_client(zoneminder_t)
++ sudo_exec(zoneminder_t)
++ su_exec(zoneminder_t)
+ ')
+')
+
+optional_policy(`
-+ tunable_policy(`zoneminder_run_sudo',`
-+ sudo_exec(zoneminder_t)
-+ su_exec(zoneminder_t)
-+ ')
++ dbus_system_bus_client(zoneminder_t)
+')
++
++
+optional_policy(`
+ mysql_stream_connect(zoneminder_t)
+')
diff --git a/selinux-policy.spec b/selinux-policy.spec
index 6674776..86271b7 100644
--- a/selinux-policy.spec
+++ b/selinux-policy.spec
@@ -19,7 +19,7 @@
Summary: SELinux policy configuration
Name: selinux-policy
Version: 3.13.1
-Release: 90%{?dist}
+Release: 91%{?dist}
License: GPLv2+
Group: System Environment/Base
Source: serefpolicy-%{version}.tgz
@@ -604,6 +604,28 @@ SELinux Reference policy mls base module.
%endif
%changelog
+* Fri Nov 07 2014 Lukas Vrabec 3.13.1-91
+- Added interface userdom_dontaudit_manage_user_home_dirs
+- Fix unconfined_server_dbus_chat() interface.
+- Add unconfined_server_dbus_chat() inteface.
+- Allow login domains to create kernel keyring with different level.
+- Dontaudit policykit_auth_t to write to user home dirs. BZ (1157256)
+- Make tuned as unconfined domain.
+- Added support for linuxptp policy. BZ(1149693)
+- make zoneminder as dbus client by default.
+- Allow bluetooth read/write uhid devices. BZ (1161169)
+- Add fixes for hypervkvp daemon
+- Allow guest to connect to libvirt using unix_stream_socket.
+- Allow all bus client domains to dbus chat with unconfined_service_t.
+- Allow inetd service without own policy to run in inetd_child_t which is unconfined domain.
+- Make opensm as nsswitch domain to make it working with sssd.
+- Allow brctl to read meminfo.
+- Allow winbind-helper to execute ntlm_auth in the caller domain.
+- Make plymouthd as nsswitch domain to make it working with sssd.
+- Make drbd as nsswitch domain to make it working with sssd.
+- Make conman as nsswitch domain to make ipmitool.exp runing as conman_t working.
+- Add support for /var/lib/sntp directory.
+
* Mon Nov 03 2014 Lukas Vrabec 3.13.1-90
- Add support for /dev/nvme controllerdevice nodes created by nvme driver.
- Add 15672 as amqp_port_t