diff --git a/docker-selinux.tgz b/docker-selinux.tgz index a4140f2..d27bd89 100644 Binary files a/docker-selinux.tgz and b/docker-selinux.tgz differ diff --git a/policy-f24-base.patch b/policy-f24-base.patch index 3bc8868..eccd46a 100644 --- a/policy-f24-base.patch +++ b/policy-f24-base.patch @@ -2896,7 +2896,7 @@ index 99e3903..fa68362 100644 ## ## diff --git a/policy/modules/admin/usermanage.te b/policy/modules/admin/usermanage.te -index 1d732f1..f6ff7aa 100644 +index 1d732f1..47af4c3 100644 --- a/policy/modules/admin/usermanage.te +++ b/policy/modules/admin/usermanage.te @@ -26,6 +26,7 @@ type chfn_exec_t; @@ -3125,7 +3125,7 @@ index 1d732f1..f6ff7aa 100644 userdom_use_unpriv_users_fds(passwd_t) # make sure that getcon succeeds userdom_getattr_all_users(passwd_t) -@@ -352,6 +383,18 @@ userdom_read_user_tmp_files(passwd_t) +@@ -352,6 +383,19 @@ userdom_read_user_tmp_files(passwd_t) # user generally runs this from their home directory, so do not audit a search # on user home dir userdom_dontaudit_search_user_home_content(passwd_t) @@ -3134,6 +3134,7 @@ index 1d732f1..f6ff7aa 100644 + +# needed by gnome-keyring +userdom_manage_user_tmp_files(passwd_t) ++userdom_manage_user_tmp_dirs(passwd_t) + +optional_policy(` + gnome_exec_keyringd(passwd_t) @@ -3144,7 +3145,7 @@ index 1d732f1..f6ff7aa 100644 optional_policy(` nscd_run(passwd_t, passwd_roles) -@@ -401,9 +444,10 @@ dev_read_urand(sysadm_passwd_t) +@@ -401,9 +445,10 @@ dev_read_urand(sysadm_passwd_t) fs_getattr_xattr_fs(sysadm_passwd_t) fs_search_auto_mountpoints(sysadm_passwd_t) @@ -3157,7 +3158,7 @@ index 1d732f1..f6ff7aa 100644 auth_manage_shadow(sysadm_passwd_t) auth_relabel_shadow(sysadm_passwd_t) auth_etc_filetrans_shadow(sysadm_passwd_t) -@@ -416,7 +460,6 @@ files_read_usr_files(sysadm_passwd_t) +@@ -416,7 +461,6 @@ files_read_usr_files(sysadm_passwd_t) domain_use_interactive_fds(sysadm_passwd_t) @@ -3165,7 +3166,7 @@ index 1d732f1..f6ff7aa 100644 files_relabel_etc_files(sysadm_passwd_t) files_read_etc_runtime_files(sysadm_passwd_t) # for nscd lookups -@@ -426,12 +469,9 @@ files_dontaudit_search_pids(sysadm_passwd_t) +@@ -426,12 +470,9 @@ files_dontaudit_search_pids(sysadm_passwd_t) # correctly without it. Do not audit write denials to utmp. init_dontaudit_rw_utmp(sysadm_passwd_t) @@ -3178,7 +3179,7 @@ index 1d732f1..f6ff7aa 100644 userdom_use_unpriv_users_fds(sysadm_passwd_t) # user generally runs this from their home directory, so do not audit a search # on user home dir -@@ -446,7 +486,8 @@ optional_policy(` +@@ -446,7 +487,8 @@ optional_policy(` # Useradd local policy # @@ -3188,7 +3189,7 @@ index 1d732f1..f6ff7aa 100644 dontaudit useradd_t self:capability sys_tty_config; allow useradd_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; allow useradd_t self:process setfscreate; -@@ -461,6 +502,10 @@ allow useradd_t self:unix_stream_socket create_stream_socket_perms; +@@ -461,6 +503,10 @@ allow useradd_t self:unix_stream_socket create_stream_socket_perms; allow useradd_t self:unix_dgram_socket sendto; allow useradd_t self:unix_stream_socket connectto; @@ -3199,7 +3200,7 @@ index 1d732f1..f6ff7aa 100644 # for getting the number of groups kernel_read_kernel_sysctls(useradd_t) -@@ -468,29 +513,28 @@ corecmd_exec_shell(useradd_t) +@@ -468,29 +514,28 @@ corecmd_exec_shell(useradd_t) # Execute /usr/bin/{passwd,chfn,chsh} and /usr/sbin/{useradd,vipw}. corecmd_exec_bin(useradd_t) @@ -3239,7 +3240,7 @@ index 1d732f1..f6ff7aa 100644 auth_run_chk_passwd(useradd_t, useradd_roles) auth_rw_lastlog(useradd_t) -@@ -498,6 +542,7 @@ auth_rw_faillog(useradd_t) +@@ -498,6 +543,7 @@ auth_rw_faillog(useradd_t) auth_use_nsswitch(useradd_t) # these may be unnecessary due to the above # domtrans_chk_passwd() call. @@ -3247,7 +3248,7 @@ index 1d732f1..f6ff7aa 100644 auth_manage_shadow(useradd_t) auth_relabel_shadow(useradd_t) auth_etc_filetrans_shadow(useradd_t) -@@ -508,33 +553,32 @@ init_rw_utmp(useradd_t) +@@ -508,33 +554,32 @@ init_rw_utmp(useradd_t) logging_send_audit_msgs(useradd_t) logging_send_syslog_msg(useradd_t) @@ -3292,7 +3293,7 @@ index 1d732f1..f6ff7aa 100644 optional_policy(` apache_manage_all_user_content(useradd_t) ') -@@ -545,14 +589,27 @@ optional_policy(` +@@ -545,14 +590,27 @@ optional_policy(` ') optional_policy(` @@ -3320,7 +3321,7 @@ index 1d732f1..f6ff7aa 100644 tunable_policy(`samba_domain_controller',` samba_append_log(useradd_t) ') -@@ -562,3 +619,12 @@ optional_policy(` +@@ -562,3 +620,12 @@ optional_policy(` rpm_use_fds(useradd_t) rpm_rw_pipes(useradd_t) ') @@ -5786,7 +5787,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 b191055..90ffe79 100644 +index b191055..72bc5d0 100644 --- a/policy/modules/kernel/corenetwork.te.in +++ b/policy/modules/kernel/corenetwork.te.in @@ -5,6 +5,7 @@ policy_module(corenetwork, 1.19.2) @@ -5860,7 +5861,7 @@ index b191055..90ffe79 100644 # reserved_port_t is the type of INET port numbers below 1024. # type reserved_port_t, port_type, reserved_port_type; -@@ -76,63 +99,79 @@ type server_packet_t, packet_type, server_packet_type; +@@ -76,63 +99,80 @@ type server_packet_t, packet_type, server_packet_type; network_port(afs_bos, udp,7007,s0) network_port(afs_fs, tcp,2040,s0, udp,7000,s0, udp,7005,s0) network_port(afs_ka, udp,7004,s0) @@ -5930,6 +5931,7 @@ index b191055..90ffe79 100644 network_port(embrace_dp_c, tcp,3198,s0, udp,3198,s0) network_port(epmap, tcp,135,s0, udp,135,s0) network_port(epmd, tcp,4369,s0, udp,4369,s0) ++network_port(fac_restore, tcp,5582,s0, udp,5582,s0) network_port(fingerd, tcp,79,s0) -network_port(ftp, tcp,21,s0, tcp,990,s0, udp,990,s0) +network_port(fmpro_internal, tcp,5003,s0, udp,5003,s0) @@ -5950,7 +5952,7 @@ index b191055..90ffe79 100644 network_port(gopher, tcp,70,s0, udp,70,s0) network_port(gpsd, tcp,2947,s0) network_port(hadoop_datanode, tcp,50010,s0) -@@ -140,45 +179,60 @@ network_port(hadoop_namenode, tcp,8020,s0) +@@ -140,45 +180,60 @@ network_port(hadoop_namenode, tcp,8020,s0) network_port(hddtemp, tcp,7634,s0) network_port(howl, tcp,5335,s0, udp,5353,s0) network_port(hplip, tcp,1782,s0, tcp,2207,s0, tcp,2208,s0, tcp, 8290,s0, tcp,50000,s0, tcp,50002,s0, tcp,8292,s0, tcp,9100,s0, tcp,9101,s0, tcp,9102,s0, tcp,9220,s0, tcp,9221,s0, tcp,9222,s0, tcp,9280,s0, tcp,9281,s0, tcp,9282,s0, tcp,9290,s0, tcp,9291,s0) @@ -6026,7 +6028,7 @@ index b191055..90ffe79 100644 network_port(msnp, tcp,1863,s0, udp,1863,s0) network_port(mssql, tcp,1433-1434,s0, udp,1433-1434,s0) network_port(ms_streaming, tcp,1755,s0, udp,1755,s0) -@@ -186,101 +240,129 @@ network_port(munin, tcp,4949,s0, udp,4949,s0) +@@ -186,101 +241,129 @@ network_port(munin, tcp,4949,s0, udp,4949,s0) network_port(mxi, tcp,8005,s0, udp,8005,s0) network_port(mysqld, tcp,1186,s0, tcp,3306,s0, tcp,63132-63164,s0) network_port(mysqlmanagerd, tcp,2273,s0) @@ -6091,8 +6093,9 @@ index b191055..90ffe79 100644 +network_port(radius, udp,1645,s0, tcp,1645,s0, tcp,1812,s0, udp,1812,s0, tcp,18120-18121,s0, udp,18120-18121, s0) network_port(radsec, tcp,2083,s0) network_port(razor, tcp,2703,s0) +-network_port(redis, tcp,6379,s0) +network_port(time, tcp,37,s0, udp,37,s0) - network_port(redis, tcp,6379,s0) ++network_port(redis, tcp,6379,s0, tcp,26379,s0, tcp,16379,s0) network_port(repository, tcp, 6363, s0) network_port(ricci, tcp,11111,s0, udp,11111,s0) network_port(ricci_modcluster, tcp,16851,s0, udp,16851,s0) @@ -6174,7 +6177,7 @@ index b191055..90ffe79 100644 network_port(xserver, tcp,6000-6020,s0) network_port(zarafa, tcp,236,s0, tcp,237,s0) network_port(zabbix, tcp,10051,s0) -@@ -288,19 +370,23 @@ network_port(zabbix_agent, tcp,10050,s0) +@@ -288,19 +371,23 @@ network_port(zabbix_agent, tcp,10050,s0) network_port(zookeeper_client, tcp,2181,s0) network_port(zookeeper_election, tcp,3888,s0) network_port(zookeeper_leader, tcp,2888,s0) @@ -6201,7 +6204,7 @@ index b191055..90ffe79 100644 ######################################## # -@@ -333,6 +419,8 @@ sid netif gen_context(system_u:object_r:netif_t,s0 - mls_systemhigh) +@@ -333,6 +420,8 @@ sid netif gen_context(system_u:object_r:netif_t,s0 - mls_systemhigh) build_option(`enable_mls',` network_interface(lo, lo, s0 - mls_systemhigh) @@ -6210,7 +6213,7 @@ index b191055..90ffe79 100644 ',` typealias netif_t alias { lo_netif_t netif_lo_t }; ') -@@ -345,9 +433,28 @@ typealias netif_t alias { lo_netif_t netif_lo_t }; +@@ -345,9 +434,28 @@ typealias netif_t alias { lo_netif_t netif_lo_t }; allow corenet_unconfined_type node_type:node *; allow corenet_unconfined_type netif_type:netif *; allow corenet_unconfined_type packet_type:packet *; @@ -10997,7 +11000,7 @@ index b876c48..03f9342 100644 +/nsr(/.*)? gen_context(system_u:object_r:var_t,s0) +/nsr/logs(/.*)? gen_context(system_u:object_r:var_log_t,s0) diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if -index f962f76..d755ff2 100644 +index f962f76..890900c 100644 --- a/policy/modules/kernel/files.if +++ b/policy/modules/kernel/files.if @@ -19,6 +19,136 @@ @@ -15043,7 +15046,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -5808,165 +6675,156 @@ interface(`files_getattr_generic_locks',` +@@ -5808,63 +6675,68 @@ interface(`files_getattr_generic_locks',` ## ## # @@ -15101,10 +15104,11 @@ index f962f76..d755ff2 100644 + filetrans_pattern($1, var_t, $2, $3, $4) ') ++ ######################################## ## -## Delete all lock files. -+## Get the attributes of the /var/lib directory. ++## Relabel dirs in the /var directory. ## ## ## @@ -15114,46 +15118,32 @@ index f962f76..d755ff2 100644 -## # -interface(`files_delete_all_locks',` -+interface(`files_getattr_var_lib_dirs',` ++interface(`files_relabel_var_dirs',` gen_require(` - attribute lockfile; - type var_t, var_lock_t; -+ type var_t, var_lib_t; ++ type var_t; ') - +- - allow $1 var_t:dir search_dir_perms; - allow $1 var_lock_t:lnk_file read_lnk_file_perms; - delete_files_pattern($1, lockfile, lockfile) -+ getattr_dirs_pattern($1, var_t, var_lib_t) ++ allow $1 var_t:dir relabel_dir_perms; ') ######################################## ## -## Read all lock files. -+## Search the /var/lib directory. ++## Get the attributes of the /var/lib directory. ## -+## -+##

