diff --git a/policy-F16.patch b/policy-F16.patch index 62292e3..8c28a80 100644 --- a/policy-F16.patch +++ b/policy-F16.patch @@ -1001,7 +1001,7 @@ index 3c7b1e8..1e155f5 100644 + +/var/run/epylog\.pid gen_context(system_u:object_r:logwatch_var_run_t,s0) diff --git a/policy/modules/admin/logwatch.te b/policy/modules/admin/logwatch.te -index 75ce30f..68cb617 100644 +index 75ce30f..0e77aea 100644 --- a/policy/modules/admin/logwatch.te +++ b/policy/modules/admin/logwatch.te @@ -19,6 +19,9 @@ files_lock_file(logwatch_lock_t) @@ -1024,7 +1024,15 @@ index 75ce30f..68cb617 100644 kernel_read_fs_sysctls(logwatch_t) kernel_read_kernel_sysctls(logwatch_t) kernel_read_system_state(logwatch_t) -@@ -70,6 +76,8 @@ fs_getattr_all_fs(logwatch_t) +@@ -58,6 +64,7 @@ files_list_var(logwatch_t) + files_read_var_symlinks(logwatch_t) + files_read_etc_files(logwatch_t) + files_read_etc_runtime_files(logwatch_t) ++files_read_system_conf_files(logwatch_t) + files_read_usr_files(logwatch_t) + files_search_spool(logwatch_t) + files_search_mnt(logwatch_t) +@@ -70,6 +77,8 @@ fs_getattr_all_fs(logwatch_t) fs_dontaudit_list_auto_mountpoints(logwatch_t) fs_list_inotifyfs(logwatch_t) @@ -1033,7 +1041,7 @@ index 75ce30f..68cb617 100644 term_dontaudit_getattr_pty_dirs(logwatch_t) term_dontaudit_list_ptys(logwatch_t) -@@ -92,11 +100,21 @@ sysnet_dns_name_resolve(logwatch_t) +@@ -92,11 +101,21 @@ sysnet_dns_name_resolve(logwatch_t) sysnet_exec_ifconfig(logwatch_t) userdom_dontaudit_search_user_home_dirs(logwatch_t) @@ -1324,6 +1332,19 @@ index 0000000..73ffa81 + modutils_read_module_config(ncftool_t) + modutils_domtrans_insmod(ncftool_t) +') +diff --git a/policy/modules/admin/netutils.fc b/policy/modules/admin/netutils.fc +index 407078f..a818e14 100644 +--- a/policy/modules/admin/netutils.fc ++++ b/policy/modules/admin/netutils.fc +@@ -8,7 +8,7 @@ + /usr/bin/nmap -- gen_context(system_u:object_r:traceroute_exec_t,s0) + /usr/bin/traceroute.* -- gen_context(system_u:object_r:traceroute_exec_t,s0) + +-/usr/sbin/fping -- gen_context(system_u:object_r:ping_exec_t,s0) ++/usr/sbin/fping.* -- gen_context(system_u:object_r:ping_exec_t,s0) + /usr/sbin/traceroute.* -- gen_context(system_u:object_r:traceroute_exec_t,s0) + /usr/sbin/hping2 -- gen_context(system_u:object_r:ping_exec_t,s0) + /usr/sbin/send_arp -- gen_context(system_u:object_r:ping_exec_t,s0) diff --git a/policy/modules/admin/netutils.if b/policy/modules/admin/netutils.if index c6ca761..46e0767 100644 --- a/policy/modules/admin/netutils.if @@ -10936,7 +10957,7 @@ index 6cf8784..5b25039 100644 +# +/sys(/.*)? gen_context(system_u:object_r:sysfs_t,s0) diff --git a/policy/modules/kernel/devices.if b/policy/modules/kernel/devices.if -index e9313fb..60437ca 100644 +index e9313fb..255c5bb 100644 --- a/policy/modules/kernel/devices.if +++ b/policy/modules/kernel/devices.if @@ -146,14 +146,33 @@ interface(`dev_relabel_all_dev_nodes',` @@ -11278,7 +11299,7 @@ index e9313fb..60437ca 100644 ## Write to watchdog devices. ## ## -@@ -4748,3 +4874,23 @@ interface(`dev_unconfined',` +@@ -4748,3 +4874,22 @@ interface(`dev_unconfined',` typeattribute $1 devices_unconfined_type; ') @@ -11301,7 +11322,6 @@ index e9313fb..60437ca 100644 + + dontaudit $1 { device_t device_node }:dir_file_class_set getattr; +') -+ diff --git a/policy/modules/kernel/devices.te b/policy/modules/kernel/devices.te index 3ff4f60..89ffda6 100644 --- a/policy/modules/kernel/devices.te @@ -11774,7 +11794,7 @@ index 16108f6..e76bf67 100644 + +/usr/lib/debug(/.*)? <> diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if -index 958ca84..cec6add 100644 +index 958ca84..aaf48dc 100644 --- a/policy/modules/kernel/files.if +++ b/policy/modules/kernel/files.if @@ -1053,10 +1053,8 @@ interface(`files_relabel_all_files',` @@ -12244,7 +12264,32 @@ index 958ca84..cec6add 100644 ######################################## ## ## Allow the specified type to associate -@@ -3914,6 +4268,32 @@ interface(`files_manage_generic_tmp_dirs',` +@@ -3858,6 +4212,24 @@ interface(`files_dontaudit_list_tmp',` + dontaudit $1 tmp_t:dir list_dir_perms; + ') + ++####################################### ++## ++## Allow read and write to the tmp directory (/tmp). ++## ++## ++## ++## Domain not to audit. ++## ++## ++# ++interface(`files_rw_generic_tmp_dir',` ++ gen_require(` ++ type tmp_t; ++ ') ++ ++ allow $1 tmp_t:dir rw_dir_perms; ++') ++ + ######################################## + ## + ## Remove entries from the tmp directory. +@@ -3914,6 +4286,32 @@ interface(`files_manage_generic_tmp_dirs',` ######################################## ## @@ -12277,7 +12322,7 @@ index 958ca84..cec6add 100644 ## Manage temporary files and directories in /tmp. ## ## -@@ -3968,7 +4348,7 @@ interface(`files_rw_generic_tmp_sockets',` +@@ -3968,7 +4366,7 @@ interface(`files_rw_generic_tmp_sockets',` ######################################## ## @@ -12286,7 +12331,7 @@ index 958ca84..cec6add 100644 ## ## ## -@@ -3976,17 +4356,17 @@ interface(`files_rw_generic_tmp_sockets',` +@@ -3976,17 +4374,95 @@ interface(`files_rw_generic_tmp_sockets',` ## ## # @@ -12305,33 +12350,27 @@ index 958ca84..cec6add 100644 ## -## List all tmp directories. +## Relabel a file from the type used in /tmp. - ## - ## - ## -@@ -3994,22 +4374,100 @@ interface(`files_setattr_all_tmp_dirs',` - ## - ## - # --interface(`files_list_all_tmp',` ++## ++## ++## ++## Domain allowed access. ++## ++## ++# +interface(`files_relabelfrom_tmp_files',` - gen_require(` -- attribute tmpfile; ++ gen_require(` + type tmp_t; - ') - -- allow $1 tmpfile:dir list_dir_perms; ++ ') ++ + relabelfrom_files_pattern($1, tmp_t, tmp_t) - ') - - ######################################## - ## --## Do not audit attempts to get the attributes --## of all tmp files. ++') ++ ++######################################## ++## +## Relabel all tmp dirs. - ## - ## - ## --## Domain not to audit. ++## ++## ++## +## Domain allowed access. +## +## @@ -12389,33 +12428,10 @@ index 958ca84..cec6add 100644 +######################################## +## +## List all tmp directories. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`files_list_all_tmp',` -+ gen_require(` -+ attribute tmpfile; -+ ') -+ -+ allow $1 tmpfile:dir list_dir_perms; -+') -+ -+######################################## -+## -+## Do not audit attempts to get the attributes -+## of all tmp files. -+## -+## -+## -+## Domain not to audit. - ## - ## - # -@@ -4127,6 +4585,15 @@ interface(`files_purge_tmp',` + ## + ## + ## +@@ -4127,6 +4603,15 @@ interface(`files_purge_tmp',` delete_lnk_files_pattern($1, tmpfile, tmpfile) delete_fifo_files_pattern($1, tmpfile, tmpfile) delete_sock_files_pattern($1, tmpfile, tmpfile) @@ -12431,7 +12447,7 @@ index 958ca84..cec6add 100644 ') ######################################## -@@ -4736,6 +5203,24 @@ interface(`files_read_var_files',` +@@ -4736,6 +5221,24 @@ interface(`files_read_var_files',` ######################################## ## @@ -12456,7 +12472,7 @@ index 958ca84..cec6add 100644 ## Read and write files in the /var directory. ## ## -@@ -5071,6 +5556,25 @@ interface(`files_manage_mounttab',` +@@ -5071,6 +5574,25 @@ interface(`files_manage_mounttab',` ######################################## ## @@ -12473,7 +12489,7 @@ index 958ca84..cec6add 100644 + type var_t, var_lock_t; + ') + -+ files_search_pids($1) ++ files_search_locks($1) + list_dirs_pattern($1, var_t, var_lock_t) +') + @@ -12482,15 +12498,22 @@ index 958ca84..cec6add 100644 ## Search the locks directory (/var/lock). ## ## -@@ -5084,6 +5588,7 @@ interface(`files_search_locks',` +@@ -5084,6 +5606,8 @@ interface(`files_search_locks',` type var_t, var_lock_t; ') + files_search_pids($1) ++ allow $1 var_lock_t:lnk_file read_lnk_file_perms; search_dirs_pattern($1, var_t, var_lock_t) ') -@@ -5108,6 +5613,26 @@ interface(`files_dontaudit_search_locks',` +@@ -5103,11 +5627,32 @@ interface(`files_dontaudit_search_locks',` + type var_lock_t; + ') + ++ dontaudit $1 var_lock_t:lnk_file read_lnk_file_perms; + dontaudit $1 var_lock_t:dir search_dir_perms; + ') ######################################## ## @@ -12508,7 +12531,7 @@ index 958ca84..cec6add 100644 + type var_t, var_lock_t; + ') + -+ allow $1 var_t:dir search_dir_perms; ++ files_search_locks($1) + allow $1 var_lock_t:dir create_dir_perms; +') + @@ -12517,23 +12540,24 @@ index 958ca84..cec6add 100644 ## Add and remove entries in the /var/lock ## directories. ## -@@ -5122,6 +5647,7 @@ interface(`files_rw_lock_dirs',` +@@ -5122,6 +5667,7 @@ interface(`files_rw_lock_dirs',` type var_t, var_lock_t; ') -+ files_search_pids($1) ++ files_search_locks($1) rw_dirs_pattern($1, var_t, var_lock_t) ') -@@ -5142,6 +5668,7 @@ interface(`files_getattr_generic_locks',` +@@ -5140,7 +5686,7 @@ interface(`files_getattr_generic_locks',` + type var_t, var_lock_t; + ') - allow $1 var_t:dir search_dir_perms; +- allow $1 var_t:dir search_dir_perms; ++ files_search_locks($1) allow $1 var_lock_t:dir list_dir_perms; -+ files_search_pids($1) getattr_files_pattern($1, var_lock_t, var_lock_t) ') - -@@ -5156,12 +5683,13 @@ interface(`files_getattr_generic_locks',` +@@ -5156,12 +5702,12 @@ interface(`files_getattr_generic_locks',` ## # interface(`files_delete_generic_locks',` @@ -12545,21 +12569,21 @@ index 958ca84..cec6add 100644 - allow $1 var_t:dir search_dir_perms; - delete_files_pattern($1, var_lock_t, var_lock_t) -+ allow $1 var_t:dir search_dir_perms; -+ files_search_pids($1) ++ files_search_locks($1) + delete_files_pattern($1, var_lock_t, var_lock_t) ') ######################################## -@@ -5181,6 +5709,7 @@ interface(`files_manage_generic_locks',` +@@ -5180,7 +5726,7 @@ interface(`files_manage_generic_locks',` + type var_t, var_lock_t; ') - allow $1 var_t:dir search_dir_perms; -+ files_search_pids($1) +- allow $1 var_t:dir search_dir_perms; ++ files_search_locks($1) manage_files_pattern($1, var_lock_t, var_lock_t) ') -@@ -5207,6 +5736,27 @@ interface(`files_delete_all_locks',` +@@ -5207,6 +5753,27 @@ interface(`files_delete_all_locks',` ######################################## ## @@ -12587,37 +12611,41 @@ index 958ca84..cec6add 100644 ## Read all lock files. ## ## -@@ -5224,6 +5774,7 @@ interface(`files_read_all_locks',` - allow $1 { var_t var_lock_t }:dir search_dir_perms; +@@ -5221,7 +5788,7 @@ interface(`files_read_all_locks',` + type var_t, var_lock_t; + ') + +- allow $1 { var_t var_lock_t }:dir search_dir_perms; ++ files_search_locks($1) allow $1 lockfile:dir list_dir_perms; read_files_pattern($1, lockfile, lockfile) -+ files_search_pids($1) read_lnk_files_pattern($1, lockfile, lockfile) - ') - -@@ -5244,6 +5795,7 @@ interface(`files_manage_all_locks',` +@@ -5243,7 +5810,7 @@ interface(`files_manage_all_locks',` + type var_t, var_lock_t; ') - allow $1 { var_t var_lock_t }:dir search_dir_perms; -+ files_search_pids($1) +- allow $1 { var_t var_lock_t }:dir search_dir_perms; ++ files_search_locks($1) manage_dirs_pattern($1, lockfile, lockfile) manage_files_pattern($1, lockfile, lockfile) manage_lnk_files_pattern($1, lockfile, lockfile) -@@ -5276,6 +5828,7 @@ interface(`files_lock_filetrans',` +@@ -5275,7 +5842,7 @@ interface(`files_lock_filetrans',` + type var_t, var_lock_t; ') - allow $1 var_t:dir search_dir_perms; -+ files_search_pids($1) +- allow $1 var_t:dir search_dir_perms; ++ files_search_locks($1) filetrans_pattern($1, var_lock_t, $2, $3) ') -@@ -5333,6 +5886,44 @@ interface(`files_search_pids',` +@@ -5332,9 +5899,47 @@ interface(`files_search_pids',` + type var_t, var_run_t; ') ++ allow $1 var_run_t:lnk_file read_lnk_file_perms; search_dirs_pattern($1, var_t, var_run_t) -+ read_lnk_files_pattern($1, var_t, var_run_t) -+') -+ + ') + +###################################### +## +## Add and remove entries from pid directories. @@ -12653,10 +12681,12 @@ index 958ca84..cec6add 100644 + + allow $1 var_t:dir search_dir_perms; + allow $1 var_run_t:dir create_dir_perms; - ') - ++') ++ ######################################## -@@ -5542,6 +6133,62 @@ interface(`files_dontaudit_ioctl_all_pids',` + ## + ## Do not audit attempts to search +@@ -5542,6 +6147,62 @@ interface(`files_dontaudit_ioctl_all_pids',` ######################################## ## @@ -12719,7 +12749,7 @@ index 958ca84..cec6add 100644 ## Read all process ID files. ## ## -@@ -5559,6 +6206,44 @@ interface(`files_read_all_pids',` +@@ -5559,6 +6220,44 @@ interface(`files_read_all_pids',` list_dirs_pattern($1, var_t, pidfile) read_files_pattern($1, pidfile, pidfile) @@ -12764,7 +12794,7 @@ index 958ca84..cec6add 100644 ') ######################################## -@@ -5844,3 +6529,284 @@ interface(`files_unconfined',` +@@ -5844,3 +6543,284 @@ interface(`files_unconfined',` typeattribute $1 files_unconfined_type; ') @@ -22444,10 +22474,10 @@ index 0000000..939d76e +') diff --git a/policy/modules/services/colord.te b/policy/modules/services/colord.te new file mode 100644 -index 0000000..694e975 +index 0000000..eba511c --- /dev/null +++ b/policy/modules/services/colord.te -@@ -0,0 +1,77 @@ +@@ -0,0 +1,81 @@ +policy_module(colord,1.0.0) + +######################################## @@ -22492,11 +22522,12 @@ index 0000000..694e975 +dev_write_raw_memory(colord_t) +dev_read_video_dev(colord_t) +dev_write_video_dev(colord_t) ++dev_rw_printer(colord_t) +dev_read_rand(colord_t) +dev_read_sysfs(colord_t) +dev_read_urand(colord_t) +dev_list_sysfs(colord_t) -+dev_read_generic_usb_dev(colord_t) ++dev_rw_generic_usb_dev(colord_t) +storage_read_scsi_generic(colord_t) +storage_write_scsi_generic(colord_t) + @@ -22505,11 +22536,14 @@ index 0000000..694e975 +files_read_etc_files(colord_t) +files_read_usr_files(colord_t) + ++logging_send_syslog_msg(colord_t) ++ +miscfiles_read_localization(colord_t) + +sysnet_dns_name_resolve(colord_t) + +optional_policy(` ++ cups_read_config(colord_t) + cups_read_rw_config(colord_t) + cups_stream_connect(colord_t) + cups_dbus_chat(colord_t) @@ -22618,7 +22652,7 @@ index fd15dfe..ad224fa 100644 + list_dirs_pattern($1, consolekit_var_run_t, consolekit_var_run_t) +') diff --git a/policy/modules/services/consolekit.te b/policy/modules/services/consolekit.te -index e67a003..894d4e0 100644 +index e67a003..192332a 100644 --- a/policy/modules/services/consolekit.te +++ b/policy/modules/services/consolekit.te @@ -15,6 +15,9 @@ logging_log_file(consolekit_log_t) @@ -22631,10 +22665,12 @@ index e67a003..894d4e0 100644 ######################################## # # consolekit local policy -@@ -69,11 +72,12 @@ logging_send_audit_msgs(consolekit_t) +@@ -69,11 +72,14 @@ logging_send_audit_msgs(consolekit_t) miscfiles_read_localization(consolekit_t) ++systemd_exec_systemctl(consolekit_t) ++ +# consolekit needs to be able to ptrace all logged in users +userdom_ptrace_all_users(consolekit_t) userdom_dontaudit_read_user_home_content_files(consolekit_t) @@ -22646,7 +22682,7 @@ index e67a003..894d4e0 100644 tunable_policy(`use_nfs_home_dirs',` fs_read_nfs_files(consolekit_t) ') -@@ -83,6 +87,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -83,6 +89,14 @@ tunable_policy(`use_samba_home_dirs',` ') optional_policy(` @@ -22661,7 +22697,7 @@ index e67a003..894d4e0 100644 dbus_system_domain(consolekit_t, consolekit_exec_t) optional_policy(` -@@ -99,6 +111,10 @@ optional_policy(` +@@ -99,6 +113,10 @@ optional_policy(` ') optional_policy(` @@ -22672,7 +22708,7 @@ index e67a003..894d4e0 100644 policykit_dbus_chat(consolekit_t) policykit_domtrans_auth(consolekit_t) policykit_read_lib(consolekit_t) -@@ -106,9 +122,10 @@ optional_policy(` +@@ -106,9 +124,10 @@ optional_policy(` ') optional_policy(` @@ -22685,7 +22721,7 @@ index e67a003..894d4e0 100644 xserver_read_xdm_pid(consolekit_t) xserver_read_user_xauth(consolekit_t) xserver_non_drawing_client(consolekit_t) -@@ -125,5 +142,6 @@ optional_policy(` +@@ -125,5 +144,6 @@ optional_policy(` optional_policy(` #reading .Xauthity @@ -29164,7 +29200,7 @@ index da2127e..e141bc5 100644 + +sysnet_read_config(jabberd_domain) diff --git a/policy/modules/services/kerberos.fc b/policy/modules/services/kerberos.fc -index 3525d24..e5db539 100644 +index 3525d24..923e979 100644 --- a/policy/modules/services/kerberos.fc +++ b/policy/modules/services/kerberos.fc @@ -8,7 +8,7 @@ HOME_DIR/\.k5login -- gen_context(system_u:object_r:krb5_home_t,s0) @@ -29176,8 +29212,13 @@ index 3525d24..e5db539 100644 /etc/rc\.d/init\.d/kprop -- gen_context(system_u:object_r:kerberos_initrc_exec_t,s0) /etc/rc\.d/init\.d/krb524d -- gen_context(system_u:object_r:kerberos_initrc_exec_t,s0) /etc/rc\.d/init\.d/krb5kdc -- gen_context(system_u:object_r:kerberos_initrc_exec_t,s0) +@@ -31,3 +31,4 @@ HOME_DIR/\.k5login -- gen_context(system_u:object_r:krb5_home_t,s0) + /var/log/kadmin(d)?\.log gen_context(system_u:object_r:kadmind_log_t,s0) + + /var/tmp/host_0 -- gen_context(system_u:object_r:krb5_host_rcache_t,s0) ++/var/tmp/HTTP_23 -- gen_context(system_u:object_r:krb5_host_rcache_t,s0) diff --git a/policy/modules/services/kerberos.if b/policy/modules/services/kerberos.if -index 604f67b..9026661 100644 +index 604f67b..65fdeb0 100644 --- a/policy/modules/services/kerberos.if +++ b/policy/modules/services/kerberos.if @@ -26,9 +26,9 @@ @@ -29258,7 +29299,15 @@ index 604f67b..9026661 100644 kerberos_read_keytab($2) kerberos_use($2) -@@ -296,28 +314,6 @@ interface(`kerberos_manage_host_rcache',` +@@ -289,6 +307,7 @@ interface(`kerberos_manage_host_rcache',` + + seutil_read_file_contexts($1) + ++ files_rw_generic_tmp_dir($1) + allow $1 krb5_host_rcache_t:file manage_file_perms; + files_search_tmp($1) + ') +@@ -296,28 +315,6 @@ interface(`kerberos_manage_host_rcache',` ######################################## ## @@ -29287,7 +29336,7 @@ index 604f67b..9026661 100644 ## All of the rules required to administrate ## an kerberos environment ## -@@ -338,9 +334,8 @@ interface(`kerberos_admin',` +@@ -338,9 +335,8 @@ interface(`kerberos_admin',` type kadmind_t, krb5kdc_t, kerberos_initrc_exec_t; type kadmind_log_t, kadmind_tmp_t, kadmind_var_run_t; type krb5_conf_t, krb5_keytab_t, krb5kdc_conf_t; @@ -29298,7 +29347,7 @@ index 604f67b..9026661 100644 ') allow $1 kadmind_t:process { ptrace signal_perms }; -@@ -378,3 +373,41 @@ interface(`kerberos_admin',` +@@ -378,3 +374,41 @@ interface(`kerberos_admin',` admin_pattern($1, krb5kdc_var_run_t) ') @@ -31079,10 +31128,10 @@ index 0000000..f60483e +') diff --git a/policy/modules/services/mock.te b/policy/modules/services/mock.te new file mode 100644 -index 0000000..33329d5 +index 0000000..675ea8b --- /dev/null +++ b/policy/modules/services/mock.te -@@ -0,0 +1,125 @@ +@@ -0,0 +1,126 @@ +policy_module(mock,1.0.0) + +## @@ -31158,6 +31207,7 @@ index 0000000..33329d5 + +corecmd_exec_bin(mock_t) +corecmd_exec_shell(mock_t) ++corecmd_dontaudit_exec_all_executables(mock_t) + +corenet_tcp_connect_http_port(mock_t) + @@ -35602,7 +35652,7 @@ index 9759ed8..48a5431 100644 admin_pattern($1, plymouthd_var_run_t) ') diff --git a/policy/modules/services/plymouthd.te b/policy/modules/services/plymouthd.te -index 06e217d..dc27c14 100644 +index 06e217d..208ef3a 100644 --- a/policy/modules/services/plymouthd.te +++ b/policy/modules/services/plymouthd.te @@ -8,6 +8,7 @@ policy_module(plymouthd, 1.0.1) @@ -35634,12 +35684,14 @@ index 06e217d..dc27c14 100644 manage_dirs_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) manage_files_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) files_pid_filetrans(plymouthd_t, plymouthd_var_run_t, { file dir }) -@@ -60,10 +68,23 @@ domain_use_interactive_fds(plymouthd_t) +@@ -60,10 +68,25 @@ domain_use_interactive_fds(plymouthd_t) files_read_etc_files(plymouthd_t) files_read_usr_files(plymouthd_t) +term_use_unallocated_ttys(plymouthd_t) + ++init_signal(plymouthd_t) ++ +logging_link_generic_logs(plymouthd_t) +logging_delete_generic_logs(plymouthd_t) + @@ -35658,7 +35710,7 @@ index 06e217d..dc27c14 100644 ######################################## # # Plymouth private policy -@@ -74,6 +95,7 @@ allow plymouth_t self:fifo_file rw_file_perms; +@@ -74,6 +97,7 @@ allow plymouth_t self:fifo_file rw_file_perms; allow plymouth_t self:unix_stream_socket create_stream_socket_perms; kernel_read_system_state(plymouth_t) @@ -35666,7 +35718,7 @@ index 06e217d..dc27c14 100644 domain_use_interactive_fds(plymouth_t) -@@ -87,7 +109,7 @@ sysnet_read_config(plymouth_t) +@@ -87,7 +111,7 @@ sysnet_read_config(plymouth_t) plymouthd_stream_connect(plymouth_t) @@ -39364,7 +39416,7 @@ index de37806..229a3c7 100644 + read_files_pattern($1, cluster_var_lib_t, cluster_var_lib_t) +') diff --git a/policy/modules/services/rhcs.te b/policy/modules/services/rhcs.te -index 93c896a..9bdb8ab 100644 +index 93c896a..883f6f5 100644 --- a/policy/modules/services/rhcs.te +++ b/policy/modules/services/rhcs.te @@ -6,13 +6,15 @@ policy_module(rhcs, 1.1.0) @@ -39455,7 +39507,7 @@ index 93c896a..9bdb8ab 100644 ') optional_policy(` -@@ -114,13 +126,29 @@ optional_policy(` +@@ -114,13 +126,37 @@ optional_policy(` lvm_read_config(fenced_t) ') @@ -39465,8 +39517,15 @@ index 93c896a..9bdb8ab 100644 +# + +allow foghorn_t self:process { signal }; ++allow foghorn_t self:tcp_socket create_stream_socket_perms; ++allow foghorn_t self:udp_socket create_socket_perms; ++ ++corenet_tcp_connect_agentx_port(foghorn_t) ++ ++dev_read_urand(foghorn_t) + +files_read_etc_files(foghorn_t) ++files_read_usr_files(foghorn_t) + +optional_policy(` + dbus_connect_system_bus(foghorn_t) @@ -39474,6 +39533,7 @@ index 93c896a..9bdb8ab 100644 + +optional_policy(` + snmp_read_snmp_var_lib_files(foghorn_t) ++ snmp_stream_connect(foghorn_t) +') + ###################################### @@ -39486,7 +39546,7 @@ index 93c896a..9bdb8ab 100644 allow gfs_controld_t self:shm create_shm_perms; allow gfs_controld_t self:netlink_kobject_uevent_socket create_socket_perms; -@@ -139,10 +167,6 @@ storage_getattr_removable_dev(gfs_controld_t) +@@ -139,10 +175,6 @@ storage_getattr_removable_dev(gfs_controld_t) init_rw_script_tmp_files(gfs_controld_t) optional_policy(` @@ -39497,7 +39557,7 @@ index 93c896a..9bdb8ab 100644 lvm_exec(gfs_controld_t) dev_rw_lvm_control(gfs_controld_t) ') -@@ -154,9 +178,10 @@ optional_policy(` +@@ -154,9 +186,10 @@ optional_policy(` allow groupd_t self:capability { sys_nice sys_resource }; allow groupd_t self:process setsched; @@ -39509,7 +39569,7 @@ index 93c896a..9bdb8ab 100644 dev_list_sysfs(groupd_t) files_read_etc_files(groupd_t) -@@ -168,8 +193,7 @@ init_rw_script_tmp_files(groupd_t) +@@ -168,8 +201,7 @@ init_rw_script_tmp_files(groupd_t) # qdiskd local policy # @@ -39519,7 +39579,7 @@ index 93c896a..9bdb8ab 100644 allow qdiskd_t self:tcp_socket create_stream_socket_perms; allow qdiskd_t self:udp_socket create_socket_perms; -@@ -199,6 +223,8 @@ files_dontaudit_getattr_all_sockets(qdiskd_t) +@@ -199,6 +231,8 @@ files_dontaudit_getattr_all_sockets(qdiskd_t) files_dontaudit_getattr_all_pipes(qdiskd_t) files_read_etc_files(qdiskd_t) @@ -39528,7 +39588,7 @@ index 93c896a..9bdb8ab 100644 storage_raw_read_removable_device(qdiskd_t) storage_raw_write_removable_device(qdiskd_t) storage_raw_read_fixed_disk(qdiskd_t) -@@ -207,10 +233,6 @@ storage_raw_write_fixed_disk(qdiskd_t) +@@ -207,10 +241,6 @@ storage_raw_write_fixed_disk(qdiskd_t) auth_use_nsswitch(qdiskd_t) optional_policy(` @@ -39539,7 +39599,7 @@ index 93c896a..9bdb8ab 100644 netutils_domtrans_ping(qdiskd_t) ') -@@ -223,18 +245,28 @@ optional_policy(` +@@ -223,18 +253,28 @@ optional_policy(` # rhcs domains common policy # @@ -42627,7 +42687,7 @@ index d2496bd..1d0c078 100644 allow $1 squid_t:process { ptrace signal_perms }; diff --git a/policy/modules/services/squid.te b/policy/modules/services/squid.te -index 4b2230e..d45dc67 100644 +index 4b2230e..950e65a 100644 --- a/policy/modules/services/squid.te +++ b/policy/modules/services/squid.te @@ -6,17 +6,17 @@ policy_module(squid, 1.10.0) @@ -42682,6 +42742,14 @@ index 4b2230e..d45dc67 100644 sysnet_dns_name_resolve(httpd_squid_script_t) +@@ -206,3 +208,7 @@ optional_policy(` + optional_policy(` + udev_read_db(squid_t) + ') ++ ++optional_policy(` ++ kerberos_manage_host_rcache(squid_t) ++') diff --git a/policy/modules/services/ssh.fc b/policy/modules/services/ssh.fc index 078bcd7..2d60774 100644 --- a/policy/modules/services/ssh.fc @@ -44589,7 +44657,7 @@ index 2124b6a..6546d6e 100644 /var/vdsm(/.*)? gen_context(system_u:object_r:virt_var_run_t,s0) diff --git a/policy/modules/services/virt.if b/policy/modules/services/virt.if -index 7c5d8d8..9b24cb5 100644 +index 7c5d8d8..b961fd7 100644 --- a/policy/modules/services/virt.if +++ b/policy/modules/services/virt.if @@ -13,14 +13,15 @@ @@ -44849,10 +44917,23 @@ index 7c5d8d8..9b24cb5 100644 ') ######################################## -@@ -516,3 +590,144 @@ interface(`virt_admin',` +@@ -500,6 +574,7 @@ interface(`virt_manage_images',` + interface(`virt_admin',` + gen_require(` + type virtd_t, virtd_initrc_exec_t; ++ attribute virt_domain; + ') + + allow $1 virtd_t:process { ptrace signal_perms }; +@@ -515,4 +590,149 @@ interface(`virt_admin',` + virt_manage_lib_files($1) virt_manage_log($1) - ') ++ ++ virt_manage_images($1) ++ ++ allow $1 virt_domain:process { ptrace signal_perms }; ++') + +######################################## +## @@ -44993,7 +45074,7 @@ index 7c5d8d8..9b24cb5 100644 + ') + + allow $1 virt_tmpfs_type:file manage_file_perms; -+') + ') diff --git a/policy/modules/services/virt.te b/policy/modules/services/virt.te index 3eca020..f715498 100644 --- a/policy/modules/services/virt.te @@ -47024,7 +47105,7 @@ index 130ced9..33c8170 100644 + manage_files_pattern($1, user_fonts_config_t, user_fonts_config_t) +') diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te -index 6c01261..900068e 100644 +index 6c01261..3f91fd9 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -26,27 +26,50 @@ gen_require(` @@ -47353,7 +47434,7 @@ index 6c01261..900068e 100644 -allow xdm_t self:capability { setgid setuid sys_resource kill sys_tty_config mknod chown dac_override dac_read_search fowner fsetid ipc_owner sys_nice sys_rawio net_bind_service }; -allow xdm_t self:process { setexec setpgid getsched setsched setrlimit signal_perms setkeycreate }; +allow xdm_t self:capability { setgid setuid sys_resource kill sys_tty_config mknod chown dac_override dac_read_search fowner fsetid ipc_owner sys_nice sys_rawio net_bind_service sys_ptrace }; -+allow xdm_t self:process { setexec setpgid getattr getcap setcap getsched setsched setrlimit signal_perms setkeycreate ptrace }; ++allow xdm_t self:process { setexec setpgid getattr getcap setcap getsched getsession setsched setrlimit signal_perms setkeycreate ptrace }; allow xdm_t self:fifo_file rw_fifo_file_perms; allow xdm_t self:shm create_shm_perms; allow xdm_t self:sem create_sem_perms; @@ -47533,7 +47614,7 @@ index 6c01261..900068e 100644 files_read_etc_files(xdm_t) files_read_var_files(xdm_t) -@@ -433,9 +596,22 @@ files_list_mnt(xdm_t) +@@ -433,9 +596,23 @@ files_list_mnt(xdm_t) files_read_usr_files(xdm_t) # Poweroff wants to create the /poweroff file when run from xdm files_create_boot_flag(xdm_t) @@ -47541,6 +47622,7 @@ index 6c01261..900068e 100644 +files_dontaudit_write_usr_files(xdm_t) +files_dontaudit_getattr_all_dirs(xdm_t) +files_dontaudit_getattr_all_symlinks(xdm_t) ++files_dontaudit_getattr_all_tmp_sockets(xdm_t) fs_getattr_all_fs(xdm_t) fs_search_auto_mountpoints(xdm_t) @@ -47556,7 +47638,7 @@ index 6c01261..900068e 100644 storage_dontaudit_read_fixed_disk(xdm_t) storage_dontaudit_write_fixed_disk(xdm_t) -@@ -444,28 +620,36 @@ storage_dontaudit_raw_read_removable_device(xdm_t) +@@ -444,28 +621,36 @@ storage_dontaudit_raw_read_removable_device(xdm_t) storage_dontaudit_raw_write_removable_device(xdm_t) storage_dontaudit_setattr_removable_dev(xdm_t) storage_dontaudit_rw_scsi_generic(xdm_t) @@ -47595,7 +47677,7 @@ index 6c01261..900068e 100644 userdom_dontaudit_use_unpriv_user_fds(xdm_t) userdom_create_all_users_keys(xdm_t) -@@ -474,9 +658,30 @@ userdom_read_user_home_content_files(xdm_t) +@@ -474,9 +659,30 @@ userdom_read_user_home_content_files(xdm_t) # Search /proc for any user domain processes. userdom_read_all_users_state(xdm_t) userdom_signal_all_users(xdm_t) @@ -47626,7 +47708,7 @@ index 6c01261..900068e 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xdm_t) -@@ -492,6 +697,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -492,6 +698,14 @@ tunable_policy(`use_samba_home_dirs',` fs_exec_cifs_files(xdm_t) ') @@ -47641,7 +47723,7 @@ index 6c01261..900068e 100644 tunable_policy(`xdm_sysadm_login',` userdom_xsession_spec_domtrans_all_users(xdm_t) # FIXME: -@@ -505,11 +718,21 @@ tunable_policy(`xdm_sysadm_login',` +@@ -505,11 +719,21 @@ tunable_policy(`xdm_sysadm_login',` ') optional_policy(` @@ -47663,7 +47745,7 @@ index 6c01261..900068e 100644 ') optional_policy(` -@@ -517,7 +740,43 @@ optional_policy(` +@@ -517,7 +741,43 @@ optional_policy(` ') optional_policy(` @@ -47708,7 +47790,7 @@ index 6c01261..900068e 100644 ') optional_policy(` -@@ -527,6 +786,16 @@ optional_policy(` +@@ -527,6 +787,16 @@ optional_policy(` ') optional_policy(` @@ -47725,7 +47807,7 @@ index 6c01261..900068e 100644 hostname_exec(xdm_t) ') -@@ -544,28 +813,65 @@ optional_policy(` +@@ -544,28 +814,65 @@ optional_policy(` ') optional_policy(` @@ -47800,7 +47882,7 @@ index 6c01261..900068e 100644 ') optional_policy(` -@@ -577,6 +883,14 @@ optional_policy(` +@@ -577,6 +884,14 @@ optional_policy(` ') optional_policy(` @@ -47815,7 +47897,7 @@ index 6c01261..900068e 100644 xfs_stream_connect(xdm_t) ') -@@ -601,7 +915,7 @@ allow xserver_t input_xevent_t:x_event send; +@@ -601,7 +916,7 @@ allow xserver_t input_xevent_t:x_event send; # execheap needed until the X module loader is fixed. # NVIDIA Needs execstack @@ -47824,7 +47906,7 @@ index 6c01261..900068e 100644 dontaudit xserver_t self:capability chown; allow xserver_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow xserver_t self:fd use; -@@ -615,8 +929,15 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; +@@ -615,8 +930,15 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; allow xserver_t self:unix_stream_socket { create_stream_socket_perms connectto }; allow xserver_t self:tcp_socket create_stream_socket_perms; allow xserver_t self:udp_socket create_socket_perms; @@ -47840,7 +47922,7 @@ index 6c01261..900068e 100644 manage_dirs_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_sock_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) -@@ -635,12 +956,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) +@@ -635,12 +957,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) manage_lnk_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) files_search_var_lib(xserver_t) @@ -47862,7 +47944,7 @@ index 6c01261..900068e 100644 kernel_read_system_state(xserver_t) kernel_read_device_sysctls(xserver_t) -@@ -648,6 +976,7 @@ kernel_read_modprobe_sysctls(xserver_t) +@@ -648,6 +977,7 @@ kernel_read_modprobe_sysctls(xserver_t) # Xorg wants to check if kernel is tainted kernel_read_kernel_sysctls(xserver_t) kernel_write_proc_files(xserver_t) @@ -47870,7 +47952,7 @@ index 6c01261..900068e 100644 # Run helper programs in xserver_t. corecmd_exec_bin(xserver_t) -@@ -674,7 +1003,6 @@ dev_rw_apm_bios(xserver_t) +@@ -674,7 +1004,6 @@ dev_rw_apm_bios(xserver_t) dev_rw_agp(xserver_t) dev_rw_framebuffer(xserver_t) dev_manage_dri_dev(xserver_t) @@ -47878,7 +47960,7 @@ index 6c01261..900068e 100644 dev_create_generic_dirs(xserver_t) dev_setattr_generic_dirs(xserver_t) # raw memory access is needed if not using the frame buffer -@@ -684,11 +1012,17 @@ dev_wx_raw_memory(xserver_t) +@@ -684,11 +1013,17 @@ dev_wx_raw_memory(xserver_t) dev_rw_xserver_misc(xserver_t) # read events - the synaptics touchpad driver reads raw events dev_rw_input_dev(xserver_t) @@ -47896,7 +47978,7 @@ index 6c01261..900068e 100644 # brought on by rhgb files_search_mnt(xserver_t) -@@ -699,8 +1033,13 @@ fs_getattr_xattr_fs(xserver_t) +@@ -699,8 +1034,13 @@ fs_getattr_xattr_fs(xserver_t) fs_search_nfs(xserver_t) fs_search_auto_mountpoints(xserver_t) fs_search_ramfs(xserver_t) @@ -47910,7 +47992,7 @@ index 6c01261..900068e 100644 selinux_validate_context(xserver_t) selinux_compute_access_vector(xserver_t) -@@ -713,8 +1052,6 @@ init_getpgid(xserver_t) +@@ -713,8 +1053,6 @@ init_getpgid(xserver_t) term_setattr_unallocated_ttys(xserver_t) term_use_unallocated_ttys(xserver_t) @@ -47919,7 +48001,7 @@ index 6c01261..900068e 100644 locallogin_use_fds(xserver_t) logging_send_syslog_msg(xserver_t) -@@ -722,11 +1059,12 @@ logging_send_audit_msgs(xserver_t) +@@ -722,11 +1060,12 @@ logging_send_audit_msgs(xserver_t) miscfiles_read_localization(xserver_t) miscfiles_read_fonts(xserver_t) @@ -47934,7 +48016,7 @@ index 6c01261..900068e 100644 userdom_search_user_home_dirs(xserver_t) userdom_use_user_ttys(xserver_t) -@@ -780,16 +1118,36 @@ optional_policy(` +@@ -780,16 +1119,36 @@ optional_policy(` ') optional_policy(` @@ -47972,7 +48054,7 @@ index 6c01261..900068e 100644 unconfined_domtrans(xserver_t) ') -@@ -798,6 +1156,10 @@ optional_policy(` +@@ -798,6 +1157,10 @@ optional_policy(` ') optional_policy(` @@ -47983,7 +48065,7 @@ index 6c01261..900068e 100644 xfs_stream_connect(xserver_t) ') -@@ -813,10 +1175,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; +@@ -813,10 +1176,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; # NB we do NOT allow xserver_t xdm_var_lib_t:dir, only access to an open # handle of a file inside the dir!!! @@ -47997,7 +48079,7 @@ index 6c01261..900068e 100644 # Label pid and temporary files with derived types. manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) -@@ -824,7 +1186,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) +@@ -824,7 +1187,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) manage_sock_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) # Run xkbcomp. @@ -48006,7 +48088,7 @@ index 6c01261..900068e 100644 can_exec(xserver_t, xkb_var_lib_t) # VNC v4 module in X server -@@ -837,6 +1199,9 @@ init_use_fds(xserver_t) +@@ -837,6 +1200,9 @@ init_use_fds(xserver_t) # to read ROLE_home_t - examine this in more detail # (xauth?) userdom_read_user_home_content_files(xserver_t) @@ -48016,7 +48098,7 @@ index 6c01261..900068e 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xserver_t) -@@ -844,6 +1209,11 @@ tunable_policy(`use_nfs_home_dirs',` +@@ -844,6 +1210,11 @@ tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_symlinks(xserver_t) ') @@ -48028,7 +48110,7 @@ index 6c01261..900068e 100644 tunable_policy(`use_samba_home_dirs',` fs_manage_cifs_dirs(xserver_t) fs_manage_cifs_files(xserver_t) -@@ -852,11 +1222,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -852,11 +1223,14 @@ tunable_policy(`use_samba_home_dirs',` optional_policy(` dbus_system_bus_client(xserver_t) @@ -48045,7 +48127,7 @@ index 6c01261..900068e 100644 ') optional_policy(` -@@ -864,6 +1237,10 @@ optional_policy(` +@@ -864,6 +1238,10 @@ optional_policy(` rhgb_rw_tmpfs_files(xserver_t) ') @@ -48056,7 +48138,7 @@ index 6c01261..900068e 100644 ######################################## # # Rules common to all X window domains -@@ -907,7 +1284,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy +@@ -907,7 +1285,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy allow x_domain root_xdrawable_t:x_drawable { getattr setattr list_child add_child remove_child send receive hide show }; # operations allowed on my windows allow x_domain self:x_drawable { create destroy getattr setattr read write show hide list_child add_child remove_child manage send receive }; @@ -48065,7 +48147,7 @@ index 6c01261..900068e 100644 # operations allowed on all windows allow x_domain x_domain:x_drawable { getattr get_property set_property remove_child }; -@@ -961,11 +1338,31 @@ allow x_domain self:x_resource { read write }; +@@ -961,11 +1339,31 @@ allow x_domain self:x_resource { read write }; # can mess with the screensaver allow x_domain xserver_t:x_screen { getattr saver_getattr }; @@ -48097,7 +48179,7 @@ index 6c01261..900068e 100644 tunable_policy(`! xserver_object_manager',` # should be xserver_unconfined(x_domain), # but typeattribute doesnt work in conditionals -@@ -987,18 +1384,32 @@ tunable_policy(`! xserver_object_manager',` +@@ -987,18 +1385,32 @@ tunable_policy(`! xserver_object_manager',` allow x_domain xevent_type:{ x_event x_synthetic_event } *; ') @@ -49718,7 +49800,7 @@ index 354ce93..4955c6b 100644 ') +/var/run/systemd(/.*)? gen_context(system_u:object_r:init_var_run_t,s0) diff --git a/policy/modules/system/init.if b/policy/modules/system/init.if -index cc83689..3388f34 100644 +index cc83689..e83c909 100644 --- a/policy/modules/system/init.if +++ b/policy/modules/system/init.if @@ -79,6 +79,41 @@ interface(`init_script_domain',` @@ -49935,7 +50017,43 @@ index cc83689..3388f34 100644 mls_rangetrans_target($1) ') ') -@@ -519,10 +632,30 @@ interface(`init_sigchld',` +@@ -451,6 +564,10 @@ interface(`init_exec',` + + corecmd_search_bin($1) + can_exec($1, init_exec_t) ++ ++ tunable_policy(`init_systemd',` ++ systemd_exec_systemctl($1) ++ ') + ') + + ######################################## +@@ -509,6 +626,24 @@ interface(`init_sigchld',` + + ######################################## + ## ++## Send generic signals to init. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`init_signal',` ++ gen_require(` ++ type init_t; ++ ') ++ ++ allow $1 init_t:process signal; ++') ++ ++######################################## ++## + ## Connect to init with a unix socket. + ## + ## +@@ -519,10 +654,30 @@ interface(`init_sigchld',` # interface(`init_stream_connect',` gen_require(` @@ -49968,7 +50086,7 @@ index cc83689..3388f34 100644 ') ######################################## -@@ -688,19 +821,24 @@ interface(`init_telinit',` +@@ -688,19 +843,24 @@ interface(`init_telinit',` type initctl_t; ') @@ -49994,7 +50112,7 @@ index cc83689..3388f34 100644 ') ') -@@ -773,18 +911,19 @@ interface(`init_script_file_entry_type',` +@@ -773,18 +933,19 @@ interface(`init_script_file_entry_type',` # interface(`init_spec_domtrans_script',` gen_require(` @@ -50018,7 +50136,7 @@ index cc83689..3388f34 100644 ') ') -@@ -800,19 +939,41 @@ interface(`init_spec_domtrans_script',` +@@ -800,23 +961,45 @@ interface(`init_spec_domtrans_script',` # interface(`init_domtrans_script',` gen_require(` @@ -50041,11 +50159,11 @@ index cc83689..3388f34 100644 ifdef(`enable_mls',` - range_transition $1 initrc_exec_t:process s0 - mls_systemhigh; + range_transition $1 init_script_file_type:process s0 - mls_systemhigh; -+ ') -+') -+ -+######################################## -+## + ') + ') + + ######################################## + ## +## Execute a file in a bin directory +## in the initrc_t domain +## @@ -50058,13 +50176,17 @@ index cc83689..3388f34 100644 +interface(`init_bin_domtrans_spec',` + gen_require(` + type initrc_t; - ') ++ ') + + corecmd_bin_domtrans($1, initrc_t) - ') - - ######################################## -@@ -868,9 +1029,14 @@ interface(`init_script_file_domtrans',` ++') ++ ++######################################## ++## + ## Execute a init script in a specified domain. + ## + ## +@@ -868,9 +1051,14 @@ interface(`init_script_file_domtrans',` interface(`init_labeled_script_domtrans',` gen_require(` type initrc_t; @@ -50079,7 +50201,7 @@ index cc83689..3388f34 100644 files_search_etc($1) ') -@@ -1079,6 +1245,24 @@ interface(`init_read_all_script_files',` +@@ -1079,6 +1267,24 @@ interface(`init_read_all_script_files',` ####################################### ## @@ -50104,7 +50226,7 @@ index cc83689..3388f34 100644 ## Dontaudit read all init script files. ## ## -@@ -1130,12 +1314,7 @@ interface(`init_read_script_state',` +@@ -1130,12 +1336,7 @@ interface(`init_read_script_state',` ') kernel_search_proc($1) @@ -50118,7 +50240,7 @@ index cc83689..3388f34 100644 ') ######################################## -@@ -1375,6 +1554,27 @@ interface(`init_dbus_send_script',` +@@ -1375,6 +1576,27 @@ interface(`init_dbus_send_script',` ######################################## ## ## Send and receive messages from @@ -50146,7 +50268,7 @@ index cc83689..3388f34 100644 ## init scripts over dbus. ## ## -@@ -1461,6 +1661,25 @@ interface(`init_getattr_script_status_files',` +@@ -1461,6 +1683,25 @@ interface(`init_getattr_script_status_files',` ######################################## ## @@ -50172,7 +50294,7 @@ index cc83689..3388f34 100644 ## Do not audit attempts to read init script ## status files. ## -@@ -1519,6 +1738,24 @@ interface(`init_rw_script_tmp_files',` +@@ -1519,6 +1760,24 @@ interface(`init_rw_script_tmp_files',` ######################################## ## @@ -50197,7 +50319,7 @@ index cc83689..3388f34 100644 ## Create files in a init script ## temporary data directory. ## -@@ -1674,7 +1911,7 @@ interface(`init_dontaudit_rw_utmp',` +@@ -1674,7 +1933,7 @@ interface(`init_dontaudit_rw_utmp',` type initrc_var_run_t; ') @@ -50206,7 +50328,7 @@ index cc83689..3388f34 100644 ') ######################################## -@@ -1715,6 +1952,74 @@ interface(`init_pid_filetrans_utmp',` +@@ -1715,6 +1974,74 @@ interface(`init_pid_filetrans_utmp',` files_pid_filetrans($1, initrc_var_run_t, file) ') @@ -50281,7 +50403,7 @@ index cc83689..3388f34 100644 ######################################## ## ## Allow the specified domain to connect to daemon with a tcp socket -@@ -1749,3 +2054,139 @@ interface(`init_udp_recvfrom_all_daemons',` +@@ -1749,3 +2076,139 @@ interface(`init_udp_recvfrom_all_daemons',` ') corenet_udp_recvfrom_labeled($1, daemon) ') @@ -50422,7 +50544,7 @@ index cc83689..3388f34 100644 +') + diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te -index ea29513..9740a9f 100644 +index ea29513..0bdb8d8 100644 --- a/policy/modules/system/init.te +++ b/policy/modules/system/init.te @@ -16,6 +16,34 @@ gen_require(` @@ -50588,7 +50710,7 @@ index ea29513..9740a9f 100644 corecmd_shell_domtrans(init_t, initrc_t) ',` # Run the shell in the sysadm role for single-user mode. -@@ -186,12 +236,119 @@ tunable_policy(`init_upstart',` +@@ -186,12 +236,118 @@ tunable_policy(`init_upstart',` sysadm_shell_domtrans(init_t) ') @@ -50645,6 +50767,7 @@ index ea29513..9740a9f 100644 + files_relabel_all_lock_dirs(init_t) + + fs_manage_cgroup_dirs(init_t) ++ fs_manage_cgroup_files(init_t) + fs_manage_hugetlbfs_dirs(init_t) + fs_manage_tmpfs_dirs(init_t) + fs_relabel_tmpfs_dirs(init_t) @@ -50652,8 +50775,6 @@ index ea29513..9740a9f 100644 + fs_mount_all_fs(init_t) + fs_remount_autofs(init_t) + fs_list_auto_mountpoints(init_t) -+ fs_read_cgroup_files(init_t) -+ fs_write_cgroup_files(init_t) + fs_relabel_cgroup_dirs(init_t) + fs_search_cgroup_dirs(daemon) + @@ -50708,7 +50829,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -199,10 +356,25 @@ optional_policy(` +@@ -199,10 +355,25 @@ optional_policy(` ') optional_policy(` @@ -50734,7 +50855,7 @@ index ea29513..9740a9f 100644 unconfined_domain(init_t) ') -@@ -212,7 +384,7 @@ optional_policy(` +@@ -212,7 +383,7 @@ optional_policy(` # allow initrc_t self:process { getpgid setsched setpgid setrlimit getsched }; @@ -50743,7 +50864,7 @@ index ea29513..9740a9f 100644 dontaudit initrc_t self:capability sys_module; # sysctl is triggering this allow initrc_t self:passwd rootok; allow initrc_t self:key manage_key_perms; -@@ -241,12 +413,15 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) +@@ -241,12 +412,15 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) allow initrc_t initrc_var_run_t:file manage_file_perms; files_pid_filetrans(initrc_t, initrc_var_run_t, file) @@ -50759,7 +50880,7 @@ index ea29513..9740a9f 100644 init_write_initctl(initrc_t) -@@ -258,20 +433,32 @@ kernel_change_ring_buffer_level(initrc_t) +@@ -258,20 +432,32 @@ kernel_change_ring_buffer_level(initrc_t) kernel_clear_ring_buffer(initrc_t) kernel_get_sysvipc_info(initrc_t) kernel_read_all_sysctls(initrc_t) @@ -50796,7 +50917,7 @@ index ea29513..9740a9f 100644 corenet_tcp_sendrecv_all_ports(initrc_t) corenet_udp_sendrecv_all_ports(initrc_t) corenet_tcp_connect_all_ports(initrc_t) -@@ -279,6 +466,7 @@ corenet_sendrecv_all_client_packets(initrc_t) +@@ -279,6 +465,7 @@ corenet_sendrecv_all_client_packets(initrc_t) dev_read_rand(initrc_t) dev_read_urand(initrc_t) @@ -50804,7 +50925,7 @@ index ea29513..9740a9f 100644 dev_write_kmsg(initrc_t) dev_write_rand(initrc_t) dev_write_urand(initrc_t) -@@ -291,6 +479,7 @@ dev_read_sound_mixer(initrc_t) +@@ -291,6 +478,7 @@ dev_read_sound_mixer(initrc_t) dev_write_sound_mixer(initrc_t) dev_setattr_all_chr_files(initrc_t) dev_rw_lvm_control(initrc_t) @@ -50812,7 +50933,7 @@ index ea29513..9740a9f 100644 dev_delete_lvm_control_dev(initrc_t) dev_manage_generic_symlinks(initrc_t) dev_manage_generic_files(initrc_t) -@@ -298,13 +487,13 @@ dev_manage_generic_files(initrc_t) +@@ -298,13 +486,13 @@ dev_manage_generic_files(initrc_t) dev_delete_generic_symlinks(initrc_t) dev_getattr_all_blk_files(initrc_t) dev_getattr_all_chr_files(initrc_t) @@ -50828,7 +50949,7 @@ index ea29513..9740a9f 100644 domain_sigchld_all_domains(initrc_t) domain_read_all_domains_state(initrc_t) domain_getattr_all_domains(initrc_t) -@@ -316,6 +505,7 @@ domain_dontaudit_getattr_all_udp_sockets(initrc_t) +@@ -316,6 +504,7 @@ domain_dontaudit_getattr_all_udp_sockets(initrc_t) domain_dontaudit_getattr_all_tcp_sockets(initrc_t) domain_dontaudit_getattr_all_dgram_sockets(initrc_t) domain_dontaudit_getattr_all_pipes(initrc_t) @@ -50836,7 +50957,7 @@ index ea29513..9740a9f 100644 files_getattr_all_dirs(initrc_t) files_getattr_all_files(initrc_t) -@@ -323,8 +513,10 @@ files_getattr_all_symlinks(initrc_t) +@@ -323,8 +512,10 @@ files_getattr_all_symlinks(initrc_t) files_getattr_all_pipes(initrc_t) files_getattr_all_sockets(initrc_t) files_purge_tmp(initrc_t) @@ -50848,7 +50969,7 @@ index ea29513..9740a9f 100644 files_delete_all_pids(initrc_t) files_delete_all_pid_dirs(initrc_t) files_read_etc_files(initrc_t) -@@ -340,8 +532,12 @@ files_list_isid_type_dirs(initrc_t) +@@ -340,8 +531,12 @@ files_list_isid_type_dirs(initrc_t) files_mounton_isid_type_dirs(initrc_t) files_list_default(initrc_t) files_mounton_default(initrc_t) @@ -50862,7 +50983,7 @@ index ea29513..9740a9f 100644 fs_list_inotifyfs(initrc_t) fs_register_binary_executable_type(initrc_t) # rhgb-console writes to ramfs -@@ -351,6 +547,8 @@ fs_mount_all_fs(initrc_t) +@@ -351,6 +546,8 @@ fs_mount_all_fs(initrc_t) fs_unmount_all_fs(initrc_t) fs_remount_all_fs(initrc_t) fs_getattr_all_fs(initrc_t) @@ -50871,7 +50992,7 @@ index ea29513..9740a9f 100644 # initrc_t needs to do a pidof which requires ptrace mcs_ptrace_all(initrc_t) -@@ -363,6 +561,7 @@ mls_process_read_up(initrc_t) +@@ -363,6 +560,7 @@ mls_process_read_up(initrc_t) mls_process_write_down(initrc_t) mls_rangetrans_source(initrc_t) mls_fd_share_all_levels(initrc_t) @@ -50879,7 +51000,7 @@ index ea29513..9740a9f 100644 selinux_get_enforce_mode(initrc_t) -@@ -374,6 +573,7 @@ term_use_all_terms(initrc_t) +@@ -374,6 +572,7 @@ term_use_all_terms(initrc_t) term_reset_tty_labels(initrc_t) auth_rw_login_records(initrc_t) @@ -50887,7 +51008,7 @@ index ea29513..9740a9f 100644 auth_setattr_login_records(initrc_t) auth_rw_lastlog(initrc_t) auth_read_pam_pid(initrc_t) -@@ -394,18 +594,17 @@ logging_read_audit_config(initrc_t) +@@ -394,18 +593,17 @@ logging_read_audit_config(initrc_t) miscfiles_read_localization(initrc_t) # slapd needs to read cert files from its initscript @@ -50909,7 +51030,7 @@ index ea29513..9740a9f 100644 ifdef(`distro_debian',` dev_setattr_generic_dirs(initrc_t) -@@ -458,6 +657,10 @@ ifdef(`distro_gentoo',` +@@ -458,6 +656,10 @@ ifdef(`distro_gentoo',` sysnet_setattr_config(initrc_t) optional_policy(` @@ -50920,7 +51041,7 @@ index ea29513..9740a9f 100644 alsa_read_lib(initrc_t) ') -@@ -478,7 +681,7 @@ ifdef(`distro_redhat',` +@@ -478,7 +680,7 @@ ifdef(`distro_redhat',` # Red Hat systems seem to have a stray # fd open from the initrd @@ -50929,7 +51050,7 @@ index ea29513..9740a9f 100644 files_dontaudit_read_root_files(initrc_t) # These seem to be from the initrd -@@ -493,6 +696,7 @@ ifdef(`distro_redhat',` +@@ -493,6 +695,7 @@ ifdef(`distro_redhat',` files_create_boot_dirs(initrc_t) files_create_boot_flag(initrc_t) files_rw_boot_symlinks(initrc_t) @@ -50937,7 +51058,7 @@ index ea29513..9740a9f 100644 # wants to read /.fonts directory files_read_default_files(initrc_t) files_mountpoint(initrc_tmp_t) -@@ -524,6 +728,23 @@ ifdef(`distro_redhat',` +@@ -524,6 +727,23 @@ ifdef(`distro_redhat',` optional_policy(` bind_manage_config_dirs(initrc_t) bind_write_config(initrc_t) @@ -50961,7 +51082,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -531,10 +752,17 @@ ifdef(`distro_redhat',` +@@ -531,10 +751,17 @@ ifdef(`distro_redhat',` rpc_write_exports(initrc_t) rpc_manage_nfs_state_data(initrc_t) ') @@ -50979,7 +51100,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -549,6 +777,39 @@ ifdef(`distro_suse',` +@@ -549,6 +776,39 @@ ifdef(`distro_suse',` ') ') @@ -51019,7 +51140,7 @@ index ea29513..9740a9f 100644 optional_policy(` amavis_search_lib(initrc_t) amavis_setattr_pid_files(initrc_t) -@@ -561,6 +822,8 @@ optional_policy(` +@@ -561,6 +821,8 @@ optional_policy(` optional_policy(` apache_read_config(initrc_t) apache_list_modules(initrc_t) @@ -51028,7 +51149,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -577,6 +840,7 @@ optional_policy(` +@@ -577,6 +839,7 @@ optional_policy(` optional_policy(` cgroup_stream_connect_cgred(initrc_t) @@ -51036,7 +51157,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -589,6 +853,11 @@ optional_policy(` +@@ -589,6 +852,11 @@ optional_policy(` ') optional_policy(` @@ -51048,7 +51169,7 @@ index ea29513..9740a9f 100644 dev_getattr_printer_dev(initrc_t) cups_read_log(initrc_t) -@@ -605,9 +874,13 @@ optional_policy(` +@@ -605,9 +873,13 @@ optional_policy(` dbus_connect_system_bus(initrc_t) dbus_system_bus_client(initrc_t) dbus_read_config(initrc_t) @@ -51062,7 +51183,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -649,6 +922,11 @@ optional_policy(` +@@ -649,6 +921,11 @@ optional_policy(` ') optional_policy(` @@ -51074,7 +51195,7 @@ index ea29513..9740a9f 100644 inn_exec_config(initrc_t) ') -@@ -706,7 +984,13 @@ optional_policy(` +@@ -706,7 +983,13 @@ optional_policy(` ') optional_policy(` @@ -51088,7 +51209,7 @@ index ea29513..9740a9f 100644 mta_dontaudit_read_spool_symlinks(initrc_t) ') -@@ -729,6 +1013,10 @@ optional_policy(` +@@ -729,6 +1012,10 @@ optional_policy(` ') optional_policy(` @@ -51099,7 +51220,7 @@ index ea29513..9740a9f 100644 postgresql_manage_db(initrc_t) postgresql_read_config(initrc_t) ') -@@ -738,10 +1026,20 @@ optional_policy(` +@@ -738,10 +1025,20 @@ optional_policy(` ') optional_policy(` @@ -51120,7 +51241,7 @@ index ea29513..9740a9f 100644 quota_manage_flags(initrc_t) ') -@@ -750,6 +1048,10 @@ optional_policy(` +@@ -750,6 +1047,10 @@ optional_policy(` ') optional_policy(` @@ -51131,7 +51252,7 @@ index ea29513..9740a9f 100644 fs_write_ramfs_sockets(initrc_t) fs_search_ramfs(initrc_t) -@@ -771,8 +1073,6 @@ optional_policy(` +@@ -771,8 +1072,6 @@ optional_policy(` # bash tries ioctl for some reason files_dontaudit_ioctl_all_pids(initrc_t) @@ -51140,7 +51261,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -781,14 +1081,21 @@ optional_policy(` +@@ -781,14 +1080,21 @@ optional_policy(` ') optional_policy(` @@ -51162,7 +51283,7 @@ index ea29513..9740a9f 100644 optional_policy(` ssh_dontaudit_read_server_keys(initrc_t) -@@ -800,7 +1107,6 @@ optional_policy(` +@@ -800,7 +1106,6 @@ optional_policy(` ') optional_policy(` @@ -51170,7 +51291,7 @@ index ea29513..9740a9f 100644 udev_manage_pid_files(initrc_t) udev_manage_rules_files(initrc_t) ') -@@ -810,11 +1116,19 @@ optional_policy(` +@@ -810,11 +1115,19 @@ optional_policy(` ') optional_policy(` @@ -51191,7 +51312,7 @@ index ea29513..9740a9f 100644 ifdef(`distro_redhat',` # system-config-services causes avc messages that should be dontaudited -@@ -824,6 +1138,25 @@ optional_policy(` +@@ -824,6 +1137,25 @@ optional_policy(` optional_policy(` mono_domtrans(initrc_t) ') @@ -51217,7 +51338,7 @@ index ea29513..9740a9f 100644 ') optional_policy(` -@@ -849,3 +1182,42 @@ optional_policy(` +@@ -849,3 +1181,42 @@ optional_policy(` optional_policy(` zebra_read_config(initrc_t) ') @@ -57475,7 +57596,7 @@ index db75976..392d1ee 100644 +HOME_DIR/\.gvfs(/.*)? <> +HOME_DIR/\.debug(/.*)? <> diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if -index 28b88de..359a84b 100644 +index 28b88de..791d89f 100644 --- a/policy/modules/system/userdomain.if +++ b/policy/modules/system/userdomain.if @@ -30,8 +30,9 @@ template(`userdom_base_user_template',` @@ -59071,6 +59192,15 @@ index 28b88de..359a84b 100644 ######################################## ## +@@ -2008,7 +2410,7 @@ interface(`userdom_user_home_dir_filetrans',` + type user_home_dir_t; + ') + +- filetrans_pattern($1, user_home_dir_t, $2, $3) ++ filetrans_pattern($1, user_home_dir_t, $2, $3, $4) + files_search_home($1) + ') + @@ -2182,7 +2584,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` type user_tmp_t; ') @@ -59721,7 +59851,7 @@ index 28b88de..359a84b 100644 + type admin_home_t; + ') + -+ filetrans_pattern($1, admin_home_t, $2, $3) ++ filetrans_pattern($1, admin_home_t, $2, $3, $4) +') + +######################################## diff --git a/selinux-policy.spec b/selinux-policy.spec index 759f9c9..c97299a 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -21,7 +21,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 3.9.16 -Release: 14.1%{?dist} +Release: 15.1%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -474,6 +474,15 @@ exit 0 %endif %changelog +* Fri Apr 15 2011 Dan Walsh 3.9.16-15.1 +- Add filename transitions + +* Fri Apr 15 2011 Miroslav Grepl 3.9.16-15 +- xdm_t needs getsession for switch user +- Every app that used to exec init is now execing systemdctl +- Allow squid to manage krb5_host_rcache_t files +- Allow foghorn to connect to agentx port - Fixes for colord policy + * Mon Apr 11 2011 Miroslav Grepl 3.9.16-14 - Add Dan's patch to remove 64 bit variants - Allow colord to use unix_dgram_socket