diff --git a/Changelog b/Changelog
index 3af845764..5f37eed92 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,4 @@
+- Patch for misc fixes in sudo from Dan Walsh.
- Patch to fix netlabel recvfrom MLS constraint from Paul Moore.
- Patch for handling restart of nscd when ran from useradd, groupadd, and
admin passwd, from Dan Walsh.
diff --git a/policy/modules/admin/sudo.if b/policy/modules/admin/sudo.if
index da47fa979..249c3fcaf 100644
--- a/policy/modules/admin/sudo.if
+++ b/policy/modules/admin/sudo.if
@@ -37,7 +37,6 @@ template(`sudo_per_role_template',`
gen_require(`
type sudo_exec_t;
- bool secure_mode;
')
##############################
@@ -95,9 +94,8 @@ template(`sudo_per_role_template',`
# sudo stores a token in the pam_pid directory
auth_manage_pam_pid($1_sudo_t)
- corecmd_getattr_bin_files($1_sudo_t)
corecmd_read_sbin_symlinks($1_sudo_t)
- corecmd_getattr_sbin_files($1_sudo_t)
+ corecmd_getattr_all_executables($1_sudo_t)
domain_use_interactive_fds($1_sudo_t)
domain_sigchld_interactive_fds($1_sudo_t)
diff --git a/policy/modules/admin/sudo.te b/policy/modules/admin/sudo.te
index bf3ea5fa9..3324d5137 100644
--- a/policy/modules/admin/sudo.te
+++ b/policy/modules/admin/sudo.te
@@ -1,11 +1,11 @@
-policy_module(sudo,1.0.1)
+policy_module(sudo,1.0.2)
########################################
#
# Declarations
type sudo_exec_t;
-files_type(sudo_exec_t)
+corecmd_executable_file(sudo_exec_t)
# Remaining policy in per user domain template.
diff --git a/policy/modules/kernel/corecommands.if b/policy/modules/kernel/corecommands.if
index cc7c6201d..9c7095cf6 100644
--- a/policy/modules/kernel/corecommands.if
+++ b/policy/modules/kernel/corecommands.if
@@ -911,6 +911,27 @@ interface(`corecmd_exec_chroot',`
allow $1 self:capability sys_chroot;
')
+########################################
+##
+## Get the attributes of all executable files.
+##
+##
+##
+## Domain allowed access.
+##
+##
+##
+#
+interface(`corecmd_getattr_all_executables',`
+ gen_require(`
+ attribute exec_type;
+ type bin_t, sbin_t;
+ ')
+
+ allow $1 { bin_t sbin_t }:dir list_dir_perms;
+ getattr_files_pattern($1,{ bin_t sbin_t },{ bin_t sbin_t })
+')
+
########################################
##
## Execute all executable files.
diff --git a/policy/modules/kernel/corecommands.te b/policy/modules/kernel/corecommands.te
index 1c797f4dd..2bf8ae00d 100644
--- a/policy/modules/kernel/corecommands.te
+++ b/policy/modules/kernel/corecommands.te
@@ -1,5 +1,5 @@
-policy_module(corecommands,1.5.2)
+policy_module(corecommands,1.5.3)
########################################
#