##
## Allow a user to login as an unconfined domain
@@ -435,6 +442,12 @@ optional_policy(`
')
')
+ optional_policy(`
+ tunable_policy(`unconfined_login',`
+ mplayer_exec_domtrans(unconfined_t, unconfined_execmem_t)
+ ')
+ ')
+
optional_policy(`
openoffice_exec_domtrans(unconfined_t, unconfined_execmem_t)
')
diff --git a/policy/modules/services/dbus.if b/policy/modules/services/dbus.if
index 4ab36ba6..e385f2f1 100644
--- a/policy/modules/services/dbus.if
+++ b/policy/modules/services/dbus.if
@@ -442,7 +442,7 @@ interface(`dbus_system_domain',`
domtrans_pattern(system_dbusd_t, $2, $1)
- fs_search_cgroup_dirs($1)
+ fs_search_all($1)
dbus_system_bus_client($1)
dbus_connect_system_bus($1)
diff --git a/policy/modules/services/milter.fc b/policy/modules/services/milter.fc
index 55a3e2f8..613c69d5 100644
--- a/policy/modules/services/milter.fc
+++ b/policy/modules/services/milter.fc
@@ -1,3 +1,6 @@
+/etc/mail/dkim-milter/keys(/.*)? gen_context(system_u:object_r:dkim_milter_private_key_t,s0)
+
+/usr/sbin/dkim-filter -- gen_context(system_u:object_r:dkim_milter_exec_t,s0)
/usr/sbin/milter-greylist -- gen_context(system_u:object_r:greylist_milter_exec_t,s0)
/usr/sbin/milter-regex -- gen_context(system_u:object_r:regex_milter_exec_t,s0)
/usr/sbin/spamass-milter -- gen_context(system_u:object_r:spamass_milter_exec_t,s0)
@@ -5,6 +8,7 @@
/var/lib/milter-greylist(/.*)? gen_context(system_u:object_r:greylist_milter_data_t,s0)
/var/lib/spamass-milter(/.*)? gen_context(system_u:object_r:spamass_milter_state_t,s0)
+/var/run/dkim-milter(/.*)? gen_context(system_u:object_r:dkim_milter_data_t,s0)
/var/run/milter-greylist(/.*)? gen_context(system_u:object_r:greylist_milter_data_t,s0)
/var/run/milter-greylist\.pid -- gen_context(system_u:object_r:greylist_milter_data_t,s0)
/var/run/spamass-milter(/.*)? gen_context(system_u:object_r:spamass_milter_data_t,s0)
diff --git a/policy/modules/services/milter.if b/policy/modules/services/milter.if
index 96cba913..a000225c 100644
--- a/policy/modules/services/milter.if
+++ b/policy/modules/services/milter.if
@@ -120,3 +120,22 @@ interface(`milter_manage_spamass_state',`
manage_dirs_pattern($1, spamass_milter_state_t, spamass_milter_state_t)
manage_lnk_files_pattern($1, spamass_milter_state_t, spamass_milter_state_t)
')
+
+#######################################
+##
+## Delete dkim-milter PID files.
+##
+##
+##
+## Domain allowed access.
+##
+##
+#
+interface(`milter_delete_dkim_pid_files',`
+ gen_require(`
+ type dkim_milter_data_t;
+ ')
+
+ files_search_pids($1)
+ delete_files_pattern($1, dkim_milter_data_t, dkim_milter_data_t)
+')
diff --git a/policy/modules/services/milter.te b/policy/modules/services/milter.te
index 1b6dea0e..6ba48ffe 100644
--- a/policy/modules/services/milter.te
+++ b/policy/modules/services/milter.te
@@ -9,6 +9,13 @@ policy_module(milter, 1.2.1)
attribute milter_domains;
attribute milter_data_type;
+# support for dkim-milter - domainKeys Identified Mail sender authentication sendmail milter
+milter_template(dkim)
+
+# type for the private key of dkim-milter
+type dkim_milter_private_key_t;
+files_type(dkim_milter_private_key_t)
+
# currently-supported milters are milter-greylist, milter-regex and spamass-milter
milter_template(greylist)
milter_template(regex)
@@ -20,6 +27,23 @@ milter_template(spamass)
type spamass_milter_state_t;
files_type(spamass_milter_state_t)
+#######################################
+#
+# dkim-milter local policy
+#
+
+allow dkim_milter_t self:capability { kill setgid setuid };
+
+allow dkim_milter_t self:unix_stream_socket create_stream_socket_perms;
+
+read_files_pattern(dkim_milter_t, dkim_milter_private_key_t, dkim_milter_private_key_t)
+
+auth_use_nsswitch(dkim_milter_t)
+
+sysnet_dns_name_resolve(dkim_milter_t)
+
+mta_read_config(dkim_milter_t)
+
########################################
#
# milter-greylist local policy
diff --git a/policy/modules/services/networkmanager.te b/policy/modules/services/networkmanager.te
index 96772367..45ecee3d 100644
--- a/policy/modules/services/networkmanager.te
+++ b/policy/modules/services/networkmanager.te
@@ -189,6 +189,8 @@ optional_policy(`
optional_policy(`
dbus_system_domain(NetworkManager_t, NetworkManager_exec_t)
+ init_dbus_chat(NetworkManager_t)
+
optional_policy(`
consolekit_dbus_chat(NetworkManager_t)
')
diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if
index 0515e6a9..4bc9fff5 100644
--- a/policy/modules/services/xserver.if
+++ b/policy/modules/services/xserver.if
@@ -38,6 +38,7 @@ interface(`xserver_restricted_role',`
allow $2 user_fonts_t:dir list_dir_perms;
allow $2 user_fonts_t:file read_file_perms;
+ allow $2 user_fonts_t:lnk_file read_lnk_file_perms;
allow $2 user_fonts_config_t:dir list_dir_perms;
allow $2 user_fonts_config_t:file read_file_perms;
@@ -164,6 +165,7 @@ interface(`xserver_role',`
mls_xwin_read_to_clearance($2)
manage_dirs_pattern($2, user_fonts_t, user_fonts_t)
manage_files_pattern($2, user_fonts_t, user_fonts_t)
+ allow $2 user_fonts_t:lnk_file read_lnk_file_perms;
relabel_dirs_pattern($2, user_fonts_t, user_fonts_t)
relabel_files_pattern($2, user_fonts_t, user_fonts_t)
@@ -551,6 +553,7 @@ interface(`xserver_use_user_fonts',`
# Read per user fonts
allow $1 user_fonts_t:dir list_dir_perms;
allow $1 user_fonts_t:file read_file_perms;
+ allow $1 user_fonts_t:lnk_file read_lnk_file_perms;
# Manipulate the global font cache
manage_dirs_pattern($1, user_fonts_cache_t, user_fonts_cache_t)
diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index 9f9b812a..a80b4c71 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -882,6 +882,7 @@ optional_policy(`
')
optional_policy(`
+ milter_delete_dkim_pid_files(initrc_t)
milter_setattr_all_dirs(initrc_t)
')
diff --git a/policy/modules/system/libraries.te b/policy/modules/system/libraries.te
index 561a8490..99d7f60f 100644
--- a/policy/modules/system/libraries.te
+++ b/policy/modules/system/libraries.te
@@ -153,4 +153,5 @@ optional_policy(`
optional_policy(`
unconfined_domain(ldconfig_t)
-')'
+')
+
diff --git a/policy/modules/system/udev.te b/policy/modules/system/udev.te
index f99fdcbe..9f316caf 100644
--- a/policy/modules/system/udev.te
+++ b/policy/modules/system/udev.te
@@ -112,7 +112,9 @@ domain_dontaudit_ptrace_all_domains(udev_t) #pidof triggers these
files_read_usr_files(udev_t)
files_read_etc_runtime_files(udev_t)
-files_read_etc_files(udev_t)
+
+# console_init manages files in /etc/sysconfig
+files_manage_etc_files(udev_t)
files_exec_etc_files(udev_t)
files_dontaudit_search_isid_type_dirs(udev_t)
files_getattr_generic_locks(udev_t)