You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
353 lines
14 KiB
353 lines
14 KiB
%global debug_package %{nil} |
|
|
|
# container-selinux |
|
%global git0 https://github.com/projectatomic/%{name} |
|
%global commit0 db3c78b86d6c5f207bf94f7d860fc3e8787a8dbc |
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) |
|
|
|
# container-selinux stuff (prefix with ds_ for version/release etc.) |
|
# Some bits borrowed from the openstack-selinux package |
|
%global selinuxtype targeted |
|
%global moduletype services |
|
%global modulenames container |
|
|
|
# Usage: _format var format |
|
# Expand 'modulenames' into various formats as needed |
|
# Format must contain '$x' somewhere to do anything useful |
|
%global _format() export %1=""; for x in %{modulenames}; do %1+=%2; %1+=" "; done; |
|
|
|
# Relabel files |
|
%global relabel_files() %{_sbindir}/restorecon -R %{_bindir}/*podman* %{_bindir}/*runc* %{_bindir}/*crio %{_bindir}/docker* %{_localstatedir}/run/containerd.sock %{_localstatedir}/run/docker.sock %{_localstatedir}/run/docker.pid %{_sysconfdir}/docker %{_sysconfdir}/crio %{_localstatedir}/log/docker %{_localstatedir}/log/lxc %{_localstatedir}/lock/lxc %{_unitdir}/docker.service %{_unitdir}/docker-containerd.service %{_unitdir}/docker-latest.service %{_unitdir}/docker-latest-containerd.service %{_sysconfdir}/docker %{_libexecdir}/docker* &> /dev/null || : |
|
|
|
# Version of SELinux we were using |
|
%global selinux_policyver 3.13.1-216.el7 |
|
|
|
Name: container-selinux |
|
Epoch: 2 |
|
Version: 2.98 |
|
Release: 1%{?dist} |
|
License: GPLv2 |
|
URL: %{git0} |
|
Summary: SELinux policies for container runtimes |
|
Source0: %{git0}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz |
|
BuildArch: noarch |
|
BuildRequires: git |
|
BuildRequires: pkgconfig(systemd) |
|
BuildRequires: selinux-policy >= %{selinux_policyver} |
|
BuildRequires: selinux-policy-devel >= %{selinux_policyver} |
|
# RE: rhbz#1195804 - ensure min NVR for selinux-policy |
|
Requires: selinux-policy >= %{selinux_policyver} |
|
Requires(post): selinux-policy-base >= %{selinux_policyver} |
|
Requires(post): selinux-policy-targeted >= %{selinux_policyver} |
|
Requires(post): policycoreutils >= 2.5-11 |
|
|
|
%if 0%{?rhel} > 7 || 0%{?fedora} |
|
Requires(post): policycoreutils-python-utils |
|
%else |
|
Requires(post): policycoreutils-python |
|
%endif |
|
Requires(post): libselinux-utils |
|
Requires(post): sed |
|
Obsoletes: %{name} <= 2:1.12.5-14 |
|
Obsoletes: docker-selinux <= 2:1.12.4-28 |
|
Provides: docker-selinux = %{epoch}:%{version}-%{release} |
|
Provides: docker-engine-selinux = %{epoch}:%{version}-%{release} |
|
|
|
%description |
|
SELinux policy modules for use with container runtimes. |
|
|
|
%prep |
|
%autosetup -Sgit -n %{name}-%{commit0} |
|
|
|
%build |
|
make |
|
|
|
%install |
|
# install policy modules |
|
%_format MODULES $x.pp.bz2 |
|
install -d %{buildroot}%{_datadir}/selinux/packages |
|
install -d -p %{buildroot}%{_datadir}/selinux/devel/include/services |
|
install -p -m 644 %{modulenames}.if %{buildroot}%{_datadir}/selinux/devel/include/services |
|
install -m 0644 $MODULES %{buildroot}%{_datadir}/selinux/packages |
|
|
|
# remove spec file |
|
rm -rf %{name}.spec |
|
|
|
%check |
|
|
|
%post |
|
# Install all modules in a single transaction |
|
if [ $1 -eq 1 ]; then |
|
%{_sbindir}/setsebool -P -N virt_use_nfs=1 virt_sandbox_use_all_caps=1 |
|
fi |
|
%_format MODULES %{_datadir}/selinux/packages/$x.pp.bz2 |
|
%{_sbindir}/semodule -n -s %{selinuxtype} -r container 2> /dev/null |
|
%{_sbindir}/semodule -n -s %{selinuxtype} -d docker 2> /dev/null |
|
%{_sbindir}/semodule -n -s %{selinuxtype} -d gear 2> /dev/null |
|
%{_sbindir}/semodule -n -X 200 -s %{selinuxtype} -i $MODULES > /dev/null |
|
if %{_sbindir}/selinuxenabled ; then |
|
%{_sbindir}/load_policy |
|
%relabel_files |
|
if [ $1 -eq 1 ]; then |
|
restorecon -R %{_sharedstatedir}/docker &> /dev/null || : |
|
fi |
|
fi |
|
. %{_sysconfdir}/selinux/config |
|
sed -e "\|container_file_t|h; \${x;s|container_file_t||;{g;t};a\\" -e "container_file_t" -e "}" -i /etc/selinux/${SELINUXTYPE}/contexts/customizable_types |
|
matchpathcon -qV %{_sharedstatedir}/containers || restorecon -R %{_sharedstatedir}/containers &> /dev/null || : |
|
|
|
%postun |
|
if [ $1 -eq 0 ]; then |
|
%{_sbindir}/semodule -n -r %{modulenames} docker &> /dev/null || : |
|
if %{_sbindir}/selinuxenabled ; then |
|
%{_sbindir}/load_policy |
|
%relabel_files |
|
fi |
|
fi |
|
|
|
#define license tag if not already defined |
|
%{!?_licensedir:%global license %doc} |
|
|
|
%files |
|
%doc README.md |
|
%{_datadir}/selinux/* |
|
|
|
%changelog |
|
* Tue Jan 08 2019 Frantisek Kluknavsky <fkluknav@redhat.com> - 2.77-1 |
|
- backported fixes from upstream |
|
|
|
* Mon Nov 12 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.76-1 |
|
- Allow containers to use fuse file systems by default |
|
- Allow containers to sendto dgram socket of container runtimes |
|
- Needed to run container runtimes in notify socket unit files. |
|
|
|
* Fri Oct 19 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.74-1 |
|
- Allow containers to setexec themselves |
|
|
|
* Tue Sep 18 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 2:2.73-3 |
|
- tweak macro for fedora - applies to rhel8 as well |
|
|
|
* Mon Sep 17 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 2:2.73-2 |
|
- moved changelog entries: |
|
- Define spc_t as a container_domain, so that container_runtime will transition |
|
to spc_t even when setup with nosuid. |
|
- Allow container_runtimes to setattr on callers fifo_files |
|
- Fix restorecon to not error on missing directory |
|
|
|
* Thu Sep 6 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.69-3 |
|
- Make sure we pull in the latest selinux-policy |
|
|
|
* Wed Jul 25 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.69-2 |
|
- Add map support to container-selinux for RHEL 7.5 |
|
- Dontudit attempts to write to kernel_sysctl_t |
|
|
|
* Mon Jul 16 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.68-1 |
|
- Add label for /var/lib/origin |
|
- Add customizable_file_t to customizable_types |
|
|
|
* Sun Jul 15 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.67-1 |
|
- Add policy for container_logreader_t |
|
|
|
* Thu Jun 14 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.66-1 |
|
- Allow dnsmasq to dbus chat with spc_t |
|
|
|
* Sun Jun 3 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.64-1 |
|
- Allow containers to create all socket classes |
|
|
|
* Thu May 24 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.62-1 |
|
- Label overlay directories under /var/lib/containers/ correctly |
|
|
|
* Mon May 21 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.61-1 |
|
- Allow spc_t to load kernel modules from inside of container |
|
|
|
* Mon May 21 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.60-1 |
|
- Allow containers to list cgroup directories |
|
- Transition for unconfined_service_t to container_runtime_t when executing container_runtime_exec_t. |
|
|
|
* Mon May 21 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.58-2 |
|
- Run restorecon /usr/bin/podman in postinstall |
|
|
|
* Fri May 18 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.58-1 |
|
- Add labels to allow podman to be run from a systemd unit file |
|
|
|
* Mon May 7 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.57-1 |
|
- Set the version of SELinux policy required to the latest to fix build issues. |
|
|
|
* Wed Apr 11 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.56-1 |
|
- Allow container_runtime_t to transition to spc_t over unlabeled files |
|
|
|
* Mon Mar 26 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.55-1 |
|
Allow iptables to read container state |
|
Dontaudit attempts from containers to write to /proc/self |
|
Allow spc_t to change attributes on container_runtime_t fifo files |
|
|
|
* Thu Mar 8 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.52-1 |
|
- Add better support for writing custom selinux policy for customer container domains. |
|
|
|
* Thu Mar 8 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.51-1 |
|
- Allow shell_exec_t as a container_runtime_t entrypoint |
|
|
|
* Wed Mar 7 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.50-1 |
|
- Allow bin_t as a container_runtime_t entrypoint |
|
|
|
* Fri Mar 2 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.49-1 |
|
- Add support for MLS running container runtimes |
|
- Add missing allow rules for running systemd in a container |
|
|
|
* Wed Feb 21 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.48-1 |
|
- Update policy to match master branch |
|
- Remove typebounds and replace with nnp_transition and nosuid_transition calls |
|
|
|
* Tue Jan 9 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.41-1 |
|
- Add support to nnp_transition for container domains |
|
- Eliminates need for typebounds. |
|
|
|
* Tue Jan 9 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.40-1 |
|
- Allow container_runtime_t to use user ttys |
|
- Fixes bounds check for container_t |
|
|
|
* Mon Jan 8 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.39-1 |
|
- Allow container runtimes to use interited terminals. This helps |
|
satisfy the bounds check of container_t versus container_runtime_t. |
|
|
|
* Sat Jan 6 2018 Dan Walsh <dwalsh@fedoraproject.org> - 2.38-1 |
|
- Allow container runtimes to mmap container_file_t devices |
|
- Add labeling for rhel push plugin |
|
|
|
* Tue Dec 12 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.37-1 |
|
- Allow containers to use inherited ttys |
|
- Allow ostree to handle labels under /var/lib/containers/ostree |
|
|
|
* Mon Nov 27 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.36-1 |
|
- Allow containers to relabelto/from all file types to container_file_t |
|
|
|
* Mon Nov 27 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.35-1 |
|
- Allow container to map chr_files labeled container_file_t |
|
|
|
* Wed Nov 22 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.34-1 |
|
- Dontaudit container processes getattr on kernel file systems |
|
|
|
* Sun Nov 19 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.33-1 |
|
- Allow containers to read /etc/resolv.conf and /etc/hosts if volume |
|
- mounted into container. |
|
|
|
* Wed Nov 8 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.32-1 |
|
- Make sure users creating content in /var/lib with right labels |
|
|
|
* Thu Oct 26 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.31-1 |
|
- Allow the container runtime to dbus chat with dnsmasq |
|
- add dontaudit rules for container trying to write to /proc |
|
|
|
* Tue Oct 10 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.29-1 |
|
- Add support for lxcd |
|
- Add support for labeling of tmpfs storage created within a container. |
|
|
|
* Mon Oct 9 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.28-1 |
|
- Allow a container to umount a container_file_t filesystem |
|
|
|
* Fri Sep 22 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.27-1 |
|
- Allow container runtimes to work with the netfilter sockets |
|
- Allow container_file_t to be an entrypoint for VM's |
|
- Allow spc_t domains to transition to svirt_t |
|
|
|
* Fri Sep 22 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.24-1 |
|
- Make sure container_runtime_t has all access of container_t |
|
|
|
* Thu Sep 7 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.23-1 |
|
- Allow container runtimes to create sockets in tmp dirs |
|
|
|
* Tue Sep 5 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.22-1 |
|
- Add additonal support for crio labeling. |
|
|
|
* Mon Aug 14 2017 Troy Dawson <tdawson@redhat.com> - 2.21-3 |
|
- Fixup spec file conditionals |
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.21-2 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
|
|
|
* Thu Jul 6 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.21-1 |
|
- Allow containers to execmod on container_share_t files. |
|
|
|
* Thu Jul 6 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.20-2 |
|
- Relabel runc and crio executables |
|
|
|
* Fri Jun 30 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2.20-1 |
|
- Allow container processes to getsession |
|
|
|
* Wed Jun 14 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.19-2.1 |
|
- update release tag to isolate from 7.3 |
|
|
|
* Wed Jun 14 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2:2.19-1 |
|
- Fix mcs transition problem on stdin/stdout/stderr |
|
- Add labels for CRI-O |
|
- Allow containers to use tunnel sockets |
|
|
|
* Tue Jun 06 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.15-1.1 |
|
- Resolves: #1451289 |
|
- rebase to v2.15 |
|
- built @origin/RHEL-1.12 commit 583ca40 |
|
|
|
* Mon Mar 20 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2:2.10-2.1 |
|
- Make sure we have a late enough version of policycoreutils |
|
|
|
* Mon Mar 6 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2:2.10-1 |
|
- Update to the latest container-selinux patch from upstream |
|
- Label files under /usr/libexec/lxc as container_runtime_exec_t |
|
- Give container_t access to XFRM sockets |
|
- Allow spc_t to dbus chat with init system |
|
- Allow containers to read cgroup configuration mounted into a container |
|
|
|
* Tue Feb 21 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.9-4 |
|
- Resolves: #1425574 |
|
- built commit 79a6d70 |
|
|
|
* Mon Feb 20 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.9-3 |
|
- Resolves: #1420591 |
|
- built @origin/RHEL-1.12 commit 8f876c4 |
|
|
|
* Mon Feb 13 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.9-2 |
|
- built @origin/RHEL-1.12 commit 33cb78b |
|
|
|
* Fri Feb 10 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.8-2 |
|
- |
|
|
|
* Tue Feb 07 2017 Lokesh Mandvekar <lsm5@redhat.com> - 2:2.7-1 |
|
- built origin/RHEL-1.12 commit 21dd37b |
|
|
|
* Fri Jan 20 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.4-2 |
|
- correct version-release in changelog entries |
|
|
|
* Thu Jan 19 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2:2.4-1 |
|
- Add typebounds statement for container_t from container_runtime_t |
|
- We should only label runc not runc* |
|
|
|
* Tue Jan 17 2017 Dan Walsh <dwalsh@fedoraproject.org> - 2:2.3-1 |
|
- Fix labeling on /usr/bin/runc.* |
|
- Add sandbox_net_domain access to container.te |
|
- Remove containers ability to look at /etc content |
|
|
|
* Wed Jan 11 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.2-4 |
|
- use upstream's RHEL-1.12 branch, commit 56c32da for CentOS 7 |
|
|
|
* Tue Jan 10 2017 Jonathan Lebon <jlebon@redhat.com> - 2:2.2-3 |
|
- properly disable docker module in %%post |
|
|
|
* Sat Jan 07 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.2-2 |
|
- depend on selinux-policy-targeted |
|
- relabel docker-latest* files as well |
|
|
|
* Fri Jan 06 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.2-1 |
|
- bump to v2.2 |
|
- additional labeling for ocid |
|
|
|
* Fri Jan 06 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.0-2 |
|
- install policy at level 200 |
|
- From: Dan Walsh <dwalsh@redhat.com> |
|
|
|
* Fri Jan 06 2017 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:2.0-1 |
|
- Resolves: #1406517 - bump to v2.0 (first upload to Fedora as a |
|
standalone package) |
|
- include projectatomic/RHEL-1.12 branch commit for building on centos/rhel |
|
|
|
* Mon Dec 19 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1.12.4-29 |
|
- new package (separated from docker)
|
|
|