diff --git a/policy-rawhide-base.patch b/policy-rawhide-base.patch index 4f732cf..e134722 100644 --- a/policy-rawhide-base.patch +++ b/policy-rawhide-base.patch @@ -2965,7 +2965,7 @@ index 7590165..19aaaed 100644 + fs_mounton_fusefs(seunshare_domain) +') diff --git a/policy/modules/kernel/corecommands.fc b/policy/modules/kernel/corecommands.fc -index 644d4d7..4d8e35b 100644 +index 644d4d7..5be2ae6 100644 --- a/policy/modules/kernel/corecommands.fc +++ b/policy/modules/kernel/corecommands.fc @@ -1,9 +1,10 @@ @@ -3226,7 +3226,7 @@ index 644d4d7..4d8e35b 100644 ifdef(`distro_debian',` /usr/lib/ConsoleKit/.* -- gen_context(system_u:object_r:bin_t,s0) -@@ -321,8 +381,12 @@ ifdef(`distro_redhat', ` +@@ -321,20 +381,27 @@ ifdef(`distro_redhat', ` /etc/gdm/[^/]+ -d gen_context(system_u:object_r:bin_t,s0) /etc/gdm/[^/]+/.* gen_context(system_u:object_r:bin_t,s0) @@ -3239,7 +3239,10 @@ index 644d4d7..4d8e35b 100644 /usr/lib/vmware-tools/(s)?bin32(/.*)? gen_context(system_u:object_r:bin_t,s0) /usr/lib/vmware-tools/(s)?bin64(/.*)? gen_context(system_u:object_r:bin_t,s0) /usr/share/authconfig/authconfig-gtk\.py -- gen_context(system_u:object_r:bin_t,s0) -@@ -332,9 +396,12 @@ ifdef(`distro_redhat', ` + /usr/share/authconfig/authconfig-tui\.py -- gen_context(system_u:object_r:bin_t,s0) +-/usr/share/authconfig/authconfig\.py -- gen_context(system_u:object_r:bin_t,s0) ++#/usr/share/authconfig/authconfig\.py -- gen_context(system_u:object_r:bin_t,s0) + /usr/share/cvs/contrib/rcs2log -- gen_context(system_u:object_r:bin_t,s0) /usr/share/clamav/clamd-gen -- gen_context(system_u:object_r:bin_t,s0) /usr/share/clamav/freshclam-sleep -- gen_context(system_u:object_r:bin_t,s0) /usr/share/createrepo(/.*)? gen_context(system_u:object_r:bin_t,s0) @@ -4962,7 +4965,7 @@ index 8e0f9cd..b9f45b9 100644 define(`create_packet_interfaces',`` diff --git a/policy/modules/kernel/corenetwork.te.in b/policy/modules/kernel/corenetwork.te.in -index 4edc40d..030b246 100644 +index 4edc40d..49513c7 100644 --- a/policy/modules/kernel/corenetwork.te.in +++ b/policy/modules/kernel/corenetwork.te.in @@ -5,6 +5,7 @@ policy_module(corenetwork, 1.18.4) @@ -5224,9 +5227,12 @@ index 4edc40d..030b246 100644 network_port(ssh, tcp,22,s0) network_port(stunnel) # no defined portcon network_port(svn, tcp,3690,s0, udp,3690,s0) -@@ -259,6 +300,7 @@ network_port(telnetd, tcp,23,s0) +@@ -257,8 +298,9 @@ network_port(syslog_tls, tcp,6514,s0, udp,6514,s0) + network_port(tcs, tcp, 30003, s0) + network_port(telnetd, tcp,23,s0) network_port(tftp, udp,69,s0) - network_port(tor, tcp,6969,s0, tcp,9001,s0, tcp,9030,s0, tcp,9050,s0, tcp,9051,s0) +-network_port(tor, tcp,6969,s0, tcp,9001,s0, tcp,9030,s0, tcp,9050,s0, tcp,9051,s0) ++network_port(tor, tcp,6969,s0, tcp,9001,s0, tcp,9030,s0, tcp,9050,s0, tcp,9051,s0, tcp,9150,s0) network_port(traceroute, udp,64000-64010,s0) +network_port(tram, tcp, 4567, s0) network_port(transproxy, tcp,8081,s0) @@ -7428,7 +7434,7 @@ index 6529bd9..cfec99c 100644 +allow devices_unconfined_type device_node:{ blk_file chr_file lnk_file } *; allow devices_unconfined_type mtrr_device_t:file *; diff --git a/policy/modules/kernel/domain.if b/policy/modules/kernel/domain.if -index 6a1e4d1..258c7cc 100644 +index 6a1e4d1..adafd25 100644 --- a/policy/modules/kernel/domain.if +++ b/policy/modules/kernel/domain.if @@ -76,33 +76,8 @@ interface(`domain_type',` @@ -7537,12 +7543,14 @@ index 6a1e4d1..258c7cc 100644 ## Relabel to and from all entry point ## file types. ## -@@ -1530,4 +1543,25 @@ interface(`domain_unconfined',` +@@ -1530,4 +1543,27 @@ interface(`domain_unconfined',` typeattribute $1 can_change_object_identity; typeattribute $1 set_curr_context; typeattribute $1 process_uncond_exempt; + + mcs_process_set_categories($1) ++ ++ userdom_filetrans_home_content($1) +') + +######################################## @@ -7564,7 +7572,7 @@ index 6a1e4d1..258c7cc 100644 + dontaudit $1 domain:socket_class_set { read write }; ') diff --git a/policy/modules/kernel/domain.te b/policy/modules/kernel/domain.te -index cf04cb5..3980a24 100644 +index cf04cb5..8601a3e 100644 --- a/policy/modules/kernel/domain.te +++ b/policy/modules/kernel/domain.te @@ -4,6 +4,29 @@ policy_module(domain, 1.11.0) @@ -7690,7 +7698,7 @@ index cf04cb5..3980a24 100644 # Create/access any System V IPC objects. allow unconfined_domain_type domain:{ sem msgq shm } *; -@@ -166,5 +227,282 @@ allow unconfined_domain_type domain:lnk_file { read_lnk_file_perms ioctl lock }; +@@ -166,5 +227,262 @@ allow unconfined_domain_type domain:lnk_file { read_lnk_file_perms ioctl lock }; # act on all domains keys allow unconfined_domain_type domain:key *; @@ -7724,7 +7732,6 @@ index cf04cb5..3980a24 100644 +optional_policy(` + auth_filetrans_named_content(unconfined_domain_type) + auth_filetrans_admin_home_content(unconfined_domain_type) -+ auth_filetrans_home_content(unconfined_domain_type) +') + +optional_policy(` @@ -7768,14 +7775,6 @@ index cf04cb5..3980a24 100644 +') + +optional_policy(` -+ gpg_filetrans_home_content(unconfined_domain_type) -+') -+ -+optional_policy(` -+ irc_filetrans_home_content(unconfined_domain_type) -+') -+ -+optional_policy(` + kerberos_filetrans_named_content(unconfined_domain_type) +') + @@ -7788,10 +7787,6 @@ index cf04cb5..3980a24 100644 +') + +optional_policy(` -+ mozilla_filetrans_home_content(unconfined_domain_type) -+') -+ -+optional_policy(` + mysql_filetrans_named_content(unconfined_domain_type) +') + @@ -7820,7 +7815,6 @@ index cf04cb5..3980a24 100644 +') + +optional_policy(` -+ pulseaudio_filetrans_home_content(unconfined_domain_type) + pulseaudio_filetrans_admin_home_content(unconfined_domain_type) +') + @@ -7844,21 +7838,15 @@ index cf04cb5..3980a24 100644 +') + +optional_policy(` -+ thumb_filetrans_home_content(unconfined_domain_type) -+') -+ -+optional_policy(` + tftp_filetrans_named_content(unconfined_domain_type) +') + +optional_policy(` + userdom_user_home_dir_filetrans_user_home_content(unconfined_domain_type, { dir file lnk_file fifo_file sock_file }) -+ userdom_filetrans_home_content(unconfined_domain_type) +') + +optional_policy(` + virt_filetrans_named_content(unconfined_domain_type) -+ virt_filetrans_home_content(unconfined_domain_type) +') + +optional_policy(` @@ -10818,7 +10806,7 @@ index 148d87a..822f6be 100644 allow files_unconfined_type file_type:file execmod; ') diff --git a/policy/modules/kernel/filesystem.fc b/policy/modules/kernel/filesystem.fc -index cda5588..91d1e25 100644 +index cda5588..91a633a 100644 --- a/policy/modules/kernel/filesystem.fc +++ b/policy/modules/kernel/filesystem.fc @@ -1,3 +1,7 @@ @@ -10829,7 +10817,7 @@ index cda5588..91d1e25 100644 /cgroup -d gen_context(system_u:object_r:cgroup_t,s0) /cgroup/.* <> -@@ -14,3 +18,8 @@ +@@ -14,3 +18,10 @@ # for systemd systems: /sys/fs/cgroup -d gen_context(system_u:object_r:cgroup_t,s0) /sys/fs/cgroup/.* <> @@ -10838,6 +10826,8 @@ index cda5588..91d1e25 100644 +/usr/lib/udev/devices/hugepages/.* <> +/usr/lib/udev/devices/shm -d gen_context(system_u:object_r:tmpfs_t,s0) +/usr/lib/udev/devices/shm/.* <> ++/var/run/[^/]*/gvfs -d gen_context(system_u:object_r:fusefs_t,s0) ++/var/run/[^/]*/gvfs/.* <> diff --git a/policy/modules/kernel/filesystem.if b/policy/modules/kernel/filesystem.if index 8416beb..60b2ce1 100644 --- a/policy/modules/kernel/filesystem.if @@ -17073,10 +17063,10 @@ index a26f84f..947af6c 100644 -/var/run/postmaster.* gen_context(system_u:object_r:postgresql_var_run_t,s0) +#/var/run/postmaster.* gen_context(system_u:object_r:postgresql_var_run_t,s0) diff --git a/policy/modules/services/postgresql.if b/policy/modules/services/postgresql.if -index 9d2f311..c8a2637 100644 +index 9d2f311..9e87525 100644 --- a/policy/modules/services/postgresql.if +++ b/policy/modules/services/postgresql.if -@@ -10,7 +10,7 @@ +@@ -10,90 +10,21 @@ ## ## ## @@ -17085,10 +17075,49 @@ index 9d2f311..c8a2637 100644 ## The type of the user domain. ## ## -@@ -54,15 +54,6 @@ interface(`postgresql_role',` - # Client local policy - # - + # + interface(`postgresql_role',` + gen_require(` +- class db_database all_db_database_perms; +- class db_schema all_db_schema_perms; +- class db_table all_db_table_perms; +- class db_sequence all_db_sequence_perms; +- class db_view all_db_view_perms; +- class db_procedure all_db_procedure_perms; +- class db_language all_db_language_perms; +- class db_column all_db_column_perms; +- class db_tuple all_db_tuple_perms; +- class db_blob all_db_blob_perms; +- +- attribute sepgsql_client_type, sepgsql_database_type; +- attribute sepgsql_schema_type, sepgsql_sysobj_table_type; +- +- type sepgsql_trusted_proc_exec_t, sepgsql_trusted_proc_t; +- type sepgsql_ranged_proc_exec_t, sepgsql_ranged_proc_t; +- type user_sepgsql_blob_t, user_sepgsql_proc_exec_t; +- type user_sepgsql_schema_t, user_sepgsql_seq_t; +- type user_sepgsql_sysobj_t, user_sepgsql_table_t; +- type user_sepgsql_view_t; +- type sepgsql_temp_object_t; ++ attribute sepgsql_client_type; ++ type sepgsql_trusted_proc_t; ++ type sepgsql_ranged_proc_t; + ') + +- ######################################## +- # +- # Declarations +- # +- + typeattribute $2 sepgsql_client_type; + role $1 types sepgsql_trusted_proc_t; + role $1 types sepgsql_ranged_proc_t; +- +- ############################## +- # +- # Client local policy +- # +- - tunable_policy(`sepgsql_enable_users_ddl',` - allow $2 user_sepgsql_schema_t:db_schema { create drop setattr }; - allow $2 user_sepgsql_table_t:db_table { create drop setattr }; @@ -17098,27 +17127,41 @@ index 9d2f311..c8a2637 100644 - allow $2 user_sepgsql_view_t:db_view { create drop setattr }; - allow $2 user_sepgsql_proc_exec_t:db_procedure { create drop setattr }; - ') - - allow $2 user_sepgsql_schema_t:db_schema { getattr search add_name remove_name }; - type_transition $2 sepgsql_database_type:db_schema user_sepgsql_schema_t; -@@ -94,6 +85,16 @@ interface(`postgresql_role',` - - allow $2 sepgsql_trusted_proc_t:process transition; - type_transition $2 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t; -+ -+ tunable_policy(`sepgsql_enable_users_ddl',` -+ allow $2 user_sepgsql_schema_t:db_schema { create drop setattr }; -+ allow $2 user_sepgsql_table_t:db_table { create drop setattr }; -+ allow $2 user_sepgsql_table_t:db_column { create drop setattr }; -+ allow $2 user_sepgsql_sysobj_t:db_tuple { update insert delete }; -+ allow $2 user_sepgsql_seq_t:db_sequence { create drop setattr set_value }; -+ allow $2 user_sepgsql_view_t:db_view { create drop setattr }; -+ allow $2 user_sepgsql_proc_exec_t:db_procedure { create drop setattr }; -+ ') +- +- allow $2 user_sepgsql_schema_t:db_schema { getattr search add_name remove_name }; +- type_transition $2 sepgsql_database_type:db_schema user_sepgsql_schema_t; +- type_transition $2 sepgsql_database_type:db_schema sepgsql_temp_object_t "pg_temp"; +- +- allow $2 user_sepgsql_table_t:db_table { getattr select update insert delete lock }; +- allow $2 user_sepgsql_table_t:db_column { getattr select update insert }; +- allow $2 user_sepgsql_table_t:db_tuple { select update insert delete }; +- type_transition $2 sepgsql_schema_type:db_table user_sepgsql_table_t; +- +- allow $2 user_sepgsql_sysobj_t:db_tuple { use select }; +- type_transition $2 sepgsql_sysobj_table_type:db_tuple user_sepgsql_sysobj_t; +- +- allow $2 user_sepgsql_seq_t:db_sequence { getattr get_value next_value }; +- type_transition $2 sepgsql_schema_type:db_sequence user_sepgsql_seq_t; +- +- allow $2 user_sepgsql_view_t:db_view { getattr expand }; +- type_transition $2 sepgsql_schema_type:db_view user_sepgsql_view_t; +- +- allow $2 user_sepgsql_proc_exec_t:db_procedure { getattr execute }; +- type_transition $2 sepgsql_schema_type:db_procedure user_sepgsql_proc_exec_t; +- +- allow $2 user_sepgsql_blob_t:db_blob { create drop getattr setattr read write import export }; +- type_transition $2 sepgsql_database_type:db_blob user_sepgsql_blob_t; +- +- allow $2 sepgsql_ranged_proc_t:process transition; +- type_transition $2 sepgsql_ranged_proc_exec_t:process sepgsql_ranged_proc_t; +- allow sepgsql_ranged_proc_t $2:process dyntransition; +- +- allow $2 sepgsql_trusted_proc_t:process transition; +- type_transition $2 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t; ') ######################################## -@@ -312,7 +313,7 @@ interface(`postgresql_search_db',` +@@ -312,7 +243,7 @@ interface(`postgresql_search_db',` type postgresql_db_t; ') @@ -17127,7 +17170,7 @@ index 9d2f311..c8a2637 100644 ') ######################################## -@@ -324,14 +325,16 @@ interface(`postgresql_search_db',` +@@ -324,14 +255,16 @@ interface(`postgresql_search_db',` ## Domain allowed access. ## ## @@ -17147,7 +17190,7 @@ index 9d2f311..c8a2637 100644 ') ######################################## -@@ -354,6 +357,24 @@ interface(`postgresql_domtrans',` +@@ -354,6 +287,24 @@ interface(`postgresql_domtrans',` ###################################### ## @@ -17172,7 +17215,7 @@ index 9d2f311..c8a2637 100644 ## Allow domain to signal postgresql ## ## -@@ -421,7 +442,6 @@ interface(`postgresql_tcp_connect',` +@@ -421,7 +372,6 @@ interface(`postgresql_tcp_connect',` ## Domain allowed access. ## ## @@ -17180,7 +17223,7 @@ index 9d2f311..c8a2637 100644 # interface(`postgresql_stream_connect',` gen_require(` -@@ -432,6 +452,7 @@ interface(`postgresql_stream_connect',` +@@ -432,6 +382,7 @@ interface(`postgresql_stream_connect',` files_search_pids($1) files_search_tmp($1) @@ -17188,15 +17231,91 @@ index 9d2f311..c8a2637 100644 ') ######################################## -@@ -514,7 +535,6 @@ interface(`postgresql_unpriv_client',` - allow $1 unpriv_sepgsql_view_t:db_view { getattr expand }; - type_transition $1 sepgsql_schema_type:db_view unpriv_sepgsql_view_t; - +@@ -447,83 +398,10 @@ interface(`postgresql_stream_connect',` + # + interface(`postgresql_unpriv_client',` + gen_require(` +- class db_database all_db_database_perms; +- class db_schema all_db_schema_perms; +- class db_table all_db_table_perms; +- class db_sequence all_db_sequence_perms; +- class db_view all_db_view_perms; +- class db_procedure all_db_procedure_perms; +- class db_language all_db_language_perms; +- class db_column all_db_column_perms; +- class db_tuple all_db_tuple_perms; +- class db_blob all_db_blob_perms; +- + attribute sepgsql_client_type; +- attribute sepgsql_database_type, sepgsql_schema_type; +- attribute sepgsql_sysobj_table_type; +- +- type sepgsql_ranged_proc_t, sepgsql_ranged_proc_exec_t; +- type sepgsql_temp_object_t; +- type sepgsql_trusted_proc_t, sepgsql_trusted_proc_exec_t; +- type unpriv_sepgsql_blob_t, unpriv_sepgsql_proc_exec_t; +- type unpriv_sepgsql_schema_t, unpriv_sepgsql_seq_t; +- type unpriv_sepgsql_sysobj_t, unpriv_sepgsql_table_t; +- type unpriv_sepgsql_view_t; + ') + +- ######################################## +- # +- # Declarations +- # +- + typeattribute $1 sepgsql_client_type; +- +- ######################################## +- # +- # Client local policy +- # +- +- type_transition $1 sepgsql_ranged_proc_exec_t:process sepgsql_ranged_proc_t; +- allow $1 sepgsql_ranged_proc_t:process transition; +- allow sepgsql_ranged_proc_t $1:process dyntransition; +- +- type_transition $1 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t; +- allow $1 sepgsql_trusted_proc_t:process transition; +- +- allow $1 unpriv_sepgsql_blob_t:db_blob { create drop getattr setattr read write import export }; +- type_transition $1 sepgsql_database_type:db_blob unpriv_sepgsql_blob_t; +- +- allow $1 unpriv_sepgsql_proc_exec_t:db_procedure { getattr execute }; +- type_transition $1 sepgsql_schema_type:db_procedure unpriv_sepgsql_proc_exec_t; +- +- allow $1 unpriv_sepgsql_schema_t:db_schema { getattr add_name remove_name }; +- type_transition $1 sepgsql_database_type:db_schema unpriv_sepgsql_schema_t; +- type_transition $1 sepgsql_database_type:db_schema sepgsql_temp_object_t "pg_temp"; - - tunable_policy(`sepgsql_enable_users_ddl',` - allow $1 unpriv_sepgsql_schema_t:db_schema { create drop setattr }; - allow $1 unpriv_sepgsql_table_t:db_table { create drop setattr }; -@@ -547,6 +567,29 @@ interface(`postgresql_unconfined',` +- allow $1 unpriv_sepgsql_table_t:db_table { getattr select update insert delete lock }; +- allow $1 unpriv_sepgsql_table_t:db_column { getattr select update insert }; +- allow $1 unpriv_sepgsql_table_t:db_tuple { select update insert delete }; +- type_transition $1 sepgsql_schema_type:db_table unpriv_sepgsql_table_t; +- +- allow $1 unpriv_sepgsql_seq_t:db_sequence { getattr get_value next_value set_value }; +- type_transition $1 sepgsql_schema_type:db_sequence unpriv_sepgsql_seq_t; +- +- allow $1 unpriv_sepgsql_sysobj_t:db_tuple { use select }; +- type_transition $1 sepgsql_sysobj_table_type:db_tuple unpriv_sepgsql_sysobj_t; +- +- allow $1 unpriv_sepgsql_view_t:db_view { getattr expand }; +- type_transition $1 sepgsql_schema_type:db_view unpriv_sepgsql_view_t; +- +- +- tunable_policy(`sepgsql_enable_users_ddl',` +- allow $1 unpriv_sepgsql_schema_t:db_schema { create drop setattr }; +- allow $1 unpriv_sepgsql_table_t:db_table { create drop setattr }; +- allow $1 unpriv_sepgsql_table_t:db_column { create drop setattr }; +- allow $1 unpriv_sepgsql_sysobj_t:db_tuple { update insert delete }; +- allow $1 unpriv_sepgsql_seq_t:db_sequence { create drop setattr }; +- allow $1 unpriv_sepgsql_view_t:db_view { create drop setattr }; +- allow $1 unpriv_sepgsql_proc_exec_t:db_procedure { create drop setattr }; +- ') + ') + + ######################################## +@@ -547,6 +425,29 @@ interface(`postgresql_unconfined',` ######################################## ## @@ -17226,7 +17345,7 @@ index 9d2f311..c8a2637 100644 ## All of the rules required to administrate an postgresql environment ## ## -@@ -563,35 +606,41 @@ interface(`postgresql_unconfined',` +@@ -563,35 +464,41 @@ interface(`postgresql_unconfined',` # interface(`postgresql_admin',` gen_require(` @@ -17277,7 +17396,7 @@ index 9d2f311..c8a2637 100644 + postgresql_filetrans_named_content($1) ') diff --git a/policy/modules/services/postgresql.te b/policy/modules/services/postgresql.te -index 346d011..59ee2a5 100644 +index 346d011..d84cfd8 100644 --- a/policy/modules/services/postgresql.te +++ b/policy/modules/services/postgresql.te @@ -19,25 +19,32 @@ gen_require(` @@ -17290,15 +17409,15 @@ index 346d011..59ee2a5 100644 +##

+## Allow postgresql to use ssh and rsync for point-in-time recovery +##

-+## + ## +-gen_tunable(sepgsql_enable_users_ddl, false) +gen_tunable(postgresql_can_rsync, false) + +## +##

+## Allow unprivileged users to execute DDL statement +##