-+## Search the /var/lib directory. This is -+## necessary to access files or directories under -+## /var/lib that have a private type. For example, a -+## domain accessing a private library file in the -+## /var/lib directory: -+##

-+##

-+## allow mydomain_t mylibfile_t:file read_file_perms; -+## files_search_var_lib(mydomain_t) -+##

-+##
## ## - ## Domain allowed access. +@@ -5872,101 +6744,87 @@ interface(`files_delete_all_locks',` ## ## -+## # -interface(`files_read_all_locks',` -+interface(`files_search_var_lib',` ++interface(`files_getattr_var_lib_dirs',` gen_require(` - attribute lockfile; - type var_t, var_lock_t; @@ -15165,29 +15155,40 @@ index f962f76..d755ff2 100644 - allow $1 lockfile:dir list_dir_perms; - read_files_pattern($1, lockfile, lockfile) - read_lnk_files_pattern($1, lockfile, lockfile) -+ search_dirs_pattern($1, var_t, var_lib_t) ++ getattr_dirs_pattern($1, var_t, var_lib_t) ') ######################################## ## -## manage all lock files. -+## Do not audit attempts to search the -+## contents of /var/lib. ++## Search the /var/lib directory. ## ++## ++##

++## Search the /var/lib directory. This is ++## necessary to access files or directories under ++## /var/lib that have a private type. For example, a ++## domain accessing a private library file in the ++## /var/lib directory: ++##

++##

++## allow mydomain_t mylibfile_t:file read_file_perms; ++## files_search_var_lib(mydomain_t) ++##

++##
## ## --## Domain allowed access. -+## Domain to not audit. + ## Domain allowed access. ## ## +## # -interface(`files_manage_all_locks',` -+interface(`files_dontaudit_search_var_lib',` ++interface(`files_search_var_lib',` gen_require(` - attribute lockfile; - type var_t, var_lock_t; -+ type var_lib_t; ++ type var_t, var_lib_t; ') - allow $1 var_lock_t:lnk_file read_lnk_file_perms; @@ -15195,20 +15196,21 @@ index f962f76..d755ff2 100644 - manage_dirs_pattern($1, lockfile, lockfile) - manage_files_pattern($1, lockfile, lockfile) - manage_lnk_files_pattern($1, lockfile, lockfile) -+ dontaudit $1 var_lib_t:dir search_dir_perms; ++ search_dirs_pattern($1, var_t, var_lib_t) ') ######################################## ## -## Create an object in the locks directory, with a private -## type using a type transition. -+## List the contents of the /var/lib directory. ++## Do not audit attempts to search the ++## contents of /var/lib. ## ## ## - ## Domain allowed access. - ## - ## +-## Domain allowed access. +-##
+-## -## -## -## The type of the object to be created. @@ -15222,28 +15224,29 @@ index f962f76..d755ff2 100644 -## -## -## The name of the object being created. --## --## ++## Domain to not audit. + ## + ## ++## # -interface(`files_lock_filetrans',` -+interface(`files_list_var_lib',` ++interface(`files_dontaudit_search_var_lib',` gen_require(` - type var_t, var_lock_t; -+ type var_t, var_lib_t; ++ type var_lib_t; ') - allow $1 var_t:dir search_dir_perms; - allow $1 var_lock_t:lnk_file read_lnk_file_perms; - filetrans_pattern($1, var_lock_t, $2, $3, $4) -+ list_dirs_pattern($1, var_t, var_lib_t) ++ dontaudit $1 var_lib_t:dir search_dir_perms; ') --######################################## -+########################################### + ######################################## ## -## Do not audit attempts to get the attributes -## of the /var/run directory. -+## Read-write /var/lib directories ++## List the contents of the /var/lib directory. ## ## ## @@ -15253,30 +15256,31 @@ index f962f76..d755ff2 100644 ## # -interface(`files_dontaudit_getattr_pid_dirs',` -+interface(`files_rw_var_lib_dirs',` ++interface(`files_list_var_lib',` gen_require(` - type var_run_t; -+ type var_lib_t; ++ type var_t, var_lib_t; ') - dontaudit $1 var_run_t:lnk_file read_lnk_file_perms; - dontaudit $1 var_run_t:dir getattr; -+ rw_dirs_pattern($1, var_lib_t, var_lib_t) ++ list_dirs_pattern($1, var_t, var_lib_t) ') - ######################################## +-######################################## ++########################################### ## -## Set the attributes of the /var/run directory. -+## Create directories in /var/lib ++## Read-write /var/lib directories ## ## ## -@@ -5974,59 +6832,71 @@ interface(`files_dontaudit_getattr_pid_dirs',` +@@ -5974,19 +6832,17 @@ interface(`files_dontaudit_getattr_pid_dirs',` ## ## # -interface(`files_setattr_pid_dirs',` -+interface(`files_create_var_lib_dirs',` ++interface(`files_rw_var_lib_dirs',` gen_require(` - type var_run_t; + type var_lib_t; @@ -15284,65 +15288,64 @@ index f962f76..d755ff2 100644 - allow $1 var_run_t:lnk_file read_lnk_file_perms; - allow $1 var_run_t:dir setattr; -+ allow $1 var_lib_t:dir { create rw_dir_perms }; ++ rw_dirs_pattern($1, var_lib_t, var_lib_t) ') -+ ######################################## ## -## Search the contents of runtime process -## ID directories (/var/run). -+## Create objects in the /var/lib directory ++## Create directories in /var/lib ## ## ## - ## Domain allowed access. +@@ -5994,39 +6850,52 @@ interface(`files_setattr_pid_dirs',` ## ## -+## -+## -+## The type of the object to be created -+## -+## -+## -+## -+## The object class. -+## -+## -+## -+## -+## The name of the object being created. -+## -+## # -interface(`files_search_pids',` -+interface(`files_var_lib_filetrans',` ++interface(`files_create_var_lib_dirs',` gen_require(` - type var_t, var_run_t; -+ type var_t, var_lib_t; ++ type var_lib_t; ') - allow $1 var_run_t:lnk_file read_lnk_file_perms; - search_dirs_pattern($1, var_t, var_run_t) -+ allow $1 var_t:dir search_dir_perms; -+ filetrans_pattern($1, var_lib_t, $2, $3, $4) ++ allow $1 var_lib_t:dir { create rw_dir_perms }; ') ++ ######################################## ## -## Do not audit attempts to search -## the /var/run directory. -+## Read generic files in /var/lib. ++## Create objects in the /var/lib directory ## ## ## -## Domain to not audit. +## Domain allowed access. ++## ++## ++## ++## ++## The type of the object to be created ++## ++## ++## ++## ++## The object class. ++## ++## ++## ++## ++## The name of the object being created. ## ## # -interface(`files_dontaudit_search_pids',` -+interface(`files_read_var_lib_files',` ++interface(`files_var_lib_filetrans',` gen_require(` - type var_run_t; + type var_t, var_lib_t; @@ -15350,24 +15353,24 @@ index f962f76..d755ff2 100644 - dontaudit $1 var_run_t:lnk_file read_lnk_file_perms; - dontaudit $1 var_run_t:dir search_dir_perms; -+ allow $1 var_lib_t:dir list_dir_perms; -+ read_files_pattern($1, { var_t var_lib_t }, var_lib_t) ++ allow $1 var_t:dir search_dir_perms; ++ filetrans_pattern($1, var_lib_t, $2, $3, $4) ') ######################################## ## -## List the contents of the runtime process -## ID directories (/var/run). -+## Read generic symbolic links in /var/lib ++## Read generic files in /var/lib. ## ## ## -@@ -6034,18 +6904,18 @@ interface(`files_dontaudit_search_pids',` +@@ -6034,18 +6903,18 @@ interface(`files_dontaudit_search_pids',` ## ## # -interface(`files_list_pids',` -+interface(`files_read_var_lib_symlinks',` ++interface(`files_read_var_lib_files',` gen_require(` - type var_t, var_run_t; + type var_t, var_lib_t; @@ -15375,69 +15378,127 @@ index f962f76..d755ff2 100644 - allow $1 var_run_t:lnk_file read_lnk_file_perms; - list_dirs_pattern($1, var_t, var_run_t) -+ read_lnk_files_pattern($1, { var_t var_lib_t }, var_lib_t) ++ allow $1 var_lib_t:dir list_dir_perms; ++ read_files_pattern($1, { var_t var_lib_t }, var_lib_t) ') ######################################## ## -## Read generic process ID files. -+## manage generic symbolic links -+## in the /var/lib directory. ++## Read generic symbolic links in /var/lib ## ## ## -@@ -6053,19 +6923,21 @@ interface(`files_list_pids',` +@@ -6053,19 +6922,18 @@ interface(`files_list_pids',` ## ## # -interface(`files_read_generic_pids',` -+interface(`files_manage_var_lib_symlinks',` ++interface(`files_read_var_lib_symlinks',` gen_require(` - type var_t, var_run_t; -+ type var_lib_t; ++ type var_t, var_lib_t; ') - allow $1 var_run_t:lnk_file read_lnk_file_perms; - list_dirs_pattern($1, var_t, var_run_t) - read_files_pattern($1, var_run_t, var_run_t) -+ manage_lnk_files_pattern($1,var_lib_t,var_lib_t) ++ read_lnk_files_pattern($1, { var_t var_lib_t }, var_lib_t) ') -+# cjp: the next two interfaces really need to be fixed -+# in some way. They really neeed their own types. -+ ######################################## ## -## Write named generic process ID pipes -+## Create, read, write, and delete the -+## pseudorandom number generator seed. ++## manage generic symbolic links ++## in the /var/lib directory. ## ## ## -@@ -6073,43 +6945,1377 @@ interface(`files_read_generic_pids',` +@@ -6073,23 +6941,652 @@ interface(`files_read_generic_pids',` ## ## # -interface(`files_write_generic_pid_pipes',` -+interface(`files_manage_urandom_seed',` ++interface(`files_manage_var_lib_symlinks',` gen_require(` - type var_run_t; -+ type var_t, var_lib_t; ++ type var_lib_t; ') - allow $1 var_run_t:lnk_file read_lnk_file_perms; - allow $1 var_run_t:fifo_file write; -+ allow $1 var_t:dir search_dir_perms; -+ manage_files_pattern($1, var_lib_t, var_lib_t) ++ manage_lnk_files_pattern($1,var_lib_t,var_lib_t) ') ++# cjp: the next two interfaces really need to be fixed ++# in some way. They really neeed their own types. ++ ######################################## ## -## Create an object in the process ID directory, with a private type. -+## Allow domain to manage mount tables -+## necessary for rpcd, nfsd, etc. ++## Create, read, write, and delete the ++## pseudorandom number generator seed. ## -## +-##

+-## Create an object in the process ID directory (e.g., /var/run) +-## with a private type. Typically this is used for creating ++## ++##

