Commit Graph

748 Commits

Author SHA1 Message Date
Mark Hatle
ebea59190b Update MAINTAINERS with new email addr
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-10-18 12:01:57 -04:00
Vincent Prince
988f587016 Revert glib-2.0: fix configure error for meson build
On Warrior branch, glib-2.0 is in version 2.58.3 so we need to revert commit [bb0c9c3abc] until then.

Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-10-18 10:57:07 -04:00
Joe MacDonald
f5170305dc compat: remove thud from warrior layer compatibility list
Based on this discussion:
https://www.mail-archive.com/yocto@yoctoproject.org/msg45785.html the
warrior branch does not build against oe-core thud any longer.  Since
that's not really intended to be a supported use caes anyway, remove the
layer compatibility statement for thud.

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-09-18 05:02:51 -04:00
Lorenz Kofler
154654a6fe selinux-python: Fix dependency for ntpath
On yocto warrior the semanage tool didn't work correctly, because it
couldn't find ntpath module. It turned out that this module is now part
of the package python-misc, therefore add dependency to python-misc.

Signed-off-by: Lorenz Kofler <lorenz@sigma-star.at>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:35:12 -04:00
Mark Asselstine
b0d31db104 selinux-init: use systemd (re)labelling
Boot loops were being seen when booting with selinux enabled, when the
init system in use is systemd. Once logs were retrieved from the
failing system the error was found to be

selinux-init.sh[284]: /sbin/restorecon: Could not set context for /sys/fs/cgroup/cpuacct:  Read-only file system
selinux-init.sh[284]: /sbin/restorecon: Could not set context for /sys/fs/cgroup/cpu:  Read-only file system

Systemd mounts /sys/fs/cgroup read-only and the (re)labelling code
used by selinux-init.sh is unable to handle this. On top of this the
system is basically presenting two methods of (re)labelling; using the
built in systemd approach via selinux-autorelabel.service *and* the
code we have in selinux-init.sh. This can get confusing especially
given that most online resources will speak to the systemd approach
using selinux-autorelabel.service and /.autorelabel.

These changes leave the current approach in place when sysvinit is the
init system used, but if systemd is being used we make use of it's
internal (re)labelling functionality. Overall the workflow remains the
same but we now avoid boot loops (systemd remounts /sys/fs/cgroup rw
during the (re)labelling procedure).

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:28:06 -04:00
Yi Zhao
a41f482606 selinux-sandbox: add runtime dependency on python-core
Fixes:
ERROR: QA Issue: /usr/share/sandbox/start contained in package selinux-sandbox requires /usr/bin/python,
    but no providers found in RDEPENDS_selinux-sandbox?  [file-rdeps]

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:28:06 -04:00
Yi Zhao
c1309380d7 selinux-python: add python-core as runtime dependency
Fix QA issues:
QA Issue: /usr/lib64/python2.7/site-packages/seobject.py contained in package selinux-python requires /usr/bin/python,
   but no providers found in RDEPENDS_selinux-python? [file-rdeps]
QA Issue: /usr/bin/audit2allow contained in package selinux-python-audit2allow requires /usr/bin/python,
   but no providers found in RDEPENDS_selinux-python-audit2allow? [file-rdeps]
QA Issue: /usr/bin/chcat contained in package selinux-python-chcat requires /usr/bin/python,
   but no providers found in RDEPENDS_selinux-python-chcat? [file-rdeps]

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:28:06 -04:00
Joe Slater
8c6eabaf8c mcstrans: specify SBINDIR
We need SBINDIR to be compatible with the usrmerge distro feature.
The update to version 2.8 (commit c55c0aca...) removed the definition,
perhaps because the "${D}/" prefix broke the build.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:26:52 -04:00
Yi Zhao
087fe5c814 libselinux: fix build with glibc 2.30
Fix build error:
procattr.c:27:14: error: static declaration of 'gettid' follows
non-static declaration
   27 | static pid_t gettid(void)
      |              ^~~~~~