- ##
--gen_tunable(sepgsql_enable_users_ddl, false) ++## +gen_tunable(postgresql_selinux_users_ddl, true) ## @@ -17386,16 +17505,64 @@ index 346d011..59ee2a5 100644 allow postgresql_t self:process execmem; ') -@@ -488,7 +494,7 @@ allow sepgsql_client_type sepgsql_temp_object_t:{db_schema db_table db_column db - # Note that permission of creation/deletion are eventually controlled by - # create or drop permission of individual objects within shared schemas. - # So, it just allows to create/drop user specific types. +@@ -485,10 +491,52 @@ dontaudit { postgresql_t sepgsql_admin_type sepgsql_client_type sepgsql_unconfin + # It is always allowed to operate temporary objects for any database client. + allow sepgsql_client_type sepgsql_temp_object_t:{db_schema db_table db_column db_tuple db_sequence db_view db_procedure} ~{ relabelto relabelfrom }; + +-# Note that permission of creation/deletion are eventually controlled by +-# create or drop permission of individual objects within shared schemas. +-# So, it just allows to create/drop user specific types. -tunable_policy(`sepgsql_enable_users_ddl',` ++############################## ++# ++# Client local policy ++# ++allow sepgsql_client_type user_sepgsql_schema_t:db_schema { getattr search add_name remove_name }; ++type_transition sepgsql_client_type sepgsql_database_type:db_schema user_sepgsql_schema_t; ++type_transition sepgsql_client_type sepgsql_database_type:db_schema sepgsql_temp_object_t "pg_temp"; ++ ++allow sepgsql_client_type user_sepgsql_table_t:db_table { getattr select update insert delete lock }; ++allow sepgsql_client_type user_sepgsql_table_t:db_column { getattr select update insert }; ++allow sepgsql_client_type user_sepgsql_table_t:db_tuple { select update insert delete }; ++type_transition sepgsql_client_type sepgsql_schema_type:db_table user_sepgsql_table_t; ++ ++allow sepgsql_client_type user_sepgsql_sysobj_t:db_tuple { use select }; ++type_transition sepgsql_client_type sepgsql_sysobj_table_type:db_tuple user_sepgsql_sysobj_t; ++ ++allow sepgsql_client_type user_sepgsql_seq_t:db_sequence { getattr get_value next_value }; ++type_transition sepgsql_client_type sepgsql_schema_type:db_sequence user_sepgsql_seq_t; ++ ++allow sepgsql_client_type user_sepgsql_view_t:db_view { getattr expand }; ++type_transition sepgsql_client_type sepgsql_schema_type:db_view user_sepgsql_view_t; ++ ++allow sepgsql_client_type user_sepgsql_proc_exec_t:db_procedure { getattr execute }; ++type_transition sepgsql_client_type sepgsql_schema_type:db_procedure user_sepgsql_proc_exec_t; ++ ++allow sepgsql_client_type user_sepgsql_blob_t:db_blob { create drop getattr setattr read write import export }; ++type_transition sepgsql_client_type sepgsql_database_type:db_blob user_sepgsql_blob_t; ++ ++allow sepgsql_client_type sepgsql_ranged_proc_t:process transition; ++type_transition sepgsql_client_type sepgsql_ranged_proc_exec_t:process sepgsql_ranged_proc_t; ++allow sepgsql_ranged_proc_t sepgsql_client_type:process dyntransition; ++ ++allow sepgsql_client_type sepgsql_trusted_proc_t:process transition; ++type_transition sepgsql_client_type sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t; ++ +tunable_policy(`postgresql_selinux_users_ddl',` ++ allow sepgsql_client_type user_sepgsql_schema_t:db_schema { create drop setattr }; ++ allow sepgsql_client_type user_sepgsql_table_t:db_table { create drop setattr }; ++ allow sepgsql_client_type user_sepgsql_table_t:db_column { create drop setattr }; ++ allow sepgsql_client_type user_sepgsql_sysobj_t:db_tuple { update insert delete }; ++ allow sepgsql_client_type user_sepgsql_seq_t:db_sequence { create drop setattr set_value }; ++ allow sepgsql_client_type user_sepgsql_view_t:db_view { create drop setattr }; ++ allow sepgsql_client_type user_sepgsql_proc_exec_t:db_procedure { create drop setattr }; ++ # Note that permission of creation/deletion are eventually controlled by ++ # create or drop permission of individual objects within shared schemas. ++ # So, it just allows to create/drop user specific types. allow sepgsql_client_type sepgsql_schema_t:db_schema { add_name remove_name }; ') -@@ -536,7 +542,7 @@ allow sepgsql_admin_type sepgsql_module_type:db_database install_module; +@@ -536,7 +584,7 @@ allow sepgsql_admin_type sepgsql_module_type:db_database install_module; kernel_relabelfrom_unlabeled_database(sepgsql_admin_type) @@ -17404,7 +17571,7 @@ index 346d011..59ee2a5 100644 allow sepgsql_admin_type sepgsql_database_type:db_database *; allow sepgsql_admin_type sepgsql_schema_type:db_schema *; -@@ -589,3 +595,17 @@ allow sepgsql_unconfined_type sepgsql_blob_type:db_blob *; +@@ -589,3 +637,17 @@ allow sepgsql_unconfined_type sepgsql_blob_type:db_blob *; allow sepgsql_unconfined_type sepgsql_module_type:db_database install_module; kernel_relabelfrom_unlabeled_database(sepgsql_unconfined_type) @@ -18086,10 +18253,10 @@ index fe0c682..da12170 100644 + allow $1 sshd_devpts_t:chr_file rw_inherited_chr_file_perms; +') diff --git a/policy/modules/services/ssh.te b/policy/modules/services/ssh.te -index 5fc0391..386c48c 100644 +index 5fc0391..8d190be 100644 --- a/policy/modules/services/ssh.te +++ b/policy/modules/services/ssh.te -@@ -6,44 +6,51 @@ policy_module(ssh, 2.3.3) +@@ -6,44 +6,52 @@ policy_module(ssh, 2.3.3) # ## @@ -18126,6 +18293,7 @@ index 5fc0391..386c48c 100644 +ssh_dyntransition_domain_template(chroot_user_t) +ssh_dyntransition_domain_template(sshd_sandbox_t) ++ssh_dyntransition_domain_template(sshd_net_t) + type ssh_keygen_t; type ssh_keygen_exec_t; @@ -18156,7 +18324,7 @@ index 5fc0391..386c48c 100644 type ssh_t; type ssh_exec_t; typealias ssh_t alias { user_ssh_t staff_ssh_t sysadm_ssh_t }; -@@ -73,6 +80,11 @@ type ssh_home_t; +@@ -73,6 +81,11 @@ type ssh_home_t; typealias ssh_home_t alias { home_ssh_t user_ssh_home_t user_home_ssh_t staff_home_ssh_t sysadm_home_ssh_t }; typealias ssh_home_t alias { auditadm_home_ssh_t secadm_home_ssh_t }; userdom_user_home_content(ssh_home_t) @@ -18168,7 +18336,7 @@ index 5fc0391..386c48c 100644 ############################## # -@@ -83,6 +95,7 @@ allow ssh_t self:capability { setuid setgid dac_override dac_read_search }; +@@ -83,6 +96,7 @@ allow ssh_t self:capability { setuid setgid dac_override dac_read_search }; allow ssh_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow ssh_t self:fd use; allow ssh_t self:fifo_file rw_fifo_file_perms; @@ -18176,7 +18344,7 @@ index 5fc0391..386c48c 100644 allow ssh_t self:unix_dgram_socket { create_socket_perms sendto }; allow ssh_t self:unix_stream_socket { create_stream_socket_perms connectto }; allow ssh_t self:shm create_shm_perms; -@@ -90,15 +103,11 @@ allow ssh_t self:sem create_sem_perms; +@@ -90,15 +104,11 @@ allow ssh_t self:sem create_sem_perms; allow ssh_t self:msgq create_msgq_perms; allow ssh_t self:msg { send receive }; allow ssh_t self:tcp_socket create_stream_socket_perms; @@ -18193,14 +18361,14 @@ index 5fc0391..386c48c 100644 manage_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t) manage_lnk_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t) manage_fifo_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t) -@@ -108,32 +117,42 @@ fs_tmpfs_filetrans(ssh_t, ssh_tmpfs_t, { dir file lnk_file sock_file fifo_file } +@@ -107,33 +117,39 @@ fs_tmpfs_filetrans(ssh_t, ssh_tmpfs_t, { dir file lnk_file sock_file fifo_file } + manage_dirs_pattern(ssh_t, ssh_home_t, ssh_home_t) manage_sock_files_pattern(ssh_t, ssh_home_t, ssh_home_t) - userdom_user_home_dir_filetrans(ssh_t, ssh_home_t, { dir sock_file }) +-userdom_user_home_dir_filetrans(ssh_t, ssh_home_t, { dir sock_file }) +userdom_read_all_users_keys(ssh_t) +userdom_stream_connect(ssh_t) +userdom_search_admin_dir(sshd_t) -+userdom_admin_home_dir_filetrans(ssh_t, ssh_home_t, { dir sock_file }) # Allow the ssh program to communicate with ssh-agent. stream_connect_pattern(ssh_t, ssh_agent_tmp_t, ssh_agent_tmp_t, ssh_agent_type) @@ -18218,8 +18386,6 @@ index 5fc0391..386c48c 100644 -read_lnk_files_pattern(ssh_server, ssh_home_t, ssh_home_t) +manage_dirs_pattern(ssh_server, ssh_home_t, ssh_home_t) +manage_files_pattern(ssh_server, ssh_home_t, ssh_home_t) -+userdom_user_home_dir_filetrans(ssh_server, ssh_home_t, dir) -+userdom_admin_home_dir_filetrans(ssh_server, ssh_home_t, dir) kernel_read_kernel_sysctls(ssh_t) kernel_read_system_state(ssh_t) @@ -18240,7 +18406,7 @@ index 5fc0391..386c48c 100644 dev_read_urand(ssh_t) fs_getattr_all_fs(ssh_t) -@@ -156,38 +175,42 @@ logging_read_generic_logs(ssh_t) +@@ -156,38 +172,42 @@ logging_read_generic_logs(ssh_t) auth_use_nsswitch(ssh_t) @@ -18302,7 +18468,7 @@ index 5fc0391..386c48c 100644 ') optional_policy(` -@@ -195,6 +218,7 @@ optional_policy(` +@@ -195,6 +215,7 @@ optional_policy(` xserver_domtrans_xauth(ssh_t) ') @@ -18310,7 +18476,7 @@ index 5fc0391..386c48c 100644 ############################## # # ssh_keysign_t local policy -@@ -206,6 +230,7 @@ allow ssh_keysign_t self:unix_stream_socket create_socket_perms; +@@ -206,6 +227,7 @@ allow ssh_keysign_t self:unix_stream_socket create_socket_perms; allow ssh_keysign_t sshd_key_t:file { getattr read }; dev_read_urand(ssh_keysign_t) @@ -18318,7 +18484,7 @@ index 5fc0391..386c48c 100644 files_read_etc_files(ssh_keysign_t) -@@ -223,33 +248,50 @@ optional_policy(` +@@ -223,33 +245,50 @@ optional_policy(` # so a tunnel can point to another ssh tunnel allow sshd_t self:netlink_route_socket r_netlink_socket_perms; allow sshd_t self:key { search link write }; @@ -18378,7 +18544,7 @@ index 5fc0391..386c48c 100644 ') optional_policy(` -@@ -257,11 +299,24 @@ optional_policy(` +@@ -257,11 +296,24 @@ optional_policy(` ') optional_policy(` @@ -18404,7 +18570,7 @@ index 5fc0391..386c48c 100644 ') optional_policy(` -@@ -269,6 +324,10 @@ optional_policy(` +@@ -269,6 +321,10 @@ optional_policy(` ') optional_policy(` @@ -18415,7 +18581,7 @@ index 5fc0391..386c48c 100644 rpm_use_script_fds(sshd_t) ') -@@ -279,6 +338,32 @@ optional_policy(` +@@ -279,6 +335,32 @@ optional_policy(` ') optional_policy(` @@ -18448,7 +18614,7 @@ index 5fc0391..386c48c 100644 unconfined_shell_domtrans(sshd_t) ') -@@ -286,6 +371,29 @@ optional_policy(` +@@ -286,6 +368,29 @@ optional_policy(` xserver_domtrans_xauth(sshd_t) ') @@ -18478,7 +18644,7 @@ index 5fc0391..386c48c 100644 ######################################## # # ssh_keygen local policy -@@ -294,19 +402,26 @@ optional_policy(` +@@ -294,19 +399,26 @@ optional_policy(` # ssh_keygen_t is the type of the ssh-keygen program when run at install time # and by sysadm_t @@ -18506,7 +18672,7 @@ index 5fc0391..386c48c 100644 dev_read_urand(ssh_keygen_t) term_dontaudit_use_console(ssh_keygen_t) -@@ -323,6 +438,12 @@ auth_use_nsswitch(ssh_keygen_t) +@@ -323,6 +435,12 @@ auth_use_nsswitch(ssh_keygen_t) logging_send_syslog_msg(ssh_keygen_t) userdom_dontaudit_use_unpriv_user_fds(ssh_keygen_t) @@ -18519,7 +18685,7 @@ index 5fc0391..386c48c 100644 optional_policy(` seutil_sigchld_newrole(ssh_keygen_t) -@@ -331,3 +452,123 @@ optional_policy(` +@@ -331,3 +449,138 @@ optional_policy(` optional_policy(` udev_read_db(ssh_keygen_t) ') @@ -18549,6 +18715,20 @@ index 5fc0391..386c48c 100644 + +logging_send_audit_msgs(sshd_sandbox_t) + ++##################################### ++# ++# sshd [net] child local policy ++# ++ ++allow sshd_t sshd_net_t:process signal; ++ ++allow sshd_net_t self:process setrlimit; ++ ++init_ioctl_stream_sockets(sshd_net_t) ++ ++logging_send_audit_msgs(sshd_net_t) ++ ++ +###################################### +# +# chroot_user_t local policy @@ -18571,10 +18751,11 @@ index 5fc0391..386c48c 100644 + +tunable_policy(`ssh_chroot_rw_homedirs',` + files_list_home(chroot_user_t) -+ userdom_manage_user_home_content(chroot_user_t) -+', ` -+ -+ userdom_user_home_dir_filetrans_pattern(chroot_user_t, { dir file lnk_file }) ++ userdom_manage_user_home_content_files(chroot_user_t) ++ userdom_manage_user_home_content_symlinks(chroot_user_t) ++ userdom_manage_user_home_content_pipes(chroot_user_t) ++ userdom_manage_user_home_content_sockets(chroot_user_t) ++ userdom_manage_user_home_content_dirs(chroot_user_t) +') + +tunable_policy(`ssh_chroot_rw_homedirs && use_nfs_home_dirs',` @@ -20177,7 +20358,7 @@ index 6bf0ecc..8a8ed32 100644 + files_search_tmp($1) +') diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te -index 2696452..5a2bd5f 100644 +index 2696452..2964047 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -26,27 +26,50 @@ gen_require(` @@ -20373,7 +20554,11 @@ index 2696452..5a2bd5f 100644 userdom_user_tmpfs_file(xserver_tmpfs_t) type xsession_exec_t; -@@ -229,17 +280,30 @@ userdom_user_home_dir_filetrans(iceauth_t, iceauth_home_t, file) +@@ -225,21 +276,33 @@ optional_policy(` + # + + allow iceauth_t iceauth_home_t:file manage_file_perms; +-userdom_user_home_dir_filetrans(iceauth_t, iceauth_home_t, file) allow xdm_t iceauth_home_t:file read_file_perms; @@ -20412,7 +20597,7 @@ index 2696452..5a2bd5f 100644 ') ######################################## -@@ -247,48 +311,85 @@ tunable_policy(`use_samba_home_dirs',` +@@ -247,48 +310,83 @@ tunable_policy(`use_samba_home_dirs',` # Xauth local policy # @@ -20428,8 +20613,7 @@ index 2696452..5a2bd5f 100644 +corenet_tcp_connect_xserver_port(xauth_t) allow xauth_t xauth_home_t:file manage_file_perms; - userdom_user_home_dir_filetrans(xauth_t, xauth_home_t, file) -+userdom_admin_home_dir_filetrans(xauth_t, xauth_home_t, file) +-userdom_user_home_dir_filetrans(xauth_t, xauth_home_t, file) + +manage_dirs_pattern(xauth_t, xdm_var_run_t, xdm_var_run_t) +manage_files_pattern(xauth_t, xdm_var_run_t, xdm_var_run_t) @@ -20508,7 +20692,7 @@ index 2696452..5a2bd5f 100644 ssh_sigchld(xauth_t) ssh_read_pipes(xauth_t) ssh_dontaudit_rw_tcp_sockets(xauth_t) -@@ -299,64 +400,108 @@ optional_policy(` +@@ -299,64 +397,106 @@ optional_policy(` # XDM Local policy # @@ -20544,8 +20728,6 @@ index 2696452..5a2bd5f 100644 + +manage_dirs_pattern(xdm_t, xdm_home_t, xdm_home_t) +manage_files_pattern(xdm_t, xdm_home_t, xdm_home_t) -+userdom_user_home_dir_filetrans(xdm_t, xdm_home_t, file) -+userdom_admin_home_dir_filetrans(xdm_t, xdm_home_t, file) +xserver_filetrans_home_content(xdm_t) +xserver_filetrans_admin_home_content(xdm_t) + @@ -20627,7 +20809,7 @@ index 2696452..5a2bd5f 100644 # connect to xdm xserver over stream socket stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) -@@ -365,20 +510,27 @@ stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) +@@ -365,20 +505,27 @@ stream_connect_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t, xserver_t) delete_files_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t) delete_sock_files_pattern(xdm_t, xserver_tmp_t, xserver_tmp_t) @@ -20657,7 +20839,7 @@ index 2696452..5a2bd5f 100644 corenet_all_recvfrom_netlabel(xdm_t) corenet_tcp_sendrecv_generic_if(xdm_t) corenet_udp_sendrecv_generic_if(xdm_t) -@@ -388,38 +540,48 @@ corenet_tcp_sendrecv_all_ports(xdm_t) +@@ -388,38 +535,48 @@ corenet_tcp_sendrecv_all_ports(xdm_t) corenet_udp_sendrecv_all_ports(xdm_t) corenet_tcp_bind_generic_node(xdm_t) corenet_udp_bind_generic_node(xdm_t) @@ -20710,7 +20892,7 @@ index 2696452..5a2bd5f 100644 files_read_etc_files(xdm_t) files_read_var_files(xdm_t) -@@ -430,9 +592,26 @@ files_list_mnt(xdm_t) +@@ -430,9 +587,26 @@ 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) @@ -20737,7 +20919,7 @@ index 2696452..5a2bd5f 100644 storage_dontaudit_read_fixed_disk(xdm_t) storage_dontaudit_write_fixed_disk(xdm_t) -@@ -441,28 +620,40 @@ storage_dontaudit_raw_read_removable_device(xdm_t) +@@ -441,28 +615,40 @@ 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) @@ -20781,7 +20963,7 @@ index 2696452..5a2bd5f 100644 userdom_dontaudit_use_unpriv_user_fds(xdm_t) userdom_create_all_users_keys(xdm_t) -@@ -471,24 +662,43 @@ userdom_read_user_home_content_files(xdm_t) +@@ -471,24 +657,43 @@ 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) @@ -20831,7 +21013,7 @@ index 2696452..5a2bd5f 100644 tunable_policy(`xdm_sysadm_login',` userdom_xsession_spec_domtrans_all_users(xdm_t) # FIXME: -@@ -502,11 +712,26 @@ tunable_policy(`xdm_sysadm_login',` +@@ -502,11 +707,26 @@ tunable_policy(`xdm_sysadm_login',` ') optional_policy(` @@ -20858,7 +21040,7 @@ index 2696452..5a2bd5f 100644 ') optional_policy(` -@@ -514,12 +739,72 @@ optional_policy(` +@@ -514,12 +734,72 @@ optional_policy(` ') optional_policy(` @@ -20931,7 +21113,7 @@ index 2696452..5a2bd5f 100644 hostname_exec(xdm_t) ') -@@ -537,28 +822,78 @@ optional_policy(` +@@ -537,28 +817,78 @@ optional_policy(` ') optional_policy(` @@ -21019,7 +21201,7 @@ index 2696452..5a2bd5f 100644 ') optional_policy(` -@@ -570,6 +905,14 @@ optional_policy(` +@@ -570,6 +900,14 @@ optional_policy(` ') optional_policy(` @@ -21034,7 +21216,7 @@ index 2696452..5a2bd5f 100644 xfs_stream_connect(xdm_t) ') -@@ -594,8 +937,11 @@ allow xserver_t input_xevent_t:x_event send; +@@ -594,8 +932,11 @@ allow xserver_t input_xevent_t:x_event send; # execheap needed until the X module loader is fixed. # NVIDIA Needs execstack @@ -21047,7 +21229,7 @@ index 2696452..5a2bd5f 100644 allow xserver_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow xserver_t self:fd use; allow xserver_t self:fifo_file rw_fifo_file_perms; -@@ -608,8 +954,15 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; +@@ -608,8 +949,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; @@ -21063,7 +21245,7 @@ index 2696452..5a2bd5f 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) -@@ -628,12 +981,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) +@@ -628,12 +976,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) @@ -21085,7 +21267,7 @@ index 2696452..5a2bd5f 100644 kernel_read_system_state(xserver_t) kernel_read_device_sysctls(xserver_t) -@@ -641,12 +1001,12 @@ kernel_read_modprobe_sysctls(xserver_t) +@@ -641,12 +996,12 @@ 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) @@ -21099,7 +21281,7 @@ index 2696452..5a2bd5f 100644 corenet_all_recvfrom_netlabel(xserver_t) corenet_tcp_sendrecv_generic_if(xserver_t) corenet_udp_sendrecv_generic_if(xserver_t) -@@ -667,23 +1027,27 @@ dev_rw_apm_bios(xserver_t) +@@ -667,23 +1022,27 @@ dev_rw_apm_bios(xserver_t) dev_rw_agp(xserver_t) dev_rw_framebuffer(xserver_t) dev_manage_dri_dev(xserver_t) @@ -21130,7 +21312,7 @@ index 2696452..5a2bd5f 100644 # brought on by rhgb files_search_mnt(xserver_t) -@@ -694,8 +1058,13 @@ fs_getattr_xattr_fs(xserver_t) +@@ -694,8 +1053,13 @@ fs_getattr_xattr_fs(xserver_t) fs_search_nfs(xserver_t) fs_search_auto_mountpoints(xserver_t) fs_search_ramfs(xserver_t) @@ -21144,7 +21326,7 @@ index 2696452..5a2bd5f 100644 selinux_validate_context(xserver_t) selinux_compute_access_vector(xserver_t) -@@ -708,20 +1077,18 @@ init_getpgid(xserver_t) +@@ -708,20 +1072,18 @@ init_getpgid(xserver_t) term_setattr_unallocated_ttys(xserver_t) term_use_unallocated_ttys(xserver_t) @@ -21168,7 +21350,7 @@ index 2696452..5a2bd5f 100644 userdom_search_user_home_dirs(xserver_t) userdom_use_user_ttys(xserver_t) -@@ -729,8 +1096,6 @@ userdom_setattr_user_ttys(xserver_t) +@@ -729,8 +1091,6 @@ userdom_setattr_user_ttys(xserver_t) userdom_read_user_tmp_files(xserver_t) userdom_rw_user_tmpfs_files(xserver_t) @@ -21177,7 +21359,7 @@ index 2696452..5a2bd5f 100644 ifndef(`distro_redhat',` allow xserver_t self:process { execmem execheap execstack }; domain_mmap_low_uncond(xserver_t) -@@ -775,16 +1140,44 @@ optional_policy(` +@@ -775,16 +1135,44 @@ optional_policy(` ') optional_policy(` @@ -21223,7 +21405,7 @@ index 2696452..5a2bd5f 100644 unconfined_domtrans(xserver_t) ') -@@ -793,6 +1186,10 @@ optional_policy(` +@@ -793,6 +1181,10 @@ optional_policy(` ') optional_policy(` @@ -21234,7 +21416,7 @@ index 2696452..5a2bd5f 100644 xfs_stream_connect(xserver_t) ') -@@ -808,10 +1205,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; +@@ -808,10 +1200,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!!! @@ -21248,7 +21430,7 @@ index 2696452..5a2bd5f 100644 # Label pid and temporary files with derived types. manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) -@@ -819,7 +1216,7 @@ manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) +@@ -819,7 +1211,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. @@ -21257,7 +21439,7 @@ index 2696452..5a2bd5f 100644 can_exec(xserver_t, xkb_var_lib_t) # VNC v4 module in X server -@@ -832,26 +1229,21 @@ init_use_fds(xserver_t) +@@ -832,26 +1224,21 @@ init_use_fds(xserver_t) # to read ROLE_home_t - examine this in more detail # (xauth?) userdom_read_user_home_content_files(xserver_t) @@ -21292,7 +21474,7 @@ index 2696452..5a2bd5f 100644 ') optional_policy(` -@@ -902,7 +1294,7 @@ allow x_domain xproperty_t:x_property { getattr create read write append destroy +@@ -902,7 +1289,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 }; @@ -21301,7 +21483,7 @@ index 2696452..5a2bd5f 100644 # operations allowed on all windows allow x_domain x_domain:x_drawable { getattr get_property set_property remove_child }; -@@ -956,11 +1348,31 @@ allow x_domain self:x_resource { read write }; +@@ -956,11 +1343,31 @@ allow x_domain self:x_resource { read write }; # can mess with the screensaver allow x_domain xserver_t:x_screen { getattr saver_getattr }; @@ -21333,7 +21515,7 @@ index 2696452..5a2bd5f 100644 tunable_policy(`! xserver_object_manager',` # should be xserver_unconfined(x_domain), # but typeattribute doesnt work in conditionals -@@ -982,18 +1394,40 @@ tunable_policy(`! xserver_object_manager',` +@@ -982,18 +1389,40 @@ tunable_policy(`! xserver_object_manager',` allow x_domain xevent_type:{ x_event x_synthetic_event } *; ') @@ -28471,7 +28653,7 @@ index 9fe8e01..d5fe55a 100644 /var/spool/abrt-upload(/.*)? gen_context(system_u:object_r:public_content_rw_t,s0) diff --git a/policy/modules/system/miscfiles.if b/policy/modules/system/miscfiles.if -index fc28bc3..e102068 100644 +index fc28bc3..2f33076 100644 --- a/policy/modules/system/miscfiles.if +++ b/policy/modules/system/miscfiles.if @@ -106,6 +106,24 @@ interface(`miscfiles_manage_generic_cert_dirs',` @@ -28534,7 +28716,7 @@ index fc28bc3..e102068 100644 ') ######################################## -@@ -554,6 +577,10 @@ interface(`miscfiles_delete_man_pages',` +@@ -554,6 +577,29 @@ interface(`miscfiles_delete_man_pages',` delete_dirs_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) delete_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) delete_lnk_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) @@ -28542,10 +28724,29 @@ index fc28bc3..e102068 100644 + mandb_setattr_cache_dirs($1) + mandb_delete_cache($1) + ') ++') ++####################################### ++## ++## Create, read, write, and delete man pages ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`miscfiles_setattr_man_pages',` ++ gen_require(` ++ type man_t; ++ ') ++ ++ files_search_usr($1) ++ ++ allow $1 man_t:dir setattr; ') ######################################## -@@ -622,6 +649,30 @@ interface(`miscfiles_manage_man_cache',` +@@ -622,6 +668,30 @@ interface(`miscfiles_manage_man_cache',` ######################################## ## @@ -28576,7 +28777,7 @@ index fc28bc3..e102068 100644 ## Read public files used for file ## transfer services. ## -@@ -784,8 +835,11 @@ interface(`miscfiles_etc_filetrans_localization',` +@@ -784,8 +854,11 @@ interface(`miscfiles_etc_filetrans_localization',` type locale_t; ') @@ -28590,7 +28791,7 @@ index fc28bc3..e102068 100644 ') ######################################## -@@ -809,3 +863,60 @@ interface(`miscfiles_manage_localization',` +@@ -809,3 +882,60 @@ interface(`miscfiles_manage_localization',` manage_lnk_files_pattern($1, locale_t, locale_t) ') @@ -31994,10 +32195,10 @@ index 0000000..595f756 +/var/run/initramfs(/.*)? <> diff --git a/policy/modules/system/systemd.if b/policy/modules/system/systemd.if new file mode 100644 -index 0000000..778b99b +index 0000000..2961157 --- /dev/null +++ b/policy/modules/system/systemd.if -@@ -0,0 +1,1043 @@ +@@ -0,0 +1,1042 @@ +## SELinux policy for systemd components + +####################################### @@ -33040,13 +33241,12 @@ index 0000000..778b99b + allow systemd_hostnamed_t $1:dbus send_msg; + ps_process_pattern(systemd_hostnamed_t, $1) +') -+ diff --git a/policy/modules/system/systemd.te b/policy/modules/system/systemd.te new file mode 100644 -index 0000000..913fc52 +index 0000000..ac0a395 --- /dev/null +++ b/policy/modules/system/systemd.te -@@ -0,0 +1,620 @@ +@@ -0,0 +1,624 @@ +policy_module(systemd, 1.0.0) + +####################################### @@ -33528,6 +33728,8 @@ index 0000000..913fc52 +miscfiles_manage_localization(systemd_localed_t) +miscfiles_etc_filetrans_localization(systemd_localed_t) + ++userdom_dbus_send_all_users(systemd_localed_t) ++ +optional_policy(` + dbus_connect_system_bus(systemd_localed_t) + dbus_system_bus_client(systemd_localed_t) @@ -33552,6 +33754,8 @@ index 0000000..913fc52 +init_read_state(systemd_hostnamed_t) +init_stream_connect(systemd_hostnamed_t) + ++logging_send_syslog_msg(systemd_hostnamed_t) ++ +optional_policy(` + dbus_system_bus_client(systemd_hostnamed_t) + dbus_connect_system_bus(systemd_hostnamed_t) @@ -35038,7 +35242,7 @@ index db75976..65191bd 100644 + +/var/run/user(/.*)? gen_context(system_u:object_r:user_tmp_t,s0) diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if -index 3c5dba7..c270e54 100644 +index 3c5dba7..6c2548e 100644 --- a/policy/modules/system/userdomain.if +++ b/policy/modules/system/userdomain.if @@ -30,9 +30,11 @@ template(`userdom_base_user_template',` @@ -35054,7 +35258,7 @@ index 3c5dba7..c270e54 100644 corecmd_shell_entry_type($1_t) corecmd_bin_entry_type($1_t) domain_user_exemption_target($1_t) -@@ -44,79 +46,133 @@ template(`userdom_base_user_template',` +@@ -44,79 +46,132 @@ template(`userdom_base_user_template',` term_user_pty($1_t, user_devpts_t) term_user_tty($1_t, user_tty_device_t) @@ -35206,7 +35410,6 @@ index 3c5dba7..c270e54 100644 + miscfiles_read_public_files($1_usertype) - tunable_policy(`allow_execmem',` -+ systemd_dbus_chat_hostnamed($1_usertype) + systemd_dbus_chat_logind($1_usertype) + systemd_read_logind_sessions_files($1_usertype) + systemd_write_inhibit_pipes($1_usertype) @@ -35240,7 +35443,7 @@ index 3c5dba7..c270e54 100644 ') ####################################### -@@ -150,6 +206,8 @@ interface(`userdom_ro_home_role',` +@@ -150,6 +205,8 @@ interface(`userdom_ro_home_role',` type user_home_t, user_home_dir_t; ') @@ -35249,7 +35452,7 @@ index 3c5dba7..c270e54 100644 ############################## # # Domain access to home dir -@@ -167,27 +225,6 @@ interface(`userdom_ro_home_role',` +@@ -167,27 +224,6 @@ interface(`userdom_ro_home_role',` read_sock_files_pattern($2, { user_home_t user_home_dir_t }, user_home_t) files_list_home($2) @@ -35277,7 +35480,7 @@ index 3c5dba7..c270e54 100644 ') ####################################### -@@ -219,8 +256,11 @@ interface(`userdom_ro_home_role',` +@@ -219,8 +255,11 @@ interface(`userdom_ro_home_role',` interface(`userdom_manage_home_role',` gen_require(` type user_home_t, user_home_dir_t; @@ -35289,7 +35492,7 @@ index 3c5dba7..c270e54 100644 ############################## # # Domain access to home dir -@@ -229,43 +269,47 @@ interface(`userdom_manage_home_role',` +@@ -229,43 +268,46 @@ interface(`userdom_manage_home_role',` type_member $2 user_home_dir_t:dir user_home_dir_t; # full control of the home directory @@ -35305,6 +35508,7 @@ index 3c5dba7..c270e54 100644 - relabel_lnk_files_pattern($2, { user_home_dir_t user_home_t }, user_home_t) - relabel_sock_files_pattern($2, { user_home_dir_t user_home_t }, user_home_t) - relabel_fifo_files_pattern($2, { user_home_dir_t user_home_t }, user_home_t) +- filetrans_pattern($2, user_home_dir_t, user_home_t, { dir file lnk_file sock_file fifo_file }) + + allow $2 user_home_type:dir_file_class_set { relabelto relabelfrom }; + allow $2 user_home_dir_t:lnk_file read_lnk_file_perms; @@ -35318,7 +35522,6 @@ index 3c5dba7..c270e54 100644 + relabel_lnk_files_pattern($2, { user_home_dir_t user_home_type }, user_home_type) + relabel_sock_files_pattern($2, { user_home_dir_t user_home_type }, user_home_type) + relabel_fifo_files_pattern($2, { user_home_dir_t user_home_type }, user_home_type) - filetrans_pattern($2, user_home_dir_t, user_home_t, { dir file lnk_file sock_file fifo_file }) + userdom_filetrans_home_content($2) + files_list_home($2) @@ -35353,7 +35556,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -273,6 +317,25 @@ interface(`userdom_manage_home_role',` +@@ -273,6 +315,25 @@ interface(`userdom_manage_home_role',` ## ## Manage user temporary files ## @@ -35379,7 +35582,7 @@ index 3c5dba7..c270e54 100644 ## ## ## Role allowed access. -@@ -287,17 +350,64 @@ interface(`userdom_manage_home_role',` +@@ -287,17 +348,64 @@ interface(`userdom_manage_home_role',` # interface(`userdom_manage_tmp_role',` gen_require(` @@ -35449,7 +35652,7 @@ index 3c5dba7..c270e54 100644 ') ####################################### -@@ -317,11 +427,31 @@ interface(`userdom_exec_user_tmp_files',` +@@ -317,11 +425,31 @@ interface(`userdom_exec_user_tmp_files',` ') exec_files_pattern($1, user_tmp_t, user_tmp_t) @@ -35481,7 +35684,7 @@ index 3c5dba7..c270e54 100644 ## Role access for the user tmpfs type ## that the user has full access. ## -@@ -348,59 +478,60 @@ interface(`userdom_exec_user_tmp_files',` +@@ -348,59 +476,60 @@ interface(`userdom_exec_user_tmp_files',` # interface(`userdom_manage_tmpfs_role',` gen_require(` @@ -35572,7 +35775,7 @@ index 3c5dba7..c270e54 100644 ') ####################################### -@@ -431,6 +562,7 @@ template(`userdom_xwindows_client_template',` +@@ -431,6 +560,7 @@ template(`userdom_xwindows_client_template',` dev_dontaudit_rw_dri($1_t) # GNOME checks for usb and other devices: dev_rw_usbfs($1_t) @@ -35580,7 +35783,7 @@ index 3c5dba7..c270e54 100644 xserver_user_x_domain_template($1, $1_t, user_tmpfs_t) xserver_xsession_entry_type($1_t) -@@ -463,8 +595,8 @@ template(`userdom_change_password_template',` +@@ -463,8 +593,8 @@ template(`userdom_change_password_template',` ') optional_policy(` @@ -35591,7 +35794,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -491,7 +623,8 @@ template(`userdom_common_user_template',` +@@ -491,7 +621,8 @@ template(`userdom_common_user_template',` attribute unpriv_userdomain; ') @@ -35601,7 +35804,7 @@ index 3c5dba7..c270e54 100644 ############################## # -@@ -501,41 +634,51 @@ template(`userdom_common_user_template',` +@@ -501,41 +632,51 @@ template(`userdom_common_user_template',` # evolution and gnome-session try to create a netlink socket dontaudit $1_t self:netlink_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown }; dontaudit $1_t self:netlink_route_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }; @@ -35676,7 +35879,7 @@ index 3c5dba7..c270e54 100644 # cjp: some of this probably can be removed selinux_get_fs_mount($1_t) -@@ -546,93 +689,121 @@ template(`userdom_common_user_template',` +@@ -546,93 +687,120 @@ template(`userdom_common_user_template',` selinux_compute_user_contexts($1_t) # for eject @@ -35692,7 +35895,6 @@ index 3c5dba7..c270e54 100644 + auth_run_pam_timestamp($1_t,$1_r) + auth_run_utempter($1_t,$1_r) + auth_filetrans_admin_home_content($1_t) -+ auth_filetrans_home_content($1_t) - init_read_utmp($1_t) + init_read_utmp($1_usertype) @@ -35836,7 +36038,7 @@ index 3c5dba7..c270e54 100644 ') optional_policy(` -@@ -646,19 +817,17 @@ template(`userdom_common_user_template',` +@@ -646,19 +814,16 @@ template(`userdom_common_user_template',` # for running depmod as part of the kernel packaging process optional_policy(` @@ -35848,7 +36050,6 @@ index 3c5dba7..c270e54 100644 - mta_rw_spool($1_t) + mta_rw_spool($1_usertype) + mta_manage_queue($1_usertype) -+ mta_filetrans_home_content($1_usertype) ') optional_policy(` @@ -35861,7 +36062,7 @@ index 3c5dba7..c270e54 100644 mysql_stream_connect($1_t) ') ') -@@ -671,7 +840,7 @@ template(`userdom_common_user_template',` +@@ -671,7 +836,7 @@ template(`userdom_common_user_template',` optional_policy(` # to allow monitoring of pcmcia status @@ -35870,7 +36071,7 @@ index 3c5dba7..c270e54 100644 ') optional_policy(` -@@ -680,9 +849,9 @@ template(`userdom_common_user_template',` +@@ -680,9 +845,9 @@ template(`userdom_common_user_template',` ') optional_policy(` @@ -35883,7 +36084,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -693,32 +862,36 @@ template(`userdom_common_user_template',` +@@ -693,32 +858,36 @@ template(`userdom_common_user_template',` ') optional_policy(` @@ -35931,7 +36132,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -743,17 +916,33 @@ template(`userdom_common_user_template',` +@@ -743,17 +912,33 @@ template(`userdom_common_user_template',` template(`userdom_login_user_template', ` gen_require(` class context contains; @@ -35940,13 +36141,12 @@ index 3c5dba7..c270e54 100644 userdom_base_user_template($1) -- userdom_manage_home_role($1_r, $1_t) + typeattribute $1_t login_userdomain; ++ + userdom_manage_home_role($1_r, $1_t) - userdom_manage_tmp_role($1_r, $1_t) - userdom_manage_tmpfs_role($1_r, $1_t) -+ userdom_manage_home_role($1_r, $1_usertype) -+ + userdom_manage_tmp_role($1_r, $1_usertype) + userdom_manage_tmpfs_role($1_r, $1_usertype) + @@ -35970,7 +36170,7 @@ index 3c5dba7..c270e54 100644 userdom_change_password_template($1) -@@ -761,82 +950,100 @@ template(`userdom_login_user_template', ` +@@ -761,82 +946,99 @@ template(`userdom_login_user_template', ` # # User domain Local policy # @@ -36073,7 +36273,6 @@ index 3c5dba7..c270e54 100644 - seutil_read_config($1_t) + optional_policy(` + kerberos_use($1_usertype) -+ kerberos_filetrans_home_content($1_usertype) + ') optional_policy(` @@ -36107,7 +36306,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -868,6 +1075,12 @@ template(`userdom_restricted_user_template',` +@@ -868,6 +1070,12 @@ template(`userdom_restricted_user_template',` typeattribute $1_t unpriv_userdomain; domain_interactive_fd($1_t) @@ -36120,7 +36319,7 @@ index 3c5dba7..c270e54 100644 ############################## # # Local policy -@@ -908,41 +1121,97 @@ template(`userdom_restricted_xwindows_user_template',` +@@ -908,41 +1116,97 @@ template(`userdom_restricted_xwindows_user_template',` # Local policy # @@ -36231,7 +36430,7 @@ index 3c5dba7..c270e54 100644 ') optional_policy(` -@@ -951,12 +1220,30 @@ template(`userdom_restricted_xwindows_user_template',` +@@ -951,12 +1215,29 @@ template(`userdom_restricted_xwindows_user_template',` ') optional_policy(` @@ -36242,7 +36441,6 @@ index 3c5dba7..c270e54 100644 + optional_policy(` + pulseaudio_role($1_r, $1_usertype) + pulseaudio_filetrans_admin_home_content($1_usertype) -+ pulseaudio_filetrans_home_content($1_usertype) + ') + + optional_policy(` @@ -36263,7 +36461,7 @@ index 3c5dba7..c270e54 100644 ') ####################################### -@@ -990,27 +1277,33 @@ template(`userdom_unpriv_user_template', ` +@@ -990,27 +1271,33 @@ template(`userdom_unpriv_user_template', ` # # Inherit rules for ordinary users. @@ -36301,7 +36499,7 @@ index 3c5dba7..c270e54 100644 fs_manage_noxattr_fs_files($1_t) fs_manage_noxattr_fs_dirs($1_t) # Write floppies -@@ -1021,23 +1314,57 @@ template(`userdom_unpriv_user_template', ` +@@ -1021,23 +1308,59 @@ template(`userdom_unpriv_user_template', ` ') ') @@ -36311,6 +36509,8 @@ index 3c5dba7..c270e54 100644 - kernel_dontaudit_read_ring_buffer($1_t) - ') + miscfiles_read_hwdata($1_usertype) ++ ++ fs_mounton_fusefs($1_usertype) # Allow users to run TCP servers (bind to ports and accept connection from # the same domain and outside users) disabling this forces FTP passive mode @@ -36350,26 +36550,26 @@ index 3c5dba7..c270e54 100644 + + optional_policy(` + gpm_stream_connect($1_usertype) -+ ') -+ -+ optional_policy(` + ') + + optional_policy(` +- netutils_run_ping_cond($1_t, $1_r) +- netutils_run_traceroute_cond($1_t, $1_r) + mount_run_fusermount($1_t, $1_r) + mount_read_pid_files($1_t) + ') + + optional_policy(` + wine_role_template($1, $1_r, $1_t) - ') - - optional_policy(` -- netutils_run_ping_cond($1_t, $1_r) -- netutils_run_traceroute_cond($1_t, $1_r) ++ ') ++ ++ optional_policy(` + postfix_run_postdrop($1_t, $1_r) + postfix_search_spool($1_t) ') # Run pppd in pppd_t by default for user -@@ -1046,7 +1373,9 @@ template(`userdom_unpriv_user_template', ` +@@ -1046,7 +1369,9 @@ template(`userdom_unpriv_user_template', ` ') optional_policy(` @@ -36380,7 +36580,7 @@ index 3c5dba7..c270e54 100644 ') ') -@@ -1082,7 +1411,7 @@ template(`userdom_unpriv_user_template', ` +@@ -1082,7 +1407,7 @@ template(`userdom_unpriv_user_template', ` template(`userdom_admin_user_template',` gen_require(` attribute admindomain; @@ -36389,7 +36589,7 @@ index 3c5dba7..c270e54 100644 ') ############################## -@@ -1109,6 +1438,7 @@ template(`userdom_admin_user_template',` +@@ -1109,6 +1434,7 @@ template(`userdom_admin_user_template',` # allow $1_t self:capability ~{ sys_module audit_control audit_write }; @@ -36397,7 +36597,7 @@ index 3c5dba7..c270e54 100644 allow $1_t self:process { setexec setfscreate }; allow $1_t self:netlink_audit_socket nlmsg_readpriv; allow $1_t self:tun_socket create; -@@ -1117,6 +1447,9 @@ template(`userdom_admin_user_template',` +@@ -1117,6 +1443,9 @@ template(`userdom_admin_user_template',` # Skip authentication when pam_rootok is specified. allow $1_t self:passwd rootok; @@ -36407,7 +36607,7 @@ index 3c5dba7..c270e54 100644 kernel_read_software_raid_state($1_t) kernel_getattr_core_if($1_t) kernel_getattr_message_if($1_t) -@@ -1131,6 +1464,7 @@ template(`userdom_admin_user_template',` +@@ -1131,6 +1460,7 @@ template(`userdom_admin_user_template',` kernel_sigstop_unlabeled($1_t) kernel_signull_unlabeled($1_t) kernel_sigchld_unlabeled($1_t) @@ -36415,7 +36615,7 @@ index 3c5dba7..c270e54 100644 corenet_tcp_bind_generic_port($1_t) # allow setting up tunnels -@@ -1148,10 +1482,14 @@ template(`userdom_admin_user_template',` +@@ -1148,10 +1478,14 @@ template(`userdom_admin_user_template',` dev_rename_all_blk_files($1_t) dev_rename_all_chr_files($1_t) dev_create_generic_symlinks($1_t) @@ -36430,7 +36630,7 @@ index 3c5dba7..c270e54 100644 domain_dontaudit_ptrace_all_domains($1_t) # signal all domains: domain_kill_all_domains($1_t) -@@ -1162,30 +1500,39 @@ template(`userdom_admin_user_template',` +@@ -1162,29 +1496,38 @@ template(`userdom_admin_user_template',` domain_sigchld_all_domains($1_t) # for lsof domain_getattr_all_sockets($1_t) @@ -36466,16 +36666,14 @@ index 3c5dba7..c270e54 100644 logging_send_syslog_msg($1_t) - modutils_domtrans_insmod($1_t) -- + optional_policy(` + modutils_domtrans_insmod($1_t) + modutils_domtrans_depmod($1_t) + ') -+ + # The following rule is temporary until such time that a complete # policy management infrastructure is in place so that an administrator - # cannot directly manipulate policy files with arbitrary programs. -@@ -1194,6 +1541,8 @@ template(`userdom_admin_user_template',` +@@ -1194,6 +1537,8 @@ template(`userdom_admin_user_template',` # But presently necessary for installing the file_contexts file. seutil_manage_bin_policy($1_t) @@ -36484,7 +36682,7 @@ index 3c5dba7..c270e54 100644 userdom_manage_user_home_content_dirs($1_t) userdom_manage_user_home_content_files($1_t) userdom_manage_user_home_content_symlinks($1_t) -@@ -1201,13 +1550,17 @@ template(`userdom_admin_user_template',` +@@ -1201,13 +1546,17 @@ template(`userdom_admin_user_template',` userdom_manage_user_home_content_sockets($1_t) userdom_user_home_dir_filetrans_user_home_content($1_t, { dir file lnk_file fifo_file sock_file }) @@ -36503,7 +36701,7 @@ index 3c5dba7..c270e54 100644 optional_policy(` postgresql_unconfined($1_t) ') -@@ -1253,6 +1606,8 @@ template(`userdom_security_admin_template',` +@@ -1253,6 +1602,8 @@ template(`userdom_security_admin_template',` dev_relabel_all_dev_nodes($1) files_create_boot_flag($1) @@ -36512,7 +36710,7 @@ index 3c5dba7..c270e54 100644 # Necessary for managing /boot/efi fs_manage_dos_files($1) -@@ -1265,8 +1620,10 @@ template(`userdom_security_admin_template',` +@@ -1265,8 +1616,10 @@ template(`userdom_security_admin_template',` selinux_set_enforce_mode($1) selinux_set_all_booleans($1) selinux_set_parameters($1) @@ -36524,7 +36722,7 @@ index 3c5dba7..c270e54 100644 auth_relabel_shadow($1) init_exec($1) -@@ -1277,29 +1634,31 @@ template(`userdom_security_admin_template',` +@@ -1277,29 +1630,31 @@ template(`userdom_security_admin_template',` logging_read_audit_config($1) seutil_manage_bin_policy($1) @@ -36567,7 +36765,7 @@ index 3c5dba7..c270e54 100644 ') optional_policy(` -@@ -1360,14 +1719,17 @@ interface(`userdom_user_home_content',` +@@ -1360,14 +1715,17 @@ interface(`userdom_user_home_content',` gen_require(` attribute user_home_content_type; type user_home_t; @@ -36586,7 +36784,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1408,6 +1770,51 @@ interface(`userdom_user_tmpfs_file',` +@@ -1408,6 +1766,51 @@ interface(`userdom_user_tmpfs_file',` ## ## Allow domain to attach to TUN devices created by administrative users. ## @@ -36638,7 +36836,7 @@ index 3c5dba7..c270e54 100644 ## ## ## Domain allowed access. -@@ -1512,11 +1919,31 @@ interface(`userdom_search_user_home_dirs',` +@@ -1512,11 +1915,31 @@ interface(`userdom_search_user_home_dirs',` ') allow $1 user_home_dir_t:dir search_dir_perms; @@ -36670,7 +36868,7 @@ index 3c5dba7..c270e54 100644 ## Do not audit attempts to search user home directories. ## ## -@@ -1558,6 +1985,14 @@ interface(`userdom_list_user_home_dirs',` +@@ -1558,6 +1981,14 @@ interface(`userdom_list_user_home_dirs',` allow $1 user_home_dir_t:dir list_dir_perms; files_search_home($1) @@ -36685,7 +36883,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1573,9 +2008,11 @@ interface(`userdom_list_user_home_dirs',` +@@ -1573,9 +2004,11 @@ interface(`userdom_list_user_home_dirs',` interface(`userdom_dontaudit_list_user_home_dirs',` gen_require(` type user_home_dir_t; @@ -36697,7 +36895,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1632,6 +2069,42 @@ interface(`userdom_relabelto_user_home_dirs',` +@@ -1632,6 +2065,42 @@ interface(`userdom_relabelto_user_home_dirs',` allow $1 user_home_dir_t:dir relabelto; ') @@ -36740,7 +36938,7 @@ index 3c5dba7..c270e54 100644 ######################################## ## ## Create directories in the home dir root with -@@ -1711,6 +2184,8 @@ interface(`userdom_dontaudit_search_user_home_content',` +@@ -1711,6 +2180,8 @@ interface(`userdom_dontaudit_search_user_home_content',` ') dontaudit $1 user_home_t:dir search_dir_perms; @@ -36749,7 +36947,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1744,10 +2219,12 @@ interface(`userdom_list_all_user_home_content',` +@@ -1744,10 +2215,12 @@ interface(`userdom_list_all_user_home_content',` # interface(`userdom_list_user_home_content',` gen_require(` @@ -36764,7 +36962,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1772,7 +2249,7 @@ interface(`userdom_manage_user_home_content_dirs',` +@@ -1772,7 +2245,7 @@ interface(`userdom_manage_user_home_content_dirs',` ######################################## ## @@ -36773,7 +36971,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -1780,19 +2257,17 @@ interface(`userdom_manage_user_home_content_dirs',` +@@ -1780,19 +2253,17 @@ interface(`userdom_manage_user_home_content_dirs',` ## ## # @@ -36797,7 +36995,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -1800,31 +2275,31 @@ interface(`userdom_delete_all_user_home_content_dirs',` +@@ -1800,31 +2271,31 @@ interface(`userdom_delete_all_user_home_content_dirs',` ## ## # @@ -36837,7 +37035,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1848,6 +2323,25 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',` +@@ -1848,6 +2319,25 @@ interface(`userdom_dontaudit_setattr_user_home_content_files',` ######################################## ## @@ -36863,7 +37061,7 @@ index 3c5dba7..c270e54 100644 ## Mmap user home files. ## ## -@@ -1878,14 +2372,36 @@ interface(`userdom_mmap_user_home_content_files',` +@@ -1878,14 +2368,36 @@ interface(`userdom_mmap_user_home_content_files',` interface(`userdom_read_user_home_content_files',` gen_require(` type user_home_dir_t, user_home_t; @@ -36901,7 +37099,7 @@ index 3c5dba7..c270e54 100644 ## Do not audit attempts to read user home files. ## ## -@@ -1896,11 +2412,14 @@ interface(`userdom_read_user_home_content_files',` +@@ -1896,11 +2408,14 @@ interface(`userdom_read_user_home_content_files',` # interface(`userdom_dontaudit_read_user_home_content_files',` gen_require(` @@ -36919,7 +37117,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -1941,7 +2460,25 @@ interface(`userdom_dontaudit_write_user_home_content_files',` +@@ -1941,7 +2456,25 @@ interface(`userdom_dontaudit_write_user_home_content_files',` ######################################## ## @@ -36946,7 +37144,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -1951,17 +2488,15 @@ interface(`userdom_dontaudit_write_user_home_content_files',` +@@ -1951,17 +2484,15 @@ interface(`userdom_dontaudit_write_user_home_content_files',` # interface(`userdom_delete_all_user_home_content_files',` gen_require(` @@ -36967,7 +37165,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -1969,12 +2504,48 @@ interface(`userdom_delete_all_user_home_content_files',` +@@ -1969,12 +2500,48 @@ interface(`userdom_delete_all_user_home_content_files',` ## ## # @@ -37018,7 +37216,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2010,8 +2581,7 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -2010,8 +2577,7 @@ interface(`userdom_read_user_home_content_symlinks',` type user_home_dir_t, user_home_t; ') @@ -37028,7 +37226,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2027,20 +2597,14 @@ interface(`userdom_read_user_home_content_symlinks',` +@@ -2027,20 +2593,14 @@ interface(`userdom_read_user_home_content_symlinks',` # interface(`userdom_exec_user_home_content_files',` gen_require(` @@ -37053,7 +37251,7 @@ index 3c5dba7..c270e54 100644 ######################################## ## -@@ -2123,7 +2687,7 @@ interface(`userdom_manage_user_home_content_symlinks',` +@@ -2123,7 +2683,7 @@ interface(`userdom_manage_user_home_content_symlinks',` ######################################## ## @@ -37062,7 +37260,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2131,19 +2695,17 @@ interface(`userdom_manage_user_home_content_symlinks',` +@@ -2131,19 +2691,17 @@ interface(`userdom_manage_user_home_content_symlinks',` ## ## # @@ -37086,7 +37284,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2151,12 +2713,12 @@ interface(`userdom_delete_all_user_home_content_symlinks',` +@@ -2151,12 +2709,12 @@ interface(`userdom_delete_all_user_home_content_symlinks',` ## ## # @@ -37102,7 +37300,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2393,11 +2955,11 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',` +@@ -2393,11 +2951,11 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',` # interface(`userdom_read_user_tmp_files',` gen_require(` @@ -37117,7 +37315,7 @@ index 3c5dba7..c270e54 100644 files_search_tmp($1) ') -@@ -2417,7 +2979,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` +@@ -2417,7 +2975,7 @@ interface(`userdom_dontaudit_read_user_tmp_files',` type user_tmp_t; ') @@ -37126,7 +37324,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2664,6 +3226,25 @@ interface(`userdom_tmp_filetrans_user_tmp',` +@@ -2664,6 +3222,25 @@ interface(`userdom_tmp_filetrans_user_tmp',` files_tmp_filetrans($1, user_tmp_t, $2, $3) ') @@ -37152,7 +37350,7 @@ index 3c5dba7..c270e54 100644 ######################################## ## ## Read user tmpfs files. -@@ -2680,13 +3261,14 @@ interface(`userdom_read_user_tmpfs_files',` +@@ -2680,13 +3257,14 @@ interface(`userdom_read_user_tmpfs_files',` ') read_files_pattern($1, user_tmpfs_t, user_tmpfs_t) @@ -37168,7 +37366,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2707,7 +3289,7 @@ interface(`userdom_rw_user_tmpfs_files',` +@@ -2707,7 +3285,7 @@ interface(`userdom_rw_user_tmpfs_files',` ######################################## ## @@ -37177,7 +37375,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2715,19 +3297,17 @@ interface(`userdom_rw_user_tmpfs_files',` +@@ -2715,19 +3293,17 @@ interface(`userdom_rw_user_tmpfs_files',` ## ## # @@ -37200,7 +37398,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2735,21 +3315,39 @@ interface(`userdom_manage_user_tmpfs_files',` +@@ -2735,25 +3311,43 @@ interface(`userdom_manage_user_tmpfs_files',` ## ## # @@ -37224,9 +37422,10 @@ index 3c5dba7..c270e54 100644 ## -## Domain to not audit. +## Domain allowed access. -+## -+## -+# + ## + ## + # +-interface(`userdom_dontaudit_getattr_user_ttys',` +interface(`userdom_getattr_user_ttys',` + gen_require(` + type user_tty_device_t; @@ -37242,10 +37441,14 @@ index 3c5dba7..c270e54 100644 +## +## +## Domain to not audit. - ## - ## - # -@@ -2817,6 +3415,24 @@ interface(`userdom_use_user_ttys',` ++## ++## ++# ++interface(`userdom_dontaudit_getattr_user_ttys',` + gen_require(` + type user_tty_device_t; + ') +@@ -2817,6 +3411,24 @@ interface(`userdom_use_user_ttys',` ######################################## ## @@ -37270,7 +37473,7 @@ index 3c5dba7..c270e54 100644 ## Read and write a user domain pty. ## ## -@@ -2835,22 +3451,34 @@ interface(`userdom_use_user_ptys',` +@@ -2835,22 +3447,34 @@ interface(`userdom_use_user_ptys',` ######################################## ## @@ -37313,7 +37516,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -2859,14 +3487,33 @@ interface(`userdom_use_user_ptys',` +@@ -2859,14 +3483,33 @@ interface(`userdom_use_user_ptys',` ## ## # @@ -37351,7 +37554,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2885,8 +3532,27 @@ interface(`userdom_dontaudit_use_user_terminals',` +@@ -2885,8 +3528,27 @@ interface(`userdom_dontaudit_use_user_terminals',` type user_tty_device_t, user_devpts_t; ') @@ -37381,7 +37584,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -2958,69 +3624,68 @@ interface(`userdom_spec_domtrans_unpriv_users',` +@@ -2958,69 +3620,68 @@ interface(`userdom_spec_domtrans_unpriv_users',` allow unpriv_userdomain $1:process sigchld; ') @@ -37482,7 +37685,7 @@ index 3c5dba7..c270e54 100644 ## ## ## -@@ -3028,12 +3693,12 @@ interface(`userdom_manage_unpriv_user_semaphores',` +@@ -3028,12 +3689,12 @@ interface(`userdom_manage_unpriv_user_semaphores',` ## ## # @@ -37497,7 +37700,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -3097,7 +3762,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -3097,7 +3758,7 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` domain_entry_file_spec_domtrans($1, unpriv_userdomain) allow unpriv_userdomain $1:fd use; @@ -37506,7 +37709,7 @@ index 3c5dba7..c270e54 100644 allow unpriv_userdomain $1:process sigchld; ') -@@ -3113,29 +3778,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` +@@ -3113,29 +3774,13 @@ interface(`userdom_entry_spec_domtrans_unpriv_users',` # interface(`userdom_search_user_home_content',` gen_require(` @@ -37540,7 +37743,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -3217,7 +3866,7 @@ interface(`userdom_dontaudit_use_user_ptys',` +@@ -3217,7 +3862,7 @@ interface(`userdom_dontaudit_use_user_ptys',` type user_devpts_t; ') @@ -37549,7 +37752,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -3272,7 +3921,64 @@ interface(`userdom_write_user_tmp_files',` +@@ -3272,7 +3917,64 @@ interface(`userdom_write_user_tmp_files',` type user_tmp_t; ') @@ -37615,7 +37818,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -3290,7 +3996,7 @@ interface(`userdom_dontaudit_use_user_ttys',` +@@ -3290,7 +3992,7 @@ interface(`userdom_dontaudit_use_user_ttys',` type user_tty_device_t; ') @@ -37624,7 +37827,7 @@ index 3c5dba7..c270e54 100644 ') ######################################## -@@ -3309,6 +4015,7 @@ interface(`userdom_read_all_users_state',` +@@ -3309,6 +4011,7 @@ interface(`userdom_read_all_users_state',` ') read_files_pattern($1, userdomain, userdomain) @@ -37632,7 +37835,7 @@ index 3c5dba7..c270e54 100644 kernel_search_proc($1) ') -@@ -3385,6 +4092,42 @@ interface(`userdom_signal_all_users',` +@@ -3385,6 +4088,42 @@ interface(`userdom_signal_all_users',` allow $1 userdomain:process signal; ') @@ -37675,7 +37878,7 @@ index 3c5dba7..c270e54 100644 ######################################## ## ## Send a SIGCHLD signal to all user domains. -@@ -3405,6 +4148,24 @@ interface(`userdom_sigchld_all_users',` +@@ -3405,6 +4144,24 @@ interface(`userdom_sigchld_all_users',` ######################################## ## @@ -37700,7 +37903,7 @@ index 3c5dba7..c270e54 100644 ## Create keys for all user domains. ## ## -@@ -3439,3 +4200,1365 @@ interface(`userdom_dbus_send_all_users',` +@@ -3439,3 +4196,1355 @@ interface(`userdom_dbus_send_all_users',` allow $1 userdomain:dbus send_msg; ') @@ -38947,21 +39150,10 @@ index 3c5dba7..c270e54 100644 +# +interface(`userdom_filetrans_home_content',` + gen_require(` -+ type home_bin_t, home_cert_t; -+ type audio_home_t; ++ attribute userdom_filetrans_type; + ') + -+ userdom_user_home_dir_filetrans($1, home_bin_t, dir, "bin") -+ userdom_user_home_dir_filetrans($1, audio_home_t, dir, "Audio") -+ userdom_user_home_dir_filetrans($1, audio_home_t, dir, "Music") -+ userdom_user_home_dir_filetrans($1, home_cert_t, dir, ".cert") -+ userdom_user_home_dir_filetrans($1, home_cert_t, dir, ".pki") -+ userdom_user_home_dir_filetrans($1, home_cert_t, dir, "certificates") -+ -+ optional_policy(` -+ gnome_config_filetrans($1, home_cert_t, dir, "certificates") -+ #gnome_admin_home_gconf_filetrans($1, home_bin_t, dir, "bin") -+ ') ++ typeattribute $1 userdom_filetrans_type; +') + +######################################## @@ -38997,8 +39189,9 @@ index 3c5dba7..c270e54 100644 + gen_require(` + attribute userdom_home_manager_type; + ') -+ + typeattribute $1 userdom_home_manager_type; ++ ++ userdom_filetrans_home_content($1) +') + +######################################## @@ -39067,7 +39260,7 @@ index 3c5dba7..c270e54 100644 + filetrans_pattern($1, user_tmpfs_t, $2, $3, $4) +') diff --git a/policy/modules/system/userdomain.te b/policy/modules/system/userdomain.te -index e2b538b..069a8ea 100644 +index e2b538b..6371ed6 100644 --- a/policy/modules/system/userdomain.te +++ b/policy/modules/system/userdomain.te @@ -7,48 +7,42 @@ policy_module(userdomain, 4.8.5) @@ -39130,12 +39323,13 @@ index e2b538b..069a8ea 100644 # all user domains attribute userdomain; -@@ -58,6 +52,22 @@ attribute unpriv_userdomain; +@@ -58,6 +52,23 @@ attribute unpriv_userdomain; attribute user_home_content_type; +attribute userdom_home_reader_type; +attribute userdom_home_manager_type; ++attribute userdom_filetrans_type; + +# unprivileged user domains +attribute user_home_type; @@ -39153,7 +39347,7 @@ index e2b538b..069a8ea 100644 type user_home_dir_t alias { staff_home_dir_t sysadm_home_dir_t secadm_home_dir_t auditadm_home_dir_t unconfined_home_dir_t }; fs_associate_tmpfs(user_home_dir_t) files_type(user_home_dir_t) -@@ -70,26 +80,123 @@ ubac_constrained(user_home_dir_t) +@@ -70,26 +81,207 @@ ubac_constrained(user_home_dir_t) type user_home_t alias { staff_home_t sysadm_home_t secadm_home_t auditadm_home_t unconfined_home_t }; typealias user_home_t alias { staff_untrusted_content_t sysadm_untrusted_content_t secadm_untrusted_content_t auditadm_untrusted_content_t unconfined_untrusted_content_t }; @@ -39279,6 +39473,90 @@ index e2b538b..069a8ea 100644 +') +# vi /etc/mtab can cause an avc trying to relabel to self. +dontaudit userdomain self:file relabelto; ++ ++userdom_user_home_dir_filetrans_user_home_content(userdom_filetrans_type, { dir file lnk_file fifo_file sock_file }) ++userdom_user_home_dir_filetrans(userdom_filetrans_type, home_bin_t, dir, "bin") ++userdom_user_home_dir_filetrans(userdom_filetrans_type, audio_home_t, dir, "Audio") ++userdom_user_home_dir_filetrans(userdom_filetrans_type, audio_home_t, dir, "Music") ++userdom_user_home_dir_filetrans(userdom_filetrans_type, home_cert_t, dir, ".cert") ++userdom_user_home_dir_filetrans(userdom_filetrans_type, home_cert_t, dir, ".pki") ++userdom_user_home_dir_filetrans(userdom_filetrans_type, home_cert_t, dir, "certificates") ++ ++optional_policy(` ++ gnome_config_filetrans(userdom_filetrans_type, home_cert_t, dir, "certificates") ++ #gnome_admin_home_gconf_filetrans(userdom_filetrans_type, home_bin_t, dir, "bin") ++') ++ ++#optional_policy(` ++# alsa_home_filetrans_alsa_home(userdom_filetrans_type) ++#') ++ ++optional_policy(` ++ apache_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ auth_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ gnome_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ gpg_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ irc_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ kerberos_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ mozilla_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ mta_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ pulseaudio_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ spamassassin_filetrans_home_content(userdom_filetrans_type) ++ spamassassin_filetrans_admin_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ ssh_filetrans_admin_home_content(userdom_filetrans_type) ++ ssh_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ telepathy_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ thumb_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ tvtime_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ virt_filetrans_home_content(userdom_filetrans_type) ++') ++ ++optional_policy(` ++ xserver_filetrans_home_content(userdom_filetrans_type) ++ xserver_filetrans_admin_home_content(userdom_filetrans_type) ++') diff --git a/policy/support/misc_patterns.spt b/policy/support/misc_patterns.spt index e79d545..101086d 100644 --- a/policy/support/misc_patterns.spt diff --git a/policy-rawhide-contrib.patch b/policy-rawhide-contrib.patch index cb0c0a9..0c2bc63 100644 --- a/policy-rawhide-contrib.patch +++ b/policy-rawhide-contrib.patch @@ -1692,7 +1692,7 @@ index 5de1e01..3aa9abb 100644 + +/usr/lib/systemd/system/alsa.* -- gen_context(system_u:object_r:alsa_unit_file_t,s0) diff --git a/alsa.if b/alsa.if -index 708b743..a482fed 100644 +index 708b743..c2edd9a 100644 --- a/alsa.if +++ b/alsa.if @@ -168,6 +168,7 @@ interface(`alsa_manage_home_files',` @@ -1703,6 +1703,15 @@ index 708b743..a482fed 100644 ') ######################################## +@@ -235,7 +236,7 @@ interface(`alsa_home_filetrans_alsa_home',` + type alsa_home_t; + ') + +- userdom_user_home_dir_filetrans($1, alsa_home_t, $2, $3) ++ userdom_user_home_dir_filetrans($1, alsa_home_t, dir, $3) + ') + + ######################################## @@ -256,3 +257,69 @@ interface(`alsa_read_lib',` files_search_var_lib($1) read_files_pattern($1, alsa_var_lib_t, alsa_var_lib_t) @@ -2031,7 +2040,7 @@ index c960f92..486e9ed 100644 optional_policy(` nscd_dontaudit_search_pid(amtu_t) diff --git a/anaconda.te b/anaconda.te -index 6f1384c..e9c715d 100644 +index 6f1384c..9f23456 100644 --- a/anaconda.te +++ b/anaconda.te @@ -4,6 +4,10 @@ gen_require(` @@ -2045,14 +2054,17 @@ index 6f1384c..e9c715d 100644 ######################################## # # Declarations -@@ -34,6 +38,7 @@ modutils_domtrans_insmod(anaconda_t) +@@ -34,8 +38,9 @@ modutils_domtrans_insmod(anaconda_t) modutils_domtrans_depmod(anaconda_t) seutil_domtrans_semanage(anaconda_t) +seutil_domtrans_setsebool(anaconda_t) - userdom_user_home_dir_filetrans_user_home_content(anaconda_t, { dir file lnk_file fifo_file sock_file }) +-userdom_user_home_dir_filetrans_user_home_content(anaconda_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(anaconda_t) + optional_policy(` + rpm_domtrans(anaconda_t) diff --git a/antivirus.fc b/antivirus.fc new file mode 100644 index 0000000..e44bff0 @@ -2432,10 +2444,10 @@ index 0000000..3929b7e +') diff --git a/antivirus.te b/antivirus.te new file mode 100644 -index 0000000..bd752cd +index 0000000..b334e9a --- /dev/null +++ b/antivirus.te -@@ -0,0 +1,244 @@ +@@ -0,0 +1,245 @@ +policy_module(antivirus, 1.0.0) + +######################################## @@ -2513,6 +2525,7 @@ index 0000000..bd752cd + +manage_files_pattern(antivirus_domain, antivirus_db_t, antivirus_db_t) +manage_dirs_pattern(antivirus_domain, antivirus_db_t, antivirus_db_t) ++manage_lnk_files_pattern(antivirus_domain, antivirus_db_t, antivirus_db_t) +manage_sock_files_pattern(antivirus_domain, antivirus_db_t, antivirus_db_t) + +manage_dirs_pattern(antivirus_domain, antivirus_tmp_t, antivirus_tmp_t) @@ -7020,11 +7033,11 @@ index 5439f1c..0be374d 100644 diff --git a/authconfig.fc b/authconfig.fc new file mode 100644 -index 0000000..86bbf21 +index 0000000..4579cfe --- /dev/null +++ b/authconfig.fc @@ -0,0 +1,3 @@ -+/usr/share/authconfig/authconfig.py -- gen_context(system_u:object_r:authconfig_exec_t,s0) ++/usr/share/authconfig/authconfig\.py -- gen_context(system_u:object_r:authconfig_exec_t,s0) + +/var/lib/authconfig(/.*)? gen_context(system_u:object_r:authconfig_var_lib_t,s0) diff --git a/authconfig.if b/authconfig.if @@ -10068,10 +10081,10 @@ index 0000000..efebae7 +') diff --git a/chrome.te b/chrome.te new file mode 100644 -index 0000000..45057f8 +index 0000000..2cce501 --- /dev/null +++ b/chrome.te -@@ -0,0 +1,200 @@ +@@ -0,0 +1,203 @@ +policy_module(chrome,1.0.0) + +######################################## @@ -10154,9 +10167,14 @@ index 0000000..45057f8 +dev_rwx_zero(chrome_sandbox_t) +dev_dontaudit_getattr_all_chr_files(chrome_sandbox_t) + -+ +fs_dontaudit_getattr_all_fs(chrome_sandbox_t) + ++libs_legacy_use_shared_libs(chrome_sandbox_t) ++ ++miscfiles_read_fonts(chrome_sandbox_t) ++ ++sysnet_dns_name_resolve(chrome_sandbox_t) ++ +userdom_rw_inherited_user_tmpfs_files(chrome_sandbox_t) +userdom_execute_user_tmpfs_files(chrome_sandbox_t) + @@ -10168,10 +10186,6 @@ index 0000000..45057f8 +# This one we should figure a way to make it more secure +userdom_manage_home_certs(chrome_sandbox_t) + -+miscfiles_read_fonts(chrome_sandbox_t) -+ -+sysnet_dns_name_resolve(chrome_sandbox_t) -+ +optional_policy(` + gnome_rw_inherited_config(chrome_sandbox_t) + gnome_read_home_config(chrome_sandbox_t) @@ -10262,6 +10276,8 @@ index 0000000..45057f8 + +init_read_state(chrome_sandbox_nacl_t) + ++libs_legacy_use_shared_libs(chrome_sandbox_nacl_t) ++ +userdom_use_inherited_user_ptys(chrome_sandbox_nacl_t) +userdom_rw_inherited_user_tmpfs_files(chrome_sandbox_nacl_t) +userdom_execute_user_tmpfs_files(chrome_sandbox_nacl_t) @@ -14348,7 +14364,7 @@ index 1303b30..058864e 100644 + logging_log_filetrans($1, cron_log_t, $2, $3) ') diff --git a/cron.te b/cron.te -index 28e1b86..5f68577 100644 +index 28e1b86..0c0f4f2 100644 --- a/cron.te +++ b/cron.te @@ -1,4 +1,4 @@ @@ -15061,6 +15077,7 @@ index 28e1b86..5f68577 100644 ') optional_policy(` +- userdom_user_home_dir_filetrans_user_home_content(system_cronjob_t, { dir file lnk_file fifo_file sock_file }) + systemd_dbus_chat_logind(system_cronjob_t) + systemd_write_inherited_logind_sessions_pipes(system_cronjob_t) +') @@ -15073,7 +15090,7 @@ index 28e1b86..5f68577 100644 +optional_policy(` + unconfined_shell_domtrans(crond_t) + unconfined_dbus_send(crond_t) - userdom_user_home_dir_filetrans_user_home_content(system_cronjob_t, { dir file lnk_file fifo_file sock_file }) ++ userdom_filetrans_home_content(crond_t) ') ######################################## @@ -15117,7 +15134,7 @@ index 28e1b86..5f68577 100644 corenet_all_recvfrom_netlabel(cronjob_t) corenet_tcp_sendrecv_generic_if(cronjob_t) corenet_udp_sendrecv_generic_if(cronjob_t) -@@ -639,84 +661,149 @@ corenet_tcp_sendrecv_generic_node(cronjob_t) +@@ -639,84 +661,148 @@ corenet_tcp_sendrecv_generic_node(cronjob_t) corenet_udp_sendrecv_generic_node(cronjob_t) corenet_tcp_sendrecv_all_ports(cronjob_t) corenet_udp_sendrecv_all_ports(cronjob_t) @@ -15170,7 +15187,6 @@ index 28e1b86..5f68577 100644 userdom_manage_user_home_content_symlinks(cronjob_t) userdom_manage_user_home_content_pipes(cronjob_t) userdom_manage_user_home_content_sockets(cronjob_t) -+#userdom_user_home_dir_filetrans_user_home_content(cronjob_t, notdevfile_class_set) -tunable_policy(`cron_userdomain_transition',` - dontaudit cronjob_t crond_t:fd use; @@ -17557,7 +17573,7 @@ index afcf3a2..0730306 100644 + dontaudit system_bus_type $1:dbus send_msg; ') diff --git a/dbus.te b/dbus.te -index 2c2e7e1..4c346e6 100644 +index 2c2e7e1..4a56f17 100644 --- a/dbus.te +++ b/dbus.te @@ -1,20 +1,18 @@ @@ -17882,7 +17898,7 @@ index 2c2e7e1..4c346e6 100644 selinux_validate_context(session_bus_type) selinux_compute_access_vector(session_bus_type) selinux_compute_create_context(session_bus_type) -@@ -225,18 +300,37 @@ selinux_compute_user_contexts(session_bus_type) +@@ -225,18 +300,36 @@ selinux_compute_user_contexts(session_bus_type) auth_read_pam_console_data(session_bus_type) logging_send_audit_msgs(session_bus_type) @@ -17899,7 +17915,6 @@ index 2c2e7e1..4c346e6 100644 +userdom_dontaudit_search_admin_dir(session_bus_type) +userdom_manage_user_home_content_dirs(session_bus_type) +userdom_manage_user_home_content_files(session_bus_type) -+userdom_user_home_dir_filetrans_user_home_content(session_bus_type, { dir file }) +userdom_manage_tmpfs_files(session_bus_type, file) +userdom_tmpfs_filetrans(session_bus_type, file) @@ -17925,7 +17940,7 @@ index 2c2e7e1..4c346e6 100644 ') ######################################## -@@ -244,5 +338,6 @@ optional_policy(` +@@ -244,5 +337,6 @@ optional_policy(` # Unconfined access to this module # @@ -20571,7 +20586,7 @@ index dbcac59..66d42bb 100644 + admin_pattern($1, dovecot_passwd_t) ') diff --git a/dovecot.te b/dovecot.te -index a7bfaf0..412f08d 100644 +index a7bfaf0..9697f9d 100644 --- a/dovecot.te +++ b/dovecot.te @@ -1,4 +1,4 @@ @@ -20784,7 +20799,7 @@ index a7bfaf0..412f08d 100644 +userdom_manage_user_home_content_symlinks(dovecot_t) +userdom_manage_user_home_content_pipes(dovecot_t) +userdom_manage_user_home_content_sockets(dovecot_t) -+userdom_user_home_dir_filetrans_user_home_content(dovecot_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(dovecot_t) optional_policy(` - kerberos_keytab_template(dovecot, dovecot_t) @@ -20953,7 +20968,7 @@ index a7bfaf0..412f08d 100644 +userdom_manage_user_home_content_symlinks(dovecot_deliver_t) +userdom_manage_user_home_content_pipes(dovecot_deliver_t) +userdom_manage_user_home_content_sockets(dovecot_deliver_t) -+userdom_user_home_dir_filetrans_user_home_content(dovecot_deliver_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(dovecot_deliver_t) -tunable_policy(`use_samba_home_dirs',` - fs_manage_cifs_dirs(dovecot_deliver_t) @@ -21514,7 +21529,7 @@ index a0da189..d8bc9d5 100644 userdom_dontaudit_use_unpriv_user_fds(entropyd_t) userdom_dontaudit_search_user_home_dirs(entropyd_t) diff --git a/evolution.te b/evolution.te -index 94fb625..b94a09d 100644 +index 94fb625..3742ee1 100644 --- a/evolution.te +++ b/evolution.te @@ -168,7 +168,6 @@ dev_read_urand(evolution_t) @@ -21525,6 +21540,15 @@ index 94fb625..b94a09d 100644 fs_search_auto_mountpoints(evolution_t) +@@ -187,7 +186,7 @@ userdom_manage_user_tmp_files(evolution_t) + + userdom_manage_user_home_content_dirs(evolution_t) + userdom_manage_user_home_content_files(evolution_t) +-userdom_user_home_dir_filetrans_user_home_content(evolution_t, { dir file }) ++userdom_filetrans_home_content(evolution_t) + + userdom_write_user_tmp_sockets(evolution_t) + @@ -286,7 +285,6 @@ stream_connect_pattern(evolution_alarm_t, evolution_server_orbit_tmp_t, evolutio dev_read_urand(evolution_alarm_t) @@ -22615,7 +22639,7 @@ index 280f875..f3a67c9 100644 ## ## diff --git a/firstboot.te b/firstboot.te -index c12c067..3b01d01 100644 +index c12c067..a415012 100644 --- a/firstboot.te +++ b/firstboot.te @@ -1,7 +1,7 @@ @@ -22703,7 +22727,7 @@ index c12c067..3b01d01 100644 init_domtrans_script(firstboot_t) init_rw_utmp(firstboot_t) -@@ -73,11 +76,11 @@ locallogin_use_fds(firstboot_t) +@@ -73,18 +76,18 @@ locallogin_use_fds(firstboot_t) logging_send_syslog_msg(firstboot_t) @@ -22718,6 +22742,14 @@ index c12c067..3b01d01 100644 userdom_manage_user_home_content_dirs(firstboot_t) userdom_manage_user_home_content_files(firstboot_t) userdom_manage_user_home_content_symlinks(firstboot_t) + userdom_manage_user_home_content_pipes(firstboot_t) + userdom_manage_user_home_content_sockets(firstboot_t) + userdom_home_filetrans_user_home_dir(firstboot_t) +-userdom_user_home_dir_filetrans_user_home_content(firstboot_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(firstboot_t) + + optional_policy(` + dbus_system_bus_client(firstboot_t) @@ -102,20 +105,18 @@ optional_policy(` ') @@ -22885,7 +22917,7 @@ index d062080..e098a40 100644 ftp_run_ftpdctl($1, $2) ') diff --git a/ftp.te b/ftp.te -index e50f33c..ee708c7 100644 +index e50f33c..2f7de33 100644 --- a/ftp.te +++ b/ftp.te @@ -13,7 +13,7 @@ policy_module(ftp, 1.14.1) @@ -22982,9 +23014,11 @@ index e50f33c..ee708c7 100644 miscfiles_read_public_files(ftpd_t) seutil_dontaudit_search_config(ftpd_t) -@@ -255,31 +262,40 @@ sysnet_use_ldap(ftpd_t) +@@ -254,32 +261,42 @@ sysnet_use_ldap(ftpd_t) + userdom_dontaudit_use_unpriv_user_fds(ftpd_t) userdom_dontaudit_search_user_home_dirs(ftpd_t) ++userdom_filetrans_home_content(ftpd_t) -tunable_policy(`allow_ftpd_anon_write',` +tunable_policy(`ftpd_anon_write',` @@ -23030,7 +23064,7 @@ index e50f33c..ee708c7 100644 ') tunable_policy(`ftpd_use_passive_mode',` -@@ -299,9 +315,9 @@ tunable_policy(`ftpd_connect_db',` +@@ -299,9 +316,9 @@ tunable_policy(`ftpd_connect_db',` corenet_sendrecv_mssql_client_packets(ftpd_t) corenet_tcp_connect_mssql_port(ftpd_t) corenet_tcp_sendrecv_mssql_port(ftpd_t) @@ -23043,7 +23077,20 @@ index e50f33c..ee708c7 100644 ') tunable_policy(`ftp_home_dir',` -@@ -360,7 +376,7 @@ optional_policy(` +@@ -309,12 +326,9 @@ tunable_policy(`ftp_home_dir',` + + userdom_manage_user_home_content_dirs(ftpd_t) + userdom_manage_user_home_content_files(ftpd_t) +- userdom_user_home_dir_filetrans_user_home_content(ftpd_t, { dir file }) + userdom_manage_user_tmp_dirs(ftpd_t) + userdom_manage_user_tmp_files(ftpd_t) +- userdom_tmp_filetrans_user_tmp(ftpd_t, { dir file }) + ',` +- userdom_user_home_dir_filetrans_user_home_content(ftpd_t, { dir file }) + userdom_tmp_filetrans_user_tmp(ftpd_t, { dir file }) + ') + +@@ -360,7 +374,7 @@ optional_policy(` selinux_validate_context(ftpd_t) kerberos_keytab_template(ftpd, ftpd_t) @@ -23052,7 +23099,7 @@ index e50f33c..ee708c7 100644 ') optional_policy(` -@@ -410,21 +426,20 @@ optional_policy(` +@@ -410,21 +424,20 @@ optional_policy(` # stream_connect_pattern(ftpdctl_t, ftpd_var_run_t, ftpd_var_run_t, ftpd_t) @@ -23076,7 +23123,7 @@ index e50f33c..ee708c7 100644 miscfiles_read_public_files(anon_sftpd_t) -@@ -437,10 +452,23 @@ tunable_policy(`sftpd_anon_write',` +@@ -437,23 +450,34 @@ tunable_policy(`sftpd_anon_write',` # Sftpd local policy # @@ -23098,10 +23145,26 @@ index e50f33c..ee708c7 100644 + ssh_manage_home_files(sftpd_t) + ') +') ++ ++userdom_filetrans_home_content(sftpd_t) ++userdom_tmp_filetrans_user_tmp(sftpd_t, { dir file }) tunable_policy(`sftpd_enable_homedirs',` allow sftpd_t self:capability { dac_override dac_read_search }; -@@ -475,21 +503,11 @@ tunable_policy(`sftpd_anon_write',` + + userdom_manage_user_home_content_dirs(sftpd_t) + userdom_manage_user_home_content_files(sftpd_t) +- userdom_user_home_dir_filetrans_user_home_content(sftpd_t, { dir file }) + userdom_manage_user_tmp_dirs(sftpd_t) + userdom_manage_user_tmp_files(sftpd_t) +- userdom_tmp_filetrans_user_tmp(sftpd_t, { dir file }) +-',` +- userdom_user_home_dir_filetrans_user_home_content(sftpd_t, { dir file }) +- userdom_tmp_filetrans_user_tmp(sftpd_t, { dir file }) + ') + + tunable_policy(`sftpd_enable_homedirs && use_nfs_home_dirs',` +@@ -475,21 +499,11 @@ tunable_policy(`sftpd_anon_write',` tunable_policy(`sftpd_full_access',` allow sftpd_t self:capability { dac_override dac_read_search }; fs_read_noxattr_fs_files(sftpd_t) @@ -23699,10 +23762,10 @@ index 0000000..1ed97fe + diff --git a/glusterd.te b/glusterd.te new file mode 100644 -index 0000000..9cfc035 +index 0000000..643f4bd --- /dev/null +++ b/glusterd.te -@@ -0,0 +1,145 @@ +@@ -0,0 +1,146 @@ +policy_module(glusterfs, 1.0.1) + +## @@ -23726,7 +23789,7 @@ index 0000000..9cfc035 +## Allow glusterfsd to share any file/directory read/write. +##