++## Domain allowed access. ++## ++## ++# ++interface(`files_manage_urandom_seed',` ++ gen_require(` ++ type var_t, var_lib_t; ++ ') ++ ++ allow $1 var_t:dir search_dir_perms; ++ manage_files_pattern($1, var_lib_t, var_lib_t) ++') ++ ++ ++######################################## ++## ++## Relabel to dirs in the /var/lib directory. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`files_relabelto_var_lib_dirs',` ++ gen_require(` ++ type var_lib_t; ++ ') ++ allow $1 var_lib_t:dir relabelto; ++') ++ ++ ++######################################## ++## ++## Relabel dirs in the /var/lib directory. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`files_relabel_var_lib_dirs',` ++ gen_require(` ++ type var_lib_t; ++ ') ++ allow $1 var_lib_t:dir relabel_dir_perms; ++') ++ ++######################################## ++## ++## Allow domain to manage mount tables ++## necessary for rpcd, nfsd, etc. ++## +## +## +## Domain allowed access. @@ -16012,14 +16073,14 @@ index f962f76..d755ff2 100644 +##

+## Create an object in the process ID directory (e.g., /var/run) +## with a private type. Typically this is used for creating -+## private PID files in /var/run with the private type instead -+## of the general PID file type. To accomplish this goal, -+## either the program must be SELinux-aware, or use this interface. -+##

-+##

-+## Related interfaces: -+##

-+##
    + ## private PID files in /var/run with the private type instead + ## of the general PID file type. To accomplish this goal, + ## either the program must be SELinux-aware, or use this interface. +@@ -6098,18 +7595,781 @@ interface(`files_write_generic_pid_pipes',` + ## Related interfaces: + ##

    + ##
      +-##
    • files_pid_file()
    • +##
    • files_pid_file()
    • +##
    +##

    @@ -16464,23 +16525,17 @@ index f962f76..d755ff2 100644 +## used for spool files. +##

+## - ##

--## Create an object in the process ID directory (e.g., /var/run) --## with a private type. Typically this is used for creating --## private PID files in /var/run with the private type instead --## of the general PID file type. To accomplish this goal, --## either the program must be SELinux-aware, or use this interface. ++##

+## Make the specified type usable for spool files. +## This will also make the type usable for files, making +## calls to files_type() redundant. Failure to use this interface +## for a spool file may result in problems with +## purging spool files. - ##

- ##

- ## Related interfaces: - ##

- ##
    --##
  • files_pid_file()
  • ++##

    ++##

    ++## Related interfaces: ++##

    ++##
      +##
    • files_spool_filetrans()
    • ##
    ##

    @@ -16810,7 +16865,7 @@ index f962f76..d755ff2 100644 ##

    ## ## -@@ -6117,80 +8323,157 @@ interface(`files_write_generic_pid_pipes',` +@@ -6117,80 +8377,157 @@ interface(`files_write_generic_pid_pipes',` ## Domain allowed access. ##
