diff --git a/policy/modules/admin/bootloader.if b/policy/modules/admin/bootloader.if
index 1b14ab6..e083200 100644
--- a/policy/modules/admin/bootloader.if
+++ b/policy/modules/admin/bootloader.if
@@ -49,6 +49,11 @@ interface(`bootloader_run',`
role $2 types bootloader_t;
allow bootloader_t $3:chr_file rw_term_perms;
+
+ ifdef(`distro_redhat',`
+ # for mke2fs
+ mount_run(bootloader_t, $2, $3)
+ ')
')
########################################
diff --git a/policy/modules/admin/bootloader.te b/policy/modules/admin/bootloader.te
index 27b1658..bc86203 100644
--- a/policy/modules/admin/bootloader.te
+++ b/policy/modules/admin/bootloader.te
@@ -1,5 +1,5 @@
-policy_module(bootloader, 1.8.0)
+policy_module(bootloader, 1.8.1)
########################################
#
@@ -172,6 +172,10 @@ ifdef(`distro_redhat',`
# for mke2fs
mount_domtrans(bootloader_t)
+
+ optional_policy(`
+ unconfined_domain(bootloader_t)
+ ')
')
optional_policy(`
diff --git a/policy/modules/admin/kudzu.te b/policy/modules/admin/kudzu.te
index b641523..ec78261 100644
--- a/policy/modules/admin/kudzu.te
+++ b/policy/modules/admin/kudzu.te
@@ -1,5 +1,5 @@
-policy_module(kudzu, 1.6.0)
+policy_module(kudzu, 1.6.1)
########################################
#
@@ -143,28 +143,6 @@ optional_policy(`
')
optional_policy(`
- # cjp: this was originally in the else block
- # of ifdef userhelper.te, but it seems to
- # make more sense here. also, require
- # blocks curently do not work in the
- # else block of optionals
+ unconfined_domtrans(kudzu_t)
unconfined_domain(kudzu_t)
')
-
-ifdef(`TODO',`
-allow kudzu_t modules_conf_t:file unlink;
-optional_policy(`
- allow kudzu_t printconf_t:file { getattr read };
-')
-optional_policy(`
- allow kudzu_t xserver_exec_t:file getattr;
-')
-optional_policy(`
- allow kudzu_t rhgb_t:unix_stream_socket connectto;
-')
-optional_policy(`
- role system_r types sysadm_userhelper_t;
- domain_auto_trans(kudzu_t, userhelper_exec_t, sysadm_userhelper_t)
-')
-allow kudzu_t cupsd_rw_etc_t:dir list_dir_perms;
-')
diff --git a/policy/modules/services/courier.fc b/policy/modules/services/courier.fc
index 3009c73..7a91fd2 100644
--- a/policy/modules/services/courier.fc
+++ b/policy/modules/services/courier.fc
@@ -19,3 +19,5 @@
/var/lib/courier(/.*)? -- gen_context(system_u:object_r:courier_var_lib_t,s0)
/var/run/courier(/.*)? -- gen_context(system_u:object_r:courier_var_run_t,s0)
+
+/var/spool/courier(/.*)? gen_context(system_u:object_r:courier_spool_t,s0)
diff --git a/policy/modules/services/courier.if b/policy/modules/services/courier.if
index 18ca6f9..88f0170 100644
--- a/policy/modules/services/courier.if
+++ b/policy/modules/services/courier.if
@@ -123,3 +123,77 @@ interface(`courier_domtrans_pop',`
domtrans_pattern($1, courier_pop_exec_t, courier_pop_t)
')
+
+########################################
+##
+## Read courier config files
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`courier_read_config',`
+ gen_require(`
+ type courier_etc_t;
+ ')
+
+ read_files_pattern($1, courier_etc_t, courier_etc_t)
+')
+
+########################################
+##
+## Create, read, write, and delete courier
+## spool directories.
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`courier_manage_spool_dirs',`
+ gen_require(`
+ type courier_spool_t;
+ ')
+
+ manage_dirs_pattern($1, courier_spool_t, courier_spool_t)
+')
+
+########################################
+##
+## Create, read, write, and delete courier
+## spool files.
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`courier_manage_spool_files',`
+ gen_require(`
+ type courier_spool_t;
+ ')
+
+ manage_files_pattern($1, courier_spool_t, courier_spool_t)
+')
+
+########################################
+##
+## Read and write to courier spool pipes.
+##
+##
+##
+## Domain to not audit.
+##
+##
+#
+interface(`courier_rw_spool_pipes',`
+ gen_require(`
+ type courier_spool_t;
+ ')
+
+ allow $1 courier_spool_t:fifo_file rw_fifo_file_perms;
+')
diff --git a/policy/modules/services/courier.te b/policy/modules/services/courier.te
index 664c227..213bebf 100644
--- a/policy/modules/services/courier.te
+++ b/policy/modules/services/courier.te
@@ -1,5 +1,5 @@
-policy_module(courier, 1.5.0)
+policy_module(courier, 1.5.1)
########################################
#
@@ -9,12 +9,15 @@ policy_module(courier, 1.5.0)
courier_domain_template(authdaemon)
type courier_etc_t;
-files_type(courier_etc_t)
+files_config_file(courier_etc_t)
courier_domain_template(pcp)
courier_domain_template(pop)
+type courier_spool_t;
+files_type(courier_spool_t)
+
courier_domain_template(tcpd)
type courier_var_lib_t;
diff --git a/policy/modules/services/rdisc.te b/policy/modules/services/rdisc.te
index 10b72b0..e1db9f0 100644
--- a/policy/modules/services/rdisc.te
+++ b/policy/modules/services/rdisc.te
@@ -1,5 +1,5 @@
-policy_module(rdisc, 1.5.0)
+policy_module(rdisc, 1.5.1)
########################################
#
@@ -47,6 +47,8 @@ libs_use_shared_libs(rdisc_t)
logging_send_syslog_msg(rdisc_t)
+miscfiles_read_localization(rdisc_t)
+
sysnet_read_config(rdisc_t)
userdom_dontaudit_use_unpriv_user_fds(rdisc_t)
diff --git a/policy/modules/services/rpc.te b/policy/modules/services/rpc.te
index f35086c..32dad66 100644
--- a/policy/modules/services/rpc.te
+++ b/policy/modules/services/rpc.te
@@ -1,5 +1,5 @@
-policy_module(rpc, 1.8.0)
+policy_module(rpc, 1.8.1)
########################################
#
@@ -62,22 +62,23 @@ files_pid_filetrans(rpcd_t, rpcd_var_run_t, file)
# rpc.statd executes sm-notify
can_exec(rpcd_t, rpcd_exec_t)
-corecmd_search_bin(rpcd_t)
kernel_read_system_state(rpcd_t)
-kernel_search_network_state(rpcd_t)
+kernel_read_network_state(rpcd_t)
# for rpc.rquotad
kernel_read_sysctl(rpcd_t)
kernel_rw_fs_sysctls(rpcd_t)
+corecmd_exec_bin(rpcd_t)
+
+files_manage_mounttab(rpcd_t)
+
fs_list_rpc(rpcd_t)
fs_read_rpc_files(rpcd_t)
fs_read_rpc_symlinks(rpcd_t)
fs_read_rpc_sockets(rpcd_t)
-term_use_controlling_term(rpcd_t)
-# cjp: this should really have its own type
-files_manage_mounttab(rpcd_t)
+selinux_dontaudit_read_fs(rpcd_t)
miscfiles_read_certs(rpcd_t)
@@ -104,12 +105,9 @@ kernel_read_network_state(nfsd_t)
corenet_tcp_bind_all_rpc_ports(nfsd_t)
corenet_udp_bind_all_rpc_ports(nfsd_t)
-fs_mount_nfsd_fs(nfsd_t)
-fs_search_nfsd_fs(nfsd_t)
-fs_getattr_all_fs(nfsd_t)
-fs_rw_nfsd_fs(nfsd_t)
-
-term_use_controlling_term(nfsd_t)
+dev_dontaudit_getattr_all_blk_files(nfsd_t)
+dev_dontaudit_getattr_all_chr_files(nfsd_t)
+dev_rw_lvm_control(nfsd_t)
# does not really need this, but it is easier to just allow it
files_search_pids(nfsd_t)
@@ -118,6 +116,14 @@ files_getattr_tmp_dirs(nfsd_t)
# cjp: this should really have its own type
files_manage_mounttab(rpcd_t)
+fs_mount_nfsd_fs(nfsd_t)
+fs_search_nfsd_fs(nfsd_t)
+fs_getattr_all_fs(nfsd_t)
+fs_getattr_all_dirs(nfsd_t)
+fs_rw_nfsd_fs(nfsd_t)
+
+storage_dontaudit_read_fixed_disk(nfsd_t)
+
# Read access to public_content_t and public_content_rw_t
miscfiles_read_public_files(nfsd_t)
@@ -149,6 +155,7 @@ manage_dirs_pattern(gssd_t, gssd_tmp_t, gssd_tmp_t)
manage_files_pattern(gssd_t, gssd_tmp_t, gssd_tmp_t)
files_tmp_filetrans(gssd_t, gssd_tmp_t, { file dir })
+kernel_read_system_state(gssd_t)
kernel_read_network_state(gssd_t)
kernel_read_network_state_symlinks(gssd_t)
kernel_search_network_sysctl(gssd_t)
@@ -162,6 +169,8 @@ fs_read_rpc_files(gssd_t)
files_list_tmp(gssd_t)
files_read_usr_symlinks(gssd_t)
+auth_use_nsswitch(gssd_t)
+
miscfiles_read_certs(gssd_t)
tunable_policy(`allow_gssd_read_tmp',`
diff --git a/policy/modules/system/getty.fc b/policy/modules/system/getty.fc
index ff413c7..e1a1848 100644
--- a/policy/modules/system/getty.fc
+++ b/policy/modules/system/getty.fc
@@ -8,5 +8,5 @@
/var/run/mgetty\.pid.* -- gen_context(system_u:object_r:getty_var_run_t,s0)
-/var/spool/fax -- gen_context(system_u:object_r:getty_var_run_t,s0)
-/var/spool/voice -- gen_context(system_u:object_r:getty_var_run_t,s0)
+/var/spool/fax(/.*)? gen_context(system_u:object_r:getty_var_run_t,s0)
+/var/spool/voice(/.*)? gen_context(system_u:object_r:getty_var_run_t,s0)
diff --git a/policy/modules/system/getty.te b/policy/modules/system/getty.te
index b951f30..275fda7 100644
--- a/policy/modules/system/getty.te
+++ b/policy/modules/system/getty.te
@@ -1,5 +1,5 @@
-policy_module(getty,1.6.0)
+policy_module(getty, 1.6.1)
########################################
#
@@ -9,6 +9,7 @@ policy_module(getty,1.6.0)
type getty_t;
type getty_exec_t;
init_domain(getty_t,getty_exec_t)
+init_system_domain(getty_t, getty_exec_t)
domain_interactive_fd(getty_t)
type getty_etc_t;