##
@@ -4215,7 +4240,7 @@ index 83e899c..c0ece1b 100644
## This is an interface to support third party modules
## and its use is not allowed in upstream reference
## policy.
-@@ -1165,8 +1337,30 @@ interface(`apache_cgi_domain',`
+@@ -1165,8 +1356,30 @@ interface(`apache_cgi_domain',`
########################################
##
@@ -4248,7 +4273,7 @@ index 83e899c..c0ece1b 100644
##
##
##
-@@ -1183,18 +1377,19 @@ interface(`apache_cgi_domain',`
+@@ -1183,18 +1396,19 @@ interface(`apache_cgi_domain',`
interface(`apache_admin',`
gen_require(`
attribute httpdcontent, httpd_script_exec_type;
@@ -4277,7 +4302,7 @@ index 83e899c..c0ece1b 100644
init_labeled_script_domtrans($1, httpd_initrc_exec_t)
domain_system_change_exemption($1)
-@@ -1204,10 +1399,10 @@ interface(`apache_admin',`
+@@ -1204,10 +1418,10 @@ interface(`apache_admin',`
apache_manage_all_content($1)
miscfiles_manage_public_files($1)
@@ -4291,7 +4316,7 @@ index 83e899c..c0ece1b 100644
admin_pattern($1, httpd_log_t)
admin_pattern($1, httpd_modules_t)
-@@ -1218,9 +1413,129 @@ interface(`apache_admin',`
+@@ -1218,9 +1432,129 @@ interface(`apache_admin',`
admin_pattern($1, httpd_var_run_t)
files_pid_filetrans($1, httpd_var_run_t, file)
@@ -9879,12 +9904,14 @@ index 2354e21..fb8c9ed 100644
+ ')
+')
diff --git a/certwatch.te b/certwatch.te
-index 403af41..8f201ca 100644
+index 403af41..8da9f32 100644
--- a/certwatch.te
+++ b/certwatch.te
-@@ -21,32 +21,40 @@ role certwatch_roles types certwatch_t;
+@@ -20,33 +20,42 @@ role certwatch_roles types certwatch_t;
+
allow certwatch_t self:capability sys_nice;
allow certwatch_t self:process { setsched getsched };
++allow certwatch_t self:tcp_socket create_stream_socket_perms;
+kernel_read_system_state(certwatch_t)
+
@@ -20976,7 +21003,7 @@ index dbcac59..66d42bb 100644
+ admin_pattern($1, dovecot_passwd_t)
')
diff --git a/dovecot.te b/dovecot.te
-index a7bfaf0..93e583c 100644
+index a7bfaf0..5690e77 100644
--- a/dovecot.te
+++ b/dovecot.te
@@ -1,4 +1,4 @@
@@ -21226,7 +21253,7 @@ index a7bfaf0..93e583c 100644
sendmail_domtrans(dovecot_t)
')
-@@ -221,46 +213,59 @@ optional_policy(`
+@@ -221,46 +213,61 @@ optional_policy(`
########################################
#
@@ -21257,7 +21284,8 @@ index a7bfaf0..93e583c 100644
+dovecot_stream_connect_auth(dovecot_auth_t)
-allow dovecot_auth_t dovecot_t:unix_stream_socket { connectto rw_stream_socket_perms };
--
++corecmd_exec_bin(dovecot_auth_t)
+
-files_search_pids(dovecot_auth_t)
-files_read_usr_files(dovecot_auth_t)
-files_read_var_lib_files(dovecot_auth_t)
@@ -21296,7 +21324,7 @@ index a7bfaf0..93e583c 100644
mysql_stream_connect(dovecot_auth_t)
mysql_read_config(dovecot_auth_t)
mysql_tcp_connect(dovecot_auth_t)
-@@ -272,14 +277,21 @@ optional_policy(`
+@@ -272,14 +279,21 @@ optional_policy(`
optional_policy(`
postfix_manage_private_sockets(dovecot_auth_t)
@@ -21319,7 +21347,7 @@ index a7bfaf0..93e583c 100644
allow dovecot_deliver_t dovecot_cert_t:dir search_dir_perms;
append_files_pattern(dovecot_deliver_t, dovecot_var_log_t, dovecot_var_log_t)
-@@ -289,35 +301,41 @@ manage_files_pattern(dovecot_deliver_t, dovecot_deliver_tmp_t, dovecot_deliver_t
+@@ -289,35 +303,41 @@ manage_files_pattern(dovecot_deliver_t, dovecot_deliver_tmp_t, dovecot_deliver_t
files_tmp_filetrans(dovecot_deliver_t, dovecot_deliver_tmp_t, { file dir })
allow dovecot_deliver_t dovecot_var_run_t:dir list_dir_perms;
@@ -21378,7 +21406,7 @@ index a7bfaf0..93e583c 100644
mta_read_queue(dovecot_deliver_t)
')
-@@ -326,5 +344,6 @@ optional_policy(`
+@@ -326,5 +346,6 @@ optional_policy(`
')
optional_policy(`
@@ -28843,7 +28871,7 @@ index 1a35420..1d27695 100644
logging_search_logs($1)
admin_pattern($1, iscsi_log_t)
diff --git a/iscsi.te b/iscsi.te
-index 57304e4..e7080f8 100644
+index 57304e4..7edd3d4 100644
--- a/iscsi.te
+++ b/iscsi.te
@@ -9,8 +9,8 @@ type iscsid_t;
@@ -28865,7 +28893,7 @@ index 57304e4..e7080f8 100644
allow iscsid_t self:process { setrlimit setsched signal };
allow iscsid_t self:fifo_file rw_fifo_file_perms;
allow iscsid_t self:unix_stream_socket { accept connectto listen };
-@@ -64,11 +63,11 @@ files_pid_filetrans(iscsid_t, iscsi_var_run_t, file)
+@@ -64,11 +63,12 @@ files_pid_filetrans(iscsid_t, iscsi_var_run_t, file)
can_exec(iscsid_t, iscsid_exec_t)
@@ -28873,12 +28901,13 @@ index 57304e4..e7080f8 100644
kernel_read_network_state(iscsid_t)
kernel_read_system_state(iscsid_t)
kernel_setsched(iscsid_t)
++kernel_request_load_module(iscsid_t)
-corenet_all_recvfrom_unlabeled(iscsid_t)
corenet_all_recvfrom_netlabel(iscsid_t)
corenet_tcp_sendrecv_generic_if(iscsid_t)
corenet_tcp_sendrecv_generic_node(iscsid_t)
-@@ -85,10 +84,13 @@ corenet_sendrecv_isns_client_packets(iscsid_t)
+@@ -85,10 +85,13 @@ corenet_sendrecv_isns_client_packets(iscsid_t)
corenet_tcp_connect_isns_port(iscsid_t)
corenet_tcp_sendrecv_isns_port(iscsid_t)
@@ -28894,7 +28923,7 @@ index 57304e4..e7080f8 100644
domain_use_interactive_fds(iscsid_t)
domain_dontaudit_read_all_domains_state(iscsid_t)
-@@ -99,8 +101,6 @@ init_stream_connect_script(iscsid_t)
+@@ -99,8 +102,6 @@ init_stream_connect_script(iscsid_t)
logging_send_syslog_msg(iscsid_t)
@@ -29170,7 +29199,7 @@ index 16b1666..01673a4 100644
- admin_pattern($1, jabberd_var_run_t)
')
diff --git a/jabber.te b/jabber.te
-index bb12c90..ff69343 100644
+index bb12c90..fb916e0 100644
--- a/jabber.te
+++ b/jabber.te
@@ -1,4 +1,4 @@
@@ -29179,7 +29208,7 @@ index bb12c90..ff69343 100644
########################################
#
-@@ -9,129 +9,130 @@ attribute jabberd_domain;
+@@ -9,129 +9,131 @@ attribute jabberd_domain;
jabber_domain_template(jabberd)
jabber_domain_template(jabberd_router)
@@ -29280,6 +29309,7 @@ index bb12c90..ff69343 100644
-manage_files_pattern(jabberd_t, jabberd_lock_t, jabberd_lock_t)
+corenet_tcp_bind_jabber_interserver_port(jabberd_t)
++corenet_tcp_connect_jabber_interserver_port(jabberd_t)
+corenet_tcp_connect_jabber_router_port(jabberd_t)
-allow jabberd_t jabberd_log_t:dir setattr_dir_perms;
@@ -32232,6 +32262,18 @@ index 9725f1a..34aa63b 100644
seutil_sigchld_newrole(kudzu_t)
')
+diff --git a/l2tp.fc b/l2tp.fc
+index d5d1572..82267a7 100644
+--- a/l2tp.fc
++++ b/l2tp.fc
+@@ -5,6 +5,7 @@
+ /etc/sysconfig/.*l2tpd -- gen_context(system_u:object_r:l2tp_conf_t,s0)
+
+ /usr/sbin/.*l2tpd -- gen_context(system_u:object_r:l2tpd_exec_t,s0)
++/usr/libexec/nm-l2tp-service -- gen_context(system_u:object_r:l2tpd_exec_t,s0)
+
+ /var/run/.*l2tpd(/.*)? gen_context(system_u:object_r:l2tpd_var_run_t,s0)
+ /var/run/prol2tpd\.ctl -s gen_context(system_u:object_r:l2tpd_var_run_t,s0)
diff --git a/l2tp.if b/l2tp.if
index 73e2803..562d25b 100644
--- a/l2tp.if
@@ -51894,10 +51936,10 @@ index 0000000..0c167b7
+/usr/lib/systemd/system/pki-tomcat.* gen_context(system_u:object_r:pki_tomcat_unit_file_t,s0)
diff --git a/pki.if b/pki.if
new file mode 100644
-index 0000000..8119448
+index 0000000..e1d3320
--- /dev/null
+++ b/pki.if
-@@ -0,0 +1,265 @@
+@@ -0,0 +1,272 @@
+
+## policy for pki
+########################################
@@ -51966,6 +52008,9 @@ index 0000000..8119448
+ type $1_lock_t;
+ files_lock_file($1_lock_t)
+
++ type $1_tmp_t;
++ files_tmpfs_file($1_tmp_t)
++
+ ########################################
+ #
+ # $1 local policy
@@ -51996,6 +52041,10 @@ index 0000000..8119448
+ manage_lnk_files_pattern($1_t, $1_lock_t, $1_lock_t)
+ files_lock_filetrans($1_t, $1_lock_t, { dir file lnk_file })
+
++ manage_files_pattern($1_t, $1_tmp_t, $1_tmp_t)
++ manage_dirs_pattern($1_t, $1_tmp_t, $1_tmp_t)
++ files_tmp_filetrans($1_t, $1_tmp_t, { file dir })
++
+ #talk to lunasa hsm
+ logging_send_syslog_msg($1_t)
+
@@ -52165,10 +52214,10 @@ index 0000000..8119448
+')
diff --git a/pki.te b/pki.te
new file mode 100644
-index 0000000..352c7e4
+index 0000000..10eaddc
--- /dev/null
+++ b/pki.te
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,283 @@
+policy_module(pki,10.0.11)
+
+########################################
@@ -52438,6 +52487,7 @@ index 0000000..352c7e4
+ apache_list_modules(pki_apache_domain)
+ apache_read_config(pki_apache_domain)
+ apache_exec(pki_apache_domain)
++ apache_exec_suexec(pki_apache_domain)
+ apache_entrypoint(pki_apache_domain)
+
+ # should be started using a script which will execute httpd
@@ -55128,7 +55178,7 @@ index 2e23946..589bbf2 100644
+ postfix_config_filetrans($1, postfix_prng_t, file, "prng_exch")
')
diff --git a/postfix.te b/postfix.te
-index 191a66f..fa32037 100644
+index 191a66f..c142af5 100644
--- a/postfix.te
+++ b/postfix.te
@@ -1,4 +1,4 @@
@@ -55772,7 +55822,7 @@ index 191a66f..fa32037 100644
optional_policy(`
fstools_read_pipes(postfix_postdrop_t)
')
-@@ -621,17 +544,23 @@ optional_policy(`
+@@ -621,17 +544,24 @@ optional_policy(`
#######################################
#
@@ -55780,6 +55830,7 @@ index 191a66f..fa32037 100644
+# Postfix postqueue local policy
#
++allow postfix_postqueue_t self:capability2 block_suspend;
+allow postfix_postqueue_t self:tcp_socket create;
+allow postfix_postqueue_t self:udp_socket { create ioctl };
+
@@ -55799,7 +55850,7 @@ index 191a66f..fa32037 100644
init_sigchld_script(postfix_postqueue_t)
init_use_script_fds(postfix_postqueue_t)
-@@ -647,67 +576,77 @@ optional_policy(`
+@@ -647,67 +577,77 @@ optional_policy(`
########################################
#
@@ -55895,7 +55946,7 @@ index 191a66f..fa32037 100644
')
optional_policy(`
-@@ -720,24 +659,27 @@ optional_policy(`
+@@ -720,24 +660,27 @@ optional_policy(`
########################################
#
@@ -55929,7 +55980,7 @@ index 191a66f..fa32037 100644
fs_getattr_all_dirs(postfix_smtpd_t)
fs_getattr_all_fs(postfix_smtpd_t)
-@@ -754,6 +696,7 @@ optional_policy(`
+@@ -754,6 +697,7 @@ optional_policy(`
optional_policy(`
milter_stream_connect_all(postfix_smtpd_t)
@@ -55937,7 +55988,7 @@ index 191a66f..fa32037 100644
')
optional_policy(`
-@@ -764,31 +707,99 @@ optional_policy(`
+@@ -764,31 +708,99 @@ optional_policy(`
sasl_connect(postfix_smtpd_t)
')
@@ -57912,7 +57963,7 @@ index 00edeab..166e9c3 100644
+ read_files_pattern($1, procmail_home_t, procmail_home_t)
')
diff --git a/procmail.te b/procmail.te
-index d447152..5940a04 100644
+index d447152..a911295 100644
--- a/procmail.te
+++ b/procmail.te
@@ -1,4 +1,4 @@
@@ -57947,7 +57998,7 @@ index d447152..5940a04 100644
allow procmail_t procmail_log_t:dir setattr_dir_perms;
create_files_pattern(procmail_t, procmail_log_t, procmail_log_t)
append_files_pattern(procmail_t, procmail_log_t, procmail_log_t)
-@@ -40,59 +44,72 @@ logging_log_filetrans(procmail_t, procmail_log_t, { file dir })
+@@ -40,59 +44,76 @@ logging_log_filetrans(procmail_t, procmail_log_t, { file dir })
allow procmail_t procmail_tmp_t:file manage_file_perms;
files_tmp_filetrans(procmail_t, procmail_tmp_t, file)
@@ -57998,10 +58049,10 @@ index d447152..5940a04 100644
-logging_send_syslog_msg(procmail_t)
+application_exec_all(procmail_t)
-+
-+init_read_utmp(procmail_t)
-miscfiles_read_localization(procmail_t)
++init_read_utmp(procmail_t)
++
+logging_send_syslog_msg(procmail_t)
+logging_append_all_logs(procmail_t)
@@ -58023,6 +58074,10 @@ index d447152..5940a04 100644
+userdom_manage_user_home_content_sockets(procmail_t)
+userdom_filetrans_home_content(procmail_t)
+
++userdom_manage_user_tmp_dirs(procmail_t)
++userdom_manage_user_tmp_files(procmail_t)
++userdom_manage_user_tmp_symlinks(procmail_t)
++
+# Execute user executables
+userdom_exec_user_bin_files(procmail_t)
+
@@ -58047,7 +58102,7 @@ index d447152..5940a04 100644
')
optional_policy(`
-@@ -100,12 +117,7 @@ optional_policy(`
+@@ -100,12 +121,7 @@ optional_policy(`
')
optional_policy(`
@@ -58061,7 +58116,7 @@ index d447152..5940a04 100644
')
optional_policy(`
-@@ -113,16 +125,17 @@ optional_policy(`
+@@ -113,16 +129,17 @@ optional_policy(`
')
optional_policy(`
@@ -58084,7 +58139,7 @@ index d447152..5940a04 100644
')
optional_policy(`
-@@ -131,6 +144,8 @@ optional_policy(`
+@@ -131,6 +148,8 @@ optional_policy(`
')
optional_policy(`
@@ -76813,6 +76868,92 @@ index 0000000..92c3638
+logging_send_syslog_msg(smsd_t)
+
+sysnet_dns_name_resolve(smsd_t)
+diff --git a/smstools.if b/smstools.if
+index cbfe369..085ac13 100644
+--- a/smstools.if
++++ b/smstools.if
+@@ -1,5 +1,81 @@
+ ## Tools to send and receive short messages through GSM modems or mobile phones.
+
++#######################################
++##
++## Search smsd lib directories.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`smsd_search_lib',`
++ gen_require(`
++ type smsd_var_lib_t;
++ ')
++
++ allow $1 smsd_var_lib_t:dir search_dir_perms;
++ files_search_var_lib($1)
++')
++
++#######################################
++##
++## Read smsd lib files.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`smsd_read_lib_files',`
++ gen_require(`
++ type smsd_var_lib_t;
++ ')
++
++ files_search_var_lib($1)
++ read_files_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
++')
++
++#######################################
++##
++## Manage smsd lib files.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`smsd_manage_lib_files',`
++ gen_require(`
++ type smsd_var_lib_t;
++ ')
++
++ files_search_var_lib($1)
++ manage_files_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
++')
++
++#######################################
++##
++## Manage smsd lib directories.
++##
++##
++##
++## Domain allowed access.
++##
++##
++#
++interface(`smsd_manage_lib_dirs',`
++ gen_require(`
++ type smsd_var_lib_t;
++ ')
++
++ files_search_var_lib($1)
++ manage_dirs_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
++')
++
+ ########################################
+ ##
+ ## All of the rules required to
diff --git a/snmp.fc b/snmp.fc
index c73fa24..408ff61 100644
--- a/snmp.fc
@@ -82049,10 +82190,10 @@ index 0000000..601aea3
+/usr/lib/tumbler[^/]*/tumblerd -- gen_context(system_u:object_r:thumb_exec_t,s0)
diff --git a/thumb.if b/thumb.if
new file mode 100644
-index 0000000..bfcd2c7
+index 0000000..74cd27c
--- /dev/null
+++ b/thumb.if
-@@ -0,0 +1,126 @@
+@@ -0,0 +1,129 @@
+
+## policy for thumb
+
@@ -82104,6 +82245,9 @@ index 0000000..bfcd2c7
+
+ dontaudit thumb_t $1:dir list_dir_perms;
+ dontaudit thumb_t $1:file read_file_perms;
++
++ allow thumb_t $1:shm rw_shm_perms;
++ allow thumb_t $1:sem create_sem_perms;
+')
+
+########################################
@@ -82181,10 +82325,10 @@ index 0000000..bfcd2c7
+')
diff --git a/thumb.te b/thumb.te
new file mode 100644
-index 0000000..4e9dc5e
+index 0000000..780a62e
--- /dev/null
+++ b/thumb.te
-@@ -0,0 +1,143 @@
+@@ -0,0 +1,144 @@
+policy_module(thumb, 1.0.0)
+
+########################################
@@ -82214,6 +82358,7 @@ index 0000000..4e9dc5e
+#
+
+allow thumb_t self:process { setsched signal signull setrlimit };
++dontaudit thumb_t self:capability sys_tty_config;
+
+tunable_policy(`deny_execmem',`',`
+ allow thumb_t self:process execmem;
@@ -83222,7 +83367,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 7116181..ef6133e 100644
+index 7116181..8beef17 100644
--- a/tuned.te
+++ b/tuned.te
@@ -21,6 +21,9 @@ files_config_file(tuned_rw_etc_t)
@@ -83235,7 +83380,7 @@ index 7116181..ef6133e 100644
type tuned_var_run_t;
files_pid_file(tuned_var_run_t)
-@@ -29,10 +32,12 @@ files_pid_file(tuned_var_run_t)
+@@ -29,10 +32,13 @@ files_pid_file(tuned_var_run_t)
# Local policy
#
@@ -83246,11 +83391,12 @@ index 7116181..ef6133e 100644
+allow tuned_t self:process { setsched signal };
allow tuned_t self:fifo_file rw_fifo_file_perms;
+allow tuned_t self:netlink_kobject_uevent_socket create_socket_perms;
++allow tuned_t self:netlink_socket create_socket_perms;
+allow tuned_t self:udp_socket create_socket_perms;
read_files_pattern(tuned_t, tuned_etc_t, tuned_etc_t)
exec_files_pattern(tuned_t, tuned_etc_t, tuned_etc_t)
-@@ -41,10 +46,12 @@ manage_files_pattern(tuned_t, tuned_etc_t, tuned_rw_etc_t)
+@@ -41,10 +47,12 @@ manage_files_pattern(tuned_t, tuned_etc_t, tuned_rw_etc_t)
files_etc_filetrans(tuned_t, tuned_rw_etc_t, file, "active_profile")
manage_dirs_pattern(tuned_t, tuned_log_t, tuned_log_t)
@@ -83267,7 +83413,7 @@ index 7116181..ef6133e 100644
manage_files_pattern(tuned_t, tuned_var_run_t, tuned_var_run_t)
manage_dirs_pattern(tuned_t, tuned_var_run_t, tuned_var_run_t)
-@@ -57,6 +64,7 @@ kernel_request_load_module(tuned_t)
+@@ -57,6 +65,7 @@ kernel_request_load_module(tuned_t)
kernel_rw_kernel_sysctl(tuned_t)
kernel_rw_hotplug_sysctls(tuned_t)
kernel_rw_vm_sysctls(tuned_t)
@@ -83275,7 +83421,7 @@ index 7116181..ef6133e 100644
corecmd_exec_bin(tuned_t)
corecmd_exec_shell(tuned_t)
-@@ -64,31 +72,52 @@ corecmd_exec_shell(tuned_t)
+@@ -64,31 +73,52 @@ corecmd_exec_shell(tuned_t)
dev_getattr_all_blk_files(tuned_t)
dev_getattr_all_chr_files(tuned_t)
dev_read_urand(tuned_t)
@@ -84959,7 +85105,7 @@ index c30da4c..014e40c 100644
+/var/run/qemu-ga\.pid -- gen_context(system_u:object_r:virt_qemu_ga_var_run_t,s0)
+/var/log/qemu-ga\.log -- gen_context(system_u:object_r:virt_qemu_ga_log_t,s0)
diff --git a/virt.if b/virt.if
-index 9dec06c..cd873d3 100644
+index 9dec06c..6e25af1 100644
--- a/virt.if
+++ b/virt.if
@@ -1,120 +1,51 @@
@@ -85166,7 +85312,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -177,161 +89,53 @@ interface(`virt_domtrans_qmf',`
+@@ -177,142 +89,53 @@ interface(`virt_domtrans_qmf',`
##
##
#
@@ -85243,24 +85389,6 @@ index 9dec06c..cd873d3 100644
-########################################
-##
-## Send generic signals to all virt domains.
--##
--##
--##
--## Domain allowed access.
--##
--##
--#
--interface(`virt_signal_all_virt_domains',`
-- gen_require(`
-- attribute virt_domain;
-- ')
--
-- allow $1 virt_domain:process signal;
--')
--
--########################################
--##
--## Send kill signals to all virt domains.
##
-##
-##
@@ -85268,26 +85396,45 @@ index 9dec06c..cd873d3 100644
-##
##
#
--interface(`virt_kill_all_virt_domains',`
+-interface(`virt_signal_all_virt_domains',`
+interface(`virt_domtrans_qmf',`
gen_require(`
- attribute virt_domain;
+ type virt_qmf_t, virt_qmf_exec_t;
')
-- allow $1 virt_domain:process sigkill;
+- allow $1 virt_domain:process signal;
+ corecmd_search_bin($1)
+ domtrans_pattern($1, virt_qmf_exec_t, virt_qmf_t)
')
########################################
##
+-## Send kill signals to all virt domains.
++## Transition to virt_bridgehelper.
+ ##
+ ##
+-##
+-## Domain allowed access.
+-##
+-##
+-#
+-interface(`virt_kill_all_virt_domains',`
+- gen_require(`
+- attribute virt_domain;
+- ')
+-
+- allow $1 virt_domain:process sigkill;
+-')
+-
+-########################################
+ ##
-## Execute svirt lxc domains in their
-## domain, and allow the specified
-## role that svirt lxc domain.
-+## Transition to virt_bridgehelper.
++## Domain allowed to transition.
##
- ##
+-##
-##
-## Domain allowed to transition.
-##
@@ -85296,53 +85443,71 @@ index 9dec06c..cd873d3 100644
-##
-## Role allowed access.
-##
--##
+ ##
-#
-interface(`virt_run_svirt_lxc_domain',`
-- gen_require(`
++interface(`virt_domtrans_bridgehelper',`
+ gen_require(`
- attribute svirt_lxc_domain;
- attribute_role svirt_lxc_domain_roles;
-- ')
--
++ type virt_bridgehelper_t, virt_bridgehelper_exec_t;
+ ')
+
- allow $1 svirt_lxc_domain:process { signal transition };
- roleattribute $2 svirt_lxc_domain_roles;
-
- allow svirt_lxc_domain $1:fd use;
- allow svirt_lxc_domain $1:fifo_file rw_fifo_file_perms;
- allow svirt_lxc_domain $1:process sigchld;
--')
--
--#######################################
++ domtrans_pattern($1, virt_bridgehelper_exec_t, virt_bridgehelper_t)
+ ')
+
+ #######################################
##
-## Get attributes of virtd executable files.
-+## Domain allowed to transition.
++## Connect to virt over a unix domain stream socket.
##
--##
--##
--## Domain allowed access.
--##
+ ##
+ ##
+@@ -320,18 +143,18 @@ interface(`virt_run_svirt_lxc_domain',`
+ ##
##
--#
+ #
-interface(`virt_getattr_virtd_exec_files',`
-+interface(`virt_domtrans_bridgehelper',`
++interface(`virt_stream_connect',`
gen_require(`
- type virtd_exec_t;
-+ type virt_bridgehelper_t, virt_bridgehelper_exec_t;
++ type virtd_t, virt_var_run_t;
')
- allow $1 virtd_exec_t:file getattr_file_perms;
-+ domtrans_pattern($1, virt_bridgehelper_exec_t, virt_bridgehelper_t)
++ files_search_pids($1)
++ stream_connect_pattern($1, virt_var_run_t, virt_var_run_t, virtd_t)
')
#######################################
##
-## Connect to virt with a unix
-## domain stream socket.
-+## Connect to virt over a unix domain stream socket.
++## Connect to svirt process over a unix domain stream socket.
##
##
##
-@@ -350,7 +154,7 @@ interface(`virt_stream_connect',`
+@@ -339,18 +162,17 @@ interface(`virt_getattr_virtd_exec_files',`
+ ##
+ ##
+ #
+-interface(`virt_stream_connect',`
++interface(`virt_stream_connect_svirt',`
+ gen_require(`
+- type virtd_t, virt_var_run_t;
++ type svirt_t;
+ ')
+
+- files_search_pids($1)
+- stream_connect_pattern($1, virt_var_run_t, virt_var_run_t, virtd_t)
++ allow $1 svirt_t:unix_stream_socket connectto;
+ ')
########################################
##
@@ -85351,7 +85516,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -369,7 +173,7 @@ interface(`virt_attach_tun_iface',`
+@@ -369,7 +191,7 @@ interface(`virt_attach_tun_iface',`
########################################
##
@@ -85360,7 +85525,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -383,7 +187,6 @@ interface(`virt_read_config',`
+@@ -383,7 +205,6 @@ interface(`virt_read_config',`
')
files_search_etc($1)
@@ -85368,7 +85533,7 @@ index 9dec06c..cd873d3 100644
read_files_pattern($1, virt_etc_t, virt_etc_t)
read_files_pattern($1, virt_etc_rw_t, virt_etc_rw_t)
read_lnk_files_pattern($1, virt_etc_rw_t, virt_etc_rw_t)
-@@ -391,8 +194,7 @@ interface(`virt_read_config',`
+@@ -391,8 +212,7 @@ interface(`virt_read_config',`
########################################
##
@@ -85378,7 +85543,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -406,7 +208,6 @@ interface(`virt_manage_config',`
+@@ -406,7 +226,6 @@ interface(`virt_manage_config',`
')
files_search_etc($1)
@@ -85386,7 +85551,7 @@ index 9dec06c..cd873d3 100644
manage_files_pattern($1, virt_etc_t, virt_etc_t)
manage_files_pattern($1, virt_etc_rw_t, virt_etc_rw_t)
manage_lnk_files_pattern($1, virt_etc_rw_t, virt_etc_rw_t)
-@@ -414,8 +215,7 @@ interface(`virt_manage_config',`
+@@ -414,8 +233,7 @@ interface(`virt_manage_config',`
########################################
##
@@ -85396,7 +85561,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -450,8 +250,7 @@ interface(`virt_read_content',`
+@@ -450,8 +268,7 @@ interface(`virt_read_content',`
########################################
##
@@ -85406,7 +85571,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -459,35 +258,17 @@ interface(`virt_read_content',`
+@@ -459,35 +276,17 @@ interface(`virt_read_content',`
##
##
#
@@ -85445,7 +85610,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -495,53 +276,40 @@ interface(`virt_manage_virt_content',`
+@@ -495,53 +294,40 @@ interface(`virt_manage_virt_content',`
##
##
#
@@ -85512,7 +85677,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -549,67 +317,36 @@ interface(`virt_home_filetrans_virt_content',`
+@@ -549,67 +335,36 @@ interface(`virt_home_filetrans_virt_content',`
##
##
#
@@ -85593,7 +85758,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -618,54 +355,36 @@ interface(`virt_relabel_svirt_home_content',`
+@@ -618,54 +373,36 @@ interface(`virt_relabel_svirt_home_content',`
##
##
#
@@ -85657,7 +85822,7 @@ index 9dec06c..cd873d3 100644
##
##
##
-@@ -673,54 +392,38 @@ interface(`virt_home_filetrans',`
+@@ -673,54 +410,38 @@ interface(`virt_home_filetrans',`
##
##
#
@@ -85724,7 +85889,7 @@ index 9dec06c..cd873d3 100644
##