## @@ -16997,7 +17052,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6198,19 +8481,17 @@ interface(`files_rw_generic_pids',` +@@ -6198,19 +8535,17 @@ interface(`files_rw_generic_pids',` ## ## # @@ -17021,7 +17076,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6218,18 +8499,17 @@ interface(`files_dontaudit_getattr_all_pids',` +@@ -6218,18 +8553,17 @@ interface(`files_dontaudit_getattr_all_pids',` ## ## # @@ -17044,7 +17099,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6237,129 +8517,118 @@ interface(`files_dontaudit_write_all_pids',` +@@ -6237,129 +8571,118 @@ interface(`files_dontaudit_write_all_pids',` ## ## # @@ -17213,7 +17268,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6367,18 +8636,19 @@ interface(`files_mounton_all_poly_members',` +@@ -6367,18 +8690,19 @@ interface(`files_mounton_all_poly_members',` ## ## # @@ -17238,7 +17293,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6386,132 +8656,227 @@ interface(`files_search_spool',` +@@ -6386,132 +8710,227 @@ interface(`files_search_spool',` ## ## # @@ -17512,7 +17567,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6519,53 +8884,17 @@ interface(`files_spool_filetrans',` +@@ -6519,53 +8938,17 @@ interface(`files_spool_filetrans',` ## ## # @@ -17570,7 +17625,7 @@ index f962f76..d755ff2 100644 ## ## ## -@@ -6573,10 +8902,10 @@ interface(`files_polyinstantiate_all',` +@@ -6573,10 +8956,10 @@ interface(`files_polyinstantiate_all',` ## ## # @@ -25165,7 +25220,7 @@ index ff92430..36740ea 100644 ## ## Execute a generic bin program in the sysadm domain. diff --git a/policy/modules/roles/sysadm.te b/policy/modules/roles/sysadm.te -index 2522ca6..f7ff2c7 100644 +index 2522ca6..fe03d6d 100644 --- a/policy/modules/roles/sysadm.te +++ b/policy/modules/roles/sysadm.te @@ -5,39 +5,88 @@ policy_module(sysadm, 2.6.1) @@ -25325,18 +25380,18 @@ index 2522ca6..f7ff2c7 100644 optional_policy(` - consoletype_run(sysadm_t, sysadm_r) + cron_admin_role(sysadm_r, sysadm_t) + ') + + optional_policy(` +- cvs_exec(sysadm_t) ++ consoletype_exec(sysadm_t) +') + +optional_policy(` -+ consoletype_exec(sysadm_t) ++ daemonstools_run_start(sysadm_t, sysadm_r) +') + +optional_policy(` -+ daemonstools_run_start(sysadm_t, sysadm_r) - ') - - optional_policy(` -- cvs_exec(sysadm_t) + dbus_role_template(sysadm, sysadm_r, sysadm_t) + + dontaudit sysadm_dbusd_t self:capability net_admin; @@ -25430,7 +25485,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -210,22 +308,20 @@ optional_policy(` +@@ -210,22 +308,21 @@ optional_policy(` modutils_run_depmod(sysadm_t, sysadm_r) modutils_run_insmod(sysadm_t, sysadm_r) modutils_run_update_mods(sysadm_t, sysadm_r) @@ -25456,10 +25511,11 @@ index 2522ca6..f7ff2c7 100644 + # this is defined in userdom_common_user_template + #mta_filetrans_home_content(sysadm_t) + mta_filetrans_admin_home_content(sysadm_t) ++ mta_rw_aliases(sysadm_t) ') optional_policy(` -@@ -237,14 +333,28 @@ optional_policy(` +@@ -237,14 +334,32 @@ optional_policy(` ') optional_policy(` @@ -25485,10 +25541,14 @@ index 2522ca6..f7ff2c7 100644 + +optional_policy(` + nx_filetrans_named_content(sysadm_t) ++') ++ ++optional_policy(` ++ oddjob_dbus_chat(sysadm_t) ') optional_policy(` -@@ -252,10 +362,20 @@ optional_policy(` +@@ -252,10 +367,20 @@ optional_policy(` ') optional_policy(` @@ -25509,7 +25569,7 @@ index 2522ca6..f7ff2c7 100644 portage_run(sysadm_t, sysadm_r) portage_run_fetch(sysadm_t, sysadm_r) portage_run_gcc_config(sysadm_t, sysadm_r) -@@ -266,35 +386,41 @@ optional_policy(` +@@ -266,35 +391,46 @@ optional_policy(` ') optional_policy(` @@ -25520,30 +25580,35 @@ index 2522ca6..f7ff2c7 100644 optional_policy(` - quota_run(sysadm_t, sysadm_r) + postgresql_admin(sysadm_t, sysadm_r) ++ postgresql_run(sysadm_t, sysadm_r) ') optional_policy(` - raid_run_mdadm(sysadm_r, sysadm_t) -+ prelink_run(sysadm_t, sysadm_r) ++ journalctl_role(sysadm_r, sysadm_t) ') optional_policy(` - razor_role(sysadm_r, sysadm_t) -+ puppet_run_puppetca(sysadm_t, sysadm_r) ++ prelink_run(sysadm_t, sysadm_r) ') optional_policy(` - rpc_domtrans_nfsd(sysadm_t) -+ quota_filetrans_named_content(sysadm_t) ++ puppet_run_puppetca(sysadm_t, sysadm_r) ') optional_policy(` - rpm_run(sysadm_t, sysadm_r) -+ raid_domtrans_mdadm(sysadm_t) ++ quota_filetrans_named_content(sysadm_t) ') optional_policy(` - rssh_role(sysadm_r, sysadm_t) ++ raid_domtrans_mdadm(sysadm_t) ++') ++ ++optional_policy(` + rpc_domtrans_nfsd(sysadm_t) +') + @@ -25558,7 +25623,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -308,6 +434,7 @@ optional_policy(` +@@ -308,6 +444,7 @@ optional_policy(` optional_policy(` screen_role_template(sysadm, sysadm_r, sysadm_t) @@ -25566,7 +25631,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -315,12 +442,20 @@ optional_policy(` +@@ -315,12 +452,20 @@ optional_policy(` ') optional_policy(` @@ -25588,7 +25653,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -345,30 +480,37 @@ optional_policy(` +@@ -345,30 +490,37 @@ optional_policy(` ') optional_policy(` @@ -25635,7 +25700,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -380,10 +522,6 @@ optional_policy(` +@@ -380,10 +532,6 @@ optional_policy(` ') optional_policy(` @@ -25646,7 +25711,7 @@ index 2522ca6..f7ff2c7 100644 usermanage_run_admin_passwd(sysadm_t, sysadm_r) usermanage_run_groupadd(sysadm_t, sysadm_r) usermanage_run_useradd(sysadm_t, sysadm_r) -@@ -391,6 +529,9 @@ optional_policy(` +@@ -391,6 +539,9 @@ optional_policy(` optional_policy(` virt_stream_connect(sysadm_t) @@ -25656,7 +25721,7 @@ index 2522ca6..f7ff2c7 100644 ') optional_policy(` -@@ -398,31 +539,34 @@ optional_policy(` +@@ -398,31 +549,34 @@ optional_policy(` ') optional_policy(` @@ -25697,7 +25762,7 @@ index 2522ca6..f7ff2c7 100644 auth_role(sysadm_r, sysadm_t) ') -@@ -435,10 +579,6 @@ ifndef(`distro_redhat',` +@@ -435,10 +589,6 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -25708,7 +25773,7 @@ index 2522ca6..f7ff2c7 100644 dbus_role_template(sysadm, sysadm_r, sysadm_t) optional_policy(` -@@ -459,15 +599,79 @@ ifndef(`distro_redhat',` +@@ -459,15 +609,79 @@ ifndef(`distro_redhat',` ') optional_policy(` @@ -27153,10 +27218,10 @@ index a26f84f..f4a44eb 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..9e87525 100644 +index 9d2f311..2d782e0 100644 --- a/policy/modules/services/postgresql.if +++ b/policy/modules/services/postgresql.if -@@ -10,90 +10,21 @@ +@@ -10,90 +10,46 @@ ## ## ## @@ -27202,7 +27267,8 @@ index 9d2f311..9e87525 100644 typeattribute $2 sepgsql_client_type; role $1 types sepgsql_trusted_proc_t; role $1 types sepgsql_ranged_proc_t; -- ++') + - ############################## - # - # Client local policy @@ -27216,8 +27282,27 @@ index 9d2f311..9e87525 100644 - 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 }; -- ') -- ++######################################## ++## ++## Execute the postgresql program in the postgresql domain. ++## ++## ++## ++## Domain allowed to transition. ++## ++## ++## ++## ++## The role to allow the postgresql domain. ++## ++## ++## ++# ++interface(`postgresql_run',` ++ gen_require(` ++ type postgresql_t; + ') + - 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"; @@ -27248,10 +27333,12 @@ index 9d2f311..9e87525 100644 - - allow $2 sepgsql_trusted_proc_t:process transition; - type_transition $2 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t; ++ postgresql_domtrans($1) ++ role $2 types postgresql_t; ') ######################################## -@@ -312,7 +243,7 @@ interface(`postgresql_search_db',` +@@ -312,7 +268,7 @@ interface(`postgresql_search_db',` type postgresql_db_t; ') @@ -27260,7 +27347,7 @@ index 9d2f311..9e87525 100644 ') ######################################## -@@ -324,14 +255,16 @@ interface(`postgresql_search_db',` +@@ -324,14 +280,16 @@ interface(`postgresql_search_db',` ## Domain allowed access. ## ## @@ -27280,7 +27367,7 @@ index 9d2f311..9e87525 100644 ') ######################################## -@@ -354,6 +287,24 @@ interface(`postgresql_domtrans',` +@@ -354,6 +312,24 @@ interface(`postgresql_domtrans',` ###################################### ## @@ -27305,7 +27392,7 @@ index 9d2f311..9e87525 100644 ## Allow domain to signal postgresql ## ## -@@ -421,7 +372,6 @@ interface(`postgresql_tcp_connect',` +@@ -421,7 +397,6 @@ interface(`postgresql_tcp_connect',` ## Domain allowed access. ## ## @@ -27313,7 +27400,7 @@ index 9d2f311..9e87525 100644 # interface(`postgresql_stream_connect',` gen_require(` -@@ -432,6 +382,7 @@ interface(`postgresql_stream_connect',` +@@ -432,6 +407,7 @@ interface(`postgresql_stream_connect',` files_search_pids($1) files_search_tmp($1) @@ -27321,7 +27408,7 @@ index 9d2f311..9e87525 100644 ') ######################################## -@@ -447,83 +398,10 @@ interface(`postgresql_stream_connect',` +@@ -447,83 +423,10 @@ interface(`postgresql_stream_connect',` # interface(`postgresql_unpriv_client',` gen_require(` @@ -27405,7 +27492,7 @@ index 9d2f311..9e87525 100644 ') ######################################## -@@ -547,6 +425,29 @@ interface(`postgresql_unconfined',` +@@ -547,6 +450,29 @@ interface(`postgresql_unconfined',` ######################################## ## @@ -27435,7 +27522,7 @@ index 9d2f311..9e87525 100644 ## All of the rules required to administrate an postgresql environment ## ## -@@ -563,35 +464,41 @@ interface(`postgresql_unconfined',` +@@ -563,35 +489,41 @@ interface(`postgresql_unconfined',` # interface(`postgresql_admin',` gen_require(` @@ -36635,7 +36722,7 @@ index 79a45f6..e69fa39 100644 + allow $1 init_var_lib_t:dir search_dir_perms; +') diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te -index 17eda24..61dae33 100644 +index 17eda24..e06e912 100644 --- a/policy/modules/system/init.te +++ b/policy/modules/system/init.te @@ -11,10 +11,31 @@ gen_require(` @@ -36930,7 +37017,7 @@ index 17eda24..61dae33 100644 ifdef(`distro_gentoo',` allow init_t self:process { getcap setcap }; -@@ -186,29 +323,256 @@ ifdef(`distro_gentoo',` +@@ -186,29 +323,258 @@ ifdef(`distro_gentoo',` ') ifdef(`distro_redhat',` @@ -37065,6 +37152,8 @@ index 17eda24..61dae33 100644 +files_list_home(init_t) +files_create_lock_dirs(init_t) +files_relabel_all_lock_dirs(init_t) ++files_relabel_var_dirs(init_t) ++files_relabel_var_lib_dirs(init_t) +files_read_kernel_modules(init_t) +fs_getattr_all_fs(init_t) +fs_manage_cgroup_dirs(init_t) @@ -37196,7 +37285,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -216,7 +580,30 @@ optional_policy(` +@@ -216,7 +582,30 @@ optional_policy(` ') optional_policy(` @@ -37228,7 +37317,7 @@ index 17eda24..61dae33 100644 ') ######################################## -@@ -225,9 +612,9 @@ optional_policy(` +@@ -225,9 +614,9 @@ optional_policy(` # allow initrc_t self:process { getpgid setsched setpgid setrlimit getsched }; @@ -37240,7 +37329,7 @@ index 17eda24..61dae33 100644 allow initrc_t self:passwd rootok; allow initrc_t self:key manage_key_perms; -@@ -258,12 +645,16 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) +@@ -258,12 +647,16 @@ manage_fifo_files_pattern(initrc_t, initrc_state_t, initrc_state_t) allow initrc_t initrc_var_run_t:file manage_file_perms; files_pid_filetrans(initrc_t, initrc_var_run_t, file) @@ -37257,7 +37346,7 @@ index 17eda24..61dae33 100644 manage_dirs_pattern(initrc_t, initrc_var_log_t, initrc_var_log_t) manage_files_pattern(initrc_t, initrc_var_log_t, initrc_var_log_t) -@@ -279,23 +670,36 @@ kernel_change_ring_buffer_level(initrc_t) +@@ -279,23 +672,36 @@ kernel_change_ring_buffer_level(initrc_t) kernel_clear_ring_buffer(initrc_t) kernel_get_sysvipc_info(initrc_t) kernel_read_all_sysctls(initrc_t) @@ -37300,7 +37389,7 @@ index 17eda24..61dae33 100644 corenet_tcp_sendrecv_all_ports(initrc_t) corenet_udp_sendrecv_all_ports(initrc_t) corenet_tcp_connect_all_ports(initrc_t) -@@ -303,9 +707,11 @@ corenet_sendrecv_all_client_packets(initrc_t) +@@ -303,9 +709,11 @@ corenet_sendrecv_all_client_packets(initrc_t) dev_read_rand(initrc_t) dev_read_urand(initrc_t) @@ -37312,7 +37401,7 @@ index 17eda24..61dae33 100644 dev_rw_sysfs(initrc_t) dev_list_usbfs(initrc_t) dev_read_framebuffer(initrc_t) -@@ -313,8 +719,10 @@ dev_write_framebuffer(initrc_t) +@@ -313,8 +721,10 @@ dev_write_framebuffer(initrc_t) dev_read_realtime_clock(initrc_t) dev_read_sound_mixer(initrc_t) dev_write_sound_mixer(initrc_t) @@ -37323,7 +37412,7 @@ index 17eda24..61dae33 100644 dev_delete_lvm_control_dev(initrc_t) dev_manage_generic_symlinks(initrc_t) dev_manage_generic_files(initrc_t) -@@ -322,8 +730,7 @@ dev_manage_generic_files(initrc_t) +@@ -322,8 +732,7 @@ dev_manage_generic_files(initrc_t) dev_delete_generic_symlinks(initrc_t) dev_getattr_all_blk_files(initrc_t) dev_getattr_all_chr_files(initrc_t) @@ -37333,7 +37422,7 @@ index 17eda24..61dae33 100644 domain_kill_all_domains(initrc_t) domain_signal_all_domains(initrc_t) -@@ -332,7 +739,6 @@ domain_sigstop_all_domains(initrc_t) +@@ -332,7 +741,6 @@ domain_sigstop_all_domains(initrc_t) domain_sigchld_all_domains(initrc_t) domain_read_all_domains_state(initrc_t) domain_getattr_all_domains(initrc_t) @@ -37341,7 +37430,7 @@ index 17eda24..61dae33 100644 domain_getsession_all_domains(initrc_t) domain_use_interactive_fds(initrc_t) # for lsof which is used by alsa shutdown: -@@ -340,6 +746,7 @@ domain_dontaudit_getattr_all_udp_sockets(initrc_t) +@@ -340,6 +748,7 @@ domain_dontaudit_getattr_all_udp_sockets(initrc_t) domain_dontaudit_getattr_all_tcp_sockets(initrc_t) domain_dontaudit_getattr_all_dgram_sockets(initrc_t) domain_dontaudit_getattr_all_pipes(initrc_t) @@ -37349,7 +37438,7 @@ index 17eda24..61dae33 100644 files_getattr_all_dirs(initrc_t) files_getattr_all_files(initrc_t) -@@ -347,14 +754,15 @@ files_getattr_all_symlinks(initrc_t) +@@ -347,14 +756,15 @@ files_getattr_all_symlinks(initrc_t) files_getattr_all_pipes(initrc_t) files_getattr_all_sockets(initrc_t) files_purge_tmp(initrc_t) @@ -37367,7 +37456,7 @@ index 17eda24..61dae33 100644 files_read_usr_files(initrc_t) files_manage_urandom_seed(initrc_t) files_manage_generic_spool(initrc_t) -@@ -364,8 +772,12 @@ files_list_isid_type_dirs(initrc_t) +@@ -364,8 +774,12 @@ files_list_isid_type_dirs(initrc_t) files_mounton_isid_type_dirs(initrc_t) files_list_default(initrc_t) files_mounton_default(initrc_t) @@ -37381,7 +37470,7 @@ index 17eda24..61dae33 100644 fs_list_inotifyfs(initrc_t) fs_register_binary_executable_type(initrc_t) # rhgb-console writes to ramfs -@@ -375,10 +787,11 @@ fs_mount_all_fs(initrc_t) +@@ -375,10 +789,11 @@ fs_mount_all_fs(initrc_t) fs_unmount_all_fs(initrc_t) fs_remount_all_fs(initrc_t) fs_getattr_all_fs(initrc_t) @@ -37395,7 +37484,7 @@ index 17eda24..61dae33 100644 mcs_process_set_categories(initrc_t) mls_file_read_all_levels(initrc_t) -@@ -387,8 +800,10 @@ mls_process_read_up(initrc_t) +@@ -387,8 +802,10 @@ mls_process_read_up(initrc_t) mls_process_write_down(initrc_t) mls_rangetrans_source(initrc_t) mls_fd_share_all_levels(initrc_t) @@ -37406,7 +37495,7 @@ index 17eda24..61dae33 100644 storage_getattr_fixed_disk_dev(initrc_t) storage_setattr_fixed_disk_dev(initrc_t) -@@ -398,6 +813,7 @@ term_use_all_terms(initrc_t) +@@ -398,6 +815,7 @@ term_use_all_terms(initrc_t) term_reset_tty_labels(initrc_t) auth_rw_login_records(initrc_t) @@ -37414,7 +37503,7 @@ index 17eda24..61dae33 100644 auth_setattr_login_records(initrc_t) auth_rw_lastlog(initrc_t) auth_read_pam_pid(initrc_t) -@@ -416,20 +832,18 @@ logging_read_all_logs(initrc_t) +@@ -416,20 +834,18 @@ logging_read_all_logs(initrc_t) logging_append_all_logs(initrc_t) logging_read_audit_config(initrc_t) @@ -37438,7 +37527,7 @@ index 17eda24..61dae33 100644 ifdef(`distro_debian',` dev_setattr_generic_dirs(initrc_t) -@@ -451,7 +865,6 @@ ifdef(`distro_gentoo',` +@@ -451,7 +867,6 @@ ifdef(`distro_gentoo',` allow initrc_t self:process setfscreate; dev_create_null_dev(initrc_t) dev_create_zero_dev(initrc_t) @@ -37446,7 +37535,7 @@ index 17eda24..61dae33 100644 term_create_console_dev(initrc_t) # unfortunately /sbin/rc does stupid tricks -@@ -486,6 +899,10 @@ ifdef(`distro_gentoo',` +@@ -486,6 +901,10 @@ ifdef(`distro_gentoo',` sysnet_setattr_config(initrc_t) optional_policy(` @@ -37457,7 +37546,7 @@ index 17eda24..61dae33 100644 alsa_read_lib(initrc_t) ') -@@ -506,7 +923,7 @@ ifdef(`distro_redhat',` +@@ -506,7 +925,7 @@ ifdef(`distro_redhat',` # Red Hat systems seem to have a stray # fd open from the initrd @@ -37466,7 +37555,7 @@ index 17eda24..61dae33 100644 files_dontaudit_read_root_files(initrc_t) # These seem to be from the initrd -@@ -521,6 +938,7 @@ ifdef(`distro_redhat',` +@@ -521,6 +940,7 @@ ifdef(`distro_redhat',` files_create_boot_dirs(initrc_t) files_create_boot_flag(initrc_t) files_rw_boot_symlinks(initrc_t) @@ -37474,7 +37563,7 @@ index 17eda24..61dae33 100644 # wants to read /.fonts directory files_read_default_files(initrc_t) files_mountpoint(initrc_tmp_t) -@@ -541,6 +959,7 @@ ifdef(`distro_redhat',` +@@ -541,6 +961,7 @@ ifdef(`distro_redhat',` miscfiles_rw_localization(initrc_t) miscfiles_setattr_localization(initrc_t) miscfiles_relabel_localization(initrc_t) @@ -37482,7 +37571,7 @@ index 17eda24..61dae33 100644 miscfiles_read_fonts(initrc_t) miscfiles_read_hwdata(initrc_t) -@@ -550,8 +969,44 @@ ifdef(`distro_redhat',` +@@ -550,8 +971,44 @@ ifdef(`distro_redhat',` ') optional_policy(` @@ -37527,7 +37616,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -559,14 +1014,31 @@ ifdef(`distro_redhat',` +@@ -559,14 +1016,31 @@ ifdef(`distro_redhat',` rpc_write_exports(initrc_t) rpc_manage_nfs_state_data(initrc_t) ') @@ -37559,7 +37648,7 @@ index 17eda24..61dae33 100644 ') ') -@@ -577,6 +1049,39 @@ ifdef(`distro_suse',` +@@ -577,6 +1051,39 @@ ifdef(`distro_suse',` ') ') @@ -37599,7 +37688,7 @@ index 17eda24..61dae33 100644 optional_policy(` amavis_search_lib(initrc_t) amavis_setattr_pid_files(initrc_t) -@@ -589,6 +1094,8 @@ optional_policy(` +@@ -589,6 +1096,8 @@ optional_policy(` optional_policy(` apache_read_config(initrc_t) apache_list_modules(initrc_t) @@ -37608,7 +37697,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -610,6 +1117,7 @@ optional_policy(` +@@ -610,6 +1119,7 @@ optional_policy(` optional_policy(` cgroup_stream_connect_cgred(initrc_t) @@ -37616,7 +37705,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -626,6 +1134,17 @@ optional_policy(` +@@ -626,6 +1136,17 @@ optional_policy(` ') optional_policy(` @@ -37634,7 +37723,7 @@ index 17eda24..61dae33 100644 dev_getattr_printer_dev(initrc_t) cups_read_log(initrc_t) -@@ -642,9 +1161,13 @@ optional_policy(` +@@ -642,9 +1163,13 @@ optional_policy(` dbus_connect_system_bus(initrc_t) dbus_system_bus_client(initrc_t) dbus_read_config(initrc_t) @@ -37648,7 +37737,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -657,15 +1180,11 @@ optional_policy(` +@@ -657,15 +1182,11 @@ optional_policy(` ') optional_policy(` @@ -37666,7 +37755,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -686,6 +1205,15 @@ optional_policy(` +@@ -686,6 +1207,15 @@ optional_policy(` ') optional_policy(` @@ -37682,7 +37771,7 @@ index 17eda24..61dae33 100644 inn_exec_config(initrc_t) ') -@@ -726,6 +1254,7 @@ optional_policy(` +@@ -726,6 +1256,7 @@ optional_policy(` lpd_list_spool(initrc_t) lpd_read_config(initrc_t) @@ -37690,7 +37779,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -743,7 +1272,13 @@ optional_policy(` +@@ -743,7 +1274,13 @@ optional_policy(` ') optional_policy(` @@ -37705,7 +37794,7 @@ index 17eda24..61dae33 100644 mta_dontaudit_read_spool_symlinks(initrc_t) ') -@@ -766,6 +1301,10 @@ optional_policy(` +@@ -766,6 +1303,10 @@ optional_policy(` ') optional_policy(` @@ -37716,7 +37805,7 @@ index 17eda24..61dae33 100644 postgresql_manage_db(initrc_t) postgresql_read_config(initrc_t) ') -@@ -775,10 +1314,20 @@ optional_policy(` +@@ -775,10 +1316,20 @@ optional_policy(` ') optional_policy(` @@ -37737,7 +37826,7 @@ index 17eda24..61dae33 100644 quota_manage_flags(initrc_t) ') -@@ -787,6 +1336,10 @@ optional_policy(` +@@ -787,6 +1338,10 @@ optional_policy(` ') optional_policy(` @@ -37748,7 +37837,7 @@ index 17eda24..61dae33 100644 fs_write_ramfs_sockets(initrc_t) fs_search_ramfs(initrc_t) -@@ -808,8 +1361,6 @@ optional_policy(` +@@ -808,8 +1363,6 @@ optional_policy(` # bash tries ioctl for some reason files_dontaudit_ioctl_all_pids(initrc_t) @@ -37757,7 +37846,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -818,6 +1369,10 @@ optional_policy(` +@@ -818,6 +1371,10 @@ optional_policy(` ') optional_policy(` @@ -37768,7 +37857,7 @@ index 17eda24..61dae33 100644 # shorewall-init script run /var/lib/shorewall/firewall shorewall_lib_domtrans(initrc_t) ') -@@ -827,10 +1382,12 @@ optional_policy(` +@@ -827,10 +1384,12 @@ optional_policy(` squid_manage_logs(initrc_t) ') @@ -37781,7 +37870,7 @@ index 17eda24..61dae33 100644 optional_policy(` ssh_dontaudit_read_server_keys(initrc_t) -@@ -857,21 +1414,60 @@ optional_policy(` +@@ -857,21 +1416,60 @@ optional_policy(` ') optional_policy(` @@ -37843,7 +37932,7 @@ index 17eda24..61dae33 100644 ') optional_policy(` -@@ -887,6 +1483,10 @@ optional_policy(` +@@ -887,6 +1485,10 @@ optional_policy(` ') optional_policy(` @@ -37854,7 +37943,7 @@ index 17eda24..61dae33 100644 # Set device ownerships/modes. xserver_setattr_console_pipes(initrc_t) -@@ -897,3 +1497,218 @@ optional_policy(` +@@ -897,3 +1499,218 @@ optional_policy(` optional_policy(` zebra_read_config(initrc_t) ') @@ -48104,10 +48193,10 @@ index 0000000..ebd6cc8 +') diff --git a/policy/modules/system/systemd.te b/policy/modules/system/systemd.te new file mode 100644 -index 0000000..0be65c0 +index 0000000..435604e --- /dev/null +++ b/policy/modules/system/systemd.te -@@ -0,0 +1,930 @@ +@@ -0,0 +1,931 @@ +policy_module(systemd, 1.0.0) + +####################################### @@ -48989,6 +49078,7 @@ index 0000000..0be65c0 + +corenet_tcp_bind_llmnr_port(systemd_resolved_t) +corenet_udp_bind_llmnr_port(systemd_resolved_t) ++corenet_tcp_connect_llmnr_port(systemd_resolved_t) + +dev_write_kmsg(systemd_resolved_t) +dev_read_sysfs(systemd_resolved_t) diff --git a/policy-f24-contrib.patch b/policy-f24-contrib.patch index 9f4482a..d8d7c65 100644 --- a/policy-f24-contrib.patch +++ b/policy-f24-contrib.patch @@ -16593,10 +16593,10 @@ index 0000000..1cc5fa4 +') diff --git a/conman.te b/conman.te new file mode 100644 -index 0000000..bce21bf +index 0000000..2357f3b --- /dev/null +++ b/conman.te -@@ -0,0 +1,96 @@ +@@ -0,0 +1,97 @@ +policy_module(conman, 1.0.0) + +######################################## @@ -16646,6 +16646,7 @@ index 0000000..bce21bf +allow conman_t self:tcp_socket { accept listen create_socket_perms }; + +allow conman_t conman_unconfined_script_t:process sigkill; ++allow conman_t conman_unconfined_script_exec_t:dir list_dir_perms; + +manage_dirs_pattern(conman_t, conman_log_t, conman_log_t) +manage_files_pattern(conman_t, conman_log_t, conman_log_t) @@ -28762,7 +28763,7 @@ index c62c567..a74f123 100644 + allow $1 firewalld_unit_file_t:service all_service_perms; ') diff --git a/firewalld.te b/firewalld.te -index 98072a3..d5d852e 100644 +index 98072a3..18a2ef2 100644 --- a/firewalld.te +++ b/firewalld.te @@ -21,9 +21,15 @@ logging_log_file(firewalld_var_log_t) @@ -28806,7 +28807,7 @@ index 98072a3..d5d852e 100644 kernel_read_network_state(firewalld_t) kernel_read_system_state(firewalld_t) -@@ -63,20 +77,19 @@ dev_search_sysfs(firewalld_t) +@@ -63,20 +77,20 @@ dev_search_sysfs(firewalld_t) domain_use_interactive_fds(firewalld_t) @@ -28830,10 +28831,11 @@ index 98072a3..d5d852e 100644 -sysnet_read_config(firewalld_t) +sysnet_dns_name_resolve(firewalld_t) ++sysnet_manage_config_dirs(firewalld_t) optional_policy(` dbus_system_domain(firewalld_t, firewalld_exec_t) -@@ -95,6 +108,10 @@ optional_policy(` +@@ -95,6 +109,10 @@ optional_policy(` ') optional_policy(` @@ -29529,7 +29531,7 @@ index 0000000..0d09fbd + +userdom_use_inherited_user_terminals(freqset_t) diff --git a/ftp.fc b/ftp.fc -index ddb75c1..44f74e6 100644 +index ddb75c1..f38075f 100644 --- a/ftp.fc +++ b/ftp.fc @@ -1,5 +1,8 @@ @@ -29541,6 +29543,14 @@ index ddb75c1..44f74e6 100644 /etc/cron\.monthly/proftpd -- gen_context(system_u:object_r:ftpd_exec_t,s0) /etc/rc\.d/init\.d/vsftpd -- gen_context(system_u:object_r:ftpd_initrc_exec_t,s0) +@@ -23,6 +26,7 @@ + + /var/log/muddleftpd\.log.* -- gen_context(system_u:object_r:xferlog_t,s0) + /var/log/proftpd(/.*)? gen_context(system_u:object_r:xferlog_t,s0) ++/var/log/proftpd\.log -- gen_context(system_u:object_r:xferlog_t,s0) + /var/log/vsftpd.* -- gen_context(system_u:object_r:xferlog_t,s0) + /var/log/xferlog.* -- gen_context(system_u:object_r:xferlog_t,s0) + /var/log/xferreport.* -- gen_context(system_u:object_r:xferlog_t,s0) diff --git a/ftp.if b/ftp.if index 4498143..84a4858 100644 --- a/ftp.if @@ -36646,10 +36656,10 @@ index 0000000..d0016da +') diff --git a/hostapd.te b/hostapd.te new file mode 100644 -index 0000000..54deae3 +index 0000000..438573d --- /dev/null +++ b/hostapd.te -@@ -0,0 +1,52 @@ +@@ -0,0 +1,53 @@ +policy_module(hostapd, 1.0.0) + +######################################## @@ -36675,6 +36685,7 @@ index 0000000..54deae3 +allow hostapd_t self:fifo_file rw_fifo_file_perms; +allow hostapd_t self:unix_stream_socket create_stream_socket_perms; +allow hostapd_t self:netlink_socket create_socket_perms; ++allow hostapd_t self:netlink_generic_socket create_socket_perms; +allow hostapd_t self:netlink_route_socket create_netlink_socket_perms; +allow hostapd_t self:packet_socket create_socket_perms; + @@ -40775,10 +40786,10 @@ index 0000000..17126b6 +') diff --git a/journalctl.te b/journalctl.te new file mode 100644 -index 0000000..896cde4 +index 0000000..68dd2b7 --- /dev/null +++ b/journalctl.te -@@ -0,0 +1,46 @@ +@@ -0,0 +1,47 @@ +policy_module(journalctl, 1.0.0) + +######################################## @@ -40819,6 +40830,7 @@ index 0000000..896cde4 +miscfiles_read_localization(journalctl_t) + +logging_read_generic_logs(journalctl_t) ++logging_read_syslog_pid(journalctl_t) + +userdom_list_user_home_dirs(journalctl_t) +userdom_read_user_home_content_files(journalctl_t) @@ -49038,11 +49050,11 @@ index 0000000..0f290e9 + diff --git a/mirrormanager.fc b/mirrormanager.fc new file mode 100644 -index 0000000..c713b27 +index 0000000..abd53a4 --- /dev/null +++ b/mirrormanager.fc @@ -0,0 +1,7 @@ -+/usr/share/mirrormanager/server/mirrormanager -- gen_context(system_u:object_r:mirrormanager_exec_t,s0) ++/usr/share/mirrormanager/server/mirrormanager(/.*)? gen_context(system_u:object_r:mirrormanager_exec_t,s0) + +/var/lib/mirrormanager(/.*)? gen_context(system_u:object_r:mirrormanager_var_lib_t,s0) + @@ -53170,10 +53182,10 @@ index 65a246a..fa86320 100644 netutils_domtrans_ping(mrtg_t) diff --git a/mta.fc b/mta.fc -index f42896c..2cf0c23 100644 +index f42896c..fce39c1 100644 --- a/mta.fc +++ b/mta.fc -@@ -1,34 +1,41 @@ +@@ -1,34 +1,39 @@ -HOME_DIR/\.esmtp_queue -- gen_context(system_u:object_r:mail_home_t,s0) HOME_DIR/\.forward[^/]* -- gen_context(system_u:object_r:mail_home_t,s0) HOME_DIR/dead\.letter -- gen_context(system_u:object_r:mail_home_t,s0) @@ -53195,6 +53207,8 @@ index f42896c..2cf0c23 100644 -/etc/postfix/aliases.* -- gen_context(system_u:object_r:etc_aliases_t,s0) - -/usr/bin/esmtp -- gen_context(system_u:object_r:sendmail_exec_t,s0) +-/usr/bin/mail(x)? -- gen_context(system_u:object_r:sendmail_exec_t,s0) +- +/etc/mail/.*\.db -- gen_context(system_u:object_r:etc_aliases_t,s0) +ifdef(`distro_redhat',` +/etc/postfix/aliases.* gen_context(system_u:object_r:etc_aliases_t,s0) @@ -53207,8 +53221,6 @@ index f42896c..2cf0c23 100644 +/root/Maildir(/.*)? gen_context(system_u:object_r:mail_home_rw_t,s0) + +/usr/bin/esmtp -- gen_context(system_u:object_r:sendmail_exec_t,s0) - /usr/bin/mail(x)? -- gen_context(system_u:object_r:sendmail_exec_t,s0) - /usr/lib/sendmail -- gen_context(system_u:object_r:sendmail_exec_t,s0) -/usr/lib/courier/bin/sendmail -- gen_context(system_u:object_r:sendmail_exec_t,s0) @@ -59324,10 +59336,10 @@ index 0000000..409de8c +') diff --git a/ninfod.te b/ninfod.te new file mode 100644 -index 0000000..d75c408 +index 0000000..b3aa3ce --- /dev/null +++ b/ninfod.te -@@ -0,0 +1,35 @@ +@@ -0,0 +1,36 @@ +policy_module(ninfod, 1.0.0) + +######################################## @@ -59354,6 +59366,7 @@ index 0000000..d75c408 +allow ninfod_t self:fifo_file rw_fifo_file_perms; +allow ninfod_t self:rawip_socket { create setopt }; +allow ninfod_t self:unix_stream_socket create_stream_socket_perms; ++allow ninfod_t self:rawip_socket read; + +manage_files_pattern(ninfod_t, ninfod_run_t, ninfod_run_t) +files_pid_filetrans(ninfod_t,ninfod_run_t, { file }) @@ -69116,7 +69129,7 @@ index d2fc677..86dce34 100644 ') + diff --git a/pegasus.te b/pegasus.te -index 608f454..6a92354 100644 +index 608f454..bc31081 100644 --- a/pegasus.te +++ b/pegasus.te @@ -5,13 +5,12 @@ policy_module(pegasus, 1.9.0) @@ -69476,7 +69489,7 @@ index 608f454..6a92354 100644 allow pegasus_t pegasus_conf_t:lnk_file read_lnk_file_perms; manage_dirs_pattern(pegasus_t, pegasus_cache_t, pegasus_cache_t) -@@ -54,22 +368,22 @@ files_var_filetrans(pegasus_t, pegasus_cache_t, { dir file lnk_file }) +@@ -54,25 +368,26 @@ files_var_filetrans(pegasus_t, pegasus_cache_t, { dir file lnk_file }) manage_dirs_pattern(pegasus_t, pegasus_data_t, pegasus_data_t) manage_files_pattern(pegasus_t, pegasus_data_t, pegasus_data_t) manage_lnk_files_pattern(pegasus_t, pegasus_data_t, pegasus_data_t) @@ -69507,7 +69520,11 @@ index 608f454..6a92354 100644 kernel_read_network_state(pegasus_t) kernel_read_kernel_sysctls(pegasus_t) -@@ -80,27 +394,21 @@ kernel_read_net_sysctls(pegasus_t) ++kernel_read_sysctl(pegasus_t) + kernel_read_fs_sysctls(pegasus_t) + kernel_read_system_state(pegasus_t) + kernel_search_vm_sysctl(pegasus_t) +@@ -80,27 +395,21 @@ kernel_read_net_sysctls(pegasus_t) kernel_read_xen_state(pegasus_t) kernel_write_xen_state(pegasus_t) @@ -69540,7 +69557,7 @@ index 608f454..6a92354 100644 corecmd_exec_bin(pegasus_t) corecmd_exec_shell(pegasus_t) -@@ -114,9 +422,11 @@ files_getattr_all_dirs(pegasus_t) +@@ -114,9 +423,11 @@ files_getattr_all_dirs(pegasus_t) auth_use_nsswitch(pegasus_t) auth_domtrans_chk_passwd(pegasus_t) @@ -69552,7 +69569,7 @@ index 608f454..6a92354 100644 files_list_var_lib(pegasus_t) files_read_var_lib_files(pegasus_t) -@@ -128,18 +438,29 @@ init_stream_connect_script(pegasus_t) +@@ -128,18 +439,29 @@ init_stream_connect_script(pegasus_t) logging_send_audit_msgs(pegasus_t) logging_send_syslog_msg(pegasus_t) @@ -69574,21 +69591,21 @@ index 608f454..6a92354 100644 +optional_policy(` + dbus_system_bus_client(pegasus_t) + dbus_connect_system_bus(pegasus_t) -+ -+ optional_policy(` -+ networkmanager_dbus_chat(pegasus_t) -+ ') -+') - optional_policy(` - networkmanager_dbus_chat(pegasus_t) - ') ++ optional_policy(` ++ networkmanager_dbus_chat(pegasus_t) ++ ') ++') ++ +optional_policy(` + rhcs_stream_connect_cluster(pegasus_t) ') optional_policy(` -@@ -151,16 +472,24 @@ optional_policy(` +@@ -151,16 +473,24 @@ optional_policy(` ') optional_policy(` @@ -69617,7 +69634,7 @@ index 608f454..6a92354 100644 ') optional_policy(` -@@ -168,7 +497,7 @@ optional_policy(` +@@ -168,7 +498,7 @@ optional_policy(` ') optional_policy(` @@ -69626,7 +69643,7 @@ index 608f454..6a92354 100644 ') optional_policy(` -@@ -180,6 +509,7 @@ optional_policy(` +@@ -180,12 +510,17 @@ optional_policy(` ') optional_policy(` @@ -69634,6 +69651,16 @@ index 608f454..6a92354 100644 virt_domtrans(pegasus_t) virt_stream_connect(pegasus_t) virt_manage_config(pegasus_t) + ') + + optional_policy(` ++ qemu_getattr_exec(pegasus_t) ++') ++ ++optional_policy(` + xen_stream_connect(pegasus_t) + xen_stream_connect_xenstore(pegasus_t) + ') diff --git a/pesign.fc b/pesign.fc new file mode 100644 index 0000000..7b54c39 @@ -77507,10 +77534,10 @@ index 0000000..8231f4f +') diff --git a/prosody.te b/prosody.te new file mode 100644 -index 0000000..3ef4a99 +index 0000000..71f9abb --- /dev/null +++ b/prosody.te -@@ -0,0 +1,97 @@ +@@ -0,0 +1,98 @@ +policy_module(prosody, 1.0.0) + +######################################## @@ -77587,6 +77614,7 @@ index 0000000..3ef4a99 +corenet_tcp_bind_jabber_interserver_port(prosody_t) +corenet_tcp_bind_jabber_router_port(prosody_t) +corenet_tcp_bind_commplex_main_port(prosody_t) ++corenet_tcp_bind_fac_restore_port(prosody_t) + +tunable_policy(`prosody_bind_http_port',` + corenet_tcp_bind_http_port(prosody_t) @@ -78922,7 +78950,7 @@ index 7cb8b1f..bef7217 100644 + allow $1 puppet_var_run_t:dir search_dir_perms; ') diff --git a/puppet.te b/puppet.te -index 618dcfe..1cd6fca 100644 +index 618dcfe..67d166c 100644 --- a/puppet.te +++ b/puppet.te @@ -6,25 +6,32 @@ policy_module(puppet, 1.4.0) @@ -78984,7 +79012,7 @@ index 618dcfe..1cd6fca 100644 type puppetmaster_t; type puppetmaster_exec_t; -@@ -56,161 +62,162 @@ files_tmp_file(puppetmaster_tmp_t) +@@ -56,161 +62,166 @@ files_tmp_file(puppetmaster_tmp_t) ######################################## # @@ -79183,61 +79211,65 @@ index 618dcfe..1cd6fca 100644 + +optional_policy(` + mysql_stream_connect(puppetagent_t) ++') ++ ++optional_policy(` ++ postgresql_stream_connect(puppetagent_t) ++') ++ ++optional_policy(` ++ cfengine_read_lib_files(puppetagent_t) ') optional_policy(` - cfengine_read_lib_files(puppet_t) -+ postgresql_stream_connect(puppetagent_t) ++ consoletype_exec(puppetagent_t) ') optional_policy(` - consoletype_exec(puppet_t) -+ cfengine_read_lib_files(puppetagent_t) ++ hostname_exec(puppetagent_t) ') optional_policy(` - hostname_exec(puppet_t) -+ consoletype_exec(puppetagent_t) ++ mount_domtrans(puppetagent_t) ') optional_policy(` - mount_domtrans(puppet_t) -+ hostname_exec(puppetagent_t) ++ mta_send_mail(puppetagent_t) ') optional_policy(` - mta_send_mail(puppet_t) -+ mount_domtrans(puppetagent_t) ++ firewalld_dbus_chat(puppetagent_t) ') optional_policy(` - portage_domtrans(puppet_t) - portage_domtrans_fetch(puppet_t) - portage_domtrans_gcc_config(puppet_t) -+ mta_send_mail(puppetagent_t) ++ portage_domtrans(puppetagent_t) ++ portage_domtrans_fetch(puppetagent_t) ++ portage_domtrans_gcc_config(puppetagent_t) ') optional_policy(` - files_rw_var_files(puppet_t) -+ firewalld_dbus_chat(puppetagent_t) -+') ++ files_rw_var_files(puppetagent_t) - rpm_domtrans(puppet_t) - rpm_manage_db(puppet_t) - rpm_manage_log(puppet_t) -+optional_policy(` -+ portage_domtrans(puppetagent_t) -+ portage_domtrans_fetch(puppetagent_t) -+ portage_domtrans_gcc_config(puppetagent_t) ++ rpm_domtrans(puppetagent_t) ++ rpm_manage_db(puppetagent_t) ++ rpm_manage_log(puppetagent_t) ') optional_policy(` - unconfined_domain(puppet_t) -+ files_rw_var_files(puppetagent_t) -+ -+ rpm_domtrans(puppetagent_t) -+ rpm_manage_db(puppetagent_t) -+ rpm_manage_log(puppetagent_t) ++ shorewall_domtrans(puppetagent_t) ') optional_policy(` @@ -79263,7 +79295,7 @@ index 618dcfe..1cd6fca 100644 allow puppetca_t puppet_var_lib_t:dir list_dir_perms; manage_files_pattern(puppetca_t, puppet_var_lib_t, puppet_var_lib_t) -@@ -221,6 +228,7 @@ allow puppetca_t puppet_log_t:dir search_dir_perms; +@@ -221,6 +232,7 @@ allow puppetca_t puppet_log_t:dir search_dir_perms; allow puppetca_t puppet_var_run_t:dir search_dir_perms; kernel_read_system_state(puppetca_t) @@ -79271,7 +79303,7 @@ index 618dcfe..1cd6fca 100644 kernel_read_kernel_sysctls(puppetca_t) corecmd_exec_bin(puppetca_t) -@@ -229,15 +237,12 @@ corecmd_exec_shell(puppetca_t) +@@ -229,15 +241,12 @@ corecmd_exec_shell(puppetca_t) dev_read_urand(puppetca_t) dev_search_sysfs(puppetca_t) @@ -79287,7 +79319,7 @@ index 618dcfe..1cd6fca 100644 miscfiles_read_generic_certs(puppetca_t) seutil_read_file_contexts(puppetca_t) -@@ -246,38 +251,48 @@ optional_policy(` +@@ -246,38 +255,48 @@ optional_policy(` hostname_exec(puppetca_t) ') @@ -79352,7 +79384,7 @@ index 618dcfe..1cd6fca 100644 kernel_dontaudit_search_kernel_sysctl(puppetmaster_t) kernel_read_network_state(puppetmaster_t) -@@ -289,23 +304,24 @@ corecmd_exec_bin(puppetmaster_t) +@@ -289,23 +308,24 @@ corecmd_exec_bin(puppetmaster_t) corecmd_exec_shell(puppetmaster_t) corenet_all_recvfrom_netlabel(puppetmaster_t) @@ -79383,7 +79415,7 @@ index 618dcfe..1cd6fca 100644 selinux_validate_context(puppetmaster_t) -@@ -314,26 +330,31 @@ auth_use_nsswitch(puppetmaster_t) +@@ -314,26 +334,31 @@ auth_use_nsswitch(puppetmaster_t) logging_send_syslog_msg(puppetmaster_t) miscfiles_read_generic_certs(puppetmaster_t) @@ -79420,7 +79452,7 @@ index 618dcfe..1cd6fca 100644 ') optional_policy(` -@@ -342,3 +363,9 @@ optional_policy(` +@@ -342,3 +367,9 @@ optional_policy(` rpm_exec(puppetmaster_t) rpm_read_db(puppetmaster_t) ') @@ -80192,7 +80224,7 @@ index 86ea53c..a2dcf7b 100644 /usr/bin/qemu-kvm -- gen_context(system_u:object_r:qemu_exec_t,s0) /usr/bin/kvm -- gen_context(system_u:object_r:qemu_exec_t,s0) diff --git a/qemu.if b/qemu.if -index eaf56b8..aa90671 100644 +index eaf56b8..8894726 100644 --- a/qemu.if +++ b/qemu.if @@ -1,19 +1,21 @@ @@ -80418,7 +80450,7 @@ index eaf56b8..aa90671 100644 ## ## ## -@@ -264,48 +239,68 @@ interface(`qemu_kill',` +@@ -264,28 +239,68 @@ interface(`qemu_kill',` ######################################## ## @@ -80456,9 +80488,6 @@ index eaf56b8..aa90671 100644 - type unconfined_qemu_t, qemu_exec_t; + type qemu_exec_t; ') -- -- corecmd_search_bin($1) -- domtrans_pattern($1, qemu_exec_t, unconfined_qemu_t) + + read_lnk_files_pattern($1, qemu_exec_t, qemu_exec_t) + domain_transition_pattern($1, qemu_exec_t, $2) @@ -80468,63 +80497,66 @@ index eaf56b8..aa90671 100644 + allow $2 $1:fd use; + allow $2 $1:fifo_file rw_fifo_file_perms; + allow $2 $1:process sigchld; ++') + +- corecmd_search_bin($1) +- domtrans_pattern($1, qemu_exec_t, unconfined_qemu_t) ++######################################## ++## ++## Execute qemu unconfined programs in the role. ++## ++## ++## ++## The role to allow the qemu unconfined domain. ++## ++## ++# ++interface(`qemu_unconfined_role',` ++ gen_require(` ++ type unconfined_qemu_t; ++ type qemu_t; ++ ') ++ role $1 types unconfined_qemu_t; ++ role $1 types qemu_t; ') ######################################## ## -## Create, read, write, and delete -## qemu temporary directories. -+## Execute qemu unconfined programs in the role. ++## Manage qemu temporary dirs. ## --## -+## + ## ## --## Domain allowed access. -+## The role to allow the qemu unconfined domain. - ## - ## - # --interface(`qemu_manage_tmp_dirs',` -+interface(`qemu_unconfined_role',` - gen_require(` -- type qemu_tmp_t; -+ type unconfined_qemu_t; -+ type qemu_t; +@@ -298,14 +313,12 @@ interface(`qemu_manage_tmp_dirs',` + type qemu_tmp_t; ') -- + - files_search_tmp($1) -- manage_dirs_pattern($1, qemu_tmp_t, qemu_tmp_t) -+ role $1 types unconfined_qemu_t; -+ role $1 types qemu_t; + manage_dirs_pattern($1, qemu_tmp_t, qemu_tmp_t) ') ######################################## ## -## Create, read, write, and delete -## qemu temporary files. -+## Manage qemu temporary dirs. ++## Manage qemu temporary files. ## ## ## -@@ -313,58 +308,41 @@ interface(`qemu_manage_tmp_dirs',` - ## - ## - # --interface(`qemu_manage_tmp_files',` -+interface(`qemu_manage_tmp_dirs',` - gen_require(` +@@ -318,59 +331,42 @@ interface(`qemu_manage_tmp_files',` type qemu_tmp_t; ') - files_search_tmp($1) -- manage_files_pattern($1, qemu_tmp_t, qemu_tmp_t) -+ manage_dirs_pattern($1, qemu_tmp_t, qemu_tmp_t) + manage_files_pattern($1, qemu_tmp_t, qemu_tmp_t) ') ######################################## ## -## Execute qemu in a specified domain. -+## Manage qemu temporary files. ++## Make qemu_exec_t an entrypoint for ++## the specified domain. ## -## -##