In file included from /buildarea/build/tmp/work/core2-64-poky-linux/libselinux/2.8-r0/recipe-sysroot/usr/include/unistd.h:1170,
                 from procattr.c:2:
/buildarea/build/tmp/work/core2-64-poky-linux/libselinux/2.8-r0/recipe-sysroot/usr/include/bits/unistd_ext.h:34:16:
note: previous declaration of 'gettid' was here
   34 | extern __pid_t gettid (void) __THROW;
      |                ^~~~~~

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-08-28 10:26:52 -04:00
Mingli Yu
8551ae0994 audit: use git fetcher instead of the tarball source
Per http://people.redhat.com/sgrubb/audit/, the
tarball source moves to https://github.com/linux-audit/audit-userspace,
and since commit [21f84fc insane: add sanity checks to SRC_URI]
applied in oe-core, do not use unstable github archive
tarballs, so use git instead.

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-07-08 22:24:25 -04:00
Yi Zhao
11daa2cca4 audit: upgrade 2.8.4 -> 2.8.5
* Drop backport patch:
  0001-Remove-strdupa-as-suggested-in-pull-request-25.patch

* Refresh all patches.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-07-08 22:24:12 -04:00
Yi Zhao
bb0c9c3abc glib-2.0: fix configure error for meson build
In glib 2.60.x, it turns selinux into a meson feature. We should use
'-Dselinux=enabled/disabled' rather than '-Dselinux=true/false' to
enable/disable the feature.

Add meso-enable-selinux.bbclass for this change and inherit it in
glib-2.0 bbappend to fix the configure error.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-06-15 23:11:05 -04:00
Hongxu Jia
8b7a9638c5 setools: do not use unstable github archive tarballs
Since commit [21f84fc insane: add sanity checks to SRC_URI] applied
in oe-core, do not use unstable github archive tarballs

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-06-06 19:07:15 -04:00
Yi Zhao
184857a52e mesa: switch to meson build
The mesa had been converted to use meson build system in oe-core commit
c72b6d46d392bfbcf54154f43663a7a8ada8c567. Update the bbappend to adapt
it.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-06-06 19:04:14 -04:00
Yi Zhao
99ff2a13b3 findutils: drop obsolete patch
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2019-06-06 19:03:59 -04:00
Yi Zhao
a917c322c1 refpolicy: update source checksums for refpolicy 20190201
The previous md5sum and sha256sum are not correct.
See: https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20190201

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-23 11:12:57 -04:00
Kai Kang
b69dad7299 busybox: disable PTEST_BINDIR
A new feature has been added in oe-core to use update-alternative
mechanism for ptest. But it conflicts with current patch in
meta-selinux. So do not use this new feature for ptest when build with
selinux.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-18 07:30:28 -04:00
Chris PeBenito
efdb09e842 libselinux.inc: Add python-shell to libselinux-python RDEPENDS.
The libselinux SWIG wrapper imports shutil.

