From 36f9f88e7216789a31548076ae77a83ce59f4a8c Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Dec 2021 18:57:20 +0100 Subject: [PATCH 01/37] app-admin/etcd-wrapper: Port to tmpfiles eclass --- ...tcd-wrapper-3.5.0.ebuild => etcd-wrapper-3.5.0-r1.ebuild} | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/{etcd-wrapper-3.5.0.ebuild => etcd-wrapper-3.5.0-r1.ebuild} (88%) diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0-r1.ebuild similarity index 88% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0-r1.ebuild index de8545b4fc..62e4fd6ecb 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0-r1.ebuild @@ -3,7 +3,8 @@ EAPI=6 -inherit systemd +TMPFILES_OPTIONAL=1 +inherit systemd tmpfiles DESCRIPTION="etcd (System Application Container)" HOMEPAGE="https://github.com/etcd-io/etcd" @@ -31,5 +32,5 @@ src_install() { sed "s|@ETCD_IMAGE_TAG@|${tag}|g" \ "${FILESDIR}"/etcd-member.service > ${T}/etcd-member.service systemd_dounit ${T}/etcd-member.service - systemd_dotmpfilesd "${FILESDIR}"/etcd-wrapper.conf + dotmpfiles "${FILESDIR}"/etcd-wrapper.conf } From b0603768b409bc46c87c4ccdad6ad11f8cd2f15f Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Dec 2021 18:59:24 +0100 Subject: [PATCH 02/37] app-crypt/trousers: Clean slate to reapply our changes --- .../app-crypt/trousers/files/system.data | 1 - .../app-crypt/trousers/files/tcsd.service | 3 - .../trousers/files/tmpfiles.d/trousers.conf | 3 - ...-24330_CVE-2020-24331_CVE-2020-24332.patch | 58 ------------------- .../trousers/trousers-0.3.14-r2.ebuild | 25 +------- 5 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf delete mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data deleted file mode 100644 index b498fd495d..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data +++ /dev/null @@ -1 +0,0 @@ -/ diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service index c4dc803dfc..4a46e6143b 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service @@ -1,11 +1,8 @@ [Unit] Description=TCG Core Services Daemon -ConditionPathExists=/dev/tpm0 -ConditionSecurity=!tpm2 [Service] User=tss -ExecCondition=/bin/bash -c "/usr/bin/test $(cat /sys/class/tpm/*/tpm_version_major | grep -m 1 1 || echo 0) -eq 1" ExecStart=/usr/sbin/tcsd -f [Install] diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf deleted file mode 100644 index ad2171ad3d..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf +++ /dev/null @@ -1,3 +0,0 @@ -d /var/lib/tpm 0755 tss tss - - -C /etc/tcsd.conf 0640 root tss - /usr/share/trousers/tcsd.conf -C /var/lib/tpm/system.data 0600 tss tss - /usr/share/trousers/system.data diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch deleted file mode 100644 index 10031e0882..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch +++ /dev/null @@ -1,58 +0,0 @@ -Index: trousers-0.3.14/src/tcs/ps/tcsps.c -=================================================================== ---- trousers-0.3.14.orig/src/tcs/ps/tcsps.c -+++ trousers-0.3.14/src/tcs/ps/tcsps.c -@@ -72,7 +72,7 @@ get_file() - } - - /* open and lock the file */ -- system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR, 0600); -+ system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR|O_NOFOLLOW, 0600); - if (system_ps_fd < 0) { - LogError("system PS: open() of %s failed: %s", - tcsd_options.system_ps_file, strerror(errno)); -Index: trousers-0.3.14/src/tcsd/svrside.c -=================================================================== ---- trousers-0.3.14.orig/src/tcsd/svrside.c -+++ trousers-0.3.14/src/tcsd/svrside.c -@@ -473,6 +473,7 @@ main(int argc, char **argv) - } - return TCSERR(TSS_E_INTERNAL_ERROR); - } -+ setgid(pwd->pw_gid); - setuid(pwd->pw_uid); - #endif - #endif -Index: trousers-0.3.14/src/tcsd/tcsd_conf.c -=================================================================== ---- trousers-0.3.14.orig/src/tcsd/tcsd_conf.c -+++ trousers-0.3.14/src/tcsd/tcsd_conf.c -@@ -743,7 +743,7 @@ conf_file_init(struct tcsd_config *conf) - #ifndef SOLARIS - struct group *grp; - struct passwd *pw; -- mode_t mode = (S_IRUSR|S_IWUSR); -+ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP); - #endif /* SOLARIS */ - TSS_RESULT result; - -@@ -798,15 +798,15 @@ conf_file_init(struct tcsd_config *conf) - } - - /* make sure user/group TSS owns the conf file */ -- if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) { -+ if (stat_buf.st_uid != 0 || grp->gr_gid != stat_buf.st_gid) { - LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file, -- TSS_USER_NAME, TSS_GROUP_NAME); -+ "root", TSS_GROUP_NAME); - return TCSERR(TSS_E_INTERNAL_ERROR); - } - -- /* make sure only the tss user can manipulate the config file */ -+ /* make sure only the tss user can read (but not manipulate) the config file */ - if (((stat_buf.st_mode & 0777) ^ mode) != 0) { -- LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file); -+ LogError("TCSD config file (%s) must be mode 0640", tcsd_config_file); - return TCSERR(TSS_E_INTERNAL_ERROR); - } - #endif /* SOLARIS */ diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild index fce278c35c..a36ff68307 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild @@ -1,8 +1,3 @@ -# Flatcar modifications: -# - added "Flatcar:" customizations -# - added condition to files/tcsd.service -# - created files/tmpfiles.d/trousers.conf -# - created files/system.data # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 @@ -36,7 +31,6 @@ PATCHES=( "${FILESDIR}/${P}-libressl.patch" "${FILESDIR}/${P}-fno-common.patch" "${FILESDIR}/${P}-Makefile.am-Mark-tddl.a-nodist.patch" - "${FILESDIR}/${P}-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch" ) DOCS="AUTHORS ChangeLog NICETOHAVES README TODO" @@ -65,25 +59,10 @@ src_install() { keepdir /var/lib/tpm use doc && dodoc doc/* - # Flatcar: - # (removed newinitd and newconfd) - fowners root:tss /etc/tcsd.conf - + newinitd "${FILESDIR}"/tcsd.initd tcsd + newconfd "${FILESDIR}"/tcsd.confd tcsd systemd_dounit "${FILESDIR}"/tcsd.service - - # Flatcar: - systemd_enable_service multi-user.target tcsd.service - udev_dorules "${FILESDIR}"/61-trousers.rules fowners tss:tss /var/lib/tpm readme.gentoo_create_doc - - # Flatcar: - insinto /usr/share/trousers/ - doins "${FILESDIR}"/system.data - # stash a copy of the config so we can restore it from tmpfiles - doins "${D}"/etc/tcsd.conf - fowners tss:tss /usr/share/trousers/system.data - fowners root:tss /usr/share/trousers/tcsd.conf - systemd_dotmpfilesd "${FILESDIR}"/tmpfiles.d/trousers.conf } From d126cac46841aff1996c079e8bb6b15ff83cfba0 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 15 Dec 2021 18:34:24 +0100 Subject: [PATCH 03/37] app-crypt/trousers: Apply Flatcar modifications --- .../app-crypt/trousers/files/system.data | 1 + .../app-crypt/trousers/files/tcsd.service | 3 + .../trousers/files/tmpfiles.d/trousers.conf | 3 + ...-24330_CVE-2020-24331_CVE-2020-24332.patch | 58 +++++++++++++++++++ .../trousers/trousers-0.3.14-r2.ebuild | 29 +++++++++- 5 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data create mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf create mode 100644 sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data new file mode 100644 index 0000000000..b498fd495d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data @@ -0,0 +1 @@ +/ diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service index 4a46e6143b..c4dc803dfc 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service @@ -1,8 +1,11 @@ [Unit] Description=TCG Core Services Daemon +ConditionPathExists=/dev/tpm0 +ConditionSecurity=!tpm2 [Service] User=tss +ExecCondition=/bin/bash -c "/usr/bin/test $(cat /sys/class/tpm/*/tpm_version_major | grep -m 1 1 || echo 0) -eq 1" ExecStart=/usr/sbin/tcsd -f [Install] diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf new file mode 100644 index 0000000000..ad2171ad3d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf @@ -0,0 +1,3 @@ +d /var/lib/tpm 0755 tss tss - - +C /etc/tcsd.conf 0640 root tss - /usr/share/trousers/tcsd.conf +C /var/lib/tpm/system.data 0600 tss tss - /usr/share/trousers/system.data diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch new file mode 100644 index 0000000000..10031e0882 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch @@ -0,0 +1,58 @@ +Index: trousers-0.3.14/src/tcs/ps/tcsps.c +=================================================================== +--- trousers-0.3.14.orig/src/tcs/ps/tcsps.c ++++ trousers-0.3.14/src/tcs/ps/tcsps.c +@@ -72,7 +72,7 @@ get_file() + } + + /* open and lock the file */ +- system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR, 0600); ++ system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR|O_NOFOLLOW, 0600); + if (system_ps_fd < 0) { + LogError("system PS: open() of %s failed: %s", + tcsd_options.system_ps_file, strerror(errno)); +Index: trousers-0.3.14/src/tcsd/svrside.c +=================================================================== +--- trousers-0.3.14.orig/src/tcsd/svrside.c ++++ trousers-0.3.14/src/tcsd/svrside.c +@@ -473,6 +473,7 @@ main(int argc, char **argv) + } + return TCSERR(TSS_E_INTERNAL_ERROR); + } ++ setgid(pwd->pw_gid); + setuid(pwd->pw_uid); + #endif + #endif +Index: trousers-0.3.14/src/tcsd/tcsd_conf.c +=================================================================== +--- trousers-0.3.14.orig/src/tcsd/tcsd_conf.c ++++ trousers-0.3.14/src/tcsd/tcsd_conf.c +@@ -743,7 +743,7 @@ conf_file_init(struct tcsd_config *conf) + #ifndef SOLARIS + struct group *grp; + struct passwd *pw; +- mode_t mode = (S_IRUSR|S_IWUSR); ++ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP); + #endif /* SOLARIS */ + TSS_RESULT result; + +@@ -798,15 +798,15 @@ conf_file_init(struct tcsd_config *conf) + } + + /* make sure user/group TSS owns the conf file */ +- if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) { ++ if (stat_buf.st_uid != 0 || grp->gr_gid != stat_buf.st_gid) { + LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file, +- TSS_USER_NAME, TSS_GROUP_NAME); ++ "root", TSS_GROUP_NAME); + return TCSERR(TSS_E_INTERNAL_ERROR); + } + +- /* make sure only the tss user can manipulate the config file */ ++ /* make sure only the tss user can read (but not manipulate) the config file */ + if (((stat_buf.st_mode & 0777) ^ mode) != 0) { +- LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file); ++ LogError("TCSD config file (%s) must be mode 0640", tcsd_config_file); + return TCSERR(TSS_E_INTERNAL_ERROR); + } + #endif /* SOLARIS */ diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild index a36ff68307..b00c14f14c 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild @@ -1,9 +1,15 @@ +# Flatcar modifications: +# - added "Flatcar:" customizations +# - added condition to files/tcsd.service +# - created files/tmpfiles.d/trousers.conf +# - created files/system.data # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools linux-info readme.gentoo-r1 systemd udev +TMPFILES_OPTIONAL=1 +inherit autotools linux-info readme.gentoo-r1 systemd tmpfiles udev DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation" HOMEPAGE="http://trousers.sf.net" @@ -31,6 +37,7 @@ PATCHES=( "${FILESDIR}/${P}-libressl.patch" "${FILESDIR}/${P}-fno-common.patch" "${FILESDIR}/${P}-Makefile.am-Mark-tddl.a-nodist.patch" + "${FILESDIR}/${P}-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch" ) DOCS="AUTHORS ChangeLog NICETOHAVES README TODO" @@ -59,10 +66,26 @@ src_install() { keepdir /var/lib/tpm use doc && dodoc doc/* - newinitd "${FILESDIR}"/tcsd.initd tcsd - newconfd "${FILESDIR}"/tcsd.confd tcsd + # Flatcar: Comment out the openrc stuff. + # newinitd "${FILESDIR}"/tcsd.initd tcsd + # newconfd "${FILESDIR}"/tcsd.confd tcsd + fowners root:tss /etc/tcsd.conf + systemd_dounit "${FILESDIR}"/tcsd.service + + # Flatcar: + systemd_enable_service multi-user.target tcsd.service + udev_dorules "${FILESDIR}"/61-trousers.rules fowners tss:tss /var/lib/tpm readme.gentoo_create_doc + + # Flatcar: + insinto /usr/share/trousers/ + doins "${FILESDIR}"/system.data + # stash a copy of the config so we can restore it from tmpfiles + doins "${D}"/etc/tcsd.conf + fowners tss:tss /usr/share/trousers/system.data + fowners root:tss /usr/share/trousers/tcsd.conf + dotmpfiles "${FILESDIR}"/tmpfiles.d/trousers.conf } From 1e5df051b4d5307cdbd1925da306549f0b6d69d0 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Dec 2021 19:02:46 +0100 Subject: [PATCH 04/37] app-misc/ca-certificates: Port to tmpfiles eclass --- .../app-misc/ca-certificates/ca-certificates-3.73-r1.ebuild | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.73-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.73-r1.ebuild index 49fcc9981e..ccf8d89c08 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.73-r1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.73-r1.ebuild @@ -3,7 +3,8 @@ EAPI=7 PYTHON_COMPAT=( python3_{6..10} ) -inherit python-any-r1 systemd +TMPFILES_OPTIONAL=1 +inherit python-any-r1 systemd tmpfiles RTM_NAME="NSS_${PV//./_}_RTM" MY_PN="nss" @@ -88,7 +89,7 @@ src_install() { systemd_dounit "${FILESDIR}/update-ca-certificates.service" systemd_enable_service sysinit.target clean-ca-certificates.service systemd_enable_service sysinit.target update-ca-certificates.service - systemd_dotmpfilesd ${PN}.conf + dotmpfiles ${PN}.conf # Setup initial links in /etc dodir /etc/ssl/certs From 13bb7c3bf32e1258f5dfac53c97ede822f7b2457 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Dec 2021 19:05:01 +0100 Subject: [PATCH 05/37] coreos-base/update_engine: Port to tmpfiles eclass --- ...ngine-0.4.10-r4.ebuild => update_engine-0.4.10-r5.ebuild} | 0 .../coreos-base/update_engine/update_engine-9999.ebuild | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/{update_engine-0.4.10-r4.ebuild => update_engine-0.4.10-r5.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r5.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r4.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r5.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild index 7bdbe7d146..e14292cd13 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild @@ -12,7 +12,8 @@ else KEYWORDS="amd64 arm64" fi -inherit autotools flag-o-matic toolchain-funcs cros-workon systemd +TMPFILES_OPTIONAL=1 +inherit autotools flag-o-matic toolchain-funcs cros-workon systemd tmpfiles DESCRIPTION="CoreOS OS Update Engine" HOMEPAGE="https://github.com/coreos/update_engine" @@ -105,5 +106,5 @@ src_install() { doins com.coreos.update1.conf # Install rule to remove old UpdateEngine.conf from /etc - systemd_dotmpfilesd "${FILESDIR}"/update-engine.conf + dotmpfiles "${FILESDIR}"/update-engine.conf } From 036628635052d09ff983af0f24526e8da800beb6 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 3 Dec 2021 19:06:24 +0100 Subject: [PATCH 06/37] dev-libs/cyrus-sasl: Clean slate to reapply our changes --- .../cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild | 2 - ...yrus-sasl-2.1.27-fix-cross-compiling.patch | 40 ------------------- 2 files changed, 42 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild index bcbff9d8ba..d7fb6c3409 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild @@ -57,8 +57,6 @@ PATCHES=( "${FILESDIR}/${PN}-2.1.27-doc_build_fix.patch" "${FILESDIR}/${PN}-2.1.27-memmem.patch" "${FILESDIR}/${PN}-2.1.27-CVE-2019-19906.patch" - # Flatcar: - "${FILESDIR}/${PN}-2.1.27-fix-cross-compiling.patch" ) pkg_setup() { diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch deleted file mode 100644 index 86fbcad2e4..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- cyrus-sasl-2.1.27/m4/sasl2.m4 -+++ cyrus-sasl-2.1.27/m4/sasl2.m4 -@@ -311,36 +311,7 @@ if test "$gssapi" != no; then - [AC_DEFINE(HAVE_GSS_C_SEC_CONTEXT_SASL_SSF,, - [Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF])]) - fi -- cmu_save_LIBS="$LIBS" -- LIBS="$LIBS $GSSAPIBASE_LIBS" -- -- AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries]) -- AC_TRY_RUN([ --#ifdef HAVE_GSSAPI_H --#include --#else --#include --#endif -- --int main(void) --{ -- gss_OID_desc spnego_oid = { 6, (void *) "\x2b\x06\x01\x05\x05\x02" }; -- gss_OID_set mech_set; -- OM_uint32 min_stat; -- int have_spnego = 0; -- -- if (gss_indicate_mechs(&min_stat, &mech_set) == GSS_S_COMPLETE) { -- gss_test_oid_set_member(&min_stat, &spnego_oid, mech_set, &have_spnego); -- gss_release_oid_set(&min_stat, &mech_set); -- } -- -- return (!have_spnego); // 0 = success, 1 = failure --} --], -- [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO]) -- AC_MSG_RESULT(yes) ], -- AC_MSG_RESULT(no)) -- LIBS="$cmu_save_LIBS" -+ AC_DEFINE(HAVE_GSS_SPNEGO,,[1]) - - else - AC_MSG_RESULT([disabled]) From e8c04ce6c41527b09c4b6b915e645511ac5863d8 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 15 Dec 2021 19:20:09 +0100 Subject: [PATCH 07/37] dev-libs/cyrus-sasl: Apply Flatcar modifications --- .../cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild | 7 +++- ...yrus-sasl-2.1.27-fix-cross-compiling.patch | 40 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild index d7fb6c3409..2501feed45 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild @@ -3,7 +3,8 @@ EAPI=7 -inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd +TMPFILES_OPTIONAL=1 +inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd tmpfiles SASLAUTHD_CONF_VER="2.1.26" @@ -57,6 +58,8 @@ PATCHES=( "${FILESDIR}/${PN}-2.1.27-doc_build_fix.patch" "${FILESDIR}/${PN}-2.1.27-memmem.patch" "${FILESDIR}/${PN}-2.1.27-CVE-2019-19906.patch" + # Flatcar: + "${FILESDIR}/${PN}-2.1.27-fix-cross-compiling.patch" ) pkg_setup() { @@ -224,7 +227,7 @@ multilib_src_install_all() { newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd systemd_dounit "${FILESDIR}/saslauthd.service" - systemd_dotmpfilesd "${FILESDIR}/${PN}.conf" + dotmpfiles "${FILESDIR}/${PN}.conf" # The get_modname bit is important: do not remove the .la files on # platforms where the lib isn't called .so for cyrus searches the .la to diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch new file mode 100644 index 0000000000..86fbcad2e4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch @@ -0,0 +1,40 @@ +--- cyrus-sasl-2.1.27/m4/sasl2.m4 ++++ cyrus-sasl-2.1.27/m4/sasl2.m4 +@@ -311,36 +311,7 @@ if test "$gssapi" != no; then + [AC_DEFINE(HAVE_GSS_C_SEC_CONTEXT_SASL_SSF,, + [Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF])]) + fi +- cmu_save_LIBS="$LIBS" +- LIBS="$LIBS $GSSAPIBASE_LIBS" +- +- AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries]) +- AC_TRY_RUN([ +-#ifdef HAVE_GSSAPI_H +-#include +-#else +-#include +-#endif +- +-int main(void) +-{ +- gss_OID_desc spnego_oid = { 6, (void *) "\x2b\x06\x01\x05\x05\x02" }; +- gss_OID_set mech_set; +- OM_uint32 min_stat; +- int have_spnego = 0; +- +- if (gss_indicate_mechs(&min_stat, &mech_set) == GSS_S_COMPLETE) { +- gss_test_oid_set_member(&min_stat, &spnego_oid, mech_set, &have_spnego); +- gss_release_oid_set(&min_stat, &mech_set); +- } +- +- return (!have_spnego); // 0 = success, 1 = failure +-} +-], +- [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO]) +- AC_MSG_RESULT(yes) ], +- AC_MSG_RESULT(no)) +- LIBS="$cmu_save_LIBS" ++ AC_DEFINE(HAVE_GSS_SPNEGO,,[1]) + + else + AC_MSG_RESULT([disabled]) From f6983eb7b24a882ee85dcaf4e9291b284b4484c9 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 15 Dec 2021 19:24:13 +0100 Subject: [PATCH 08/37] dev-libs/openssl: Clean slate to reapply our changes --- .../dev-libs/openssl/files/openssl.conf | 3 --- .../dev-libs/openssl/openssl-3.0.0.ebuild | 24 +++++++++---------- 2 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf deleted file mode 100644 index d8788d2929..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf +++ /dev/null @@ -1,3 +0,0 @@ -d /etc/ssl - - - - - -d /etc/ssl/private 0700 - - - - -L /etc/ssl/openssl.cnf - - - - ../../usr/share/ssl/openssl.cnf diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild index 41e616da20..dad6d1b877 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild @@ -3,7 +3,7 @@ EAPI="7" -inherit flag-o-matic linux-info toolchain-funcs multilib-minimal systemd +inherit flag-o-matic linux-info toolchain-funcs multilib-minimal MY_P=${P/_/-} @@ -248,6 +248,9 @@ multilib_src_install_all() { dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el + # create the certs directory + keepdir ${SSL_CNF_DIR}/certs + # Namespace openssl programs to prevent conflicts with other man pages cd "${ED}"/usr/share/man || die local m d s @@ -279,15 +282,12 @@ multilib_src_install_all() { dodir /etc/sandbox.d #254521 echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl - # flatcar changes: do not keep the sample CA files in `/etc` - rm -rf "${ED}"${SSL_CNF_DIR} - - # flatcar changes: save the default `openssl.cnf` in `/usr` - dodir /usr/share/ssl - insinto /usr/share/ssl - doins "${S}"/apps/openssl.cnf - systemd_dotmpfilesd "${FILESDIR}"/openssl.conf - - # flatcar changes: package `tmpfiles.d` setup for SDK bootstrapping. - systemd-tmpfiles --create --root="${ED}" "${FILESDIR}"/openssl.conf + diropts -m0700 + keepdir ${SSL_CNF_DIR}/private +} + +pkg_postinst() { + ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069" + c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null + eend $? } From cc795e270aa21a52b56c21412373ac18f989f526 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 15 Dec 2021 19:25:11 +0100 Subject: [PATCH 09/37] dev-libs/openssl: Apply Flatcar modifications - drop `pkg_postint` - create `/etc/ssl` with tmpfiles --- .../dev-libs/openssl/files/openssl.conf | 3 +++ .../dev-libs/openssl/openssl-3.0.0.ebuild | 23 ++++++++++--------- 2 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf new file mode 100644 index 0000000000..d8788d2929 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf @@ -0,0 +1,3 @@ +d /etc/ssl - - - - - +d /etc/ssl/private 0700 - - - - +L /etc/ssl/openssl.cnf - - - - ../../usr/share/ssl/openssl.cnf diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild index dad6d1b877..21f479c80d 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-3.0.0.ebuild @@ -3,7 +3,8 @@ EAPI="7" -inherit flag-o-matic linux-info toolchain-funcs multilib-minimal +TMPFILES_OPTIONAL=1 +inherit flag-o-matic linux-info toolchain-funcs multilib-minimal systemd tmpfiles MY_P=${P/_/-} @@ -248,9 +249,6 @@ multilib_src_install_all() { dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el - # create the certs directory - keepdir ${SSL_CNF_DIR}/certs - # Namespace openssl programs to prevent conflicts with other man pages cd "${ED}"/usr/share/man || die local m d s @@ -282,12 +280,15 @@ multilib_src_install_all() { dodir /etc/sandbox.d #254521 echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl - diropts -m0700 - keepdir ${SSL_CNF_DIR}/private -} + # flatcar changes: do not keep the sample CA files in `/etc` + rm -rf "${ED}"${SSL_CNF_DIR} -pkg_postinst() { - ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069" - c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null - eend $? + # flatcar changes: save the default `openssl.cnf` in `/usr` + dodir /usr/share/ssl + insinto /usr/share/ssl + doins "${S}"/apps/openssl.cnf + dotmpfiles "${FILESDIR}"/openssl.conf + + # flatcar changes: package `tmpfiles.d` setup for SDK bootstrapping. + systemd-tmpfiles --create --root="${ED}" "${FILESDIR}"/openssl.conf } From 63490fac0cc500eb9884dcc7dd699eaee252c3f3 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 15 Dec 2021 19:31:40 +0100 Subject: [PATCH 10/37] net-fs/nfs-utils: Clean slate to reapply our changes --- .../net-fs/nfs-utils/files/exports | 1 + .../net-fs/nfs-utils/files/nfs.confd | 38 ++++ .../net-fs/nfs-utils/files/nfs.initd | 162 ++++++++++++++++++ .../net-fs/nfs-utils/files/nfsclient.confd | 18 ++ .../net-fs/nfs-utils/files/nfsclient.initd | 33 ++++ .../net-fs/nfs-utils/files/nfsmount.confd | 7 + .../nfs-utils/files/nfsmount.initd-1.3.1 | 26 +++ .../net-fs/nfs-utils/files/rpc.gssd.initd | 23 +++ .../net-fs/nfs-utils/files/rpc.idmapd.initd | 25 +++ .../net-fs/nfs-utils/files/rpc.pipefs.initd | 32 ++++ .../net-fs/nfs-utils/files/rpc.statd.initd | 32 ++++ .../net-fs/nfs-utils/files/rpc.svcgssd.initd | 23 +++ .../nfs-utils/nfs-utils-2.3.1-r3.ebuild | 63 ++++++- 13 files changed, 476 insertions(+), 7 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/exports create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs.confd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfsclient.confd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfsclient.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfsmount.confd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfsmount.initd-1.3.1 create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/rpc.gssd.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/rpc.idmapd.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/rpc.pipefs.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/rpc.statd.initd create mode 100644 sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/rpc.svcgssd.initd diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/exports b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/exports new file mode 100644 index 0000000000..5102ef27c1 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/exports @@ -0,0 +1 @@ +# /etc/exports: NFS file systems being exported. See exports(5). diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs.confd b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs.confd new file mode 100644 index 0000000000..9dc14058c1 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs.confd @@ -0,0 +1,38 @@ +# /etc/conf.d/nfs + +# If you wish to set the port numbers for lockd, +# please see /etc/sysctl.conf + +# Optional services to include in default `/etc/init.d/nfs start` +# For NFSv4 users, you'll want to add "rpc.idmapd" here. +NFS_NEEDED_SERVICES="" + +# Options to pass to rpc.nfsd +OPTS_RPC_NFSD="8" + +# Options to pass to rpc.mountd +# ex. OPTS_RPC_MOUNTD="-p 32767" +OPTS_RPC_MOUNTD="" + +# Options to pass to rpc.statd +# ex. OPTS_RPC_STATD="-p 32765 -o 32766" +OPTS_RPC_STATD="" + +# Options to pass to rpc.idmapd +OPTS_RPC_IDMAPD="" + +# Options to pass to rpc.gssd +OPTS_RPC_GSSD="" + +# Options to pass to rpc.svcgssd +OPTS_RPC_SVCGSSD="" + +# Options to pass to rpc.rquotad (requires sys-fs/quota) +OPTS_RPC_RQUOTAD="" + +# Timeout (in seconds) for exportfs +EXPORTFS_TIMEOUT=30 + +# Options to set in the nfsd filesystem (/proc/fs/nfsd/). +# Format is