@@ -80542,43 +80574,54 @@ index eaf56b8..aa90671 100644 -##

-## -## -+## - ## +-## -## Domain to transition to. -+## Domain allowed access. - ## +-## ++## ++## ++## The domain for which qemu_exec_t is an entrypoint. ++## ## # -interface(`qemu_spec_domtrans',` -+interface(`qemu_manage_tmp_files',` ++interface(`qemu_entry_type',` gen_require(` -- type qemu_exec_t; -+ type qemu_tmp_t; + type qemu_exec_t; ') - corecmd_search_bin($1) - domain_auto_trans($1, qemu_exec_t, $2) -+ manage_files_pattern($1, qemu_tmp_t, qemu_tmp_t) ++ domain_entry_file($1, qemu_exec_t) ') -###################################### -+######################################## ++####################################### ## -## Make qemu executable files an -## entrypoint for the specified domain. -+## Make qemu_exec_t an entrypoint for -+## the specified domain. ++## Getattr on qemu executable. ## ## -## -## The domain for which qemu_exec_t is an entrypoint. -## -+## -+## The domain for which qemu_exec_t is an entrypoint. -+## ++## ++## Domain allowed to transition. ++## ## # - interface(`qemu_entry_type',` +-interface(`qemu_entry_type',` +- gen_require(` +- type qemu_exec_t; +- ') ++interface(`qemu_getattr_exec',` ++ gen_require(` ++ type qemu_exec_t; ++ ') + +- domain_entry_file($1, qemu_exec_t) ++ allow $1 qemu_exec_t:file getattr; + ') diff --git a/qemu.te b/qemu.te index 4f90743..958c0ef 100644 --- a/qemu.te @@ -88300,7 +88343,7 @@ index 6dbc905..4b17c93 100644 - admin_pattern($1, rhsmcertd_lock_t) ') diff --git a/rhsmcertd.te b/rhsmcertd.te -index d32e1a2..2e80d44 100644 +index d32e1a2..cb5f49c 100644 --- a/rhsmcertd.te +++ b/rhsmcertd.te @@ -18,6 +18,9 @@ logging_log_file(rhsmcertd_log_t) @@ -88339,7 +88382,7 @@ index d32e1a2..2e80d44 100644 manage_dirs_pattern(rhsmcertd_t, rhsmcertd_var_lib_t, rhsmcertd_var_lib_t) manage_files_pattern(rhsmcertd_t, rhsmcertd_var_lib_t, rhsmcertd_var_lib_t) -@@ -50,25 +56,87 @@ manage_files_pattern(rhsmcertd_t, rhsmcertd_var_run_t, rhsmcertd_var_run_t) +@@ -50,25 +56,89 @@ manage_files_pattern(rhsmcertd_t, rhsmcertd_var_run_t, rhsmcertd_var_run_t) files_pid_filetrans(rhsmcertd_t, rhsmcertd_var_run_t, { file dir }) kernel_read_network_state(rhsmcertd_t) @@ -88350,6 +88393,8 @@ index d32e1a2..2e80d44 100644 +corenet_tcp_connect_http_port(rhsmcertd_t) +corenet_tcp_connect_http_cache_port(rhsmcertd_t) +corenet_tcp_connect_squid_port(rhsmcertd_t) ++corenet_tcp_connect_netport_port(rhsmcertd_t) ++corenet_tcp_connect_websm_port(rhsmcertd_t) corecmd_exec_bin(rhsmcertd_t) +corecmd_exec_shell(rhsmcertd_t) @@ -101358,10 +101403,10 @@ index 0919e0c..56a984b 100644 userdom_dontaudit_use_unpriv_user_fds(soundd_t) diff --git a/spamassassin.fc b/spamassassin.fc -index e9bd097..e059e27 100644 +index e9bd097..5724bcf 100644 --- a/spamassassin.fc +++ b/spamassassin.fc -@@ -1,20 +1,26 @@ +@@ -1,20 +1,27 @@ -HOME_DIR/\.spamassassin(/.*)? gen_context(system_u:object_r:spamassassin_home_t,s0) -HOME_DIR/\.spamd(/.*)? gen_context(system_u:object_r:spamd_home_t,s0) +HOME_DIR/\.pyzor(/.*)? gen_context(system_u:object_r:spamc_home_t,s0) @@ -101393,10 +101438,11 @@ index e9bd097..e059e27 100644 /usr/bin/mimedefang -- gen_context(system_u:object_r:spamd_exec_t,s0) -/usr/bin/mimedefang-multiplexor -- gen_context(system_u:object_r:spamd_exec_t,s0) +/usr/bin/mimedefang-multiplexor -- gen_context(system_u:object_r:spamd_exec_t,s0) ++/usr/libexec/mimedefang-wrapper -- gen_context(system_u:object_r:spamd_exec_t,s0) /var/lib/spamassassin(/.*)? gen_context(system_u:object_r:spamd_var_lib_t,s0) /var/lib/spamassassin/compiled(/.*)? gen_context(system_u:object_r:spamd_compiled_t,s0) -@@ -25,7 +31,22 @@ HOME_DIR/\.spamd(/.*)? gen_context(system_u:object_r:spamd_home_t,s0) +@@ -25,7 +32,22 @@ HOME_DIR/\.spamd(/.*)? gen_context(system_u:object_r:spamd_home_t,s0) /var/run/spamassassin(/.*)? gen_context(system_u:object_r:spamd_var_run_t,s0) /var/spool/spamassassin(/.*)? gen_context(system_u:object_r:spamd_spool_t,s0) @@ -101877,10 +101923,10 @@ index 1499b0b..6950cab 100644 - spamassassin_role($2, $1) ') diff --git a/spamassassin.te b/spamassassin.te -index cc58e35..d20d0ed 100644 +index cc58e35..7e5c719 100644 --- a/spamassassin.te +++ b/spamassassin.te -@@ -7,50 +7,23 @@ policy_module(spamassassin, 2.6.1) +@@ -7,50 +7,30 @@ policy_module(spamassassin, 2.6.1) ## ##

