diff options
Diffstat (limited to 'app-crypt/trousers')
-rw-r--r-- | app-crypt/trousers/Manifest | 1 | ||||
-rw-r--r-- | app-crypt/trousers/files/tcsd.confd | 9 | ||||
-rw-r--r-- | app-crypt/trousers/files/tcsd.initd | 31 | ||||
-rw-r--r-- | app-crypt/trousers/files/trousers-0.3.14-fno-common.patch | 15 | ||||
-rw-r--r-- | app-crypt/trousers/files/trousers-0.3.14-tcsd-fixes.patch | 58 | ||||
-rw-r--r-- | app-crypt/trousers/files/trousers-0.3.15-tspi-drop-the-use-of-getpwent_r.patch | 69 | ||||
-rw-r--r-- | app-crypt/trousers/metadata.xml | 2 | ||||
-rw-r--r-- | app-crypt/trousers/trousers-0.3.15-r1.ebuild (renamed from app-crypt/trousers/trousers-0.3.14-r3.ebuild) | 21 | ||||
-rw-r--r-- | app-crypt/trousers/trousers-0.3.15.ebuild | 15 |
9 files changed, 100 insertions, 121 deletions
diff --git a/app-crypt/trousers/Manifest b/app-crypt/trousers/Manifest index 84891c9a8863..4556d86ce761 100644 --- a/app-crypt/trousers/Manifest +++ b/app-crypt/trousers/Manifest @@ -1,2 +1 @@ -DIST trousers-0.3.14.tar.gz 1378438 BLAKE2B 3dc2824fa2ca1b1f1181f98d59e85276e7d38af4bfc07ee8246431d9ccb300a8e0820b318643d4cf5d757d2a49492c8686e2fe9de03484263d2189d4bbaa32d0 SHA512 bf87f00329cf1d76a12cf6b6181fa22f90e76af3c5786e6e2db98438d2d3f0c0e05364374664173f45e3a2f6c0e2364948d0b958a7845cb23fcb340150cd9b21 DIST trousers-0.3.15.tar.gz 4699936 BLAKE2B 53c60498ed6a9d3d87295b00676e5d0d82452918c35af6b98c7979ffa2dc04dd817e7cd3f4a33ca17c30b90eab53d80b2bb25306fe9db7bda2125019edfed280 SHA512 769c7d891c6306c1b3252448f86e3043ee837e566c9431f5b4353512113e2907f6ce29c91e8044c420025b79c5f3ff2396ddce93f73b1eb2a15ea1de89ac0fdb diff --git a/app-crypt/trousers/files/tcsd.confd b/app-crypt/trousers/files/tcsd.confd deleted file mode 100644 index 78bedb9fda30..000000000000 --- a/app-crypt/trousers/files/tcsd.confd +++ /dev/null @@ -1,9 +0,0 @@ -# /etc/conf.d/tscd - -# Configuration file for the TrouSerS' TCS daemon (tcsd) init script -# Have a look on /etc/tcsd.conf too, there is more to configure there. - -# TPM_MODULES: name of the module(s) that should be loaded. You only need to -# set this if your driver is not compiled in kernel and is not already loaded -# on boot. (default: unset) -#TPM_MODULES="tpm_atmel" diff --git a/app-crypt/trousers/files/tcsd.initd b/app-crypt/trousers/files/tcsd.initd index c9c050cb06d9..9b18c48e1ee3 100644 --- a/app-crypt/trousers/files/tcsd.initd +++ b/app-crypt/trousers/files/tcsd.initd @@ -1,38 +1,19 @@ #!/sbin/openrc-run -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +command=/usr/sbin/tcsd +description="TrouSerS' TCS daemon (tcsd)" +command_user="tss:tss" + depend() { use logger need net } -checkconfig() { - local mod - if [ -n "${TPM_MODULES}" ] ; then - for mod in ${TPM_MODULES} ; do - lsmod | grep -q "^${mod}\b" \ - || modprobe ${mod} &>/dev/null \ - || ewarn "Failed to load module ${mod}" - done - # Should we sleep or something to wait for device creation? - fi +start_pre() { if [ ! -c /dev/tpm ] && [ ! -c /dev/tpm0 ] ; then eerror "No TPM device found!" return 1 fi - return 0 -} - -start() { - ebegin "Starting TrouSerS' TCS daemon (tcsd)" - checkconfig || eend $? - start-stop-daemon --start --user tss --exec /usr/sbin/tcsd - eend $? -} - -stop() { - ebegin "Stopping TrouSerS' TCS daemon (tcsd)" - start-stop-daemon --stop --quiet --exec /usr/sbin/tcsd --user tss - eend $? } diff --git a/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch b/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch deleted file mode 100644 index 5046bc70883b..000000000000 --- a/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/include/tcsd.h b/src/include/tcsd.h -index 5b9462b..05bae97 100644 ---- a/src/include/tcsd.h -+++ b/src/include/tcsd.h -@@ -166,8 +166,8 @@ void thread_signal_init(); - - /* signal handling */ - #ifndef __APPLE__ --struct sigaction tcsd_sa_int; --struct sigaction tcsd_sa_chld; -+extern struct sigaction tcsd_sa_int; -+extern struct sigaction tcsd_sa_chld; - #endif - - #endif diff --git a/app-crypt/trousers/files/trousers-0.3.14-tcsd-fixes.patch b/app-crypt/trousers/files/trousers-0.3.14-tcsd-fixes.patch deleted file mode 100644 index 10031e088293..000000000000 --- a/app-crypt/trousers/files/trousers-0.3.14-tcsd-fixes.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/app-crypt/trousers/files/trousers-0.3.15-tspi-drop-the-use-of-getpwent_r.patch b/app-crypt/trousers/files/trousers-0.3.15-tspi-drop-the-use-of-getpwent_r.patch new file mode 100644 index 000000000000..ab6ef762bce1 --- /dev/null +++ b/app-crypt/trousers/files/trousers-0.3.15-tspi-drop-the-use-of-getpwent_r.patch @@ -0,0 +1,69 @@ +https://bugs.gentoo.org/713444 + +From 2299eadf77ae7a7ec52148b6a8f4ea37e217eafa Mon Sep 17 00:00:00 2001 +From: Stijn Tintel <stijn@linux-ipv6.be> +Date: Thu, 2 Feb 2023 01:06:15 +0200 +Subject: [PATCH] tspi: drop the use of getpwent_r + +On systems with musl libc, libtspi.so is unusable due to the lack of +getpwent_r. As there are multiple historical functions named getpwent_r +that all behave differently, let's just play it safe and stop using it +altogether. + +Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> +--- + src/tspi/ps/tspps.c | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/src/tspi/ps/tspps.c b/src/tspi/ps/tspps.c +index b5e83d0..ae7b3df 100644 +--- a/src/tspi/ps/tspps.c ++++ b/src/tspi/ps/tspps.c +@@ -51,9 +51,7 @@ + + static int user_ps_fd = -1; + static MUTEX_DECLARE_INIT(user_ps_lock); +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) + static MUTEX_DECLARE_INIT(user_ps_path); +-#endif + static struct flock fl; + + +@@ -66,9 +64,6 @@ get_user_ps_path(char **file) + TSS_RESULT result; + char *file_name = NULL, *home_dir = NULL; + struct passwd *pwp; +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) +- struct passwd pw; +-#endif + struct stat stat_buf; + char buf[PASSWD_BUFSIZE]; + uid_t euid; +@@ -96,16 +91,6 @@ get_user_ps_path(char **file) + #else + setpwent(); + while (1) { +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) +- rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); +- if (rc) { +- LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", +- strerror(rc)); +- endpwent(); +- return TSPERR(TSS_E_INTERNAL_ERROR); +- } +- +-#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) + if ((pwp = getpwent()) == NULL) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", + strerror(rc)); +@@ -113,7 +98,6 @@ get_user_ps_path(char **file) + MUTEX_UNLOCK(user_ps_path); + return TSPERR(TSS_E_INTERNAL_ERROR); + } +-#endif + if (euid == pwp->pw_uid) { + home_dir = strdup(pwp->pw_dir); + break; +-- +2.39.1 + diff --git a/app-crypt/trousers/metadata.xml b/app-crypt/trousers/metadata.xml index 883c0a11e967..2eceffb8ae39 100644 --- a/app-crypt/trousers/metadata.xml +++ b/app-crypt/trousers/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person" proxied="yes"> <email>salah.coronya@gmail.com</email> diff --git a/app-crypt/trousers/trousers-0.3.14-r3.ebuild b/app-crypt/trousers/trousers-0.3.15-r1.ebuild index 72418a365fc0..dc79a35af9db 100644 --- a/app-crypt/trousers/trousers-0.3.14-r3.ebuild +++ b/app-crypt/trousers/trousers-0.3.15-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -7,11 +7,11 @@ inherit autotools linux-info readme.gentoo-r1 systemd udev DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation" HOMEPAGE="http://trousers.sf.net" -SRC_URI="mirror://sourceforge/trousers/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/trousers/${PN}/${P}.tar.gz" LICENSE="CPL-1.0 GPL-2" SLOT="0" -KEYWORDS="amd64 arm arm64 ~m68k ~ppc ppc64 ~s390 x86" +KEYWORDS="amd64 arm arm64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" IUSE="doc selinux" # gtk # gtk support presently does NOT compile. @@ -28,9 +28,8 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/${PN}-0.3.13-nouseradd.patch" - "${FILESDIR}/${P}-fno-common.patch" - "${FILESDIR}/${P}-Makefile.am-Mark-tddl.a-nodist.patch" - "${FILESDIR}/${P}-tcsd-fixes.patch" + "${FILESDIR}/${PN}-0.3.14-Makefile.am-Mark-tddl.a-nodist.patch" + "${FILESDIR}/${P}-tspi-drop-the-use-of-getpwent_r.patch" ) DOCS="AUTHORS ChangeLog NICETOHAVES README TODO" @@ -39,7 +38,6 @@ DOC_CONTENTS=" If you have problems starting tcsd, please check permissions and ownership on /dev/tpm* and ~tss/system.data " -S="${WORKDIR}" CONFIG_CHECK="~TCG_TPM" @@ -60,9 +58,16 @@ src_install() { keepdir /var/lib/tpm use doc && dodoc doc/* newinitd "${FILESDIR}"/tcsd.initd tcsd - newconfd "${FILESDIR}"/tcsd.confd tcsd systemd_dounit "${FILESDIR}"/tcsd.service udev_dorules "${FILESDIR}"/61-trousers.rules fowners tss:tss /var/lib/tpm readme.gentoo_create_doc } + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/app-crypt/trousers/trousers-0.3.15.ebuild b/app-crypt/trousers/trousers-0.3.15.ebuild index b3c97e1ae902..ba36bc65b570 100644 --- a/app-crypt/trousers/trousers-0.3.15.ebuild +++ b/app-crypt/trousers/trousers-0.3.15.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -7,11 +7,11 @@ inherit autotools linux-info readme.gentoo-r1 systemd udev DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation" HOMEPAGE="http://trousers.sf.net" -SRC_URI="mirror://sourceforge/trousers/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/trousers/${PN}/${P}.tar.gz" LICENSE="CPL-1.0 GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~m68k ~ppc ppc64 ~riscv ~s390 x86" IUSE="doc selinux" # gtk # gtk support presently does NOT compile. @@ -57,9 +57,16 @@ src_install() { keepdir /var/lib/tpm use doc && dodoc doc/* newinitd "${FILESDIR}"/tcsd.initd tcsd - newconfd "${FILESDIR}"/tcsd.confd tcsd systemd_dounit "${FILESDIR}"/tcsd.service udev_dorules "${FILESDIR}"/61-trousers.rules fowners tss:tss /var/lib/tpm readme.gentoo_create_doc } + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} |