++##
++## Allow cups execmem/execstack
++##
++##
++gen_tunable(cups_execmem, false)
++
+attribute cups_domain;
+
+type cupsd_config_t, cups_domain;
@@ -18782,7 +18803,7 @@ index c91813c..2230476 100644
files_config_file(cupsd_etc_t)
type cupsd_initrc_exec_t;
-@@ -33,13 +38,15 @@ type cupsd_lock_t;
+@@ -33,13 +45,15 @@ type cupsd_lock_t;
files_lock_file(cupsd_lock_t)
type cupsd_log_t;
@@ -18802,7 +18823,7 @@ index c91813c..2230476 100644
type cupsd_lpd_tmp_t;
files_tmp_file(cupsd_lpd_tmp_t)
-@@ -47,7 +54,7 @@ files_tmp_file(cupsd_lpd_tmp_t)
+@@ -47,7 +61,7 @@ files_tmp_file(cupsd_lpd_tmp_t)
type cupsd_lpd_var_run_t;
files_pid_file(cupsd_lpd_var_run_t)
@@ -18811,7 +18832,7 @@ index c91813c..2230476 100644
type cups_pdf_exec_t;
cups_backend(cups_pdf_t, cups_pdf_exec_t)
-@@ -55,29 +62,17 @@ type cups_pdf_tmp_t;
+@@ -55,29 +69,17 @@ type cups_pdf_tmp_t;
files_tmp_file(cups_pdf_tmp_t)
type cupsd_tmp_t;
@@ -18845,7 +18866,7 @@ index c91813c..2230476 100644
type ptal_t;
type ptal_exec_t;
-@@ -97,21 +92,49 @@ ifdef(`enable_mls',`
+@@ -97,21 +99,49 @@ ifdef(`enable_mls',`
init_ranged_daemon_domain(cupsd_t, cupsd_exec_t, mls_systemhigh)
')
@@ -18899,7 +18920,7 @@ index c91813c..2230476 100644
allow cupsd_t self:appletalk_socket create_socket_perms;
allow cupsd_t cupsd_etc_t:dir setattr_dir_perms;
-@@ -120,11 +143,13 @@ read_files_pattern(cupsd_t, cupsd_etc_t, cupsd_etc_t)
+@@ -120,11 +150,14 @@ read_files_pattern(cupsd_t, cupsd_etc_t, cupsd_etc_t)
read_lnk_files_pattern(cupsd_t, cupsd_etc_t, cupsd_etc_t)
manage_files_pattern(cupsd_t, cupsd_interface_t, cupsd_interface_t)
@@ -18910,10 +18931,11 @@ index c91813c..2230476 100644
filetrans_pattern(cupsd_t, cupsd_etc_t, cupsd_rw_etc_t, file)
files_var_filetrans(cupsd_t, cupsd_rw_etc_t, { dir file })
+cups_filetrans_named_content(cupsd_t)
++can_exec(cupsd_t, cupsd_rw_etc_t)
allow cupsd_t cupsd_exec_t:dir search_dir_perms;
allow cupsd_t cupsd_exec_t:lnk_file read_lnk_file_perms;
-@@ -136,22 +161,23 @@ manage_dirs_pattern(cupsd_t, cupsd_log_t, cupsd_log_t)
+@@ -136,22 +169,23 @@ manage_dirs_pattern(cupsd_t, cupsd_log_t, cupsd_log_t)
manage_files_pattern(cupsd_t, cupsd_log_t, cupsd_log_t)
logging_log_filetrans(cupsd_t, cupsd_log_t, { file dir })
@@ -18941,7 +18963,7 @@ index c91813c..2230476 100644
stream_connect_pattern(cupsd_t, ptal_var_run_t, ptal_var_run_t, ptal_t)
allow cupsd_t ptal_var_run_t:sock_file setattr_sock_file_perms;
-@@ -159,11 +185,9 @@ allow cupsd_t ptal_var_run_t:sock_file setattr_sock_file_perms;
+@@ -159,11 +193,9 @@ allow cupsd_t ptal_var_run_t:sock_file setattr_sock_file_perms;
can_exec(cupsd_t, { cupsd_exec_t cupsd_interface_t })
kernel_read_system_state(cupsd_t)
@@ -18953,7 +18975,7 @@ index c91813c..2230476 100644
corenet_all_recvfrom_netlabel(cupsd_t)
corenet_tcp_sendrecv_generic_if(cupsd_t)
corenet_udp_sendrecv_generic_if(cupsd_t)
-@@ -186,12 +210,20 @@ corenet_dontaudit_tcp_bind_all_reserved_ports(cupsd_t)
+@@ -186,12 +218,20 @@ corenet_dontaudit_tcp_bind_all_reserved_ports(cupsd_t)
corenet_tcp_bind_all_rpc_ports(cupsd_t)
corenet_tcp_connect_all_ports(cupsd_t)
@@ -18978,7 +19000,7 @@ index c91813c..2230476 100644
dev_rw_input_dev(cupsd_t)
dev_rw_generic_usb_dev(cupsd_t)
dev_rw_usbfs(cupsd_t)
-@@ -203,7 +235,6 @@ domain_use_interactive_fds(cupsd_t)
+@@ -203,7 +243,6 @@ domain_use_interactive_fds(cupsd_t)
files_getattr_boot_dirs(cupsd_t)
files_list_spool(cupsd_t)
files_read_etc_runtime_files(cupsd_t)
@@ -18986,7 +19008,7 @@ index c91813c..2230476 100644
files_exec_usr_files(cupsd_t)
# for /var/lib/defoma
files_read_var_lib_files(cupsd_t)
-@@ -212,17 +243,19 @@ files_read_world_readable_files(cupsd_t)
+@@ -212,17 +251,19 @@ files_read_world_readable_files(cupsd_t)
files_read_world_readable_symlinks(cupsd_t)
files_read_var_files(cupsd_t)
files_read_var_symlinks(cupsd_t)
@@ -19008,7 +19030,7 @@ index c91813c..2230476 100644
mls_fd_use_all_levels(cupsd_t)
mls_file_downgrade(cupsd_t)
mls_file_write_all_levels(cupsd_t)
-@@ -232,6 +265,8 @@ mls_socket_write_all_levels(cupsd_t)
+@@ -232,6 +273,8 @@ mls_socket_write_all_levels(cupsd_t)
term_search_ptys(cupsd_t)
term_use_unallocated_ttys(cupsd_t)
@@ -19017,7 +19039,7 @@ index c91813c..2230476 100644
selinux_compute_access_vector(cupsd_t)
selinux_validate_context(cupsd_t)
-@@ -244,21 +279,21 @@ auth_dontaudit_read_pam_pid(cupsd_t)
+@@ -244,23 +287,28 @@ auth_dontaudit_read_pam_pid(cupsd_t)
auth_rw_faillog(cupsd_t)
auth_use_nsswitch(cupsd_t)
@@ -19043,8 +19065,15 @@ index c91813c..2230476 100644
+userdom_dontaudit_use_unpriv_user_fds(cupsd_t)
userdom_dontaudit_search_user_home_content(cupsd_t)
++tunable_policy(`cups_execmem',`
++ allow cupsd_t self:process { execmem execstack };
++')
++
++
optional_policy(`
-@@ -272,6 +307,8 @@ optional_policy(`
+ apm_domtrans_client(cupsd_t)
+ ')
+@@ -272,6 +320,8 @@ optional_policy(`
optional_policy(`
dbus_system_bus_client(cupsd_t)
@@ -19053,7 +19082,7 @@ index c91813c..2230476 100644
userdom_dbus_send_all_users(cupsd_t)
optional_policy(`
-@@ -282,8 +319,10 @@ optional_policy(`
+@@ -282,8 +332,10 @@ optional_policy(`
hal_dbus_chat(cupsd_t)
')
@@ -19064,7 +19093,7 @@ index c91813c..2230476 100644
')
')
-@@ -296,8 +335,8 @@ optional_policy(`
+@@ -296,8 +348,8 @@ optional_policy(`
')
optional_policy(`
@@ -19074,7 +19103,7 @@ index c91813c..2230476 100644
')
optional_policy(`
-@@ -306,7 +345,6 @@ optional_policy(`
+@@ -306,7 +358,6 @@ optional_policy(`
optional_policy(`
lpd_exec_lpr(cupsd_t)
@@ -19082,7 +19111,7 @@ index c91813c..2230476 100644
lpd_read_config(cupsd_t)
lpd_relabel_spool(cupsd_t)
')
-@@ -334,7 +372,11 @@ optional_policy(`
+@@ -334,7 +385,11 @@ optional_policy(`
')
optional_policy(`
@@ -19095,7 +19124,7 @@ index c91813c..2230476 100644
')
########################################
-@@ -342,12 +384,11 @@ optional_policy(`
+@@ -342,12 +397,11 @@ optional_policy(`
# Configuration daemon local policy
#
@@ -19111,7 +19140,7 @@ index c91813c..2230476 100644
allow cupsd_config_t cupsd_t:process signal;
ps_process_pattern(cupsd_config_t, cupsd_t)
-@@ -372,18 +413,16 @@ manage_dirs_pattern(cupsd_config_t, cupsd_config_var_run_t, cupsd_config_var_run
+@@ -372,18 +426,16 @@ manage_dirs_pattern(cupsd_config_t, cupsd_config_var_run_t, cupsd_config_var_run
manage_files_pattern(cupsd_config_t, cupsd_config_var_run_t, cupsd_config_var_run_t)
files_pid_filetrans(cupsd_config_t, cupsd_config_var_run_t, { dir file })
@@ -19132,7 +19161,7 @@ index c91813c..2230476 100644
corenet_all_recvfrom_netlabel(cupsd_config_t)
corenet_tcp_sendrecv_generic_if(cupsd_config_t)
corenet_tcp_sendrecv_generic_node(cupsd_config_t)
-@@ -392,20 +431,12 @@ corenet_tcp_sendrecv_all_ports(cupsd_config_t)
+@@ -392,20 +444,12 @@ corenet_tcp_sendrecv_all_ports(cupsd_config_t)
corenet_sendrecv_all_client_packets(cupsd_config_t)
corenet_tcp_connect_all_ports(cupsd_config_t)
@@ -19153,7 +19182,7 @@ index c91813c..2230476 100644
fs_search_auto_mountpoints(cupsd_config_t)
domain_use_interactive_fds(cupsd_config_t)
-@@ -417,11 +448,6 @@ auth_use_nsswitch(cupsd_config_t)
+@@ -417,11 +461,6 @@ auth_use_nsswitch(cupsd_config_t)
logging_send_syslog_msg(cupsd_config_t)
@@ -19165,7 +19194,7 @@ index c91813c..2230476 100644
userdom_dontaudit_use_unpriv_user_fds(cupsd_config_t)
userdom_dontaudit_search_user_home_dirs(cupsd_config_t)
userdom_read_all_users_state(cupsd_config_t)
-@@ -449,9 +475,12 @@ optional_policy(`
+@@ -449,9 +488,12 @@ optional_policy(`
')
optional_policy(`
@@ -19179,7 +19208,7 @@ index c91813c..2230476 100644
')
optional_policy(`
-@@ -487,10 +516,6 @@ optional_policy(`
+@@ -487,10 +529,6 @@ optional_policy(`
# Lpd local policy
#
@@ -19190,7 +19219,7 @@ index c91813c..2230476 100644
allow cupsd_lpd_t self:netlink_tcpdiag_socket r_netlink_socket_perms;
allow cupsd_lpd_t { cupsd_etc_t cupsd_rw_etc_t }:dir list_dir_perms;
-@@ -508,15 +533,15 @@ stream_connect_pattern(cupsd_lpd_t, cupsd_var_run_t, cupsd_var_run_t, cupsd_t)
+@@ -508,15 +546,15 @@ stream_connect_pattern(cupsd_lpd_t, cupsd_var_run_t, cupsd_var_run_t, cupsd_t)
kernel_read_kernel_sysctls(cupsd_lpd_t)
kernel_read_system_state(cupsd_lpd_t)
@@ -19208,7 +19237,7 @@ index c91813c..2230476 100644
corenet_tcp_sendrecv_ipp_port(cupsd_lpd_t)
corenet_sendrecv_printer_server_packets(cupsd_lpd_t)
-@@ -537,9 +562,6 @@ auth_use_nsswitch(cupsd_lpd_t)
+@@ -537,9 +575,6 @@ auth_use_nsswitch(cupsd_lpd_t)
logging_send_syslog_msg(cupsd_lpd_t)
@@ -19218,7 +19247,7 @@ index c91813c..2230476 100644
optional_policy(`
inetd_service_domain(cupsd_lpd_t, cupsd_lpd_exec_t)
')
-@@ -550,7 +572,6 @@ optional_policy(`
+@@ -550,7 +585,6 @@ optional_policy(`
#
allow cups_pdf_t self:capability { chown fowner fsetid setuid setgid dac_override };
@@ -19226,7 +19255,7 @@ index c91813c..2230476 100644
allow cups_pdf_t self:unix_stream_socket create_stream_socket_perms;
append_files_pattern(cups_pdf_t, cupsd_log_t, cupsd_log_t)
-@@ -566,148 +587,23 @@ fs_search_auto_mountpoints(cups_pdf_t)
+@@ -566,148 +600,23 @@ fs_search_auto_mountpoints(cups_pdf_t)
kernel_read_system_state(cups_pdf_t)
@@ -19255,13 +19284,11 @@ index c91813c..2230476 100644
- fs_manage_cifs_dirs(cups_pdf_t)
- fs_manage_cifs_files(cups_pdf_t)
-')
-+userdom_home_manager(cups_pdf_t)
-
- optional_policy(`
+-
+-optional_policy(`
- lpd_manage_spool(cups_pdf_t)
-+ gnome_read_config(cups_pdf_t)
- ')
-
+-')
+-
-########################################
-#
-# HPLIP local policy
@@ -19350,15 +19377,17 @@ index c91813c..2230476 100644
-userdom_dontaudit_use_unpriv_user_fds(hplip_t)
-userdom_dontaudit_search_user_home_dirs(hplip_t)
-userdom_dontaudit_search_user_home_content(hplip_t)
--
--optional_policy(`
++userdom_home_manager(cups_pdf_t)
+
+ optional_policy(`
- dbus_system_bus_client(hplip_t)
-
- optional_policy(`
- userdom_dbus_send_all_users(hplip_t)
- ')
--')
--
++ gnome_read_config(cups_pdf_t)
+ ')
+
-optional_policy(`
- lpd_read_config(hplip_t)
- lpd_manage_spool(hplip_t)
@@ -19378,7 +19407,7 @@ index c91813c..2230476 100644
########################################
#
-@@ -735,7 +631,6 @@ kernel_read_kernel_sysctls(ptal_t)
+@@ -735,7 +644,6 @@ kernel_read_kernel_sysctls(ptal_t)
kernel_list_proc(ptal_t)
kernel_read_proc_symlinks(ptal_t)
@@ -19386,7 +19415,7 @@ index c91813c..2230476 100644
corenet_all_recvfrom_netlabel(ptal_t)
corenet_tcp_sendrecv_generic_if(ptal_t)
corenet_tcp_sendrecv_generic_node(ptal_t)
-@@ -745,13 +640,11 @@ corenet_sendrecv_ptal_server_packets(ptal_t)
+@@ -745,13 +653,11 @@ corenet_sendrecv_ptal_server_packets(ptal_t)
corenet_tcp_bind_ptal_port(ptal_t)
corenet_tcp_sendrecv_ptal_port(ptal_t)
@@ -19400,7 +19429,7 @@ index c91813c..2230476 100644
files_read_etc_runtime_files(ptal_t)
fs_getattr_all_fs(ptal_t)
-@@ -759,8 +652,6 @@ fs_search_auto_mountpoints(ptal_t)
+@@ -759,8 +665,6 @@ fs_search_auto_mountpoints(ptal_t)
logging_send_syslog_msg(ptal_t)
@@ -19409,7 +19438,7 @@ index c91813c..2230476 100644
sysnet_read_config(ptal_t)
userdom_dontaudit_use_unpriv_user_fds(ptal_t)
-@@ -773,3 +664,4 @@ optional_policy(`
+@@ -773,3 +677,4 @@ optional_policy(`
optional_policy(`
udev_read_db(ptal_t)
')
@@ -23805,10 +23834,10 @@ index 0000000..fd679a1
+/var/lib/docker/.*/config\.env gen_context(system_u:object_r:docker_share_t,s0)
diff --git a/docker.if b/docker.if
new file mode 100644
-index 0000000..1048292
+index 0000000..76eb32e
--- /dev/null
+++ b/docker.if
-@@ -0,0 +1,345 @@
+@@ -0,0 +1,364 @@
+
+##