Signed-off-by: Chris PeBenito <Christopher.PeBenito@microsoft.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-15 12:57:51 -04:00
Chen Qi
e0105eed2b audit: change to use ${WORKDIR} instead ${S}/../
The do_install function is assuming that ${S}/../ is ${WORKDIR},
but this is not true when using `devtool modify audit'.

So change to use ${WORKDIR}.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-15 09:02:21 -04:00
Kai Kang
c0186953ac setools: fix build failure with gcc 7
Backport patch from setools upstream to fix build failure with GCC 7 due
to possible truncation of snprintf output. It could be reproduced on 64
bit bsps such as qemux86-64 and qemumips64 with configs:

  SELECTED_OPTIMIZATION = "${DEBUG_OPTIMIZATION}"
  DEBUG_BUILD = "1"

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:29:57 -04:00
Kai Kang
fb5d3d86b5 layer.conf: update to warrior release name series
Sync with oe-core to update to warrior release name series.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:29:52 -04:00
Yi Zhao
144f949452 selinux: remove git version
The git version of libselinux libsemanage libsepol checkpolicy and
policycoreutils are far behind the master branch and now they can not
build due to the do_patch error. The current stable 2.8 version works
well so we can remove them.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:20:56 -04:00
Luca Boccassi
d00cb4413c packagegroup-selinux-minimal: add selinux-init
When trying to build a minimal image (eg: without python), the default
user on autologin is not mapped to the intended user/role/domain:

  # id -Z
  system_u:system_r:kernel_t:s0

And the following error is displayed on autologin:

  Unable to get valid context for <user>

While on an image built with the core-selinux packagegroup:

  # id -Z
  unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Adding selinux-init to the minimal package list fixes the issue.
This package does not seem to bring along additional dependencies.

Signed-off-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:14:54 -04:00
Sinan Kaya
aed85f4d0c libpcre: do no create links when compiling for windows
lipcre-native is trying to create symbolic links to so files
when used with meta-mingw. Remove this condition for mingw builds.

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:13:50 -04:00
Yi Zhao
3f850b745c selinux-image.bbclass: using append instead of += for IMAGE_PREPROCESS_COMMAND
Fix AVC denied error when booting:

type=AVC msg=audit(1548055920.478:86): avc:  denied  { execute } for
pid=366 comm="audispd" path="/lib/ld-2.28.so" dev="vda" ino=7545
scontext=system_u:system_r:audisp_t:s15:c0.c1023
tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=1

type=AVC msg=audit(1548055920.478:87): avc:  denied  { open } for
pid=366 comm="audispd" path="/lib/libc-2.28.so" dev="vda" ino=7558
scontext=system_u:system_r:audisp_t:s15:c0.c1023
tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=1

When using "+=" for IMAGE_PREPROCESS_COMMAND, the selinux_set_labels
process would run before prelink process to set the security labels for
the files. But the label for /lib/libc-2.28.so and /lib/ld-2.28.so would
be changed after run prelink process. Use "_append" to make sure the
selinux_set_labels process run after prelink process.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:08:54 -04:00
Yi Zhao
00374b5317 openssh: update sshd_config
Update sshd_config based on openssh 7.9p1. Drop the deprecated option
UsePrivilegeSeparation

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:07:16 -04:00
Yi Zhao
28d8039fa6 core-image-selinux.bb: remove trailing whitespace
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-14 17:07:16 -04:00
Joe MacDonald
d668669844 refpolicy: update to 2.20190201 and git HEAD policies
Additionally, the README has fallen out of date, update it to reflect the
current reality of layer dependencies.

Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-04-12 15:28:38 -04:00
Luca Boccassi
a6a3cadb1e Backport patches from upstream to fix build with musl
Audit 2.8.4 fails to build with musl. The fixes have been committed
to the upstream master branch and can be backported.
Building with glibc is unaffected.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-03-25 09:43:53 +01:00
Kai Kang
eafe868098 meson-selinux.bbclass: add for meson build system
Add meson-selinux.bbclass for meson build system. It used
'-Dselinux=true/false' to enable/disable 'selinux' rather than
--enable-selinux or --with-selinux.

Inherit meson-selinux for glib-2.0 to fix configure failure.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-03-25 09:43:53 +01:00
Yi Zhao
780038798b linux-yocto: add bbappend for kernel 5.0
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2019-03-22 09:35:22 -04:00
Joe MacDonald
394ab36a6d refpolicy: fix up all refpolicy 20170224 builds for current master
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-30 08:05:29 -04:00
Awais Belal
62f6931c00 refpolicy_git.inc: lock SRCREVs on the actual version hashes
Using AUTOREV in the main repository has its downsides.
1. The checked out version isn't actually the version depicted
   by PV.
2. Breaks builds in scenarios where network isn't available
   or BB_NO_NETWORK is used even after sources are already
   fetched.

1 is self explanatory, for 2 whenever SRCREV is set to AUTOREV and
SRCPV is used in PV the fetcher tries to access the network in order
to determine SRCPV (bb.fetch2.get_srcrev) and fails for obvious
reasons during parsing even when versioned recipes are used as
PREFERRED_VERSION because parsing still happens for recipes that are
in BB's search paths and we see.
Traceback (most recent call last):
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception NetworkAccess: Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command git -c core.fsyncobjectfiles=0 ls-remote git://github.com/TresysTechnology/refpolicy.git  (for url git://github.com/TresysTechnology/refpolicy.git)

So we lock the REVs and do that with a soft assignment which
allows overriding the REVs from elsewhere.

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-23 13:18:05 +01:00
Chen Qi
39e7ceaa9f libpcre_selinux.inc: fix do_install failure if .so file does not exist
In case of the existence of meta-mingw, the library is .dll instead of
.so and these .dll files are in ${bindir}.

We need to check the existence of the .so file before doing readlink,
otherwise do_install fails.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-23 13:17:35 +01:00
Piotr Tworek
295223cd94 libselinux: Fix build with musl libc.
Musl libc does not implement file traversal functions from fts.h.
Oe-core provides fts library which implements those. Libselinux makefile
allows us to use such additional library by specifying required linker
flags via FTS_LDLIBS variable.

Signed-off-by: Piotr Tworek <tworaz666@gmail.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-23 13:16:39 +01:00
Piotr Tworek
1fdd4c91d7 setools: Add missing python runtime deps.
The package needs logging, json and argparse modules to start.
Additionaly, it also needs libselinux-python in order to really work.
Without it it'll just print an error message instructing the user to
install it.

Signed-off-by: Piotr Tworek <tworaz666@gmail.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-23 13:16:39 +01:00
Hongxu Jia
8ff95d5b2a layer.conf: update LAYERSERIES_COMPAT sumo' -> thud'
Since `9ec5a8a layer.conf: Drop sumo from LAYERSERIES_CORENAMES' and
`9867924 layer.conf: Add thud to LAYERSERIES_CORENAMES' applied in oe-core,
update LAYERSERIES_COMPAT `sumo' -> `thud'

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-10-22 16:27:25 +01:00
Eric Chanudet
b1dac7e2b2 policycorutils: package files in base_sbindir.
SBINDIR was changed to ${base_sbindir} in commit:
8cc9c17 policycoreutils: fix installed-but-not-shipped on updated recipes

