-+##
-+## Allow colord domain to connect to the network using TCP.
-+##
-+##
-+gen_tunable(colord_can_network_connect, false)
-+
- type colord_t;
- type colord_exec_t;
- dbus_system_domain(colord_t, colord_exec_t)
-@@ -23,9 +30,11 @@ files_type(colord_var_lib_t)
+@@ -23,9 +23,11 @@ files_type(colord_var_lib_t)
# colord local policy
#
allow colord_t self:capability { dac_read_search dac_override };
@@ -31295,7 +31320,7 @@ index 74505cc..246bbf9 100644
allow colord_t self:udp_socket create_socket_perms;
allow colord_t self:unix_dgram_socket create_socket_perms;
-@@ -41,8 +50,14 @@ manage_dirs_pattern(colord_t, colord_var_lib_t, colord_var_lib_t)
+@@ -41,8 +43,14 @@ manage_dirs_pattern(colord_t, colord_var_lib_t, colord_var_lib_t)
manage_files_pattern(colord_t, colord_var_lib_t, colord_var_lib_t)
files_var_lib_filetrans(colord_t, colord_var_lib_t, { file dir })
@@ -31311,7 +31336,7 @@ index 74505cc..246bbf9 100644
corenet_all_recvfrom_unlabeled(colord_t)
corenet_all_recvfrom_netlabel(colord_t)
-@@ -50,6 +65,8 @@ corenet_udp_bind_generic_node(colord_t)
+@@ -50,6 +58,8 @@ corenet_udp_bind_generic_node(colord_t)
corenet_udp_bind_ipp_port(colord_t)
corenet_tcp_connect_ipp_port(colord_t)
@@ -31320,12 +31345,13 @@ index 74505cc..246bbf9 100644
dev_read_video_dev(colord_t)
dev_write_video_dev(colord_t)
dev_rw_printer(colord_t)
-@@ -65,19 +82,36 @@ files_list_mnt(colord_t)
+@@ -65,19 +75,33 @@ files_list_mnt(colord_t)
files_read_etc_files(colord_t)
files_read_usr_files(colord_t)
+fs_search_all(colord_t)
+fs_getattr_noxattr_fs(colord_t)
++fs_dontaudit_getattr_all_fs(colord_t)
+fs_list_noxattr_fs(colord_t)
fs_read_noxattr_fs_files(colord_t)
@@ -31343,10 +31369,6 @@ index 74505cc..246bbf9 100644
+userdom_rw_user_tmpfs_files(colord_t)
+
+userdom_home_reader(colord_t)
-+
-+tunable_policy(`colord_can_network_connect',`
-+ corenet_tcp_connect_all_ports(colord_t)
-+')
tunable_policy(`use_nfs_home_dirs',`
+ fs_getattr_nfs(colord_t)
@@ -31358,7 +31380,7 @@ index 74505cc..246bbf9 100644
fs_read_cifs_files(colord_t)
')
-@@ -89,6 +123,12 @@ optional_policy(`
+@@ -89,6 +113,12 @@ optional_policy(`
')
optional_policy(`
@@ -31371,7 +31393,7 @@ index 74505cc..246bbf9 100644
policykit_dbus_chat(colord_t)
policykit_domtrans_auth(colord_t)
policykit_read_lib(colord_t)
-@@ -96,5 +136,16 @@ optional_policy(`
+@@ -96,5 +126,16 @@ optional_policy(`
')
optional_policy(`
@@ -32465,7 +32487,7 @@ index 35241ed..7a0913c 100644
+ manage_files_pattern($1, system_cronjob_var_lib_t, system_cronjob_var_lib_t)
')
diff --git a/policy/modules/services/cron.te b/policy/modules/services/cron.te
-index f7583ab..230cbb2 100644
+index f7583ab..a4d25d9 100644
--- a/policy/modules/services/cron.te
+++ b/policy/modules/services/cron.te
@@ -10,18 +10,18 @@ gen_require(`
@@ -32858,7 +32880,18 @@ index f7583ab..230cbb2 100644
')
optional_policy(`
-@@ -480,7 +582,7 @@ optional_policy(`
+@@ -472,6 +574,10 @@ optional_policy(`
+ ')
+
+ optional_policy(`
++ networkmanager_dbus_chat(system_cronjob_t)
++')
++
++optional_policy(`
+ postfix_read_config(system_cronjob_t)
+ ')
+
+@@ -480,7 +586,7 @@ optional_policy(`
prelink_manage_lib(system_cronjob_t)
prelink_manage_log(system_cronjob_t)
prelink_read_cache(system_cronjob_t)
@@ -32867,7 +32900,7 @@ index f7583ab..230cbb2 100644
')
optional_policy(`
-@@ -495,6 +597,7 @@ optional_policy(`
+@@ -495,6 +601,7 @@ optional_policy(`
optional_policy(`
spamassassin_manage_lib_files(system_cronjob_t)
@@ -32875,7 +32908,7 @@ index f7583ab..230cbb2 100644
')
optional_policy(`
-@@ -502,7 +605,13 @@ optional_policy(`
+@@ -502,7 +609,13 @@ optional_policy(`
')
optional_policy(`
@@ -32889,7 +32922,7 @@ index f7583ab..230cbb2 100644
userdom_user_home_dir_filetrans_user_home_content(system_cronjob_t, { dir file lnk_file fifo_file sock_file })
')
-@@ -595,9 +704,12 @@ userdom_manage_user_home_content_sockets(cronjob_t)
+@@ -595,9 +708,12 @@ userdom_manage_user_home_content_sockets(cronjob_t)
#userdom_user_home_dir_filetrans_user_home_content(cronjob_t, notdevfile_class_set)
list_dirs_pattern(crond_t, user_cron_spool_t, user_cron_spool_t)
@@ -34737,7 +34770,7 @@ index 418a5a0..c25fbdc 100644
/var/run/udisks(/.*)? gen_context(system_u:object_r:devicekit_var_run_t,s0)
/var/run/upower(/.*)? gen_context(system_u:object_r:devicekit_var_run_t,s0)
diff --git a/policy/modules/services/devicekit.if b/policy/modules/services/devicekit.if
-index f706b99..7cdc0f5 100644
+index f706b99..d41e4fe 100644
--- a/policy/modules/services/devicekit.if
+++ b/policy/modules/services/devicekit.if
@@ -5,9 +5,9 @@
@@ -34927,7 +34960,7 @@ index f706b99..7cdc0f5 100644
+ ')
+
+ files_search_pids($1)
-+ rw_dirs_pattern($1, devicekit_var_run_t, devicekit_var_run_t)
++ manage_dirs_pattern($1, devicekit_var_run_t, devicekit_var_run_t)
+ manage_files_pattern($1, devicekit_var_run_t, devicekit_var_run_t)
+')
+
@@ -36635,7 +36668,7 @@ index e1d7dc5..0557be0 100644
admin_pattern($1, dovecot_var_run_t)
diff --git a/policy/modules/services/dovecot.te b/policy/modules/services/dovecot.te
-index acf6d4f..194f170 100644
+index acf6d4f..47969fe 100644
--- a/policy/modules/services/dovecot.te
+++ b/policy/modules/services/dovecot.te
@@ -18,7 +18,7 @@ type dovecot_auth_tmp_t;
@@ -36689,7 +36722,7 @@ index acf6d4f..194f170 100644
files_search_etc(dovecot_t)
can_exec(dovecot_t, dovecot_exec_t)
-@@ -94,10 +99,11 @@ manage_dirs_pattern(dovecot_t, dovecot_spool_t, dovecot_spool_t)
+@@ -94,10 +99,12 @@ manage_dirs_pattern(dovecot_t, dovecot_spool_t, dovecot_spool_t)
manage_files_pattern(dovecot_t, dovecot_spool_t, dovecot_spool_t)
manage_lnk_files_pattern(dovecot_t, dovecot_spool_t, dovecot_spool_t)
@@ -36698,11 +36731,12 @@ index acf6d4f..194f170 100644
manage_lnk_files_pattern(dovecot_t, dovecot_var_run_t, dovecot_var_run_t)
manage_sock_files_pattern(dovecot_t, dovecot_var_run_t, dovecot_var_run_t)
-files_pid_filetrans(dovecot_t, dovecot_var_run_t, file)
-+files_pid_filetrans(dovecot_t, dovecot_var_run_t, { dir file })
++manage_fifo_files_pattern(dovecot_t, dovecot_var_run_t, dovecot_var_run_t)
++files_pid_filetrans(dovecot_t, dovecot_var_run_t, { dir file fifo_file })
kernel_read_kernel_sysctls(dovecot_t)
kernel_read_system_state(dovecot_t)
-@@ -110,6 +116,7 @@ corenet_tcp_sendrecv_all_ports(dovecot_t)
+@@ -110,6 +117,7 @@ corenet_tcp_sendrecv_all_ports(dovecot_t)
corenet_tcp_bind_generic_node(dovecot_t)
corenet_tcp_bind_mail_port(dovecot_t)
corenet_tcp_bind_pop_port(dovecot_t)
@@ -36710,7 +36744,7 @@ index acf6d4f..194f170 100644
corenet_tcp_bind_sieve_port(dovecot_t)
corenet_tcp_connect_all_ports(dovecot_t)
corenet_tcp_connect_postgresql_port(dovecot_t)
-@@ -135,6 +142,7 @@ files_dontaudit_list_default(dovecot_t)
+@@ -135,6 +143,7 @@ files_dontaudit_list_default(dovecot_t)
# Dovecot now has quota support and it uses getmntent() to find the mountpoints.
files_read_etc_runtime_files(dovecot_t)
files_search_all_mountpoints(dovecot_t)
@@ -36718,7 +36752,7 @@ index acf6d4f..194f170 100644
init_getattr_utmp(dovecot_t)
-@@ -145,6 +153,7 @@ logging_send_syslog_msg(dovecot_t)
+@@ -145,6 +154,7 @@ logging_send_syslog_msg(dovecot_t)
miscfiles_read_generic_certs(dovecot_t)
miscfiles_read_localization(dovecot_t)
@@ -36726,7 +36760,7 @@ index acf6d4f..194f170 100644
userdom_dontaudit_use_unpriv_user_fds(dovecot_t)
userdom_manage_user_home_content_dirs(dovecot_t)
userdom_manage_user_home_content_files(dovecot_t)
-@@ -160,6 +169,15 @@ optional_policy(`
+@@ -160,6 +170,15 @@ optional_policy(`
')
optional_policy(`
@@ -36742,7 +36776,7 @@ index acf6d4f..194f170 100644
postgresql_stream_connect(dovecot_t)
')
-@@ -180,8 +198,8 @@ optional_policy(`
+@@ -180,8 +199,8 @@ optional_policy(`
# dovecot auth local policy
#
@@ -36753,7 +36787,7 @@ index acf6d4f..194f170 100644
allow dovecot_auth_t self:fifo_file rw_fifo_file_perms;
allow dovecot_auth_t self:unix_dgram_socket create_socket_perms;
allow dovecot_auth_t self:unix_stream_socket create_stream_socket_perms;
-@@ -190,6 +208,9 @@ allow dovecot_auth_t dovecot_t:unix_stream_socket { connectto rw_stream_socket_p
+@@ -190,6 +209,9 @@ allow dovecot_auth_t dovecot_t:unix_stream_socket { connectto rw_stream_socket_p
read_files_pattern(dovecot_auth_t, dovecot_passwd_t, dovecot_passwd_t)
@@ -36763,7 +36797,7 @@ index acf6d4f..194f170 100644
manage_dirs_pattern(dovecot_auth_t, dovecot_auth_tmp_t, dovecot_auth_tmp_t)
manage_files_pattern(dovecot_auth_t, dovecot_auth_tmp_t, dovecot_auth_tmp_t)
files_tmp_filetrans(dovecot_auth_t, dovecot_auth_tmp_t, { file dir })
-@@ -201,9 +222,12 @@ dovecot_stream_connect_auth(dovecot_auth_t)
+@@ -201,9 +223,12 @@ dovecot_stream_connect_auth(dovecot_auth_t)
kernel_read_all_sysctls(dovecot_auth_t)
kernel_read_system_state(dovecot_auth_t)
@@ -36776,7 +36810,7 @@ index acf6d4f..194f170 100644
dev_read_urand(dovecot_auth_t)
auth_domtrans_chk_passwd(dovecot_auth_t)
-@@ -216,7 +240,8 @@ files_read_usr_files(dovecot_auth_t)
+@@ -216,7 +241,8 @@ files_read_usr_files(dovecot_auth_t)
files_read_usr_symlinks(dovecot_auth_t)
files_read_var_lib_files(dovecot_auth_t)
files_search_tmp(dovecot_auth_t)
@@ -36786,7 +36820,7 @@ index acf6d4f..194f170 100644
init_rw_utmp(dovecot_auth_t)
-@@ -236,6 +261,8 @@ optional_policy(`
+@@ -236,6 +262,8 @@ optional_policy(`
optional_policy(`
mysql_search_db(dovecot_auth_t)
mysql_stream_connect(dovecot_auth_t)
@@ -36795,7 +36829,7 @@ index acf6d4f..194f170 100644
')
optional_policy(`
-@@ -243,6 +270,8 @@ optional_policy(`
+@@ -243,6 +271,8 @@ optional_policy(`
')
optional_policy(`
@@ -36804,7 +36838,7 @@ index acf6d4f..194f170 100644
postfix_search_spool(dovecot_auth_t)
')
-@@ -250,23 +279,42 @@ optional_policy(`
+@@ -250,23 +280,42 @@ optional_policy(`
#
# dovecot deliver local policy
#
@@ -36849,7 +36883,7 @@ index acf6d4f..194f170 100644
miscfiles_read_localization(dovecot_deliver_t)
-@@ -283,24 +331,22 @@ userdom_manage_user_home_content_pipes(dovecot_deliver_t)
+@@ -283,24 +332,22 @@ 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 })
@@ -38414,7 +38448,7 @@ index 0000000..8dcd6e4
+ policykit_dbus_chat(firewalld_t)
+')
diff --git a/policy/modules/services/fprintd.if b/policy/modules/services/fprintd.if
-index ebad8c4..c02062c 100644
+index ebad8c4..eeddf7b 100644
--- a/policy/modules/services/fprintd.if
+++ b/policy/modules/services/fprintd.if
@@ -5,9 +5,9 @@
@@ -38429,9 +38463,11 @@ index ebad8c4..c02062c 100644
##
#
interface(`fprintd_domtrans',`
-@@ -38,4 +38,3 @@ interface(`fprintd_dbus_chat',`
+@@ -37,5 +37,5 @@ interface(`fprintd_dbus_chat',`
+
allow $1 fprintd_t:dbus send_msg;
allow fprintd_t $1:dbus send_msg;
++ allow fprintd_t $1:file read;
')
-
diff --git a/policy/modules/services/fprintd.te b/policy/modules/services/fprintd.te
@@ -48777,7 +48813,7 @@ index d883214..d6afa87 100644
init_labeled_script_domtrans($1, openvpn_initrc_exec_t)
domain_system_change_exemption($1)
diff --git a/policy/modules/services/openvpn.te b/policy/modules/services/openvpn.te
-index 8b550f4..ed5aae9 100644
+index 8b550f4..6b73075 100644
--- a/policy/modules/services/openvpn.te
+++ b/policy/modules/services/openvpn.te
@@ -6,9 +6,9 @@ policy_module(openvpn, 1.10.0)
@@ -48844,7 +48880,15 @@ index 8b550f4..ed5aae9 100644
corecmd_exec_bin(openvpn_t)
corecmd_exec_shell(openvpn_t)
-@@ -102,6 +109,8 @@ files_read_etc_runtime_files(openvpn_t)
+@@ -87,6 +94,7 @@ corenet_udp_bind_openvpn_port(openvpn_t)
+ corenet_tcp_bind_http_port(openvpn_t)
+ corenet_tcp_connect_openvpn_port(openvpn_t)
+ corenet_tcp_connect_http_port(openvpn_t)
++corenet_tcp_connect_tor_socks_port(openvpn_t)
+ corenet_tcp_connect_http_cache_port(openvpn_t)
+ corenet_rw_tun_tap_dev(openvpn_t)
+ corenet_sendrecv_openvpn_server_packets(openvpn_t)
+@@ -102,6 +110,8 @@ files_read_etc_runtime_files(openvpn_t)
auth_use_pam(openvpn_t)
@@ -48853,7 +48897,7 @@ index 8b550f4..ed5aae9 100644
logging_send_syslog_msg(openvpn_t)
miscfiles_read_localization(openvpn_t)
-@@ -112,21 +121,21 @@ sysnet_exec_ifconfig(openvpn_t)
+@@ -112,21 +122,21 @@ sysnet_exec_ifconfig(openvpn_t)
sysnet_manage_config(openvpn_t)
sysnet_etc_filetrans_config(openvpn_t)
@@ -48883,7 +48927,7 @@ index 8b550f4..ed5aae9 100644
optional_policy(`
daemontools_service_domain(openvpn_t, openvpn_exec_t)
-@@ -138,3 +147,7 @@ optional_policy(`
+@@ -138,3 +148,7 @@ optional_policy(`
networkmanager_dbus_chat(openvpn_t)
')
@@ -51060,10 +51104,10 @@ index a3e85c9..c0e0959 100644
/var/spool/postfix/pid/.* gen_context(system_u:object_r:postfix_var_run_t,s0)
/var/spool/postfix/private(/.*)? gen_context(system_u:object_r:postfix_private_t,s0)
diff --git a/policy/modules/services/postfix.if b/policy/modules/services/postfix.if
-index 46bee12..2216f6a 100644
+index 46bee12..1fbe0fa 100644
--- a/policy/modules/services/postfix.if
+++ b/policy/modules/services/postfix.if
-@@ -34,8 +34,9 @@ template(`postfix_domain_template',`
+@@ -34,11 +34,13 @@ template(`postfix_domain_template',`
domain_entry_file(postfix_$1_t, postfix_$1_exec_t)
role system_r types postfix_$1_t;
@@ -51074,7 +51118,11 @@ index 46bee12..2216f6a 100644
allow postfix_$1_t self:unix_dgram_socket create_socket_perms;
allow postfix_$1_t self:unix_stream_socket create_stream_socket_perms;
allow postfix_$1_t self:unix_stream_socket connectto;
-@@ -50,7 +51,7 @@ template(`postfix_domain_template',`
++ allow postfix_$1_t self:fifo_file rw_fifo_file_perms;
+
+ allow postfix_master_t postfix_$1_t:process signal;
+ #https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244456
+@@ -50,7 +52,7 @@ template(`postfix_domain_template',`
can_exec(postfix_$1_t, postfix_$1_exec_t)
@@ -51083,7 +51131,7 @@ index 46bee12..2216f6a 100644
allow postfix_$1_t postfix_master_t:process sigchld;
-@@ -77,6 +78,7 @@ template(`postfix_domain_template',`
+@@ -77,6 +79,7 @@ template(`postfix_domain_template',`
files_read_etc_files(postfix_$1_t)
files_read_etc_runtime_files(postfix_$1_t)
@@ -51091,7 +51139,7 @@ index 46bee12..2216f6a 100644
files_read_usr_symlinks(postfix_$1_t)
files_search_spool(postfix_$1_t)
files_getattr_tmp_dirs(postfix_$1_t)
-@@ -115,7 +117,7 @@ template(`postfix_server_domain_template',`
+@@ -115,7 +118,7 @@ template(`postfix_server_domain_template',`
type postfix_$1_tmp_t;
files_tmp_file(postfix_$1_tmp_t)
@@ -51100,7 +51148,7 @@ index 46bee12..2216f6a 100644
allow postfix_$1_t postfix_master_t:unix_stream_socket { connectto rw_stream_socket_perms };
allow postfix_$1_t self:tcp_socket create_socket_perms;
allow postfix_$1_t self:udp_socket create_socket_perms;
-@@ -165,6 +167,8 @@ template(`postfix_user_domain_template',`
+@@ -165,6 +168,8 @@ template(`postfix_user_domain_template',`
domtrans_pattern(postfix_user_domtrans, postfix_$1_exec_t, postfix_$1_t)
domain_use_interactive_fds(postfix_$1_t)
@@ -51109,7 +51157,7 @@ index 46bee12..2216f6a 100644
')
########################################
-@@ -215,7 +219,7 @@ interface(`postfix_config_filetrans',`
+@@ -215,7 +220,7 @@ interface(`postfix_config_filetrans',`
')
files_search_etc($1)
@@ -51118,7 +51166,7 @@ index 46bee12..2216f6a 100644
')
########################################
-@@ -272,7 +276,8 @@ interface(`postfix_read_local_state',`
+@@ -272,7 +277,8 @@ interface(`postfix_read_local_state',`
type postfix_local_t;
')
@@ -51128,7 +51176,7 @@ index 46bee12..2216f6a 100644
')
########################################
-@@ -290,7 +295,27 @@ interface(`postfix_read_master_state',`
+@@ -290,7 +296,27 @@ interface(`postfix_read_master_state',`
type postfix_master_t;
')
@@ -51157,7 +51205,7 @@ index 46bee12..2216f6a 100644
')
########################################
-@@ -376,6 +401,25 @@ interface(`postfix_domtrans_master',`
+@@ -376,6 +402,25 @@ interface(`postfix_domtrans_master',`
domtrans_pattern($1, postfix_master_exec_t, postfix_master_t)
')
@@ -51183,7 +51231,7 @@ index 46bee12..2216f6a 100644
########################################
##