+##
-+gen_tunable(gluster_export_all_rw, false) ++gen_tunable(gluster_export_all_rw, true) + +######################################## +# @@ -23833,6 +23896,7 @@ index 0000000..9cfc035 +miscfiles_read_public_files(glusterd_t) + +userdom_manage_user_home_dirs(glusterd_t) ++userdom_filetrans_home_content(glusterd_t) + +tunable_policy(`gluster_anon_write',` + miscfiles_manage_public_files(glusterd_t) @@ -24127,10 +24191,10 @@ index e39de43..52e5a3a 100644 +/usr/libexec/gnome-system-monitor-mechanism -- gen_context(system_u:object_r:gnomesystemmm_exec_t,s0) +/usr/libexec/kde(3|4)/ksysguardprocesslist_helper -- gen_context(system_u:object_r:gnomesystemmm_exec_t,s0) diff --git a/gnome.if b/gnome.if -index d03fd43..f73c152 100644 +index d03fd43..0a785a3 100644 --- a/gnome.if +++ b/gnome.if -@@ -1,123 +1,155 @@ +@@ -1,123 +1,154 @@ -## GNU network object model environment. +## GNU network object model environment (GNOME) @@ -24315,7 +24379,6 @@ index d03fd43..f73c152 100644 - dbus_spec_session_domain($1, gkeyringd_exec_t, $1_gkeyringd_t) + dbus_session_domain($1, gkeyringd_exec_t, $1_gkeyringd_t) + dbus_session_bus_client($1_gkeyringd_t) -+ gnome_home_dir_filetrans($1_gkeyringd_t) + gnome_manage_generic_home_dirs($1_gkeyringd_t) + gnome_read_generic_data_home_files($1_gkeyringd_t) + gnome_read_generic_data_home_dirs($1_gkeyringd_t) @@ -24363,7 +24426,7 @@ index d03fd43..f73c152 100644 ##
## ## -@@ -125,18 +157,18 @@ template(`gnome_role_template',` +@@ -125,18 +156,18 @@ template(`gnome_role_template',` ## ## # @@ -24387,7 +24450,7 @@ index d03fd43..f73c152 100644 ##
## ## -@@ -144,119 +176,114 @@ interface(`gnome_exec_gconf',` +@@ -144,119 +175,114 @@ interface(`gnome_exec_gconf',` ## ## # @@ -24544,7 +24607,7 @@ index d03fd43..f73c152 100644 ##
## ## -@@ -264,15 +291,21 @@ interface(`gnome_create_generic_home_dirs',` +@@ -264,15 +290,21 @@ interface(`gnome_create_generic_home_dirs',` ## ## # @@ -24571,7 +24634,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -280,57 +313,89 @@ interface(`gnome_setattr_config_dirs',` +@@ -280,57 +312,89 @@ interface(`gnome_setattr_config_dirs',` ## ## # @@ -24679,7 +24742,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -338,15 +403,18 @@ interface(`gnome_read_generic_home_content',` +@@ -338,15 +402,18 @@ interface(`gnome_read_generic_home_content',` ## ## # @@ -24703,7 +24766,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -354,22 +422,18 @@ interface(`gnome_manage_config',` +@@ -354,22 +421,18 @@ interface(`gnome_manage_config',` ## ## # @@ -24730,7 +24793,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -377,53 +441,37 @@ interface(`gnome_manage_generic_home_content',` +@@ -377,53 +440,37 @@ interface(`gnome_manage_generic_home_content',` ## ## # @@ -24792,7 +24855,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -431,17 +479,18 @@ interface(`gnome_home_filetrans',` +@@ -431,17 +478,18 @@ interface(`gnome_home_filetrans',` ## ## # @@ -24815,7 +24878,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -449,46 +498,36 @@ interface(`gnome_create_generic_gconf_home_dirs',` +@@ -449,46 +497,36 @@ interface(`gnome_create_generic_gconf_home_dirs',` ## ## # @@ -24871,7 +24934,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -496,29 +535,35 @@ interface(`gnome_manage_generic_gconf_home_content',` +@@ -496,29 +534,35 @@ interface(`gnome_manage_generic_gconf_home_content',` ## ## # @@ -24915,7 +24978,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -527,62 +572,125 @@ interface(`gnome_search_generic_gconf_home',` +@@ -527,62 +571,125 @@ interface(`gnome_search_generic_gconf_home',` ## ## # @@ -25060,7 +25123,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -591,65 +699,76 @@ interface(`gnome_home_filetrans_gnome_home',` +@@ -591,65 +698,76 @@ interface(`gnome_home_filetrans_gnome_home',` ## ## # @@ -25161,7 +25224,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -657,46 +776,36 @@ interface(`gnome_dbus_chat_gkeyringd',` +@@ -657,46 +775,36 @@ interface(`gnome_dbus_chat_gkeyringd',` ## ## # @@ -25217,7 +25280,7 @@ index d03fd43..f73c152 100644 ## ## ## -@@ -704,12 +813,773 @@ interface(`gnome_stream_connect_gkeyringd',` +@@ -704,12 +812,773 @@ interface(`gnome_stream_connect_gkeyringd',` ## ## # @@ -26839,7 +26902,7 @@ index 180f1b7..951b790 100644 + userdom_user_home_dir_filetrans($1, gpg_secret_t, dir, ".gnupg") +') diff --git a/gpg.te b/gpg.te -index 44cf341..8424d09 100644 +index 44cf341..b04d02c 100644 --- a/gpg.te +++ b/gpg.te @@ -1,47 +1,47 @@ @@ -27039,8 +27102,9 @@ index 44cf341..8424d09 100644 +userdom_manage_all_user_tmp_content(gpg_t) +#userdom_manage_user_home_content(gpg_t) userdom_manage_user_home_content_files(gpg_t) +-userdom_user_home_dir_filetrans_user_home_content(gpg_t, file) +userdom_manage_user_home_content_dirs(gpg_t) - userdom_user_home_dir_filetrans_user_home_content(gpg_t, file) ++userdom_filetrans_home_content(gpg_t) +userdom_stream_connect(gpg_t) -tunable_policy(`use_nfs_home_dirs',` @@ -27192,6 +27256,7 @@ index 44cf341..8424d09 100644 +userdom_use_inherited_user_terminals(gpg_agent_t) +# read and write ~/.gnupg (gpg-agent stores secret keys in ~/.gnupg/private-keys-v1.d ) userdom_search_user_home_dirs(gpg_agent_t) ++userdom_filetrans_home_content(gpg_agent_t) ifdef(`hide_broken_symptoms',` userdom_dontaudit_read_user_tmp_files(gpg_agent_t) @@ -27202,7 +27267,6 @@ index 44cf341..8424d09 100644 + # write ~/.gpg-agent-info or a similar to the users home dir + # or subdir (gpg-agent --write-env-file option) + # -+ userdom_user_home_dir_filetrans_user_home_content(gpg_agent_t, { dir file }) userdom_manage_user_home_content_dirs(gpg_agent_t) userdom_manage_user_home_content_files(gpg_agent_t) - userdom_user_home_dir_filetrans_user_home_content(gpg_agent_t, file) @@ -27948,7 +28012,7 @@ index ac00fb0..06cb083 100644 + userdom_user_home_dir_filetrans($1, irc_home_t, dir, "irclogs") ') diff --git a/irc.te b/irc.te -index ecad9c7..f8d4f1d 100644 +index ecad9c7..56e2b35 100644 --- a/irc.te +++ b/irc.te @@ -37,7 +37,32 @@ userdom_user_home_content(irc_log_home_t) @@ -28016,7 +28080,7 @@ index ecad9c7..f8d4f1d 100644 fs_getattr_all_fs(irc_t) fs_search_auto_mountpoints(irc_t) -@@ -106,7 +123,6 @@ auth_use_nsswitch(irc_t) +@@ -106,13 +123,15 @@ auth_use_nsswitch(irc_t) init_read_utmp(irc_t) init_dontaudit_lock_utmp(irc_t) @@ -28024,16 +28088,16 @@ index ecad9c7..f8d4f1d 100644 userdom_use_user_terminals(irc_t) -@@ -114,6 +130,9 @@ userdom_manage_user_home_content_dirs(irc_t) + userdom_manage_user_home_content_dirs(irc_t) userdom_manage_user_home_content_files(irc_t) - userdom_user_home_dir_filetrans_user_home_content(irc_t, { dir file }) - +-userdom_user_home_dir_filetrans_user_home_content(irc_t, { dir file }) ++userdom_filetrans_home_content(irc_t) ++ +# Write to the user domain tty. +userdom_use_inherited_user_terminals(irc_t) -+ + tunable_policy(`irc_use_any_tcp_ports',` corenet_sendrecv_all_server_packets(irc_t) - corenet_tcp_bind_all_unreserved_ports(irc_t) @@ -122,18 +141,71 @@ tunable_policy(`irc_use_any_tcp_ports',` corenet_tcp_sendrecv_all_ports(irc_t) ') @@ -28233,7 +28297,7 @@ index 1a35420..1d27695 100644 logging_search_logs($1) admin_pattern($1, iscsi_log_t) diff --git a/iscsi.te b/iscsi.te -index 57304e4..74153ec 100644 +index 57304e4..e7080f8 100644 --- a/iscsi.te +++ b/iscsi.te @@ -9,8 +9,8 @@ type iscsid_t; @@ -28268,7 +28332,7 @@ index 57304e4..74153ec 100644 corenet_all_recvfrom_netlabel(iscsid_t) corenet_tcp_sendrecv_generic_if(iscsid_t) corenet_tcp_sendrecv_generic_node(iscsid_t) -@@ -85,10 +84,12 @@ corenet_sendrecv_isns_client_packets(iscsid_t) +@@ -85,10 +84,13 @@ corenet_sendrecv_isns_client_packets(iscsid_t) corenet_tcp_connect_isns_port(iscsid_t) corenet_tcp_sendrecv_isns_port(iscsid_t) @@ -28277,13 +28341,14 @@ index 57304e4..74153ec 100644 +corenet_tcp_connect_winshadow_port(iscsid_t) +corenet_tcp_sendrecv_winshadow_port(iscsid_t) + ++dev_read_urand(iscsid_t) dev_rw_sysfs(iscsid_t) dev_rw_userio_dev(iscsid_t) -dev_write_raw_memory(iscsid_t) domain_use_interactive_fds(iscsid_t) domain_dontaudit_read_all_domains_state(iscsid_t) -@@ -99,8 +100,6 @@ init_stream_connect_script(iscsid_t) +@@ -99,8 +101,6 @@ init_stream_connect_script(iscsid_t) logging_send_syslog_msg(iscsid_t) @@ -28776,7 +28841,7 @@ index bb12c90..ff69343 100644 -auth_use_nsswitch(jabberd_router_t) +sysnet_read_config(jabberd_domain) diff --git a/java.te b/java.te -index b3fcfbb..98cbfb4 100644 +index b3fcfbb..5459aa3 100644 --- a/java.te +++ b/java.te @@ -11,7 +11,7 @@ policy_module(java, 2.6.3) @@ -28796,7 +28861,12 @@ index b3fcfbb..98cbfb4 100644 files_read_etc_runtime_files(java_domain) fs_getattr_all_fs(java_domain) -@@ -112,7 +111,7 @@ userdom_user_home_dir_filetrans_user_home_content(java_domain, { file lnk_file s +@@ -108,11 +107,11 @@ userdom_manage_user_home_content_files(java_domain) + userdom_manage_user_home_content_symlinks(java_domain) + userdom_manage_user_home_content_pipes(java_domain) + userdom_manage_user_home_content_sockets(java_domain) +-userdom_user_home_dir_filetrans_user_home_content(java_domain, { file lnk_file sock_file fifo_file }) ++userdom_filetrans_home_content(java_domain_t) userdom_write_user_tmp_sockets(java_domain) @@ -30586,7 +30656,7 @@ index f9de9fc..138e1e2 100644 + kerberos_tmp_filetrans_host_rcache($1, "ldap_55") ') diff --git a/kerberos.te b/kerberos.te -index 3465a9a..fe2c2da 100644 +index 3465a9a..353c4ce 100644 --- a/kerberos.te +++ b/kerberos.te @@ -1,4 +1,4 @@ @@ -30700,7 +30770,7 @@ index 3465a9a..fe2c2da 100644 corenet_all_recvfrom_netlabel(kadmind_t) corenet_tcp_sendrecv_generic_if(kadmind_t) corenet_udp_sendrecv_generic_if(kadmind_t) -@@ -119,31 +128,39 @@ corenet_tcp_sendrecv_all_ports(kadmind_t) +@@ -119,31 +128,41 @@ corenet_tcp_sendrecv_all_ports(kadmind_t) corenet_udp_sendrecv_all_ports(kadmind_t) corenet_tcp_bind_generic_node(kadmind_t) corenet_udp_bind_generic_node(kadmind_t) @@ -30733,6 +30803,8 @@ index 3465a9a..fe2c2da 100644 selinux_validate_context(kadmind_t) ++auth_read_passwd(kadmind_t) ++ logging_send_syslog_msg(kadmind_t) -miscfiles_read_localization(kadmind_t) @@ -30745,7 +30817,7 @@ index 3465a9a..fe2c2da 100644 sysnet_use_ldap(kadmind_t) userdom_dontaudit_use_unpriv_user_fds(kadmind_t) -@@ -154,6 +171,10 @@ optional_policy(` +@@ -154,6 +173,10 @@ optional_policy(` ') optional_policy(` @@ -30756,7 +30828,7 @@ index 3465a9a..fe2c2da 100644 nis_use_ypbind(kadmind_t) ') -@@ -174,24 +195,27 @@ optional_policy(` +@@ -174,24 +197,27 @@ optional_policy(` # Krb5kdc local policy # @@ -30788,7 +30860,7 @@ index 3465a9a..fe2c2da 100644 logging_log_filetrans(krb5kdc_t, krb5kdc_log_t, file) allow krb5kdc_t krb5kdc_principal_t:file rw_file_perms; -@@ -203,42 +227,39 @@ files_tmp_filetrans(krb5kdc_t, krb5kdc_tmp_t, { file dir }) +@@ -203,54 +229,53 @@ files_tmp_filetrans(krb5kdc_t, krb5kdc_tmp_t, { file dir }) manage_files_pattern(krb5kdc_t, krb5kdc_var_run_t, krb5kdc_var_run_t) files_pid_filetrans(krb5kdc_t, krb5kdc_var_run_t, file) @@ -30839,7 +30911,10 @@ index 3465a9a..fe2c2da 100644 files_read_usr_symlinks(krb5kdc_t) files_read_var_files(krb5kdc_t) -@@ -247,10 +268,10 @@ selinux_validate_context(krb5kdc_t) + selinux_validate_context(krb5kdc_t) + ++auth_read_passwd(krb5kdc_t) ++ logging_send_syslog_msg(krb5kdc_t) miscfiles_read_generic_certs(krb5kdc_t) @@ -30851,7 +30926,7 @@ index 3465a9a..fe2c2da 100644 sysnet_use_ldap(krb5kdc_t) userdom_dontaudit_use_unpriv_user_fds(krb5kdc_t) -@@ -261,11 +282,11 @@ optional_policy(` +@@ -261,11 +286,11 @@ optional_policy(` ') optional_policy(` @@ -30865,7 +30940,7 @@ index 3465a9a..fe2c2da 100644 ') optional_policy(` -@@ -273,6 +294,10 @@ optional_policy(` +@@ -273,6 +298,10 @@ optional_policy(` ') optional_policy(` @@ -30876,7 +30951,7 @@ index 3465a9a..fe2c2da 100644 udev_read_db(krb5kdc_t) ') -@@ -281,10 +306,12 @@ optional_policy(` +@@ -281,10 +310,12 @@ optional_policy(` # kpropd local policy # @@ -30892,7 +30967,7 @@ index 3465a9a..fe2c2da 100644 allow kpropd_t krb5_host_rcache_t:file manage_file_perms; -@@ -303,26 +330,20 @@ files_tmp_filetrans(kpropd_t, krb5kdc_tmp_t, { file dir }) +@@ -303,26 +334,20 @@ files_tmp_filetrans(kpropd_t, krb5kdc_tmp_t, { file dir }) corecmd_exec_bin(kpropd_t) @@ -32582,7 +32657,7 @@ index dd8e01a..9cd6b0b 100644 ## ## diff --git a/logrotate.te b/logrotate.te -index 7bab8e5..3124cab 100644 +index 7bab8e5..ed36684 100644 --- a/logrotate.te +++ b/logrotate.te @@ -1,20 +1,18 @@ @@ -32644,7 +32719,7 @@ index 7bab8e5..3124cab 100644 allow logrotate_t self:shm create_shm_perms; allow logrotate_t self:sem create_sem_perms; allow logrotate_t self:msgq create_msgq_perms; -@@ -48,79 +52,93 @@ allow logrotate_t self:msg { send receive }; +@@ -48,79 +52,94 @@ allow logrotate_t self:msg { send receive }; allow logrotate_t logrotate_lock_t:file manage_file_perms; files_lock_filetrans(logrotate_t, logrotate_lock_t, file) @@ -32666,9 +32741,10 @@ index 7bab8e5..3124cab 100644 kernel_read_kernel_sysctls(logrotate_t) +dev_read_urand(logrotate_t) ++dev_read_sysfs(logrotate_t) + +fs_search_auto_mountpoints(logrotate_t) -+fs_getattr_xattr_fs(logrotate_t) ++fs_getattr_all_fs(logrotate_t) +fs_list_inotifyfs(logrotate_t) + +mls_file_read_all_levels(logrotate_t) @@ -32765,7 +32841,7 @@ index 7bab8e5..3124cab 100644 ') optional_policy(` -@@ -140,11 +158,11 @@ optional_policy(` +@@ -140,11 +159,11 @@ optional_policy(` ') optional_policy(` @@ -32779,7 +32855,7 @@ index 7bab8e5..3124cab 100644 ') optional_policy(` -@@ -178,7 +196,7 @@ optional_policy(` +@@ -178,7 +197,7 @@ optional_policy(` ') optional_policy(` @@ -32788,7 +32864,7 @@ index 7bab8e5..3124cab 100644 ') optional_policy(` -@@ -198,21 +216,22 @@ optional_policy(` +@@ -198,21 +217,22 @@ optional_policy(` ') optional_policy(` @@ -32815,7 +32891,7 @@ index 7bab8e5..3124cab 100644 ') optional_policy(` -@@ -228,10 +247,20 @@ optional_policy(` +@@ -228,10 +248,20 @@ optional_policy(` ') optional_policy(` @@ -32836,7 +32912,7 @@ index 7bab8e5..3124cab 100644 su_exec(logrotate_t) ') -@@ -241,13 +270,11 @@ optional_policy(` +@@ -241,13 +271,11 @@ optional_policy(` ####################################### # @@ -34150,10 +34226,10 @@ index 327f3f7..8d5841f 100644 + ') ') diff --git a/mandb.te b/mandb.te -index 5a414e0..e2f4ce0 100644 +index 5a414e0..fd54e2b 100644 --- a/mandb.te +++ b/mandb.te -@@ -10,25 +10,40 @@ roleattribute system_r mandb_roles; +@@ -10,28 +10,45 @@ roleattribute system_r mandb_roles; type mandb_t; type mandb_exec_t; @@ -34196,7 +34272,12 @@ index 5a414e0..e2f4ce0 100644 +files_search_locks(mandb_t) miscfiles_manage_man_cache(mandb_t) ++miscfiles_setattr_man_pages(mandb_t) + optional_policy(` + cron_system_entry(mandb_t, mandb_exec_t) + ') ++ diff --git a/mcelog.if b/mcelog.if index 9dbe694..f89651e 100644 --- a/mcelog.if @@ -35691,6 +35772,19 @@ index 4de8949..5c237c3 100644 fs_getattr_all_fs(mongod_t) -miscfiles_read_localization(mongod_t) +diff --git a/mono.te b/mono.te +index d287fe9..3dc493c 100644 +--- a/mono.te ++++ b/mono.te +@@ -28,7 +28,7 @@ allow mono_domain self:process { signal getsched execheap execmem execstack }; + # local policy + # + +-userdom_user_home_dir_filetrans_user_home_content(mono_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(mono_t) + + init_dbus_chat_script(mono_t) + diff --git a/monop.te b/monop.te index 4462c0e..84944d1 100644 --- a/monop.te @@ -36515,7 +36609,7 @@ index 6194b80..97b8462 100644 ') + diff --git a/mozilla.te b/mozilla.te -index 6a306ee..de62123 100644 +index 6a306ee..7131f6f 100644 --- a/mozilla.te +++ b/mozilla.te @@ -1,4 +1,4 @@ @@ -36524,7 +36618,7 @@ index 6a306ee..de62123 100644 ######################################## # -@@ -6,17 +6,34 @@ policy_module(mozilla, 2.7.4) +@@ -6,17 +6,27 @@ policy_module(mozilla, 2.7.4) # ## @@ -36545,13 +36639,6 @@ index 6a306ee..de62123 100644 +##

