diff --git a/policy-F14.patch b/policy-F14.patch index 3762ed8..17e6c49 100644 --- a/policy-F14.patch +++ b/policy-F14.patch @@ -2144,10 +2144,10 @@ index 0000000..7fe26f3 +') diff --git a/policy/modules/apps/firewallgui.te b/policy/modules/apps/firewallgui.te new file mode 100644 -index 0000000..910a3f4 +index 0000000..0bbd523 --- /dev/null +++ b/policy/modules/apps/firewallgui.te -@@ -0,0 +1,65 @@ +@@ -0,0 +1,66 @@ +policy_module(firewallgui,1.0.0) + +######################################## @@ -2174,37 +2174,38 @@ index 0000000..910a3f4 +manage_dirs_pattern(firewallgui_t,firewallgui_tmp_t,firewallgui_tmp_t) +files_tmp_filetrans(firewallgui_t,firewallgui_tmp_t, { file dir }) + -+files_manage_system_conf_files(firewallgui_t) -+files_etc_filetrans_system_conf(firewallgui_t) -+ -+corecmd_exec_shell(firewallgui_t) -+corecmd_exec_bin(firewallgui_t) -+consoletype_exec(firewallgui_t) -+ +kernel_read_system_state(firewallgui_t) +kernel_read_network_state(firewallgui_t) +kernel_rw_net_sysctls(firewallgui_t) +kernel_rw_kernel_sysctl(firewallgui_t) +kernel_rw_vm_sysctls(firewallgui_t) + ++corecmd_exec_shell(firewallgui_t) ++corecmd_exec_bin(firewallgui_t) ++consoletype_exec(firewallgui_t) ++ ++dev_read_urand(firewallgui_t) ++dev_read_sysfs(firewallgui_t) ++ ++files_manage_system_conf_files(firewallgui_t) ++files_etc_filetrans_system_conf(firewallgui_t) +files_read_etc_files(firewallgui_t) +files_read_usr_files(firewallgui_t) +files_search_kernel_modules(firewallgui_t) +files_list_kernel_modules(firewallgui_t) + ++iptables_domtrans(firewallgui_t) ++iptables_initrc_domtrans(firewallgui_t) ++ +modutils_getattr_module_deps(firewallgui_t) + -+dev_read_urand(firewallgui_t) -+dev_read_sysfs(firewallgui_t) ++miscfiles_read_localization(firewallgui_t) ++ ++userdom_dontaudit_search_user_home_dirs(firewallgui_t) + +nscd_dontaudit_search_pid(firewallgui_t) +nscd_socket_use(firewallgui_t) + -+miscfiles_read_localization(firewallgui_t) -+ -+iptables_domtrans(firewallgui_t) -+iptables_initrc_domtrans(firewallgui_t) -+ +optional_policy(` + gnome_read_gconf_home_files(firewallgui_t) +') @@ -3700,7 +3701,7 @@ index 9a6d67d..47aa143 100644 ## mozilla over dbus. ## diff --git a/policy/modules/apps/mozilla.te b/policy/modules/apps/mozilla.te -index cbf4bec..7243acc 100644 +index cbf4bec..001dc99 100644 --- a/policy/modules/apps/mozilla.te +++ b/policy/modules/apps/mozilla.te @@ -25,6 +25,7 @@ files_config_file(mozilla_conf_t) @@ -3773,7 +3774,7 @@ index cbf4bec..7243acc 100644 pulseaudio_exec(mozilla_t) pulseaudio_stream_connect(mozilla_t) pulseaudio_manage_home_files(mozilla_t) -@@ -266,3 +291,91 @@ optional_policy(` +@@ -266,3 +291,105 @@ optional_policy(` optional_policy(` thunderbird_domtrans(mozilla_t) ') @@ -3783,14 +3784,17 @@ index cbf4bec..7243acc 100644 +# mozilla_plugin local policy +# +allow mozilla_plugin_t self:process { setsched signal_perms execmem }; ++allow mozilla_plugin_t self:netlink_route_socket r_netlink_socket_perms; ++allow mozilla_plugin_t self:tcp_socket create_socket_perms; ++allow mozilla_plugin_t self:udp_socket create_socket_perms; + +allow mozilla_plugin_t self:sem create_sem_perms; +allow mozilla_plugin_t self:shm create_shm_perms; +allow mozilla_plugin_t self:fifo_file manage_fifo_file_perms; +allow mozilla_plugin_t self:unix_stream_socket { connectto create_stream_socket_perms }; + -+read_files_pattern(mozilla_plugin_t, mozilla_home_t, mozilla_home_t) +can_exec(mozilla_plugin_t, mozilla_home_t) ++read_files_pattern(mozilla_plugin_t, mozilla_home_t, mozilla_home_t) + +manage_dirs_pattern(mozilla_plugin_t, mozilla_plugin_tmp_t, mozilla_plugin_tmp_t) +manage_files_pattern(mozilla_plugin_t, mozilla_plugin_tmp_t, mozilla_plugin_tmp_t) @@ -3816,6 +3820,7 @@ index cbf4bec..7243acc 100644 +dev_read_sysfs(mozilla_plugin_t) +dev_read_sound(mozilla_plugin_t) +dev_write_sound(mozilla_plugin_t) ++dev_dontaudit_rw_dri(mozilla_plugin_t) + +domain_use_interactive_fds(mozilla_plugin_t) +domain_dontaudit_read_all_domains_state(mozilla_plugin_t) @@ -3832,14 +3837,23 @@ index cbf4bec..7243acc 100644 +term_getattr_all_ptys(mozilla_plugin_t) + +userdom_rw_user_tmpfs_files(mozilla_plugin_t) ++userdom_delete_user_tmpfs_files(mozilla_plugin_t) +userdom_stream_connect(mozilla_plugin_t) +userdom_dontaudit_use_user_ptys(mozilla_plugin_t) + ++userdom_list_user_tmp(mozilla_plugin_t) ++userdom_read_user_tmp_files(mozilla_plugin_t) ++userdom_read_user_tmp_symlinks(mozilla_plugin_t) ++userdom_read_user_home_content_files(mozilla_plugin_t) ++userdom_read_user_home_content_files(mozilla_plugin_t) ++userdom_read_user_home_content_symlinks(mozilla_plugin_t) ++ +optional_policy(` + alsa_read_rw_config(mozilla_plugin_t) +') + +optional_policy(` ++ dbus_session_bus_client(mozilla_plugin_t) + dbus_read_lib_files(mozilla_plugin_t) +') + @@ -3853,6 +3867,7 @@ index cbf4bec..7243acc 100644 + nsplugin_rw_exec(mozilla_plugin_t) + nsplugin_manage_home_dirs(mozilla_plugin_t) + nsplugin_manage_home_files(mozilla_plugin_t) ++ nsplugin_user_home_dir_filetrans(mozilla_plugin_t, dir) + nsplugin_signal(mozilla_plugin_t) +') + @@ -3967,10 +3982,10 @@ index 0000000..63abc5c +/usr/lib(64)?/mozilla/plugins-wrapped(/.*)? gen_context(system_u:object_r:nsplugin_rw_t,s0) diff --git a/policy/modules/apps/nsplugin.if b/policy/modules/apps/nsplugin.if new file mode 100644 -index 0000000..9439746 +index 0000000..4dbb161 --- /dev/null +++ b/policy/modules/apps/nsplugin.if -@@ -0,0 +1,411 @@ +@@ -0,0 +1,436 @@ + +## policy for nsplugin + @@ -4382,6 +4397,31 @@ index 0000000..9439746 + + allow $1 nsplugin_t:process signal; +') ++ ++######################################## ++## ++## Create objects in a user home directory ++## with an automatic type transition to ++## the nsplugin home file type. ++## ++## ++## ++## Domain allowed access. ++## ++## ++## ++## ++## The class of the object to be created. ++## ++## ++# ++interface(`nsplugin_user_home_dir_filetrans',` ++ gen_require(` ++ type nsplugin_home_t; ++ ') ++ ++ userdom_user_home_content_filetrans($1, nsplugin_home_t, $2) ++') diff --git a/policy/modules/apps/nsplugin.te b/policy/modules/apps/nsplugin.te new file mode 100644 index 0000000..7bc0dcf @@ -6261,10 +6301,10 @@ index 0000000..3d12484 +') diff --git a/policy/modules/apps/telepathy.te b/policy/modules/apps/telepathy.te new file mode 100644 -index 0000000..aa34be4 +index 0000000..c4fe796 --- /dev/null +++ b/policy/modules/apps/telepathy.te -@@ -0,0 +1,318 @@ +@@ -0,0 +1,320 @@ + +policy_module(telepathy, 1.0.0) + @@ -6323,8 +6363,10 @@ index 0000000..aa34be4 +can_exec(telepathy_msn_t, telepathy_msn_tmp_t) + +corenet_sendrecv_http_client_packets(telepathy_msn_t) ++corenet_sendrecv_mmcc_client_packets(telepathy_msn_t) +corenet_sendrecv_msnp_client_packets(telepathy_msn_t) +corenet_tcp_connect_http_port(telepathy_msn_t) ++corenet_tcp_connect_mmcc_port(telepathy_msn_t) +corenet_tcp_connect_msnp_port(telepathy_msn_t) +corenet_tcp_connect_sametime_port(telepathy_msn_t) + @@ -9628,10 +9670,17 @@ index 1875064..e9c9277 100644 + sudo_role_template(dbadm, dbadm_r, dbadm_t) +') diff --git a/policy/modules/roles/guest.te b/policy/modules/roles/guest.te -index 531c616..321e5a7 100644 +index 531c616..f332441 100644 --- a/policy/modules/roles/guest.te +++ b/policy/modules/roles/guest.te -@@ -14,4 +14,8 @@ userdom_restricted_user_template(guest) +@@ -9,9 +9,15 @@ role guest_r; + + userdom_restricted_user_template(guest) + ++kernel_read_system_state(guest_t) ++ + ######################################## + # # Local policy # @@ -15545,7 +15594,7 @@ index 1f11572..01b02f3 100644 ') diff --git a/policy/modules/services/clamav.te b/policy/modules/services/clamav.te -index 8c36027..f9af97c 100644 +index 8c36027..532fa91 100644 --- a/policy/modules/services/clamav.te +++ b/policy/modules/services/clamav.te @@ -1,9 +1,9 @@ @@ -15561,7 +15610,16 @@ index 8c36027..f9af97c 100644 ## gen_tunable(clamd_use_jit, false) -@@ -80,6 +80,7 @@ manage_files_pattern(clamd_t, clamd_tmp_t, clamd_tmp_t) +@@ -64,6 +64,8 @@ logging_log_file(freshclam_var_log_t) + + allow clamd_t self:capability { kill setgid setuid dac_override }; + dontaudit clamd_t self:capability sys_tty_config; ++allow clamd_t self:process signal; ++ + allow clamd_t self:fifo_file rw_fifo_file_perms; + allow clamd_t self:unix_stream_socket { create_stream_socket_perms connectto }; + allow clamd_t self:unix_dgram_socket create_socket_perms; +@@ -80,6 +82,7 @@ manage_files_pattern(clamd_t, clamd_tmp_t, clamd_tmp_t) files_tmp_filetrans(clamd_t, clamd_tmp_t, { file dir }) # var/lib files for clamd @@ -15569,7 +15627,7 @@ index 8c36027..f9af97c 100644 manage_dirs_pattern(clamd_t, clamd_var_lib_t, clamd_var_lib_t) manage_files_pattern(clamd_t, clamd_var_lib_t, clamd_var_lib_t) -@@ -89,9 +90,10 @@ manage_files_pattern(clamd_t, clamd_var_log_t, clamd_var_log_t) +@@ -89,9 +92,10 @@ manage_files_pattern(clamd_t, clamd_var_log_t, clamd_var_log_t) logging_log_filetrans(clamd_t, clamd_var_log_t, { dir file }) # pid file @@ -15581,7 +15639,7 @@ index 8c36027..f9af97c 100644 kernel_dontaudit_list_proc(clamd_t) kernel_read_sysctl(clamd_t) -@@ -147,8 +149,10 @@ optional_policy(` +@@ -147,8 +151,10 @@ optional_policy(` tunable_policy(`clamd_use_jit',` allow clamd_t self:process execmem; @@ -15593,7 +15651,7 @@ index 8c36027..f9af97c 100644 ') ######################################## -@@ -178,10 +182,16 @@ files_pid_filetrans(freshclam_t, clamd_var_run_t, file) +@@ -178,10 +184,16 @@ files_pid_filetrans(freshclam_t, clamd_var_run_t, file) # log files (own logfiles only) manage_files_pattern(freshclam_t, freshclam_var_log_t, freshclam_var_log_t) @@ -15612,7 +15670,7 @@ index 8c36027..f9af97c 100644 corenet_all_recvfrom_unlabeled(freshclam_t) corenet_all_recvfrom_netlabel(freshclam_t) corenet_tcp_sendrecv_generic_if(freshclam_t) -@@ -189,6 +199,7 @@ corenet_tcp_sendrecv_generic_node(freshclam_t) +@@ -189,6 +201,7 @@ corenet_tcp_sendrecv_generic_node(freshclam_t) corenet_tcp_sendrecv_all_ports(freshclam_t) corenet_tcp_sendrecv_clamd_port(freshclam_t) corenet_tcp_connect_http_port(freshclam_t) @@ -15620,7 +15678,7 @@ index 8c36027..f9af97c 100644 corenet_sendrecv_http_client_packets(freshclam_t) dev_read_rand(freshclam_t) -@@ -207,16 +218,18 @@ miscfiles_read_localization(freshclam_t) +@@ -207,16 +220,18 @@ miscfiles_read_localization(freshclam_t) clamav_stream_connect(freshclam_t) @@ -15643,7 +15701,7 @@ index 8c36027..f9af97c 100644 ######################################## # # clamscam local policy -@@ -251,6 +264,7 @@ corenet_tcp_sendrecv_clamd_port(clamscan_t) +@@ -251,6 +266,7 @@ corenet_tcp_sendrecv_clamd_port(clamscan_t) corenet_tcp_connect_clamd_port(clamscan_t) kernel_read_kernel_sysctls(clamscan_t) @@ -34842,7 +34900,7 @@ index 6f1e3c7..6a160b2 100644 +/var/lib/pqsql/\.Xauthority.* -- gen_context(system_u:object_r:xauth_home_t,s0) + diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if -index da2601a..ef2a773 100644 +index da2601a..f963642 100644 --- a/policy/modules/services/xserver.if +++ b/policy/modules/services/xserver.if @@ -19,9 +19,10 @@ @@ -34924,14 +34982,16 @@ index da2601a..ef2a773 100644 xserver_xsession_entry_type($2) xserver_dontaudit_write_log($2) xserver_stream_connect_xdm($2) -@@ -107,11 +115,23 @@ interface(`xserver_restricted_role',` +@@ -106,12 +114,25 @@ interface(`xserver_restricted_role',` + xserver_create_xdm_tmp_sockets($2) # Needed for escd, remove if we get escd policy xserver_manage_xdm_tmp_files($2) - ++ xserver_read_xdm_etc_files($2) ++ + ifdef(`hide_broken_symptoms',` + dontaudit iceauth_t $2:socket_class_set { read write }; + ') -+ + # Client write xserver shm tunable_policy(`allow_write_xshm',` allow $2 xserver_t:shm rw_shm_perms; @@ -34948,7 +35008,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -143,13 +163,15 @@ interface(`xserver_role',` +@@ -143,13 +164,15 @@ interface(`xserver_role',` allow $2 xserver_tmpfs_t:file rw_file_perms; allow $2 iceauth_home_t:file manage_file_perms; @@ -34966,7 +35026,7 @@ index da2601a..ef2a773 100644 relabel_dirs_pattern($2, user_fonts_t, user_fonts_t) relabel_files_pattern($2, user_fonts_t, user_fonts_t) -@@ -162,7 +184,6 @@ interface(`xserver_role',` +@@ -162,7 +185,6 @@ interface(`xserver_role',` manage_files_pattern($2, user_fonts_config_t, user_fonts_config_t) relabel_dirs_pattern($2, user_fonts_config_t, user_fonts_config_t) relabel_files_pattern($2, user_fonts_config_t, user_fonts_config_t) @@ -34974,7 +35034,7 @@ index da2601a..ef2a773 100644 ') ####################################### -@@ -197,7 +218,7 @@ interface(`xserver_ro_session',` +@@ -197,7 +219,7 @@ interface(`xserver_ro_session',` allow $1 xserver_t:process signal; # Read /tmp/.X0-lock @@ -34983,7 +35043,7 @@ index da2601a..ef2a773 100644 # Client read xserver shm allow $1 xserver_t:fd use; -@@ -227,7 +248,7 @@ interface(`xserver_rw_session',` +@@ -227,7 +249,7 @@ interface(`xserver_rw_session',` type xserver_t, xserver_tmpfs_t; ') @@ -34992,7 +35052,7 @@ index da2601a..ef2a773 100644 allow $1 xserver_t:shm rw_shm_perms; allow $1 xserver_tmpfs_t:file rw_file_perms; ') -@@ -255,7 +276,7 @@ interface(`xserver_non_drawing_client',` +@@ -255,7 +277,7 @@ interface(`xserver_non_drawing_client',` allow $1 self:x_gc { create setattr }; @@ -35001,7 +35061,7 @@ index da2601a..ef2a773 100644 allow $1 xserver_t:unix_stream_socket connectto; allow $1 xextension_t:x_extension { query use }; -@@ -291,13 +312,13 @@ interface(`xserver_user_client',` +@@ -291,13 +313,13 @@ interface(`xserver_user_client',` allow $1 self:unix_stream_socket { connectto create_stream_socket_perms }; # Read .Xauthority file @@ -35019,7 +35079,7 @@ index da2601a..ef2a773 100644 allow $1 xdm_tmp_t:sock_file { read write }; dontaudit $1 xdm_t:tcp_socket { read write }; -@@ -342,19 +363,23 @@ interface(`xserver_user_client',` +@@ -342,19 +364,23 @@ interface(`xserver_user_client',` # template(`xserver_common_x_domain_template',` gen_require(` @@ -35046,7 +35106,7 @@ index da2601a..ef2a773 100644 ') ############################## -@@ -386,6 +411,15 @@ template(`xserver_common_x_domain_template',` +@@ -386,6 +412,15 @@ template(`xserver_common_x_domain_template',` allow $2 xevent_t:{ x_event x_synthetic_event } receive; # dont audit send failures dontaudit $2 input_xevent_type:x_event send; @@ -35062,7 +35122,7 @@ index da2601a..ef2a773 100644 ') ####################################### -@@ -444,8 +478,8 @@ template(`xserver_object_types_template',` +@@ -444,8 +479,8 @@ template(`xserver_object_types_template',` # template(`xserver_user_x_domain_template',` gen_require(` @@ -35073,7 +35133,7 @@ index da2601a..ef2a773 100644 ') allow $2 self:shm create_shm_perms; -@@ -458,9 +492,9 @@ template(`xserver_user_x_domain_template',` +@@ -458,9 +493,9 @@ template(`xserver_user_x_domain_template',` # for when /tmp/.X11-unix is created by the system allow $2 xdm_t:fd use; @@ -35085,7 +35145,7 @@ index da2601a..ef2a773 100644 dontaudit $2 xdm_t:tcp_socket { read write }; # Allow connections to X server. -@@ -472,20 +506,25 @@ template(`xserver_user_x_domain_template',` +@@ -472,20 +507,25 @@ template(`xserver_user_x_domain_template',` # for .xsession-errors userdom_dontaudit_write_user_home_content_files($2) @@ -35113,7 +35173,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -517,6 +556,7 @@ interface(`xserver_use_user_fonts',` +@@ -517,6 +557,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; @@ -35121,7 +35181,7 @@ index da2601a..ef2a773 100644 # Manipulate the global font cache manage_dirs_pattern($1, user_fonts_cache_t, user_fonts_cache_t) -@@ -545,6 +585,28 @@ interface(`xserver_domtrans_xauth',` +@@ -545,6 +586,28 @@ interface(`xserver_domtrans_xauth',` ') domtrans_pattern($1, xauth_exec_t, xauth_t) @@ -35150,7 +35210,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -598,6 +660,7 @@ interface(`xserver_read_user_xauth',` +@@ -598,6 +661,7 @@ interface(`xserver_read_user_xauth',` allow $1 xauth_home_t:file read_file_perms; userdom_search_user_home_dirs($1) @@ -35158,7 +35218,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -615,7 +678,7 @@ interface(`xserver_setattr_console_pipes',` +@@ -615,7 +679,7 @@ interface(`xserver_setattr_console_pipes',` type xconsole_device_t; ') @@ -35167,7 +35227,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -651,7 +714,7 @@ interface(`xserver_use_xdm_fds',` +@@ -651,7 +715,7 @@ interface(`xserver_use_xdm_fds',` type xdm_t; ') @@ -35176,7 +35236,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -670,7 +733,7 @@ interface(`xserver_dontaudit_use_xdm_fds',` +@@ -670,7 +734,7 @@ interface(`xserver_dontaudit_use_xdm_fds',` type xdm_t; ') @@ -35185,7 +35245,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -688,7 +751,7 @@ interface(`xserver_rw_xdm_pipes',` +@@ -688,7 +752,7 @@ interface(`xserver_rw_xdm_pipes',` type xdm_t; ') @@ -35194,7 +35254,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -703,12 +766,11 @@ interface(`xserver_rw_xdm_pipes',` +@@ -703,12 +767,11 @@ interface(`xserver_rw_xdm_pipes',` ## # interface(`xserver_dontaudit_rw_xdm_pipes',` @@ -35208,7 +35268,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -724,11 +786,12 @@ interface(`xserver_dontaudit_rw_xdm_pipes',` +@@ -724,11 +787,12 @@ interface(`xserver_dontaudit_rw_xdm_pipes',` # interface(`xserver_stream_connect_xdm',` gen_require(` @@ -35223,7 +35283,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -765,7 +828,7 @@ interface(`xserver_setattr_xdm_tmp_dirs',` +@@ -765,7 +829,7 @@ interface(`xserver_setattr_xdm_tmp_dirs',` type xdm_tmp_t; ') @@ -35232,7 +35292,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -805,7 +868,7 @@ interface(`xserver_read_xdm_pid',` +@@ -805,7 +869,7 @@ interface(`xserver_read_xdm_pid',` ') files_search_pids($1) @@ -35241,7 +35301,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -897,7 +960,7 @@ interface(`xserver_getattr_log',` +@@ -897,7 +961,7 @@ interface(`xserver_getattr_log',` ') logging_search_logs($1) @@ -35250,7 +35310,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -916,7 +979,7 @@ interface(`xserver_dontaudit_write_log',` +@@ -916,7 +980,7 @@ interface(`xserver_dontaudit_write_log',` type xserver_log_t; ') @@ -35259,7 +35319,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -963,6 +1026,45 @@ interface(`xserver_read_xkb_libs',` +@@ -963,6 +1027,45 @@ interface(`xserver_read_xkb_libs',` ######################################## ## @@ -35305,7 +35365,7 @@ index da2601a..ef2a773 100644 ## Read xdm temporary files. ## ## -@@ -976,7 +1078,7 @@ interface(`xserver_read_xdm_tmp_files',` +@@ -976,7 +1079,7 @@ interface(`xserver_read_xdm_tmp_files',` type xdm_tmp_t; ') @@ -35314,7 +35374,7 @@ index da2601a..ef2a773 100644 read_files_pattern($1, xdm_tmp_t, xdm_tmp_t) ') -@@ -1052,7 +1154,7 @@ interface(`xserver_dontaudit_getattr_xdm_tmp_sockets',` +@@ -1052,7 +1155,7 @@ interface(`xserver_dontaudit_getattr_xdm_tmp_sockets',` type xdm_tmp_t; ') @@ -35323,7 +35383,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -1070,8 +1172,10 @@ interface(`xserver_domtrans',` +@@ -1070,8 +1173,10 @@ interface(`xserver_domtrans',` type xserver_t, xserver_exec_t; ') @@ -35335,7 +35395,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -1185,6 +1289,7 @@ interface(`xserver_stream_connect',` +@@ -1185,6 +1290,7 @@ interface(`xserver_stream_connect',` files_search_tmp($1) stream_connect_pattern($1, xserver_tmp_t, xserver_tmp_t, xserver_t) @@ -35343,7 +35403,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -1210,7 +1315,7 @@ interface(`xserver_read_tmp_files',` +@@ -1210,7 +1316,7 @@ interface(`xserver_read_tmp_files',` ## ## Interface to provide X object permissions on a given X server to ## an X client domain. Gives the domain permission to read the @@ -35352,7 +35412,7 @@ index da2601a..ef2a773 100644 ## ## ## -@@ -1220,13 +1325,23 @@ interface(`xserver_read_tmp_files',` +@@ -1220,13 +1326,23 @@ interface(`xserver_read_tmp_files',` # interface(`xserver_manage_core_devices',` gen_require(` @@ -35377,7 +35437,7 @@ index da2601a..ef2a773 100644 ') ######################################## -@@ -1243,10 +1358,355 @@ interface(`xserver_manage_core_devices',` +@@ -1243,10 +1359,355 @@ interface(`xserver_manage_core_devices',` # interface(`xserver_unconfined',` gen_require(` @@ -35736,7 +35796,7 @@ index da2601a..ef2a773 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 e226da4..c80794b 100644 +index e226da4..6c6f684 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -26,27 +26,43 @@ gen_require(` @@ -36294,7 +36354,7 @@ index e226da4..c80794b 100644 userdom_dontaudit_use_unpriv_user_fds(xdm_t) userdom_create_all_users_keys(xdm_t) -@@ -473,10 +640,25 @@ userdom_read_user_home_content_files(xdm_t) +@@ -473,9 +640,25 @@ 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) @@ -36308,7 +36368,8 @@ index e226da4..c80794b 100644 xserver_rw_session(xdm_t, xdm_tmpfs_t) xserver_unconfined(xdm_t) - ++xserver_domtrans_xauth(xdm_t) ++ +ifndef(`distro_redhat',` + allow xdm_t self:process { execheap execmem }; +') @@ -36316,11 +36377,10 @@ index e226da4..c80794b 100644 +ifdef(`distro_rhel4',` + allow xdm_t self:process { execheap execmem }; +') -+ + tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xdm_t) - fs_manage_nfs_files(xdm_t) -@@ -504,11 +686,17 @@ tunable_policy(`xdm_sysadm_login',` +@@ -504,11 +687,17 @@ tunable_policy(`xdm_sysadm_login',` ') optional_policy(` @@ -36338,7 +36398,7 @@ index e226da4..c80794b 100644 ') optional_policy(` -@@ -516,12 +704,49 @@ optional_policy(` +@@ -516,12 +705,49 @@ optional_policy(` ') optional_policy(` @@ -36388,7 +36448,7 @@ index e226da4..c80794b 100644 hostname_exec(xdm_t) ') -@@ -539,28 +764,63 @@ optional_policy(` +@@ -539,28 +765,63 @@ optional_policy(` ') optional_policy(` @@ -36461,7 +36521,7 @@ index e226da4..c80794b 100644 ') optional_policy(` -@@ -572,6 +832,10 @@ optional_policy(` +@@ -572,6 +833,10 @@ optional_policy(` ') optional_policy(` @@ -36472,7 +36532,7 @@ index e226da4..c80794b 100644 xfs_stream_connect(xdm_t) ') -@@ -596,7 +860,7 @@ allow xserver_t input_xevent_t:x_event send; +@@ -596,7 +861,7 @@ allow xserver_t input_xevent_t:x_event send; # execheap needed until the X module loader is fixed. # NVIDIA Needs execstack @@ -36481,7 +36541,7 @@ index e226da4..c80794b 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; -@@ -610,6 +874,14 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; +@@ -610,6 +875,14 @@ 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; @@ -36496,7 +36556,7 @@ index e226da4..c80794b 100644 manage_dirs_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) -@@ -629,12 +901,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) +@@ -629,12 +902,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) @@ -36518,7 +36578,7 @@ index e226da4..c80794b 100644 kernel_read_system_state(xserver_t) kernel_read_device_sysctls(xserver_t) -@@ -642,6 +921,7 @@ kernel_read_modprobe_sysctls(xserver_t) +@@ -642,6 +922,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) @@ -36526,7 +36586,7 @@ index e226da4..c80794b 100644 # Run helper programs in xserver_t. corecmd_exec_bin(xserver_t) -@@ -668,7 +948,6 @@ dev_rw_apm_bios(xserver_t) +@@ -668,7 +949,6 @@ dev_rw_apm_bios(xserver_t) dev_rw_agp(xserver_t) dev_rw_framebuffer(xserver_t) dev_manage_dri_dev(xserver_t) @@ -36534,7 +36594,7 @@ index e226da4..c80794b 100644 dev_create_generic_dirs(xserver_t) dev_setattr_generic_dirs(xserver_t) # raw memory access is needed if not using the frame buffer -@@ -678,8 +957,13 @@ dev_wx_raw_memory(xserver_t) +@@ -678,8 +958,13 @@ 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) @@ -36548,7 +36608,7 @@ index e226da4..c80794b 100644 files_read_etc_files(xserver_t) files_read_etc_runtime_files(xserver_t) files_read_usr_files(xserver_t) -@@ -693,8 +977,13 @@ fs_getattr_xattr_fs(xserver_t) +@@ -693,8 +978,13 @@ fs_getattr_xattr_fs(xserver_t) fs_search_nfs(xserver_t) fs_search_auto_mountpoints(xserver_t) fs_search_ramfs(xserver_t) @@ -36562,7 +36622,7 @@ index e226da4..c80794b 100644 selinux_validate_context(xserver_t) selinux_compute_access_vector(xserver_t) -@@ -716,11 +1005,14 @@ logging_send_audit_msgs(xserver_t) +@@ -716,11 +1006,14 @@ logging_send_audit_msgs(xserver_t) miscfiles_read_localization(xserver_t) miscfiles_read_fonts(xserver_t) @@ -36577,7 +36637,7 @@ index e226da4..c80794b 100644 userdom_search_user_home_dirs(xserver_t) userdom_use_user_ttys(xserver_t) -@@ -773,12 +1065,28 @@ optional_policy(` +@@ -773,12 +1066,28 @@ optional_policy(` ') optional_policy(` @@ -36607,7 +36667,7 @@ index e226da4..c80794b 100644 unconfined_domtrans(xserver_t) ') -@@ -787,6 +1095,10 @@ optional_policy(` +@@ -787,6 +1096,10 @@ optional_policy(` ') optional_policy(` @@ -36618,7 +36678,7 @@ index e226da4..c80794b 100644 xfs_stream_connect(xserver_t) ') -@@ -802,10 +1114,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; +@@ -802,10 +1115,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!!! @@ -36632,7 +36692,7 @@ index e226da4..c80794b 100644 # Label pid and temporary files with derived types. manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) -@@ -813,7 +1125,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) +@@ -813,7 +1126,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. @@ -36641,7 +36701,7 @@ index e226da4..c80794b 100644 can_exec(xserver_t, xkb_var_lib_t) # VNC v4 module in X server -@@ -826,6 +1138,9 @@ init_use_fds(xserver_t) +@@ -826,6 +1139,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) @@ -36651,7 +36711,7 @@ index e226da4..c80794b 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xserver_t) -@@ -841,11 +1156,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -841,11 +1157,14 @@ tunable_policy(`use_samba_home_dirs',` optional_policy(` dbus_system_bus_client(xserver_t) @@ -36668,7 +36728,7 @@ index e226da4..c80794b 100644 ') optional_policy(` -@@ -853,6 +1171,10 @@ optional_policy(` +@@ -853,6 +1172,10 @@ optional_policy(` rhgb_rw_tmpfs_files(xserver_t) ') @@ -36679,7 +36739,7 @@ index e226da4..c80794b 100644 ######################################## # # Rules common to all X window domains -@@ -896,7 +1218,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy +@@ -896,7 +1219,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 }; @@ -36688,7 +36748,7 @@ index e226da4..c80794b 100644 # operations allowed on all windows allow x_domain x_domain:x_drawable { getattr get_property set_property remove_child }; -@@ -950,11 +1272,31 @@ allow x_domain self:x_resource { read write }; +@@ -950,11 +1273,31 @@ allow x_domain self:x_resource { read write }; # can mess with the screensaver allow x_domain xserver_t:x_screen { getattr saver_getattr }; @@ -36720,7 +36780,7 @@ index e226da4..c80794b 100644 tunable_policy(`! xserver_object_manager',` # should be xserver_unconfined(x_domain), # but typeattribute doesnt work in conditionals -@@ -976,18 +1318,32 @@ tunable_policy(`! xserver_object_manager',` +@@ -976,18 +1319,32 @@ tunable_policy(`! xserver_object_manager',` allow x_domain xevent_type:{ x_event x_synthetic_event } *; ') diff --git a/selinux-policy.spec b/selinux-policy.spec index 24032e1..bda2865 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -20,7 +20,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 3.9.5 -Release: 5%{?dist} +Release: 7%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -469,6 +469,23 @@ exit 0 %endif %changelog +* Mon Sep 26 2010 Dan Walsh 3.9.5-7 +- Fixes to allow mozilla_plugin_t to create nsplugin_home_t directory. +- Allow mozilla_plugin_t to create tcp/udp/netlink_route sockets +- Allow confined users to read xdm_etc_t files +- Allow xdm_t to transition to xauth_t for lxdm program + +* Sun Sep 26 2010 Dan Walsh 3.9.5-6 +- Rearrange firewallgui policy to be more easily updated to upstream, dontaudit search of /home +- Allow clamd to send signals to itself +- Allow mozilla_plugin_t to read user home content. And unlink pulseaudio shm. +- Allow haze to connect to yahoo chat and messenger port tcp:5050. +Bz #637339 +- Allow guest to run ps command on its processes by allowing it to read /proc +- Allow firewallgui to sys_rawio which seems to be required to setup masqerading +- Allow all domains to search through default_t directories, in order to find differnet labels. For example people serring up /foo/bar to be share via samba. +- Add label for /var/log/slim.log + * Fri Sep 24 2010 Dan Walsh 3.9.5-5 - Pull in cleanups from dgrift - Allow mozilla_plugin_t to execute mozilla_home_t