add new recipe for ecryptfs-utils and keyutils
v3 cover add new recipe for ecryptfs-utils and keyutils
From: Jackie Huang <[email protected]>
v3 comments:
squash two install commands into one.
v2 comments:
- add systemd support
- add PACKAGECONFIG for pam to fix the warning
--
The following changes since commit 43ae8fc27eb411e91285eb374f05682ca8bee055:
packagegroup-security-tpm-i2c: fix syntax (2017-05-19 07:37:35 -0700)
are available in the git repository at:
https://github.com/jackiehjm/meta-security.git jhuang0/r_up_ecryptfs_keyutils-v3_170524_0
https://github.com//tree/jhuang0/r_up_ecryptfs_keyutils-v3_170524_0
Jackie Huang (2):
keyutils: add new recipe
ecryptfs-utils: add new recipe
.../ecryptfs-utils/ecryptfs-utils_111.bb | 63 +++++++++++++++++++++ .../files/ecryptfs-utils-CVE-2016-6224.patch | 65 ++++++++++++++++++++++ .../ecryptfs-utils/files/ecryptfs.service | 9 +++ ...ix-error-report-by-adding-default-message.patch | 42 ++++++++++++++ .../files/keyutils-test-fix-output-format.patch | 41 ++++++++++++++ .../keyutils-use-relative-path-for-link.patch | 28 ++++++++++ recipes-security/keyutils/files/run-ptest | 3 + recipes-security/keyutils/keyutils_1.5.10.bb | 45 +++++++++++++++ 8 files changed, 296 insertions(+) create mode 100644 recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb create mode 100644 recipes-security/ecryptfs-utils/files/ecryptfs-utils-CVE-2016-6224.patch create mode 100644 recipes-security/ecryptfs-utils/files/ecryptfs.service create mode 100644 recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch create mode 100644 recipes-security/keyutils/files/keyutils-test-fix-output-format.patch create mode 100644 recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch create mode 100755 recipes-security/keyutils/files/run-ptest create mode 100644 recipes-security/keyutils/keyutils_1.5.10.bb
Signature · 1 line
2.11.0
PATCH v3 1/2 keyutils: add new recipe
From: Jackie Huang <[email protected]>
keyutils is utilities to control the kernel key
management facility and to provide a mechanism by
which the kernel call back to userspace to get a
key instantiated.
It's required by ecryptfs-utils.
--- ...ix-error-report-by-adding-default-message.patch | 42 ++++++++++++++++++++ .../files/keyutils-test-fix-output-format.patch | 41 ++++++++++++++++++++ .../keyutils-use-relative-path-for-link.patch | 28 ++++++++++++++ recipes-security/keyutils/files/run-ptest | 3 ++ recipes-security/keyutils/keyutils_1.5.10.bb | 45 ++++++++++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch create mode 100644 recipes-security/keyutils/files/keyutils-test-fix-output-format.patch create mode 100644 recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch create mode 100755 recipes-security/keyutils/files/run-ptest create mode 100644 recipes-security/keyutils/keyutils_1.5.10.bb
recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch new file +42 -0
@@ -0,0 +1,42 @@ +fix keyutils test error report + +Upstream-Status: Pending + +"Permission denied" may be the reason of EKEYEXPIRED and EKEYREVOKED. +"Required key not available" may be the reason of EKEYREVOKED. +EXPIRED and REVOKED are 2 status of kernel security keys features. +But the userspace keyutils lib will output the error message, which may +have several reasons. + +Signed-off-by: Han Chao <[email protected]> + +diff --git a/tests/toolbox.inc.sh b/tests/toolbox.inc.sh +index bbca00a..739e9d0 100644 +--- a/tests/toolbox.inc.sh ++++ b/tests/toolbox.inc.sh +@@ -227,11 +227,12 @@ function expect_error () + ;; + EKEYEXPIRED) + my_err="Key has expired" +- alt_err="Unknown error 127" ++ alt_err="Permission denied" + ;; + EKEYREVOKED) + my_err="Key has been revoked" +- alt_err="Unknown error 128" ++ alt_err="Permission denied" ++ alt2_err="Required key not available" + ;; + EKEYREJECTED) + my_err="Key has been rejected" +@@ -249,6 +250,9 @@ function expect_error () + elif [ "x$alt_err" != "x" ] && expr "$my_errmsg" : ".*: $alt_err" >&/dev/null + then + : ++ elif [ "x$alt2_err" != "x" ] && expr "$my_errmsg" : ".*: $alt2_err" >&/dev/null ++ then ++ : + elif [ "x$old_err" != "x" ] && expr "$my_errmsg" : ".*: $old_err" >&/dev/null + then + : +
recipes-security/keyutils/files/keyutils-test-fix-output-format.patch new file +41 -0
41 lines not on this page · raw message
recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch new file +28 -0
@@ -0,0 +1,28 @@ +Subject: [PATCH] keyutils: use relative path for link + +The absolute path of the symlink will be invalid +when populated in sysroot, so use relative path instead. + +Upstream-Status: Pending + +Signed-off-by: Jackie Huang <[email protected]> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 824bbbf..8ce3a13 100644 +--- a/Makefile ++++ b/Makefile +@@ -167,7 +167,7 @@ ifeq ($(NO_SOLIB),0) + $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) +- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) + endif + $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl + $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key +-- +2.11.0 +
recipes-security/keyutils/files/run-ptest new file +3 -0
@@ -0,0 +1,3 @@ +#!/bin/sh +export AUTOMATED=1 +make -C tests run
recipes-security/keyutils/keyutils_1.5.10.bb new file +45 -0
45 lines not on this page · raw message
Signature · 1 line
2.11.0
PATCH v3 2/2 ecryptfs-utils: add new recipe
In reply to [email protected]From: Jackie Huang <[email protected]>
eCryptfs is a stacked cryptographic filesystem that ships in Linux kernel versions 2.6.19 and above. This package provides the mount helper and supporting libraries to perform key management and mount functions.
--- .../ecryptfs-utils/ecryptfs-utils_111.bb | 63 +++++++++++++++++++++ .../files/ecryptfs-utils-CVE-2016-6224.patch | 65 ++++++++++++++++++++++ .../ecryptfs-utils/files/ecryptfs.service | 9 +++ 3 files changed, 137 insertions(+) create mode 100644 recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb create mode 100644 recipes-security/ecryptfs-utils/files/ecryptfs-utils-CVE-2016-6224.patch create mode 100644 recipes-security/ecryptfs-utils/files/ecryptfs.service
recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb new file +63 -0
@@ -0,0 +1,63 @@ +SUMMARY = "The eCryptfs mount helper and support libraries" +DESCRIPTION = "eCryptfs is a stacked cryptographic filesystem \ + that ships in Linux kernel versions 2.6.19 and above. This \ + package provides the mount helper and supporting libraries \ + to perform key management and mount functions." +HOMEPAGE = "https://launchpad.net/ecryptfs" +SECTION = "base" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "keyutils libgcrypt intltool-native glib-2.0-native" + +SRC_URI = "\ + https://launchpad.net/ecryptfs/trunk/${PV}/+download/${BPN}_${PV}.orig.tar.gz \ + file://ecryptfs-utils-CVE-2016-6224.patch \ + file://ecryptfs.service \ + " + +SRC_URI[md5sum] = "83513228984f671930752c3518cac6fd" +SRC_URI[sha256sum] = "112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f" + +inherit autotools pkgconfig systemd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "ecryptfs.service" + +EXTRA_OECONF = "\ + --libdir=${base_libdir} \ + --disable-pywrap \ + --disable-nls \ + " + +PACKAGECONFIG ??= "nss \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ + " +PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss," +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl," +PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam," + +do_configure_prepend() { + export NSS_CFLAGS="-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3" + export NSS_LIBS="-L${STAGING_BASELIBDIR} -lssl3 -lsmime3 -lnss3 -lsoftokn3 -lnssutil3" + export KEYUTILS_CFLAGS="-I${STAGING_INCDIR}" + export KEYUTILS_LIBS="-L${STAGING_LIBDIR} -lkeyutils" +} + +do_install_append() { + chmod 4755 ${D}${base_sbindir}/mount.ecryptfs_private + mkdir -p ${D}/${libdir} + mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir} + sed -i -e 's:-I${STAGING_INCDIR}::' \ + -e 's:-L${STAGING_LIBDIR}::' ${D}/${libdir}/pkgconfig/libecryptfs.pc + sed -i -e "s: ${base_sbindir}/cryptsetup: ${sbindir}/cryptsetup:" ${D}${bindir}/ecryptfs-setup-swap + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -D -m 0644 ${WORKDIR}/ecryptfs.service ${D}${systemd_system_unitdir}/ecryptfs.service + fi +} + +FILES_${PN} += "${base_libdir}/security/* ${base_libdir}/ecryptfs/*" + +RDEPENDS_${PN} += "cryptsetup" +RRECOMMENDS_${PN} = "gettext-runtime"
recipes-security/ecryptfs-utils/files/ecryptfs-utils-CVE-2016-6224.patch new file +65 -0
65 lines not on this page · raw message
recipes-security/ecryptfs-utils/files/ecryptfs.service new file +9 -0
@@ -0,0 +1,9 @@ +[Unit] +Description=A userspace daemon that runs as the user perform file operations under the eCryptfs mount point +After=udev.service + +[Service] +ExecStart=/usr/bin/ecryptfsd -f + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.11.0