+##
+gen_tunable(mozilla_read_content, false) -+ -+## -+##

-+## Allow mozilla_plugins to create random content in the users home directory -+##

-+##
-+gen_tunable(mozilla_plugin_enable_homedirs, false) attribute_role mozilla_roles; attribute_role mozilla_plugin_roles; @@ -36564,7 +36651,7 @@ index 6a306ee..de62123 100644 type mozilla_t; type mozilla_exec_t; typealias mozilla_t alias { user_mozilla_t staff_mozilla_t sysadm_mozilla_t }; -@@ -24,6 +41,9 @@ typealias mozilla_t alias { auditadm_mozilla_t secadm_mozilla_t }; +@@ -24,6 +34,9 @@ typealias mozilla_t alias { auditadm_mozilla_t secadm_mozilla_t }; userdom_user_application_domain(mozilla_t, mozilla_exec_t) role mozilla_roles types mozilla_t; @@ -36574,7 +36661,7 @@ index 6a306ee..de62123 100644 type mozilla_home_t; typealias mozilla_home_t alias { user_mozilla_home_t staff_mozilla_home_t sysadm_mozilla_home_t }; typealias mozilla_home_t alias { auditadm_mozilla_home_t secadm_mozilla_home_t }; -@@ -31,29 +51,24 @@ userdom_user_home_content(mozilla_home_t) +@@ -31,29 +44,24 @@ userdom_user_home_content(mozilla_home_t) type mozilla_plugin_t; type mozilla_plugin_exec_t; @@ -36609,7 +36696,7 @@ index 6a306ee..de62123 100644 type mozilla_tmp_t; userdom_user_tmp_file(mozilla_tmp_t) -@@ -63,10 +78,6 @@ typealias mozilla_tmpfs_t alias { user_mozilla_tmpfs_t staff_mozilla_tmpfs_t sys +@@ -63,10 +71,6 @@ typealias mozilla_tmpfs_t alias { user_mozilla_tmpfs_t staff_mozilla_tmpfs_t sys typealias mozilla_tmpfs_t alias { auditadm_mozilla_tmpfs_t secadm_mozilla_tmpfs_t }; userdom_user_tmpfs_file(mozilla_tmpfs_t) @@ -36620,7 +36707,7 @@ index 6a306ee..de62123 100644 ######################################## # # Local policy -@@ -75,23 +86,26 @@ optional_policy(` +@@ -75,23 +79,25 @@ optional_policy(` allow mozilla_t self:capability { sys_nice setgid setuid }; allow mozilla_t self:process { sigkill signal setsched getsched setrlimit }; allow mozilla_t self:fifo_file rw_fifo_file_perms; @@ -36651,7 +36738,6 @@ index 6a306ee..de62123 100644 +manage_files_pattern(mozilla_t, mozilla_home_t, mozilla_home_t) +manage_lnk_files_pattern(mozilla_t, mozilla_home_t, mozilla_home_t) +userdom_search_user_home_dirs(mozilla_t) -+userdom_user_home_dir_filetrans(mozilla_t, mozilla_home_t, dir) -filetrans_pattern(mozilla_t, mozilla_home_t, mozilla_plugin_home_t, dir, "plugins") +# Mozpluggerrc @@ -36659,7 +36745,7 @@ index 6a306ee..de62123 100644 manage_files_pattern(mozilla_t, mozilla_tmp_t, mozilla_tmp_t) manage_dirs_pattern(mozilla_t, mozilla_tmp_t, mozilla_tmp_t) -@@ -103,76 +117,69 @@ manage_fifo_files_pattern(mozilla_t, mozilla_tmpfs_t, mozilla_tmpfs_t) +@@ -103,76 +109,69 @@ manage_fifo_files_pattern(mozilla_t, mozilla_tmpfs_t, mozilla_tmpfs_t) manage_sock_files_pattern(mozilla_t, mozilla_tmpfs_t, mozilla_tmpfs_t) fs_tmpfs_filetrans(mozilla_t, mozilla_tmpfs_t, { file lnk_file sock_file fifo_file }) @@ -36767,7 +36853,7 @@ index 6a306ee..de62123 100644 term_dontaudit_getattr_pty_dirs(mozilla_t) -@@ -181,56 +188,73 @@ auth_use_nsswitch(mozilla_t) +@@ -181,56 +180,73 @@ auth_use_nsswitch(mozilla_t) logging_send_syslog_msg(mozilla_t) miscfiles_read_fonts(mozilla_t) @@ -36775,15 +36861,15 @@ index 6a306ee..de62123 100644 miscfiles_dontaudit_setattr_fonts_dirs(mozilla_t) -userdom_use_user_ptys(mozilla_t) -+userdom_use_inherited_user_ptys(mozilla_t) - +- -userdom_manage_user_tmp_dirs(mozilla_t) -userdom_manage_user_tmp_files(mozilla_t) - -userdom_manage_user_home_content_dirs(mozilla_t) -userdom_manage_user_home_content_files(mozilla_t) -userdom_user_home_dir_filetrans_user_home_content(mozilla_t, { dir file }) -- ++userdom_use_inherited_user_ptys(mozilla_t) + -userdom_write_user_tmp_sockets(mozilla_t) - -mozilla_run_plugin(mozilla_t, mozilla_roles) @@ -36878,7 +36964,7 @@ index 6a306ee..de62123 100644 ') optional_policy(` -@@ -244,19 +268,12 @@ optional_policy(` +@@ -244,19 +260,12 @@ optional_policy(` optional_policy(` cups_read_rw_config(mozilla_t) @@ -36900,7 +36986,7 @@ index 6a306ee..de62123 100644 optional_policy(` networkmanager_dbus_chat(mozilla_t) -@@ -265,33 +282,32 @@ optional_policy(` +@@ -265,33 +274,32 @@ optional_policy(` optional_policy(` gnome_stream_connect_gconf(mozilla_t) @@ -36913,34 +36999,34 @@ index 6a306ee..de62123 100644 - gnome_home_filetrans_gnome_home(mozilla_t, dir, ".gnome2_private") + gnome_manage_config(mozilla_t) + gnome_manage_gconf_home_files(mozilla_t) ++') ++ ++optional_policy(` ++ java_domtrans(mozilla_t) ') optional_policy(` - java_exec(mozilla_t) - java_manage_generic_home_content(mozilla_t) - java_home_filetrans_java_home(mozilla_t, dir, ".java") -+ java_domtrans(mozilla_t) ++ lpd_domtrans_lpr(mozilla_t) ') optional_policy(` - lpd_run_lpr(mozilla_t, mozilla_roles) -+ lpd_domtrans_lpr(mozilla_t) ++ mplayer_domtrans(mozilla_t) ++ mplayer_read_user_home_files(mozilla_t) ') optional_policy(` - mplayer_exec(mozilla_t) - mplayer_manage_generic_home_content(mozilla_t) - mplayer_home_filetrans_mplayer_home(mozilla_t, dir, ".mplayer") -+ mplayer_domtrans(mozilla_t) -+ mplayer_read_user_home_files(mozilla_t) ++ nscd_socket_use(mozilla_t) ') optional_policy(` - pulseaudio_run(mozilla_t, mozilla_roles) -+ nscd_socket_use(mozilla_t) -+') -+ -+optional_policy(` + #pulseaudio_role(mozilla_roles, mozilla_t) + pulseaudio_exec(mozilla_t) + pulseaudio_stream_connect(mozilla_t) @@ -36948,7 +37034,7 @@ index 6a306ee..de62123 100644 ') optional_policy(` -@@ -300,221 +316,171 @@ optional_policy(` +@@ -300,221 +308,171 @@ optional_policy(` ######################################## # @@ -37007,7 +37093,6 @@ index 6a306ee..de62123 100644 +manage_files_pattern(mozilla_plugin_t, mozilla_home_t, mozilla_home_t) +manage_lnk_files_pattern(mozilla_plugin_t, mozilla_home_t, mozilla_home_t) +manage_fifo_files_pattern(mozilla_plugin_t, mozilla_home_t, mozilla_home_t) -+mozilla_filetrans_home_content(mozilla_plugin_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) @@ -37187,6 +37272,7 @@ index 6a306ee..de62123 100644 + libs_exec_ld_so(mozilla_plugin_t) libs_exec_lib_files(mozilla_plugin_t) ++libs_legacy_use_shared_libs(mozilla_plugin_t) logging_send_syslog_msg(mozilla_plugin_t) @@ -37263,7 +37349,7 @@ index 6a306ee..de62123 100644 ') optional_policy(` -@@ -523,36 +489,43 @@ optional_policy(` +@@ -523,36 +481,43 @@ optional_policy(` ') optional_policy(` @@ -37301,18 +37387,18 @@ index 6a306ee..de62123 100644 optional_policy(` - lpd_run_lpr(mozilla_plugin_t, mozilla_plugin_roles) + lpd_run_lpr(mozilla_plugin_t, mozilla_roles) -+') -+ -+optional_policy(` -+ mplayer_exec(mozilla_plugin_t) -+ mplayer_manage_generic_home_content(mozilla_plugin_t) -+ mplayer_home_filetrans_mplayer_home(mozilla_plugin_t, dir, ".mplayer") ') optional_policy(` - mplayer_exec(mozilla_plugin_t) - mplayer_manage_generic_home_content(mozilla_plugin_t) - mplayer_home_filetrans_mplayer_home(mozilla_plugin_t, dir, ".mplayer") ++ mplayer_exec(mozilla_plugin_t) ++ mplayer_manage_generic_home_content(mozilla_plugin_t) ++ mplayer_home_filetrans_mplayer_home(mozilla_plugin_t, dir, ".mplayer") ++') ++ ++optional_policy(` + pulseaudio_exec(mozilla_plugin_t) + pulseaudio_stream_connect(mozilla_plugin_t) + pulseaudio_setattr_home_dir(mozilla_plugin_t) @@ -37321,7 +37407,7 @@ index 6a306ee..de62123 100644 ') optional_policy(` -@@ -560,7 +533,7 @@ optional_policy(` +@@ -560,7 +525,7 @@ optional_policy(` ') optional_policy(` @@ -37330,7 +37416,7 @@ index 6a306ee..de62123 100644 ') optional_policy(` -@@ -568,108 +541,108 @@ optional_policy(` +@@ -568,108 +533,108 @@ optional_policy(` ') optional_policy(` @@ -37358,12 +37444,12 @@ index 6a306ee..de62123 100644 -allow mozilla_plugin_config_t self:process { setsched signal_perms getsched }; -allow mozilla_plugin_config_t self:fifo_file rw_fifo_file_perms; -allow mozilla_plugin_config_t self:unix_stream_socket create_stream_socket_perms; -+allow mozilla_plugin_config_t self:process { setsched signal_perms getsched execmem execstack }; - +- -allow mozilla_plugin_config_t mozilla_plugin_rw_t:dir manage_dir_perms; -allow mozilla_plugin_config_t mozilla_plugin_rw_t:file manage_file_perms; -allow mozilla_plugin_config_t mozilla_plugin_rw_t:lnk_file manage_lnk_file_perms; -- ++allow mozilla_plugin_config_t self:process { setsched signal_perms getsched execmem execstack }; + -manage_dirs_pattern(mozilla_plugin_config_t, { mozilla_home_t mozilla_plugin_home_t }, { mozilla_home_t mozilla_plugin_home_t }) -manage_files_pattern(mozilla_plugin_config_t, { mozilla_home_t mozilla_plugin_home_t }, mozilla_plugin_home_t) -manage_lnk_files_pattern(mozilla_plugin_config_t, { mozilla_home_t mozilla_plugin_home_t }, mozilla_plugin_home_t) @@ -37485,16 +37571,17 @@ index 6a306ee..de62123 100644 -optional_policy(` - automount_dontaudit_getattr_tmp_dirs(mozilla_plugin_config_t) -+tunable_policy(`mozilla_plugin_enable_homedirs',` -+ userdom_user_home_dir_filetrans(mozilla_plugin_t, mozilla_home_t, { dir file }) -+', ` -+ -+ userdom_user_home_dir_filetrans_pattern(mozilla_plugin_t, file) -+ userdom_user_home_dir_filetrans_pattern(mozilla_plugin_t, dir) - ') +-') ++#tunable_policy(`mozilla_plugin_enable_homedirs',` ++# userdom_user_home_dir_filetrans(mozilla_plugin_t, mozilla_home_t, { dir file }) ++#', ` -optional_policy(` - xserver_use_user_fonts(mozilla_plugin_config_t) ++ #userdom_user_home_dir_filetrans_pattern(mozilla_plugin_t, file) ++ #userdom_user_home_dir_filetrans_pattern(mozilla_plugin_t, dir) ++#') ++ +tunable_policy(`selinuxuser_execmod',` + userdom_execmod_user_home_files(mozilla_plugin_t) ') @@ -37574,7 +37661,7 @@ index 7c8afcc..200cec1 100644 ') diff --git a/mplayer.te b/mplayer.te -index 9aca704..5db9491 100644 +index 9aca704..f92829c 100644 --- a/mplayer.te +++ b/mplayer.te @@ -11,7 +11,7 @@ policy_module(mplayer, 2.4.4) @@ -37594,6 +37681,15 @@ index 9aca704..5db9491 100644 fs_search_auto_mountpoints(mencoder_t) +@@ -82,7 +81,7 @@ userdom_manage_user_tmp_files(mencoder_t) + + userdom_manage_user_home_content_dirs(mencoder_t) + userdom_manage_user_home_content_files(mencoder_t) +-userdom_user_home_dir_filetrans_user_home_content(mencoder_t, { dir file }) ++userdom_filetrans_home_content(mencoder_t) + + ifndef(`enable_mls',` + fs_list_dos(mencoder_t) @@ -95,15 +94,15 @@ ifndef(`enable_mls',` fs_read_iso9660_files(mencoder_t) ') @@ -37622,6 +37718,15 @@ index 9aca704..5db9491 100644 fs_getattr_all_fs(mplayer_t) fs_search_auto_mountpoints(mplayer_t) +@@ -194,7 +192,7 @@ userdom_tmp_filetrans_user_tmp(mplayer_t, { dir file }) + + userdom_manage_user_home_content_dirs(mplayer_t) + userdom_manage_user_home_content_files(mplayer_t) +-userdom_user_home_dir_filetrans_user_home_content(mplayer_t, { dir file }) ++userdom_filetrans_home_content(mplayer_t) + + userdom_write_user_tmp_sockets(mplayer_t) + @@ -211,15 +209,15 @@ ifndef(`enable_mls',` fs_read_iso9660_files(mplayer_t) ') @@ -37747,7 +37852,7 @@ index f42896c..8654c3c 100644 -/var/spool/mail(/.*)? gen_context(system_u:object_r:mail_spool_t,s0) +/var/spool/mail(/.*)? gen_context(system_u:object_r:mail_spool_t,s0) diff --git a/mta.if b/mta.if -index ed81cac..7d1522c 100644 +index ed81cac..566684a 100644 --- a/mta.if +++ b/mta.if @@ -1,4 +1,4 @@ @@ -38033,7 +38138,7 @@ index ed81cac..7d1522c 100644 typeattribute $1 mailserver_domain; ') -@@ -374,6 +264,12 @@ interface(`mta_mailserver_delivery',` +@@ -374,6 +264,15 @@ interface(`mta_mailserver_delivery',` ') typeattribute $1 mailserver_delivery; @@ -38043,10 +38148,13 @@ index ed81cac..7d1522c 100644 + optional_policy(` + mta_rw_delivery_tcp_sockets($1) + ') ++ ++ userdom_filetrans_home_content($1) ++ ') ####################################### -@@ -394,6 +290,12 @@ interface(`mta_mailserver_user_agent',` +@@ -394,6 +293,12 @@ interface(`mta_mailserver_user_agent',` ') typeattribute $1 mta_user_agent; @@ -38059,7 +38167,7 @@ index ed81cac..7d1522c 100644 ') ######################################## -@@ -408,14 +310,19 @@ interface(`mta_mailserver_user_agent',` +@@ -408,14 +313,19 @@ interface(`mta_mailserver_user_agent',` # interface(`mta_send_mail',` gen_require(` @@ -38081,7 +38189,7 @@ index ed81cac..7d1522c 100644 ') ######################################## -@@ -445,18 +352,24 @@ interface(`mta_send_mail',` +@@ -445,18 +355,24 @@ interface(`mta_send_mail',` # interface(`mta_sendmail_domtrans',` gen_require(` @@ -38111,7 +38219,7 @@ index ed81cac..7d1522c 100644 ##
## ## -@@ -464,7 +377,6 @@ interface(`mta_sendmail_domtrans',` +@@ -464,7 +380,6 @@ interface(`mta_sendmail_domtrans',` ## ## # @@ -38119,7 +38227,7 @@ index ed81cac..7d1522c 100644 interface(`mta_signal_system_mail',` gen_require(` type system_mail_t; -@@ -475,7 +387,43 @@ interface(`mta_signal_system_mail',` +@@ -475,7 +390,43 @@ interface(`mta_signal_system_mail',` ######################################## ## @@ -38164,7 +38272,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -506,13 +454,32 @@ interface(`mta_sendmail_exec',` +@@ -506,13 +457,32 @@ interface(`mta_sendmail_exec',` type sendmail_exec_t; ') @@ -38199,7 +38307,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -528,13 +495,13 @@ interface(`mta_read_config',` +@@ -528,13 +498,13 @@ interface(`mta_read_config',` files_search_etc($1) allow $1 etc_mail_t:dir list_dir_perms; @@ -38216,7 +38324,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -548,33 +515,31 @@ interface(`mta_write_config',` +@@ -548,33 +518,31 @@ interface(`mta_write_config',` type etc_mail_t; ') @@ -38256,7 +38364,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -582,84 +547,66 @@ interface(`mta_read_aliases',` +@@ -582,84 +550,66 @@ interface(`mta_read_aliases',` ## ## # @@ -38357,7 +38465,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -674,14 +621,13 @@ interface(`mta_rw_aliases',` +@@ -674,14 +624,13 @@ interface(`mta_rw_aliases',` ') files_search_etc($1) @@ -38375,7 +38483,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -697,6 +643,25 @@ interface(`mta_dontaudit_rw_delivery_tcp_sockets',` +@@ -697,6 +646,25 @@ interface(`mta_dontaudit_rw_delivery_tcp_sockets',` dontaudit $1 mailserver_delivery:tcp_socket { read write }; ') @@ -38401,7 +38509,7 @@ index ed81cac..7d1522c 100644 ####################################### ## ## Connect to all mail servers over TCP. (Deprecated) -@@ -713,8 +678,8 @@ interface(`mta_tcp_connect_all_mailservers',` +@@ -713,8 +681,8 @@ interface(`mta_tcp_connect_all_mailservers',` ####################################### ## @@ -38412,7 +38520,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -732,7 +697,7 @@ interface(`mta_dontaudit_read_spool_symlinks',` +@@ -732,7 +700,7 @@ interface(`mta_dontaudit_read_spool_symlinks',` ######################################## ## @@ -38421,7 +38529,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -753,8 +718,8 @@ interface(`mta_getattr_spool',` +@@ -753,8 +721,8 @@ interface(`mta_getattr_spool',` ######################################## ## @@ -38432,7 +38540,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -775,9 +740,8 @@ interface(`mta_dontaudit_getattr_spool_files',` +@@ -775,9 +743,8 @@ interface(`mta_dontaudit_getattr_spool_files',` ####################################### ## @@ -38444,7 +38552,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -811,7 +775,7 @@ interface(`mta_spool_filetrans',` +@@ -811,7 +778,7 @@ interface(`mta_spool_filetrans',` ####################################### ## @@ -38453,7 +38561,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -819,10 +783,10 @@ interface(`mta_spool_filetrans',` +@@ -819,10 +786,10 @@ interface(`mta_spool_filetrans',` ## ## # @@ -38468,7 +38576,7 @@ index ed81cac..7d1522c 100644 files_search_spool($1) read_files_pattern($1, mail_spool_t, mail_spool_t) -@@ -830,7 +794,7 @@ interface(`mta_read_spool_files',` +@@ -830,7 +797,7 @@ interface(`mta_read_spool_files',` ######################################## ## @@ -38477,7 +38585,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -845,13 +809,14 @@ interface(`mta_rw_spool',` +@@ -845,13 +812,14 @@ interface(`mta_rw_spool',` files_search_spool($1) allow $1 mail_spool_t:dir list_dir_perms; @@ -38495,7 +38603,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -866,13 +831,14 @@ interface(`mta_append_spool',` +@@ -866,13 +834,14 @@ interface(`mta_append_spool',` files_search_spool($1) allow $1 mail_spool_t:dir list_dir_perms; @@ -38513,7 +38621,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -891,8 +857,7 @@ interface(`mta_delete_spool',` +@@ -891,8 +860,7 @@ interface(`mta_delete_spool',` ######################################## ## @@ -38523,7 +38631,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -911,45 +876,9 @@ interface(`mta_manage_spool',` +@@ -911,45 +879,9 @@ interface(`mta_manage_spool',` manage_lnk_files_pattern($1, mail_spool_t, mail_spool_t) ') @@ -38570,7 +38678,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -968,7 +897,7 @@ interface(`mta_search_queue',` +@@ -968,7 +900,7 @@ interface(`mta_search_queue',` ####################################### ## @@ -38579,7 +38687,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -981,13 +910,13 @@ interface(`mta_list_queue',` +@@ -981,13 +913,13 @@ interface(`mta_list_queue',` type mqueue_spool_t; ') @@ -38595,7 +38703,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -1000,14 +929,14 @@ interface(`mta_read_queue',` +@@ -1000,14 +932,14 @@ interface(`mta_read_queue',` type mqueue_spool_t; ') @@ -38612,7 +38720,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -1027,7 +956,7 @@ interface(`mta_dontaudit_rw_queue',` +@@ -1027,7 +959,7 @@ interface(`mta_dontaudit_rw_queue',` ######################################## ## ## Create, read, write, and delete @@ -38621,7 +38729,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -1047,6 +976,41 @@ interface(`mta_manage_queue',` +@@ -1047,6 +979,41 @@ interface(`mta_manage_queue',` ####################################### ## @@ -38663,7 +38771,7 @@ index ed81cac..7d1522c 100644 ## Read sendmail binary. ## ## -@@ -1055,6 +1019,7 @@ interface(`mta_manage_queue',` +@@ -1055,6 +1022,7 @@ interface(`mta_manage_queue',` ## ## # @@ -38671,7 +38779,7 @@ index ed81cac..7d1522c 100644 interface(`mta_read_sendmail_bin',` gen_require(` type sendmail_exec_t; -@@ -1065,8 +1030,8 @@ interface(`mta_read_sendmail_bin',` +@@ -1065,8 +1033,8 @@ interface(`mta_read_sendmail_bin',` ####################################### ## @@ -38682,7 +38790,7 @@ index ed81cac..7d1522c 100644 ## ## ## -@@ -1081,3 +1046,175 @@ interface(`mta_rw_user_mail_stream_sockets',` +@@ -1081,3 +1049,175 @@ interface(`mta_rw_user_mail_stream_sockets',` allow $1 user_mail_domain:unix_stream_socket rw_socket_perms; ') @@ -38859,7 +38967,7 @@ index ed81cac..7d1522c 100644 + mta_filetrans_admin_home_content($1) +') diff --git a/mta.te b/mta.te -index afd2fad..af79d2b 100644 +index afd2fad..a270fd4 100644 --- a/mta.te +++ b/mta.te @@ -1,4 +1,4 @@ @@ -39275,7 +39383,7 @@ index afd2fad..af79d2b 100644 files_search_var_lib(mailserver_delivery) mailman_domtrans(mailserver_delivery) -@@ -387,24 +276,166 @@ optional_policy(` +@@ -387,24 +276,165 @@ optional_policy(` ######################################## # @@ -39295,7 +39403,7 @@ index afd2fad..af79d2b 100644 +userdom_use_inherited_user_terminals(mta_user_agent) +# Create dead.letter in user home directories. +userdom_manage_user_home_content_files(user_mail_t) -+userdom_user_home_dir_filetrans_user_home_content(user_mail_t, file) ++userdom_filetrans_home_content(user_mail_t) +# for reading .forward - maybe we need a new type for it? +# also for delivering mail to maildir +userdom_manage_user_home_content_dirs(mailserver_delivery) @@ -39303,7 +39411,6 @@ index afd2fad..af79d2b 100644 +userdom_manage_user_home_content_symlinks(mailserver_delivery) +userdom_manage_user_home_content_pipes(mailserver_delivery) +userdom_manage_user_home_content_sockets(mailserver_delivery) -+userdom_user_home_dir_filetrans_user_home_content(mailserver_delivery, { dir file lnk_file fifo_file sock_file }) +allow mailserver_delivery mailserver_delivery:fifo_file rw_inherited_fifo_file_perms; + +# Read user temporary files. @@ -41646,7 +41753,7 @@ index 0000000..8d7c751 +') diff --git a/namespace.te b/namespace.te new file mode 100644 -index 0000000..f6ffaa3 +index 0000000..bac253c --- /dev/null +++ b/namespace.te @@ -0,0 +1,40 @@ @@ -41689,7 +41796,7 @@ index 0000000..f6ffaa3 +userdom_manage_user_home_content_files(namespace_init_t) +userdom_relabelto_user_home_dirs(namespace_init_t) +userdom_relabelto_user_home_files(namespace_init_t) -+userdom_user_home_dir_filetrans_user_home_content(namespace_init_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(namespace_init_t) diff --git a/ncftool.if b/ncftool.if index db9578f..4309e3d 100644 --- a/ncftool.if @@ -52100,7 +52207,7 @@ index 032a84d..be00a65 100644 + allow $1 policykit_auth_t:process signal; ') diff --git a/policykit.te b/policykit.te -index 49694e8..e426304 100644 +index 49694e8..3ad3019 100644 --- a/policykit.te +++ b/policykit.te @@ -1,4 +1,4 @@ @@ -52278,7 +52385,13 @@ index 49694e8..e426304 100644 kernel_dontaudit_search_kernel_sysctl(policykit_auth_t) dev_read_video_dev(policykit_auth_t) -@@ -162,48 +169,58 @@ auth_rw_var_auth(policykit_auth_t) +@@ -157,53 +164,64 @@ files_search_home(policykit_auth_t) + + fs_getattr_all_fs(policykit_auth_t) + fs_search_tmpfs(policykit_auth_t) ++fs_dontaudit_append_ecryptfs_files(policykit_auth_t) + + auth_rw_var_auth(policykit_auth_t) auth_use_nsswitch(policykit_auth_t) auth_domtrans_chk_passwd(policykit_auth_t) @@ -52347,7 +52460,7 @@ index 49694e8..e426304 100644 rw_files_pattern(policykit_grant_t, policykit_reload_t, policykit_reload_t) -@@ -211,23 +228,20 @@ manage_files_pattern(policykit_grant_t, policykit_var_run_t, policykit_var_run_t +@@ -211,23 +229,20 @@ manage_files_pattern(policykit_grant_t, policykit_var_run_t, policykit_var_run_t manage_files_pattern(policykit_grant_t, policykit_var_lib_t, policykit_var_lib_t) @@ -52374,7 +52487,7 @@ index 49694e8..e426304 100644 optional_policy(` consolekit_dbus_chat(policykit_grant_t) ') -@@ -235,26 +249,28 @@ optional_policy(` +@@ -235,26 +250,28 @@ optional_policy(` ######################################## # @@ -52409,7 +52522,7 @@ index 49694e8..e426304 100644 userdom_read_all_users_state(policykit_resolve_t) optional_policy(` -@@ -266,6 +282,7 @@ optional_policy(` +@@ -266,6 +283,7 @@ optional_policy(` ') optional_policy(` @@ -54016,7 +54129,7 @@ index 2e23946..41da729 100644 + postfix_config_filetrans($1, postfix_prng_t, file, "prng_exch") ') diff --git a/postfix.te b/postfix.te -index 191a66f..2178086 100644 +index 191a66f..b11469c 100644 --- a/postfix.te +++ b/postfix.te @@ -1,4 +1,4 @@ @@ -54862,7 +54975,7 @@ index 191a66f..2178086 100644 +userdom_manage_user_home_content(postfix_virtual_t) userdom_home_filetrans_user_home_dir(postfix_virtual_t) -userdom_user_home_dir_filetrans_user_home_content(postfix_virtual_t, { file dir }) -+userdom_user_home_dir_filetrans_user_home_content(postfix_virtual_t, {file dir }) ++userdom_filetrans_home_content(postfix_virtual_t) + +######################################## +# @@ -56797,7 +56910,7 @@ index 00edeab..166e9c3 100644 + read_files_pattern($1, procmail_home_t, procmail_home_t) ') diff --git a/procmail.te b/procmail.te -index d447152..c166238 100644 +index d447152..6f83f03 100644 --- a/procmail.te +++ b/procmail.te @@ -1,4 +1,4 @@ @@ -56905,7 +57018,7 @@ index d447152..c166238 100644 +userdom_manage_user_home_content_symlinks(procmail_t) +userdom_manage_user_home_content_pipes(procmail_t) +userdom_manage_user_home_content_sockets(procmail_t) -+userdom_user_home_dir_filetrans_user_home_content(procmail_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(procmail_t) + +# Execute user executables +userdom_exec_user_bin_files(procmail_t) @@ -65986,7 +66099,7 @@ index 3bd6446..a61764b 100644 + allow $1 var_lib_nfs_t:file relabel_file_perms; ') diff --git a/rpc.te b/rpc.te -index e5212e6..66ec108 100644 +index e5212e6..37860b7 100644 --- a/rpc.te +++ b/rpc.te @@ -1,4 +1,4 @@ @@ -66251,7 +66364,7 @@ index e5212e6..66ec108 100644 miscfiles_read_public_files(nfsd_t) -tunable_policy(`allow_nfsd_anon_write',` -+userdom_user_home_dir_filetrans_user_home_content(nfsd_t, { file dir }) ++userdom_filetrans_home_content(nfsd_t) +userdom_list_user_tmp(nfsd_t) + +# Write access to public_content_t and public_content_rw_t @@ -66515,10 +66628,10 @@ index c49828c..a323332 100644 sysnet_dns_name_resolve(rpcbind_t) diff --git a/rpm.fc b/rpm.fc -index ebe91fc..db87bca 100644 +index ebe91fc..cba31f2 100644 --- a/rpm.fc +++ b/rpm.fc -@@ -1,61 +1,67 @@ +@@ -1,61 +1,68 @@ -/bin/rpm -- gen_context(system_u:object_r:rpm_exec_t,s0) -/etc/rc\.d/init\.d/bcfg2 -- gen_context(system_u:object_r:rpm_initrc_exec_t,s0) @@ -66540,6 +66653,7 @@ index ebe91fc..db87bca 100644 + +/bin/yum-builddep -- gen_context(system_u:object_r:rpm_exec_t,s0) +/usr/bin/yum -- gen_context(system_u:object_r:rpm_exec_t,s0) ++/usr/bin/yum-builddep -- gen_context(system_u:object_r:rpm_exec_t,s0) +/usr/bin/zif -- gen_context(system_u:object_r:rpm_exec_t,s0) /usr/libexec/packagekitd -- gen_context(system_u:object_r:rpm_exec_t,s0) @@ -67773,17 +67887,19 @@ index d1fd97f..7ee8502 100644 - -miscfiles_read_localization(rssh_chroot_helper_t) diff --git a/rsync.fc b/rsync.fc -index d25301b..2d77839 100644 +index d25301b..d92f567 100644 --- a/rsync.fc +++ b/rsync.fc -@@ -1,6 +1,6 @@ +@@ -1,7 +1,7 @@ /etc/rsyncd\.conf -- gen_context(system_u:object_r:rsync_etc_t, s0) -/usr/bin/rsync -- gen_context(system_u:object_r:rsync_exec_t,s0) +/usr/bin/rsync -- gen_context(system_u:object_r:rsync_exec_t,s0) - /var/log/rsync\.log.* -- gen_context(system_u:object_r:rsync_log_t,s0) +-/var/log/rsync\.log.* -- gen_context(system_u:object_r:rsync_log_t,s0) ++/var/log/rsync.* gen_context(system_u:object_r:rsync_log_t,s0) + /var/run/rsyncd\.lock -- gen_context(system_u:object_r:rsync_var_run_t,s0) diff --git a/rsync.if b/rsync.if index f1140ef..c5bd83a 100644 --- a/rsync.if @@ -69321,7 +69437,7 @@ index aee75af..a6bab06 100644 + allow $1 samba_unit_file_t:service all_service_perms; ') diff --git a/samba.te b/samba.te -index 57c034b..055c3c5 100644 +index 57c034b..b2eac61 100644 --- a/samba.te +++ b/samba.te @@ -1,4 +1,4 @@ @@ -69854,7 +69970,7 @@ index 57c034b..055c3c5 100644 lpd_exec_lpr(smbd_t) ') -@@ -493,9 +476,34 @@ optional_policy(` +@@ -493,9 +476,33 @@ optional_policy(` udev_read_db(smbd_t) ') @@ -69880,8 +69996,7 @@ index 57c034b..055c3c5 100644 + fs_manage_noxattr_fs_files(nmbd_t) + files_manage_non_security_files(nmbd_t) +') -+ -+userdom_user_home_dir_filetrans_user_home_content(nmbd_t, { file dir }) ++userdom_filetrans_home_content(nmbd_t) + ######################################## # @@ -69890,7 +70005,7 @@ index 57c034b..055c3c5 100644 # dontaudit nmbd_t self:capability sys_tty_config; -@@ -506,9 +514,11 @@ allow nmbd_t self:msg { send receive }; +@@ -506,9 +513,11 @@ allow nmbd_t self:msg { send receive }; allow nmbd_t self:msgq create_msgq_perms; allow nmbd_t self:sem create_sem_perms; allow nmbd_t self:shm create_shm_perms; @@ -69905,7 +70020,7 @@ index 57c034b..055c3c5 100644 manage_dirs_pattern(nmbd_t, { smbd_var_run_t nmbd_var_run_t }, nmbd_var_run_t) manage_files_pattern(nmbd_t, nmbd_var_run_t, nmbd_var_run_t) -@@ -520,20 +530,14 @@ read_files_pattern(nmbd_t, samba_etc_t, samba_etc_t) +@@ -520,20 +529,15 @@ read_files_pattern(nmbd_t, samba_etc_t, samba_etc_t) read_lnk_files_pattern(nmbd_t, samba_etc_t, samba_etc_t) manage_dirs_pattern(nmbd_t, samba_log_t, samba_log_t) @@ -69914,8 +70029,9 @@ index 57c034b..055c3c5 100644 -setattr_files_pattern(nmbd_t, samba_log_t, samba_log_t) +manage_files_pattern(nmbd_t, samba_log_t, samba_log_t) - manage_files_pattern(nmbd_t, samba_var_t, samba_var_t) -manage_files_pattern(nmbd_t, samba_var_t, samba_var_t) ++manage_dirs_pattern(nmbd_t, samba_var_t, samba_var_t) + manage_files_pattern(nmbd_t, samba_var_t, samba_var_t) manage_lnk_files_pattern(nmbd_t, samba_var_t, samba_var_t) manage_sock_files_pattern(nmbd_t, samba_var_t, samba_var_t) -files_var_filetrans(nmbd_t, samba_var_t, dir, "nmbd") @@ -70013,11 +70129,11 @@ index 57c034b..055c3c5 100644 -read_files_pattern(smbcontrol_t, { nmbd_var_run_t smbd_var_run_t }, { nmbd_var_run_t smbd_var_run_t }) +allow smbcontrol_t nmbd_t:process { signal signull }; +read_files_pattern(smbcontrol_t, nmbd_var_run_t, nmbd_var_run_t) -+ + +allow smbcontrol_t smbd_t:process { signal signull }; +read_files_pattern(smbcontrol_t, smbd_var_run_t, smbd_var_run_t) +allow smbcontrol_t winbind_t:process { signal signull }; - ++ +files_search_var_lib(smbcontrol_t) samba_read_config(smbcontrol_t) samba_rw_var_files(smbcontrol_t) @@ -70374,7 +70490,7 @@ index 57c034b..055c3c5 100644 fs_getattr_all_fs(winbind_t) fs_search_auto_mountpoints(winbind_t) -@@ -917,11 +912,17 @@ auth_domtrans_chk_passwd(winbind_t) +@@ -917,18 +912,24 @@ auth_domtrans_chk_passwd(winbind_t) auth_use_nsswitch(winbind_t) auth_manage_cache(winbind_t) @@ -70393,6 +70509,14 @@ index 57c034b..055c3c5 100644 userdom_dontaudit_use_unpriv_user_fds(winbind_t) userdom_manage_user_home_content_dirs(winbind_t) userdom_manage_user_home_content_files(winbind_t) + userdom_manage_user_home_content_symlinks(winbind_t) + userdom_manage_user_home_content_pipes(winbind_t) + userdom_manage_user_home_content_sockets(winbind_t) +-userdom_user_home_dir_filetrans_user_home_content(winbind_t, { dir file lnk_file fifo_file sock_file }) ++userdom_filetrans_home_content(winbind_t) + + optional_policy(` + ctdbd_stream_connect(winbind_t) @@ -936,6 +937,10 @@ optional_policy(` ') @@ -75307,7 +75431,7 @@ index e9bd097..80c9e56 100644 +/usr/bin/pyzor -- gen_context(system_u:object_r:spamc_exec_t,s0) +/usr/bin/pyzord -- gen_context(system_u:object_r:spamd_exec_t,s0) diff --git a/spamassassin.if b/spamassassin.if -index 1499b0b..82fc7f6 100644 +index 1499b0b..3052bd2 100644 --- a/spamassassin.if +++ b/spamassassin.if @@ -2,39 +2,45 @@ @@ -75659,7 +75783,7 @@ index 1499b0b..82fc7f6 100644 ## ## ## -@@ -348,19 +323,19 @@ interface(`spamassassin_dontaudit_getattr_spamd_tmp_sockets',` +@@ -348,19 +323,60 @@ interface(`spamassassin_dontaudit_getattr_spamd_tmp_sockets',` ## ## # @@ -75675,6 +75799,47 @@ index 1499b0b..82fc7f6 100644 + read_files_pattern($1, spamd_var_run_t, spamd_var_run_t) ') ++###################################### ++## ++## Transition to spamassassin named content ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`spamassassin_filetrans_home_content',` ++ gen_require(` ++ type spamc_home_t; ++ ') ++ ++ userdom_user_home_dir_filetrans($1, spamc_home_t, dir, ".pyzor") ++ userdom_user_home_dir_filetrans($1, spamc_home_t, file, ".spamassassin") ++ userdom_user_home_dir_filetrans($1, spamc_home_t, dir, ".spamd") ++') ++ ++###################################### ++## ++## Transition to spamassassin named content ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`spamassassin_filetrans_admin_home_content',` ++ gen_require(` ++ type spamc_home_t; ++ ') ++ ++ userdom_admin_home_dir_filetrans($1, spamc_home_t, dir, ".pyzor") ++ userdom_admin_home_dir_filetrans($1, spamc_home_t, file, ".spamassassin") ++ userdom_admin_home_dir_filetrans($1, spamc_home_t, dir, ".spamd") ++') ++ ++ ######################################## ## -## All of the rules required to @@ -75684,7 +75849,7 @@ index 1499b0b..82fc7f6 100644 ## ## ## -@@ -369,20 +344,23 @@ interface(`spamassassin_stream_connect_spamd',` +@@ -369,20 +385,22 @@ interface(`spamassassin_stream_connect_spamd',` ## ## ## @@ -75692,7 +75857,7 @@ index 1499b0b..82fc7f6 100644 +## The role to be allowed to manage the spamassassin domain. ## ## - ## +-## # -interface(`spamassassin_admin',` +interface(`spamassassin_spamd_admin',` @@ -75711,7 +75876,7 @@ index 1499b0b..82fc7f6 100644 init_labeled_script_domtrans($1, spamd_initrc_exec_t) domain_system_change_exemption($1) -@@ -403,6 +381,4 @@ interface(`spamassassin_admin',` +@@ -403,6 +421,4 @@ interface(`spamassassin_admin',` files_list_pids($1) admin_pattern($1, spamd_var_run_t) @@ -75719,7 +75884,7 @@ index 1499b0b..82fc7f6 100644 - spamassassin_role($2, $1) ') diff --git a/spamassassin.te b/spamassassin.te -index 4faa7e0..3a3ac18 100644 +index 4faa7e0..1485a62 100644 --- a/spamassassin.te +++ b/spamassassin.te @@ -1,4 +1,4 @@ @@ -75798,7 +75963,7 @@ index 4faa7e0..3a3ac18 100644 type spamd_initrc_exec_t; init_script_file(spamd_initrc_exec_t) -@@ -72,87 +39,198 @@ type spamd_log_t; +@@ -72,87 +39,196 @@ type spamd_log_t; logging_log_file(spamd_log_t) type spamd_spool_t; @@ -75925,7 +76090,6 @@ index 4faa7e0..3a3ac18 100644 manage_fifo_files_pattern(spamassassin_t, spamassassin_home_t, spamassassin_home_t) manage_sock_files_pattern(spamassassin_t, spamassassin_home_t, spamassassin_home_t) -userdom_user_home_dir_filetrans(spamassassin_t, spamassassin_home_t, dir, ".spamassassin") -+userdom_user_home_dir_filetrans(spamassassin_t, spamassassin_home_t, { dir file lnk_file sock_file fifo_file }) manage_dirs_pattern(spamassassin_t, spamassassin_tmp_t, spamassassin_tmp_t) manage_files_pattern(spamassassin_t, spamassassin_tmp_t, spamassassin_tmp_t) @@ -75936,7 +76100,6 @@ index 4faa7e0..3a3ac18 100644 +manage_lnk_files_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) +manage_fifo_files_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) +manage_sock_files_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) -+userdom_user_home_dir_filetrans(spamd_t, spamassassin_home_t, { dir file lnk_file sock_file fifo_file }) +userdom_home_manager(spamassassin_t) + kernel_read_kernel_sysctls(spamassassin_t) @@ -76019,7 +76182,7 @@ index 4faa7e0..3a3ac18 100644 nis_use_ypbind_uncond(spamassassin_t) ') ') -@@ -160,6 +238,8 @@ optional_policy(` +@@ -160,6 +236,8 @@ optional_policy(` optional_policy(` mta_read_config(spamassassin_t) sendmail_stub(spamassassin_t) @@ -76028,7 +76191,7 @@ index 4faa7e0..3a3ac18 100644 ') ######################################## -@@ -167,72 +247,87 @@ optional_policy(` +@@ -167,72 +245,85 @@ optional_policy(` # Client local policy # @@ -76067,11 +76230,9 @@ index 4faa7e0..3a3ac18 100644 +manage_lnk_files_pattern(spamc_t, spamc_home_t, spamc_home_t) +manage_fifo_files_pattern(spamc_t, spamc_home_t, spamc_home_t) +manage_sock_files_pattern(spamc_t, spamc_home_t, spamc_home_t) -+userdom_user_home_dir_filetrans(spamc_t, spamc_home_t, { dir file lnk_file sock_file fifo_file }) +userdom_append_user_home_content_files(spamc_t) +# for /root/.pyzor +allow spamc_t self:capability dac_override; -+userdom_admin_home_dir_filetrans(spamc_t, spamc_home_t , dir, ".pyzor") list_dirs_pattern(spamc_t, spamd_var_lib_t, spamd_var_lib_t) read_files_pattern(spamc_t, spamd_var_lib_t, spamd_var_lib_t) @@ -76147,7 +76308,7 @@ index 4faa7e0..3a3ac18 100644 optional_policy(` abrt_stream_connect(spamc_t) -@@ -243,6 +338,7 @@ optional_policy(` +@@ -243,6 +334,7 @@ optional_policy(` ') optional_policy(` @@ -76155,7 +76316,7 @@ index 4faa7e0..3a3ac18 100644 evolution_stream_connect(spamc_t) ') -@@ -251,52 +347,55 @@ optional_policy(` +@@ -251,52 +343,55 @@ optional_policy(` ') optional_policy(` @@ -76236,7 +76397,7 @@ index 4faa7e0..3a3ac18 100644 logging_log_filetrans(spamd_t, spamd_log_t, file) manage_dirs_pattern(spamd_t, spamd_spool_t, spamd_spool_t) -@@ -308,6 +407,7 @@ manage_dirs_pattern(spamd_t, spamd_tmp_t, spamd_tmp_t) +@@ -308,6 +403,7 @@ manage_dirs_pattern(spamd_t, spamd_tmp_t, spamd_tmp_t) manage_files_pattern(spamd_t, spamd_tmp_t, spamd_tmp_t) files_tmp_filetrans(spamd_t, spamd_tmp_t, { file dir }) @@ -76244,7 +76405,7 @@ index 4faa7e0..3a3ac18 100644 allow spamd_t spamd_var_lib_t:dir list_dir_perms; manage_files_pattern(spamd_t, spamd_var_lib_t, spamd_var_lib_t) manage_lnk_files_pattern(spamd_t, spamd_var_lib_t, spamd_var_lib_t) -@@ -317,12 +417,13 @@ manage_files_pattern(spamd_t, spamd_var_run_t, spamd_var_run_t) +@@ -317,12 +413,13 @@ manage_files_pattern(spamd_t, spamd_var_run_t, spamd_var_run_t) manage_sock_files_pattern(spamd_t, spamd_var_run_t, spamd_var_run_t) files_pid_filetrans(spamd_t, spamd_var_run_t, { file dir }) @@ -76260,7 +76421,7 @@ index 4faa7e0..3a3ac18 100644 corenet_all_recvfrom_netlabel(spamd_t) corenet_tcp_sendrecv_generic_if(spamd_t) corenet_udp_sendrecv_generic_if(spamd_t) -@@ -331,78 +432,58 @@ corenet_udp_sendrecv_generic_node(spamd_t) +@@ -331,78 +428,58 @@ corenet_udp_sendrecv_generic_node(spamd_t) corenet_tcp_sendrecv_all_ports(spamd_t) corenet_udp_sendrecv_all_ports(spamd_t) corenet_tcp_bind_generic_node(spamd_t) @@ -76363,7 +76524,7 @@ index 4faa7e0..3a3ac18 100644 ') optional_policy(` -@@ -421,21 +502,13 @@ optional_policy(` +@@ -421,21 +498,13 @@ optional_policy(` ') optional_policy(` @@ -76387,7 +76548,7 @@ index 4faa7e0..3a3ac18 100644 ') optional_policy(` -@@ -443,8 +516,8 @@ optional_policy(` +@@ -443,8 +512,8 @@ optional_policy(` ') optional_policy(` @@ -76397,7 +76558,7 @@ index 4faa7e0..3a3ac18 100644 ') optional_policy(` -@@ -455,7 +528,12 @@ optional_policy(` +@@ -455,7 +524,12 @@ optional_policy(` optional_policy(` razor_domtrans(spamd_t) razor_read_lib_files(spamd_t) @@ -76411,7 +76572,7 @@ index 4faa7e0..3a3ac18 100644 ') optional_policy(` -@@ -463,9 +541,9 @@ optional_policy(` +@@ -463,9 +537,9 @@ optional_policy(` ') optional_policy(` @@ -76422,7 +76583,7 @@ index 4faa7e0..3a3ac18 100644 ') optional_policy(` -@@ -474,32 +552,32 @@ optional_policy(` +@@ -474,32 +548,32 @@ optional_policy(` ######################################## # @@ -76465,7 +76626,7 @@ index 4faa7e0..3a3ac18 100644 corecmd_exec_bin(spamd_update_t) corecmd_exec_shell(spamd_update_t) -@@ -508,25 +586,21 @@ dev_read_urand(spamd_update_t) +@@ -508,25 +582,21 @@ dev_read_urand(spamd_update_t) domain_use_interactive_fds(spamd_update_t) @@ -78635,7 +78796,7 @@ index 42946bc..95a9aa3 100644 + can_exec($1, telepathy_executable) ') diff --git a/telepathy.te b/telepathy.te -index e9c0964..6e84ad8 100644 +index e9c0964..20a31da 100644 --- a/telepathy.te +++ b/telepathy.te @@ -1,29 +1,28 @@ @@ -78678,7 +78839,7 @@ index e9c0964..6e84ad8 100644 telepathy_domain_template(gabble) -@@ -67,176 +66,145 @@ userdom_user_home_content(telepathy_sunshine_home_t) +@@ -67,176 +66,144 @@ userdom_user_home_content(telepathy_sunshine_home_t) ####################################### # @@ -78868,7 +79029,6 @@ index e9c0964..6e84ad8 100644 manage_dirs_pattern(telepathy_mission_control_t, telepathy_mission_control_home_t, telepathy_mission_control_home_t) manage_files_pattern(telepathy_mission_control_t, telepathy_mission_control_home_t, telepathy_mission_control_home_t) -userdom_user_home_dir_filetrans(telepathy_mission_control_t, telepathy_mission_control_home_t, dir, ".mission-control") -+userdom_user_home_dir_filetrans(telepathy_mission_control_t, telepathy_mission_control_home_t, { dir file }) +userdom_search_user_home_dirs(telepathy_mission_control_t) -manage_dirs_pattern(telepathy_mission_control_t, telepathy_mission_control_data_home_t, telepathy_mission_control_data_home_t) @@ -78904,7 +79064,7 @@ index e9c0964..6e84ad8 100644 optional_policy(` dbus_system_bus_client(telepathy_mission_control_t) -@@ -245,59 +213,51 @@ optional_policy(` +@@ -245,59 +212,51 @@ optional_policy(` devicekit_dbus_chat_power(telepathy_mission_control_t) ') optional_policy(` @@ -78979,7 +79139,7 @@ index e9c0964..6e84ad8 100644 init_read_state(telepathy_msn_t) -@@ -307,18 +267,19 @@ logging_send_syslog_msg(telepathy_msn_t) +@@ -307,18 +266,19 @@ logging_send_syslog_msg(telepathy_msn_t) miscfiles_read_all_certs(telepathy_msn_t) @@ -79004,7 +79164,7 @@ index e9c0964..6e84ad8 100644 ') optional_policy(` -@@ -329,43 +290,33 @@ optional_policy(` +@@ -329,43 +289,33 @@ optional_policy(` ') ') @@ -79053,7 +79213,7 @@ index e9c0964..6e84ad8 100644 ') optional_policy(` -@@ -378,73 +329,53 @@ optional_policy(` +@@ -378,73 +328,53 @@ optional_policy(` ####################################### # @@ -79137,7 +79297,7 @@ index e9c0964..6e84ad8 100644 optional_policy(` xserver_read_xdm_pid(telepathy_sunshine_t) xserver_stream_connect(telepathy_sunshine_t) -@@ -452,31 +383,39 @@ optional_policy(` +@@ -452,31 +382,39 @@ optional_policy(` ####################################### # @@ -80208,7 +80368,7 @@ index 0000000..aaf768a + corenet_dontaudit_udp_bind_generic_node(thumb_t) +') diff --git a/thunderbird.te b/thunderbird.te -index 4257ede..5b3949a 100644 +index 4257ede..fc265b8 100644 --- a/thunderbird.te +++ b/thunderbird.te @@ -53,7 +53,6 @@ kernel_read_system_state(thunderbird_t) @@ -80235,7 +80395,14 @@ index 4257ede..5b3949a 100644 userdom_write_user_tmp_sockets(thunderbird_t) -@@ -113,17 +110,8 @@ xserver_user_x_domain_template(thunderbird, thunderbird_t, thunderbird_tmpfs_t) +@@ -107,23 +104,14 @@ userdom_manage_user_tmp_files(thunderbird_t) + + userdom_manage_user_home_content_dirs(thunderbird_t) + userdom_manage_user_home_content_files(thunderbird_t) +-userdom_user_home_dir_filetrans_user_home_content(thunderbird_t, { dir file }) ++userdom_filetrans_home_content(thunderbird_t) + + xserver_user_x_domain_template(thunderbird, thunderbird_t, thunderbird_tmpfs_t) xserver_read_xdm_tmp_files(thunderbird_t) xserver_dontaudit_getattr_xdm_tmp_sockets(thunderbird_t) @@ -81185,11 +81352,47 @@ index 7116181..9815e42 100644 optional_policy(` sysnet_domtrans_ifconfig(tuned_t) ') +diff --git a/tvtime.if b/tvtime.if +index 1bb0f7c..372be2f 100644 +--- a/tvtime.if ++++ b/tvtime.if +@@ -1,5 +1,23 @@ + ## High quality television application. + ++####################################### ++## ++## Transition to alsa named content ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`tvtime_filetrans_home_content',` ++ gen_require(` ++ type tvtime_home_t; ++ ') ++ ++ userdom_user_home_dir_filetrans($1, tvtime_home_t, dir, ".tvtime") ++') ++ + ######################################## + ## + ## Role access for tvtime diff --git a/tvtime.te b/tvtime.te -index 3292fcc..3cc43ed 100644 +index 3292fcc..20099b0 100644 --- a/tvtime.te +++ b/tvtime.te -@@ -61,7 +61,6 @@ dev_read_realtime_clock(tvtime_t) +@@ -42,7 +42,6 @@ allow tvtime_t self:unix_stream_socket rw_stream_socket_perms; + manage_dirs_pattern(tvtime_t, tvtime_home_t, tvtime_home_t) + manage_files_pattern(tvtime_t, tvtime_home_t, tvtime_home_t) + manage_lnk_files_pattern(tvtime_t, tvtime_home_t, tvtime_home_t) +-userdom_user_home_dir_filetrans(tvtime_t, tvtime_home_t, dir) + + manage_dirs_pattern(tvtime_t, tvtime_tmp_t, tvtime_tmp_t) + manage_files_pattern(tvtime_t, tvtime_tmp_t, tvtime_tmp_t) +@@ -61,7 +60,6 @@ dev_read_realtime_clock(tvtime_t) dev_read_sound(tvtime_t) dev_read_urand(tvtime_t) @@ -81197,7 +81400,7 @@ index 3292fcc..3cc43ed 100644 fs_getattr_all_fs(tvtime_t) fs_search_auto_mountpoints(tvtime_t) -@@ -69,21 +68,12 @@ fs_search_auto_mountpoints(tvtime_t) +@@ -69,21 +67,12 @@ fs_search_auto_mountpoints(tvtime_t) auth_use_nsswitch(tvtime_t) miscfiles_read_fonts(tvtime_t) @@ -86884,7 +87087,7 @@ index b51923c..bdbac3a 100644 tunable_policy(`wine_mmap_zero_ignore',` dontaudit wine_t self:memprotect mmap_zero; diff --git a/wireshark.te b/wireshark.te -index cf5cab6..d379bd6 100644 +index cf5cab6..a2d910f 100644 --- a/wireshark.te +++ b/wireshark.te @@ -34,7 +34,7 @@ userdom_user_tmpfs_file(wireshark_tmpfs_t) @@ -86929,7 +87132,7 @@ index cf5cab6..d379bd6 100644 - fs_manage_cifs_files(wireshark_t) - fs_manage_cifs_symlinks(wireshark_t) -') -+userdom_user_home_dir_filetrans_user_home_content(wireshark_t, file) ++userdom_filetrans_home_content(wireshark_t) -optional_policy(` - seutil_use_newrole_fds(wireshark_t) diff --git a/selinux-policy.spec b/selinux-policy.spec index 66bfbda..dcc697a 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -19,7 +19,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 3.12.1 -Release: 15%{?dist} +Release: 16%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -528,6 +528,52 @@ SELinux Reference policy mls base module. %endif %changelog +* Wed Feb 27 2013 Miroslav Grepl 3.12.1-16 +- Fix authconfig.py labeling +- Make any domains that write homedir content do it correctly +- Allow glusterd to read/write anyhwere on the file system by default +- Be a little more liberal with the rsync log files +- Fix iscsi_admin interface +- Allow iscsid_t to read /dev/urand +- Fix up iscsi domain for use with unit files +- Add filename transition support for spamassassin policy +- Allow web plugins to use badly formated libraries +- Allow nmbd_t to create samba_var_t directories +- Add filename transition support for spamassassin policy +- Add filename transition support for tvtime +- Fix alsa_home_filetrans_alsa_home() interface +- Move all userdom_filetrans_home_content() calling out of booleans +- Allow logrotote to getattr on all file sytems +- Remove duplicate userdom_filetrans_home_content() calling +- Allow kadmind to read /etc/passwd +- Dontaudit append .xsession-errors file on ecryptfs for policykit-auth +- Allow antivirus domain to manage antivirus db links +- Allow logrotate to read /sys +- Allow mandb to setattr on man dirs +- Remove mozilla_plugin_enable_homedirs boolean +- Fix ftp_home_dir boolean +- homedir mozilla filetrans has been moved to userdom_home_manager +- homedir telepathy filetrans has been moved to userdom_home_manager +- Remove gnome_home_dir_filetrans() from gnome_role_gkeyringd() +- Might want to eventually write a daemon on fusefsd. +- Add policy fixes for sshd [net] child from plautrba@redhat.com +- Tor uses a new port +- Remove bin_t for authconfig.py +- Fix so only one call to userdom_home_file_trans +- Allow home_manager_types to create content with the correctl label +- Fix all domains that write data into the homedir to do it with the correct label +- Change the postgresql to use proper boolean names, which is causing httpd_t to +- not get access to postgresql_var_run_t +- Hostname needs to send syslog messages +- Localectl needs to be able to send dbus signals to users +- Make sure userdom_filetrans_type will create files/dirs with user_home_t labeling by default +- Allow user_home_manger domains to create spam* homedir content with correct labeling +- Allow user_home_manger domains to create HOMEDIR/.tvtime with correct labeling +- Add missing miscfiles_setattr_man_pages() interface and for now comment some rules for userdom_filetrans_type to make build process working +- Declare userdom_filetrans_type attribute +- userdom_manage_home_role() needs to be called withoout usertype attribute because of userdom_filetrans_type attribute +- fusefsd is mounding a fuse file system on /run/user/UID/gvfs + * Thu Feb 21 2013 Miroslav Grepl 3.12.1-15 - Man pages are now generated in the build process - Allow cgred to list inotifyfs filesystem