mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-17 18:06:59 +02:00
app-crypt/trousers: Apply Flatcar modifications
This commit is contained in:
parent
b0603768b4
commit
d126cac468
1
sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data
vendored
Normal file
1
sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/
|
@ -1,8 +1,11 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=TCG Core Services Daemon
|
Description=TCG Core Services Daemon
|
||||||
|
ConditionPathExists=/dev/tpm0
|
||||||
|
ConditionSecurity=!tpm2
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=tss
|
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
|
ExecStart=/usr/sbin/tcsd -f
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
@ -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
|
@ -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 */
|
@ -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
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
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"
|
DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
|
||||||
HOMEPAGE="http://trousers.sf.net"
|
HOMEPAGE="http://trousers.sf.net"
|
||||||
@ -31,6 +37,7 @@ PATCHES=(
|
|||||||
"${FILESDIR}/${P}-libressl.patch"
|
"${FILESDIR}/${P}-libressl.patch"
|
||||||
"${FILESDIR}/${P}-fno-common.patch"
|
"${FILESDIR}/${P}-fno-common.patch"
|
||||||
"${FILESDIR}/${P}-Makefile.am-Mark-tddl.a-nodist.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"
|
DOCS="AUTHORS ChangeLog NICETOHAVES README TODO"
|
||||||
@ -59,10 +66,26 @@ src_install() {
|
|||||||
|
|
||||||
keepdir /var/lib/tpm
|
keepdir /var/lib/tpm
|
||||||
use doc && dodoc doc/*
|
use doc && dodoc doc/*
|
||||||
newinitd "${FILESDIR}"/tcsd.initd tcsd
|
# Flatcar: Comment out the openrc stuff.
|
||||||
newconfd "${FILESDIR}"/tcsd.confd tcsd
|
# newinitd "${FILESDIR}"/tcsd.initd tcsd
|
||||||
|
# newconfd "${FILESDIR}"/tcsd.confd tcsd
|
||||||
|
fowners root:tss /etc/tcsd.conf
|
||||||
|
|
||||||
systemd_dounit "${FILESDIR}"/tcsd.service
|
systemd_dounit "${FILESDIR}"/tcsd.service
|
||||||
|
|
||||||
|
# Flatcar:
|
||||||
|
systemd_enable_service multi-user.target tcsd.service
|
||||||
|
|
||||||
udev_dorules "${FILESDIR}"/61-trousers.rules
|
udev_dorules "${FILESDIR}"/61-trousers.rules
|
||||||
fowners tss:tss /var/lib/tpm
|
fowners tss:tss /var/lib/tpm
|
||||||
readme.gentoo_create_doc
|
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
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user