FILES_${PN}-* must now capture files installed in ${base_sbindir}
accordingly.

Signed-off-by: Eric Chanudet <chanudete@ainfosec.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2018-09-09 16:02:00 -04:00
Joe MacDonald
8cc9c17d40 policycoreutils: fix installed-but-not-shipped on updated recipes
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:24:46 -04:00
Yi Zhao
ad1917ecca audit: uprev to 2.8.4
Add aarch64 support

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
5775f7b0da packagegroup-selinux-policycoreutils: remove semodule-utils-semodule-deps
Remove package semodule-utils-semodule-deps as it had been removed
upstream.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
d66addd069 selinux-gui: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
14e3048f19 selinux-dbus: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
42ebe299ad semodule-utils: uprev to 2.8 (20180524)
Remove package semodule-deps as it had been removed upstream.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
82b09d8c63 selinux-python: uprev to 2.8 (20180524)
Rebase patch:
fix-sepolicy-install-path.patch

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
2de2fca376 selinux-sandbox: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
d09ae7be34 restorecond: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
c55c0aca38 mcstrans: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
77b61a4fb6 policycoreutils: uprev to 2.8 (20180524)
Remove unused patch:
policycoreutils-loadpolicy-symlink.patch

Add the following patches to change commands path for backward
compatibility:
policycoreutils-fix-fixfiles-install-path.patch
policycoreutils-fix-fixfiles-install-path.patch

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00
Yi Zhao
cf7a0c932d secilc: uprev to 2.8 (20180524)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-09-07 16:13:57 -04:00