@@ -101901,6 +101947,13 @@ index cc58e35..d20d0ed 100644 -gen_tunable(spamd_enable_home_dirs, false) +gen_tunable(spamd_enable_home_dirs, true) + ++## ++##

++## Allow spamd_update to connect to all ports. ++##

++##
++gen_tunable(spamd_update_can_network, false) ++ type spamd_update_t; type spamd_update_exec_t; @@ -101937,7 +101990,7 @@ index cc58e35..d20d0ed 100644 type spamd_t; type spamd_exec_t; -@@ -59,12 +32,6 @@ init_daemon_domain(spamd_t, spamd_exec_t) +@@ -59,12 +39,6 @@ init_daemon_domain(spamd_t, spamd_exec_t) type spamd_compiled_t; files_type(spamd_compiled_t) @@ -101950,7 +102003,7 @@ index cc58e35..d20d0ed 100644 type spamd_initrc_exec_t; init_script_file(spamd_initrc_exec_t) -@@ -72,87 +39,199 @@ type spamd_log_t; +@@ -72,87 +46,199 @@ type spamd_log_t; logging_log_file(spamd_log_t) type spamd_spool_t; @@ -102172,7 +102225,7 @@ index cc58e35..d20d0ed 100644 nis_use_ypbind_uncond(spamassassin_t) ') ') -@@ -160,6 +239,8 @@ optional_policy(` +@@ -160,6 +246,8 @@ optional_policy(` optional_policy(` mta_read_config(spamassassin_t) sendmail_stub(spamassassin_t) @@ -102181,7 +102234,7 @@ index cc58e35..d20d0ed 100644 ') ######################################## -@@ -167,72 +248,95 @@ optional_policy(` +@@ -167,72 +255,95 @@ optional_policy(` # Client local policy # @@ -102285,20 +102338,20 @@ index cc58e35..d20d0ed 100644 -auth_use_nsswitch(spamc_t) +fs_search_auto_mountpoints(spamc_t) -+ -+libs_exec_ldconfig(spamc_t) - logging_send_syslog_msg(spamc_t) +-logging_send_syslog_msg(spamc_t) ++libs_exec_ldconfig(spamc_t) -miscfiles_read_localization(spamc_t) -+auth_use_nsswitch(spamc_t) ++logging_send_syslog_msg(spamc_t) -tunable_policy(`use_nfs_home_dirs',` - fs_manage_nfs_dirs(spamc_t) - fs_manage_nfs_files(spamc_t) - fs_manage_nfs_symlinks(spamc_t) -') -- ++auth_use_nsswitch(spamc_t) + -tunable_policy(`use_samba_home_dirs',` - fs_manage_cifs_dirs(spamc_t) - fs_manage_cifs_files(spamc_t) @@ -102308,7 +102361,7 @@ index cc58e35..d20d0ed 100644 optional_policy(` abrt_stream_connect(spamc_t) -@@ -243,6 +347,7 @@ optional_policy(` +@@ -243,6 +354,7 @@ optional_policy(` ') optional_policy(` @@ -102316,7 +102369,7 @@ index cc58e35..d20d0ed 100644 evolution_stream_connect(spamc_t) ') -@@ -251,11 +356,18 @@ optional_policy(` +@@ -251,11 +363,18 @@ optional_policy(` ') optional_policy(` @@ -102336,7 +102389,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -267,36 +379,40 @@ optional_policy(` +@@ -267,36 +386,40 @@ optional_policy(` ######################################## # @@ -102363,17 +102416,17 @@ index cc58e35..d20d0ed 100644 allow spamd_t self:unix_dgram_socket sendto; -allow spamd_t self:unix_stream_socket { accept connectto listen }; -allow spamd_t self:tcp_socket { accept listen }; -- ++allow spamd_t self:unix_stream_socket connectto; ++allow spamd_t self:tcp_socket create_stream_socket_perms; ++allow spamd_t self:udp_socket create_socket_perms; + -manage_dirs_pattern(spamd_t, spamd_home_t, spamd_home_t) -manage_files_pattern(spamd_t, spamd_home_t, spamd_home_t) -manage_lnk_files_pattern(spamd_t, spamd_home_t, spamd_home_t) -manage_fifo_files_pattern(spamd_t, spamd_home_t, spamd_home_t) -manage_sock_files_pattern(spamd_t, spamd_home_t, spamd_home_t) -userdom_user_home_dir_filetrans(spamd_t, spamd_home_t, dir, ".spamd") -+allow spamd_t self:unix_stream_socket connectto; -+allow spamd_t self:tcp_socket create_stream_socket_perms; -+allow spamd_t self:udp_socket create_socket_perms; - +- -manage_dirs_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) -manage_files_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) -manage_lnk_files_pattern(spamd_t, spamassassin_home_t, spamassassin_home_t) @@ -102394,7 +102447,7 @@ index cc58e35..d20d0ed 100644 logging_log_filetrans(spamd_t, spamd_log_t, file) manage_dirs_pattern(spamd_t, spamd_spool_t, spamd_spool_t) -@@ -308,7 +424,8 @@ manage_dirs_pattern(spamd_t, spamd_tmp_t, spamd_tmp_t) +@@ -308,7 +431,8 @@ 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 }) @@ -102404,7 +102457,7 @@ index cc58e35..d20d0ed 100644 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 +434,14 @@ manage_files_pattern(spamd_t, spamd_var_run_t, spamd_var_run_t) +@@ -317,12 +441,14 @@ 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 }) @@ -102421,7 +102474,7 @@ index cc58e35..d20d0ed 100644 corenet_all_recvfrom_netlabel(spamd_t) corenet_tcp_sendrecv_generic_if(spamd_t) corenet_udp_sendrecv_generic_if(spamd_t) -@@ -331,78 +450,60 @@ corenet_udp_sendrecv_generic_node(spamd_t) +@@ -331,78 +457,60 @@ 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) @@ -102526,7 +102579,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -421,21 +522,13 @@ optional_policy(` +@@ -421,21 +529,13 @@ optional_policy(` ') optional_policy(` @@ -102550,7 +102603,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -443,8 +536,8 @@ optional_policy(` +@@ -443,8 +543,8 @@ optional_policy(` ') optional_policy(` @@ -102560,7 +102613,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -455,7 +548,17 @@ optional_policy(` +@@ -455,7 +555,17 @@ optional_policy(` optional_policy(` razor_domtrans(spamd_t) razor_read_lib_files(spamd_t) @@ -102579,7 +102632,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -463,9 +566,9 @@ optional_policy(` +@@ -463,9 +573,9 @@ optional_policy(` ') optional_policy(` @@ -102590,7 +102643,7 @@ index cc58e35..d20d0ed 100644 ') optional_policy(` -@@ -474,32 +577,32 @@ optional_policy(` +@@ -474,32 +584,32 @@ optional_policy(` ######################################## # @@ -102616,24 +102669,24 @@ index cc58e35..d20d0ed 100644 -kernel_read_system_state(spamd_update_t) +allow spamd_update_t spamc_home_t:dir search_dir_perms; +allow spamd_update_t spamd_tmp_t:file read_file_perms; ++ ++allow spamd_update_t spamc_home_t:dir search_dir_perms; -corenet_all_recvfrom_unlabeled(spamd_update_t) -corenet_all_recvfrom_netlabel(spamd_update_t) -corenet_tcp_sendrecv_generic_if(spamd_update_t) -corenet_tcp_sendrecv_generic_node(spamd_update_t) -corenet_tcp_sendrecv_all_ports(spamd_update_t) -+allow spamd_update_t spamc_home_t:dir search_dir_perms; ++kernel_read_system_state(spamd_update_t) -corenet_sendrecv_http_client_packets(spamd_update_t) -+kernel_read_system_state(spamd_update_t) -+ +# for updating rules corenet_tcp_connect_http_port(spamd_update_t) -corenet_tcp_sendrecv_http_port(spamd_update_t) corecmd_exec_bin(spamd_update_t) corecmd_exec_shell(spamd_update_t) -@@ -508,25 +611,21 @@ dev_read_urand(spamd_update_t) +@@ -508,25 +618,26 @@ dev_read_urand(spamd_update_t) domain_use_interactive_fds(spamd_update_t) @@ -102663,8 +102716,13 @@ index cc58e35..d20d0ed 100644 - mta_read_config(spamd_update_t) + gpg_domtrans(spamd_update_t) + gpg_manage_home_content(spamd_update_t) - ') ++') + ++tunable_policy(`spamd_update_can_network',` ++ corenet_sendrecv_all_client_packets(spamd_update_t) ++ corenet_tcp_connect_all_ports(spamd_update_t) ++ corenet_tcp_sendrecv_all_ports(spamd_update_t) + ') diff --git a/speech-dispatcher.fc b/speech-dispatcher.fc new file mode 100644 index 0000000..545f682 @@ -108729,7 +108787,7 @@ index e29db63..061fb98 100644 domain_system_change_exemption($1) role_transition $2 tuned_initrc_exec_t system_r; diff --git a/tuned.te b/tuned.te -index 393a330..6893547 100644 +index 393a330..0691d4a 100644 --- a/tuned.te +++ b/tuned.te @@ -21,6 +21,9 @@ files_config_file(tuned_rw_etc_t) @@ -108794,7 +108852,7 @@ index 393a330..6893547 100644 corecmd_exec_bin(tuned_t) corecmd_exec_shell(tuned_t) -@@ -64,31 +78,60 @@ corecmd_exec_shell(tuned_t) +@@ -64,35 +78,72 @@ corecmd_exec_shell(tuned_t) dev_getattr_all_blk_files(tuned_t) dev_getattr_all_chr_files(tuned_t) dev_read_urand(tuned_t) @@ -108855,11 +108913,15 @@ index 393a330..6893547 100644 mount_domtrans(tuned_t) ') -+# to allow network interface tuning optional_policy(` ++ policykit_dbus_chat(tuned_t) ++') ++ ++# to allow network interface tuning ++optional_policy(` sysnet_domtrans_ifconfig(tuned_t) ') -@@ -96,3 +139,7 @@ optional_policy(` + optional_policy(` unconfined_dbus_send(tuned_t) ') diff --git a/selinux-policy.spec b/selinux-policy.spec index a5bc047..d20db5d 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -19,7 +19,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 3.13.1 -Release: 191%{?dist}.1 +Release: 191%{?dist}.2 License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -645,6 +645,37 @@ exit 0 %endif %changelog +* Wed Jun 22 2016 Lukas Vrabec 3.13.1-191.2 +- Allow firewalld_t to create entries in net_conf_t dirs. +- Allow journalctl to read syslogd_var_run_t files. This allows to staff_t and sysadm_t to read journals +- Allow rhsmcertd connect to port tcp 9090 +- Label for /bin/mail(x) was removed but /usr/bin/mail(x) not. This path is also needed to remove. +- Label /usr/libexec/mimedefang-wrapper as spamd_exec_t. +- Add new boolean spamd_update_can_network. +- Add proper label for /var/log/proftpd.log +- Fix SELinux context for /usr/share/mirrormanager/server/mirrormanager to Label all binaries under dir as mirrormanager_exec_t. +- Allow rhsmcertd connect to tcp netport_port_t +- Allow prosody to bind to fac_restore tcp port. +- Fix broken hostapd policy +- Allow ninfod to read raw packets +- Allow hostapd to create netlink_generic sockets. BZ(1343683) +- Allow puppet_t transtition to shorewall_t +- Allow pegasus get attributes from qemu binary files. +- Allow tuned to use policykit. This change is required by cockpit. +- Allow conman_t to read dir with conman_unconfined_script_t binary files. +- Allow pegasus to read /proc/sysinfo. +- Allow conman to kill conman_unconfined_script. +- Allow sysadm_role to run journalctl_t domain. This allows sysadm user to read journals. +- Label tcp ports:16379, 26379 as redis_port_t +- Allow systemd to relabel /var and /var/lib directories during boot. +- Add files_relabel_var_dirs() and files_relabel_var_dirs() interfaces. +- Add files_relabelto_var_lib_dirs() interface. +- Label tcp and udp port 5582 as fac_restore_port_t +- Allow sysadm_t user to run postgresql-setup. +- Allow sysadm_t user to dbus chat with oddjob_t. This allows confined admin run oddjob mkhomedirfor script. Resolves: rhbz#1297480 +- Allow systemd-resolved to connect to llmnr tcp port. BZ(1344849) +- Allow passwd_t also manage user_tmp_t dirs, this change is needed b + * Thu Jun 16 2016 Lukas Vrabec 3.13.1-191.1 - Allow conman to kill conman_unconfined_script. - Make conman_unconfined_script_t as init_system_domain.