Skip to contentSkip to conversation

add new recipe for ecryptfs-utils and keyutils

PATCH Superseded [email protected] 2 participants 5 messages May 23, 2017 – May 24, 2017

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover add new recipe for ecryptfs-utils and keyutils

From: Jackie Huang <[email protected]>

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_170523_0
https://github.com//tree/jhuang0/r_up_ecryptfs_keyutils_170523_0

Jackie Huang (2):
keyutils: add new recipe
ecryptfs-utils: add new recipe

 .../ecryptfs-utils/ecryptfs-utils_111.bb           | 64 +++++++++++++++++++++
 .../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, 297 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
#1 lore raw

PATCH v2 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
new file mode 100644
index 0000000..acd91c0
@@ -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
new file mode 100644
index 0000000..dde1af4
@@ -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
new file mode 100755
index 0000000..305707f
@@ -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
#2 lore raw

PATCH v2 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           | 64 +++++++++++++++++++++
 .../files/ecryptfs-utils-CVE-2016-6224.patch       | 65 ++++++++++++++++++++++
 .../ecryptfs-utils/files/ecryptfs.service          |  9 +++
 3 files changed, 138 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 +64 -0
new file mode 100644
index 0000000..160533a
@@ -0,0 +1,64 @@
+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 ${D}${systemd_system_unitdir}
+        install -m 0644 ${WORKDIR}/ecryptfs.service ${D}${systemd_system_unitdir}
+    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
new file mode 100644
index 0000000..c23a03a
@@ -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
#3 lore raw

Re: [meta-security][PATCH 2/2 v2] ecryptfs-utils: add new recipe

recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb line 57

Quoted 2 lines · On Mon, May 22, 2017 at 10:30 PM, <[email protected]> wrote:
recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb new file +2 -0
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${WORKDIR}/ecryptfs.service ${D}${systemd_system_unitdir}

you could squash above into install -D -m 0644
${WORKDIR}/ecryptfs.service
${D}${systemd_system_unitdir}/ecryptfs.service

#4 lore raw

Re: [meta-security][PATCH 2/2 v2] ecryptfs-utils: add new recipe

Quoted 10 lines

-----Original Message-----
From: Khem Raj [mailto:[email protected]]
Sent: Tuesday, May 23, 2017 22:53
To: Huang, Jie (Jackie)
Cc: [email protected]
Subject: Re: [yocto] [meta-security][PATCH 2/2 v2] ecryptfs-utils: add new recipe

Quoted 8 lines

Review

Quoted 2 lines · On Mon, May 22, 2017 at 10:30 PM, <[email protected]> wrote:
(quoted diff) +2 -0
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${WORKDIR}/ecryptfs.service

${D}${systemd_system_unitdir}

you could squash above into install -D -m 0644
${WORKDIR}/ecryptfs.service
${D}${systemd_system_unitdir}/ecryptfs.service

Ok, I will change and send v3 for this, thanks!

Thanks,
Jackie