diff --git a/policy/modules/contrib b/policy/modules/contrib index 9dd465a5d..d59909fbf 160000 --- a/policy/modules/contrib +++ b/policy/modules/contrib @@ -1 +1 @@ -Subproject commit 9dd465a5d5ae5c37f2efbde3ed9aa13d6a7f4913 +Subproject commit d59909fbf34e11ca808842173acf03cfe44f34aa diff --git a/policy/modules/kernel/files.te b/policy/modules/kernel/files.te index 625768e27..9b06ff6ef 100644 --- a/policy/modules/kernel/files.te +++ b/policy/modules/kernel/files.te @@ -1,4 +1,4 @@ -policy_module(files, 1.23.2) +policy_module(files, 1.23.3) ######################################## # @@ -11,6 +11,7 @@ attribute lockfile; attribute mountpoint; attribute pidfile; attribute configfile; +attribute spoolfile; # For labeling types that are to be polyinstantiated attribute polydir; diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if index f0761c9b3..7af0ab6a7 100644 --- a/policy/modules/services/xserver.if +++ b/policy/modules/services/xserver.if @@ -932,6 +932,26 @@ interface(`xserver_create_xdm_tmp_sockets',` create_sock_files_pattern($1, xdm_tmp_t, xdm_tmp_t) ') +######################################## +## +## Delete a named socket in a XDM +## temporary directory. +## +## +## +## Domain allowed access. +## +## +# +interface(`xserver_delete_xdm_tmp_sockets',` + gen_require(` + type xdm_tmp_t; + ') + + files_search_tmp($1) + delete_sock_files_pattern($1, xdm_tmp_t, xdm_tmp_t) +') + ######################################## ## ## Read XDM pid files. diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te index 095435b75..ca7159ae1 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -1,4 +1,4 @@ -policy_module(xserver, 3.13.1) +policy_module(xserver, 3.13.2) gen_require(` class x_drawable all_x_drawable_perms; diff --git a/policy/modules/system/init.fc b/policy/modules/system/init.fc index 0f4b78d56..59899fd91 100644 --- a/policy/modules/system/init.fc +++ b/policy/modules/system/init.fc @@ -23,6 +23,7 @@ ifdef(`distro_gentoo',` # /usr # /usr/bin/sepg_ctl -- gen_context(system_u:object_r:initrc_exec_t,s0) +/usr/bin/systemd -- gen_context(system_u:object_r:init_exec_t,s0) /usr/lib/systemd/systemd -- gen_context(system_u:object_r:init_exec_t,s0) /usr/lib/systemd/system-preset(/.*)? gen_context(system_u:object_r:systemd_unit_t,s0) @@ -34,7 +35,6 @@ ifdef(`distro_gentoo', ` /usr/lib/rc/init\.d(/.*)? gen_context(system_u:object_r:initrc_state_t,s0) ') - /usr/libexec/dcc/start-.* -- gen_context(system_u:object_r:initrc_exec_t,s0) /usr/libexec/dcc/stop-.* -- gen_context(system_u:object_r:initrc_exec_t,s0) diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te index 832abe474..63477f55d 100644 --- a/policy/modules/system/init.te +++ b/policy/modules/system/init.te @@ -1,4 +1,4 @@ -policy_module(init, 2.2.2) +policy_module(init, 2.2.3) gen_require(` class passwd rootok; @@ -307,7 +307,9 @@ ifdef(`init_systemd',` ',` # Run the shell in the sysadm role for single-user mode. # causes problems with upstart - sysadm_shell_domtrans(init_t) + ifndef(`distro_debian',` + sysadm_shell_domtrans(init_t) + ') ') ') @@ -561,9 +563,6 @@ miscfiles_read_localization(initrc_t) # slapd needs to read cert files from its initscript miscfiles_read_generic_certs(initrc_t) -modutils_read_module_config(initrc_t) -modutils_domtrans_insmod(initrc_t) - seutil_read_config(initrc_t) userdom_read_user_home_content_files(initrc_t) @@ -952,6 +951,11 @@ optional_policy(` mailman_read_data_symlinks(initrc_t) ') +optional_policy(` + modutils_read_module_config(initrc_t) + modutils_domtrans_insmod(initrc_t) +') + optional_policy(` mta_read_config(initrc_t) mta_dontaudit_read_spool_symlinks(initrc_t) diff --git a/policy/modules/system/logging.te b/policy/modules/system/logging.te index 40efd4f67..80ecafd54 100644 --- a/policy/modules/system/logging.te +++ b/policy/modules/system/logging.te @@ -1,4 +1,4 @@ -policy_module(logging, 1.25.1) +policy_module(logging, 1.25.2) ######################################## # @@ -124,8 +124,6 @@ term_use_all_terms(auditctl_t) init_dontaudit_use_fds(auditctl_t) -locallogin_dontaudit_use_fds(auditctl_t) - logging_set_audit_parameters(auditctl_t) logging_send_syslog_msg(auditctl_t) @@ -133,6 +131,10 @@ ifdef(`init_systemd',` init_rw_stream_sockets(auditctl_t) ') +optional_policy(` + locallogin_dontaudit_use_fds(auditctl_t) +') + ######################################## # # Auditd local policy @@ -373,8 +375,8 @@ optional_policy(` # sys_admin for the integrated klog of syslog-ng and metalog # sys_nice for rsyslog # cjp: why net_admin! -allow syslogd_t self:capability { chown dac_override fsetid net_admin sys_admin sys_nice sys_resource sys_tty_config }; -dontaudit syslogd_t self:capability { sys_ptrace sys_tty_config }; +allow syslogd_t self:capability { chown dac_override fsetid net_admin setgid setuid sys_admin sys_nice sys_resource sys_tty_config }; +dontaudit syslogd_t self:capability { sys_ptrace }; # setpgid for metalog # setrlimit for syslog-ng # getsched for syslog-ng @@ -565,6 +567,8 @@ optional_policy(` optional_policy(` udev_read_db(syslogd_t) + # for systemd-journal to read seat data from /run/udev/data + udev_read_pid_files(syslogd_t) ') optional_policy(` diff --git a/policy/modules/system/lvm.te b/policy/modules/system/lvm.te index 62eb23a57..73b108c06 100644 --- a/policy/modules/system/lvm.te +++ b/policy/modules/system/lvm.te @@ -1,4 +1,4 @@ -policy_module(lvm, 1.19.1) +policy_module(lvm, 1.19.2) ######################################## # @@ -257,6 +257,8 @@ dev_dontaudit_getattr_generic_pipes(lvm_t) dev_create_generic_dirs(lvm_t) # the following one is needed by cryptsetup dev_getattr_fs(lvm_t) +# for systemd-cryptsetup +dev_write_kmsg(lvm_t) domain_use_interactive_fds(lvm_t) domain_read_all_domains_state(lvm_t) diff --git a/policy/modules/system/selinuxutil.te b/policy/modules/system/selinuxutil.te index 08cea4c68..e51cb4ffe 100644 --- a/policy/modules/system/selinuxutil.te +++ b/policy/modules/system/selinuxutil.te @@ -1,4 +1,4 @@ -policy_module(selinuxutil, 1.22.1) +policy_module(selinuxutil, 1.22.2) gen_require(` bool secure_mode; @@ -343,8 +343,6 @@ files_relabel_non_auth_files(restorecond_t ) files_read_non_auth_files(restorecond_t) auth_use_nsswitch(restorecond_t) -locallogin_dontaudit_use_fds(restorecond_t) - logging_send_syslog_msg(restorecond_t) miscfiles_read_localization(restorecond_t) @@ -357,6 +355,10 @@ ifdef(`distro_ubuntu',` ') ') +optional_policy(` + locallogin_dontaudit_use_fds(restorecond_t) +') + optional_policy(` rpm_use_script_fds(restorecond_t) ') @@ -482,8 +484,6 @@ term_use_all_terms(semanage_t) # Running genhomedircon requires this for finding all users auth_use_nsswitch(semanage_t) -locallogin_use_fds(semanage_t) - logging_send_syslog_msg(semanage_t) miscfiles_read_localization(semanage_t) @@ -516,6 +516,10 @@ ifdef(`distro_ubuntu',` ') ') +optional_policy(` + locallogin_use_fds(semanage_t) +') + ######################################## # # Setfiles local policy diff --git a/policy/modules/system/sysnetwork.te b/policy/modules/system/sysnetwork.te index f4d2f133a..36ae9923c 100644 --- a/policy/modules/system/sysnetwork.te +++ b/policy/modules/system/sysnetwork.te @@ -1,4 +1,4 @@ -policy_module(sysnetwork, 1.20.2) +policy_module(sysnetwork, 1.20.3) ######################################## # @@ -145,8 +145,6 @@ logging_send_syslog_msg(dhcpc_t) miscfiles_read_localization(dhcpc_t) -modutils_run_insmod(dhcpc_t, dhcpc_roles) - sysnet_run_ifconfig(dhcpc_t, dhcpc_roles) userdom_use_user_terminals(dhcpc_t) @@ -205,6 +203,10 @@ optional_policy(` ') ') +optional_policy(` + modutils_run_insmod(dhcpc_t, dhcpc_roles) +') + # for the dhcp client to run ping to check IP addresses optional_policy(` netutils_run_ping(dhcpc_t, dhcpc_roles) @@ -333,8 +335,6 @@ logging_send_syslog_msg(ifconfig_t) miscfiles_read_localization(ifconfig_t) -modutils_domtrans_insmod(ifconfig_t) - seutil_use_runinit_fds(ifconfig_t) sysnet_dontaudit_rw_dhcpc_udp_sockets(ifconfig_t) @@ -376,6 +376,10 @@ optional_policy(` ipsec_setcontext_default_spd(ifconfig_t) ') +optional_policy(` + modutils_domtrans_insmod(ifconfig_t) +') + optional_policy(` nis_use_ypbind(ifconfig_t) ') diff --git a/policy/modules/system/udev.te b/policy/modules/system/udev.te index 5bec7a25d..b53e364a7 100644 --- a/policy/modules/system/udev.te +++ b/policy/modules/system/udev.te @@ -1,4 +1,4 @@ -policy_module(udev, 1.21.1) +policy_module(udev, 1.21.2) ######################################## # @@ -125,6 +125,7 @@ files_search_mnt(udev_t) fs_getattr_all_fs(udev_t) fs_list_inotifyfs(udev_t) +fs_read_cgroup_files(udev_t) fs_rw_anon_inodefs_files(udev_t) mcs_ptrace_all(udev_t)