diff --git a/policy/modules/kernel/terminal.if b/policy/modules/kernel/terminal.if
index 44faeed0..774450ef 100644
--- a/policy/modules/kernel/terminal.if
+++ b/policy/modules/kernel/terminal.if
@@ -90,6 +90,7 @@ interface(`term_tty',`
typeattribute $2 ttynode, serial_device;
type_change $1 tty_device_t:chr_file $2;
+ fs_associate($1)
files_associate_tmp($1)
# Debian login is from shadow utils and does not allow resetting the perms.
@@ -713,6 +714,25 @@ interface(`term_setattr_unallocated_ttys',`
allow $1 tty_device_t:chr_file setattr;
')
+########################################
+##
+## Do not audit attempts to set the attributes
+## of unallocated tty device nodes.
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`term_dontaudit_setattr_unallocated_ttys',`
+ gen_require(`
+ type tty_device_t;
+ ')
+
+ dontaudit $1 tty_device_t:chr_file setattr;
+')
+
########################################
##
## Do not audit attempts to ioctl
@@ -774,6 +794,25 @@ interface(`term_reset_tty_labels',`
allow $1 tty_device_t:chr_file relabelto;
')
+########################################
+##
+## Append to unallocated ttys.
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`term_append_unallocated_ttys',`
+ gen_require(`
+ type tty_device_t;
+ ')
+
+ dev_list_all_dev_nodes($1)
+ allow $1 tty_device_t:chr_file { getattr append };
+')
+
########################################
##
## Write to unallocated ttys.
diff --git a/policy/modules/kernel/terminal.te b/policy/modules/kernel/terminal.te
index 497652a8..c2f36395 100644
--- a/policy/modules/kernel/terminal.te
+++ b/policy/modules/kernel/terminal.te
@@ -1,5 +1,5 @@
-policy_module(terminal,1.1.4)
+policy_module(terminal,1.1.5)
########################################
#
diff --git a/policy/modules/system/authlogin.te b/policy/modules/system/authlogin.te
index 1006dc42..1b0376da 100644
--- a/policy/modules/system/authlogin.te
+++ b/policy/modules/system/authlogin.te
@@ -265,6 +265,7 @@ term_dontaudit_use_unallocated_ttys(system_chkpwd_t)
term_dontaudit_use_generic_ptys(system_chkpwd_t)
userdom_dontaudit_use_unpriv_users_ttys(system_chkpwd_t)
+userdom_dontaudit_use_unpriv_users_ptys(system_chkpwd_t)
########################################
#
diff --git a/policy/modules/system/clock.if b/policy/modules/system/clock.if
index d5c66e35..542db15a 100644
--- a/policy/modules/system/clock.if
+++ b/policy/modules/system/clock.if
@@ -55,14 +55,14 @@ interface(`clock_run',`
')
########################################
-##
-## Execute hwclock in the caller domain.
-##
-##
+##
+## Execute hwclock in the caller domain.
+##
+##
##
-## The type of the process performing this action.
+## The type of the process performing this action.
##
-##
+##
#
interface(`clock_exec',`
gen_require(`
@@ -73,14 +73,32 @@ interface(`clock_exec',`
')
########################################
-##
-## Allow executing domain to modify clock drift
-##
-##
+##
+## Do not audit attempts to write clock drift adjustments.
+##
+##
##
-## The type of the process performing this action.
+## Domain to not audit.
##
-##
+##
+#
+interface(`clock_dontaudit_write_adjtime',`
+ gen_require(`
+ type adjtime_t;
+ ')
+
+ dontaudit $1 adjtime_t:file write;
+')
+
+########################################
+##
+## Read and write clock drift adjustments.
+##
+##
+##
+## Domain allowed access.
+##
+##
#
interface(`clock_rw_adjtime',`
gen_require(`
@@ -90,4 +108,3 @@ interface(`clock_rw_adjtime',`
allow $1 adjtime_t:file rw_file_perms;
files_list_etc($1)
')
-
diff --git a/policy/modules/system/clock.te b/policy/modules/system/clock.te
index 03d98858..8b7cef36 100644
--- a/policy/modules/system/clock.te
+++ b/policy/modules/system/clock.te
@@ -1,5 +1,5 @@
-policy_module(clock,1.0.1)
+policy_module(clock,1.0.2)
########################################
#
diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index ab9d4b3f..2cb9b8cd 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -416,6 +416,9 @@ ifdef(`distro_gentoo',`
# mounting tmpfs on /dev
fs_tmpfs_filetrans(initrc_t,initrc_state_t,file)
+ # init scripts touch this
+ clock_dontaudit_write_adjtime(initrc_t)
+
optional_policy(`
arpwatch_manage_data_files(initrc_t)
')
diff --git a/policy/modules/system/logging.te b/policy/modules/system/logging.te
index 0c1b3ed0..195a1a12 100644
--- a/policy/modules/system/logging.te
+++ b/policy/modules/system/logging.te
@@ -1,5 +1,5 @@
-policy_module(logging,1.3.9)
+policy_module(logging,1.3.10)
########################################
#
@@ -349,6 +349,13 @@ miscfiles_read_localization(syslogd_t)
userdom_dontaudit_use_unpriv_user_fds(syslogd_t)
userdom_dontaudit_search_sysadm_home_dirs(syslogd_t)
+ifdef(`distro_gentoo',`
+ # default gentoo syslog-ng config appends kernel
+ # and high priority messages to /dev/tty12
+ term_append_unallocated_ttys(syslogd_t)
+ term_dontaudit_setattr_unallocated_ttys(syslogd_t)
+')
+
ifdef(`distro_suse',`
# suse creates a /dev/log under /var/lib/stunnel for chrooted stunnel
files_var_lib_filetrans(syslogd_t,devlog_t,sock_file)