103 Commits

Author SHA256 Message Date
f1b8a7e901 Accepting request 1151833 from security
OBS-URL: https://build.opensuse.org/request/show/1151833
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=55
2024-02-26 18:49:43 +00:00
99c8e2f761 Accepting request 1151830 from home:pgajdos:t
- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN

OBS-URL: https://build.opensuse.org/request/show/1151830
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=92
2024-02-26 16:04:32 +00:00
6d02be0db4 Accepting request 1135990 from security
OBS-URL: https://build.opensuse.org/request/show/1135990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=54
2024-01-03 11:27:52 +00:00
a037baaf30 Accepting request 1135798 from home:gcomes.obs
- add Requires(post): udev, Requires(post): coreutils
  * the post scriptlet uses udevamd and chown

OBS-URL: https://build.opensuse.org/request/show/1135798
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=90
2024-01-01 16:09:21 +00:00
c1dd9c8cf3 Accepting request 1088963 from security
- BuildRequire pkgconfig(udev) instead of udev: allow OBS to (forwarded request 1088961 from jsrain)

OBS-URL: https://build.opensuse.org/request/show/1088963
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=53
2023-05-25 21:52:29 +00:00
9b6c692bd7 Accepting request 1088961 from home:jsrain:branches:security
- BuildRequire pkgconfig(udev) instead of udev: allow OBS to

OBS-URL: https://build.opensuse.org/request/show/1088961
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=88
2023-05-25 07:00:09 +00:00
8fc3669ea1 Accepting request 998773 from security
- BuildRequire pkkconfig(udev) instead of udev: allow OBS to
  shortcut through the -mini flavors. (forwarded request 998581 from dimstar)

OBS-URL: https://build.opensuse.org/request/show/998773
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=52
2022-08-24 13:10:38 +00:00
2f8d287ade Accepting request 998581 from home:dimstar:Factory
- BuildRequire pkkconfig(udev) instead of udev: allow OBS to
  shortcut through the -mini flavors.

OBS-URL: https://build.opensuse.org/request/show/998581
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=86
2022-08-23 08:31:16 +00:00
74ef921514 Accepting request 970851 from security
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/970851
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=51
2022-04-22 19:52:45 +00:00
6d9ecdaaf6 - changed urls to https (except main URL which has no https)
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=84
2022-04-12 13:58:41 +00:00
cafd5df7f8 Accepting request 934587 from security
Automatic systemd hardening effort by the security team. This has not been tested. For details please see https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort (forwarded request 933796 from jsegitz)

OBS-URL: https://build.opensuse.org/request/show/934587
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=50
2021-12-01 19:46:58 +00:00
26345071cc Accepting request 933796 from home:jsegitz:branches:systemdhardening:security
Automatic systemd hardening effort by the security team. This has not been tested. For details please see https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort

OBS-URL: https://build.opensuse.org/request/show/933796
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=83
2021-11-29 15:44:05 +00:00
Richard Brown
382c2d112d Accepting request 923191 from security
- move libraries to /usr/lib (bsc#1191102)

OBS-URL: https://build.opensuse.org/request/show/923191
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=49
2021-10-08 20:04:47 +00:00
27dfb7e0fd - move libraries to /usr/lib (bsc#1191102)
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=82
2021-10-05 09:41:59 +00:00
93f003414b Accepting request 846199 from security
- update to new upstream version 0.3.15:
  - Corrected mutliple security issues that existed if the tcsd is started by
    root instead of the tss user. CVE-2020-24332, CVE-2020-24330, CVE-2020-24331
  - Replaced use of _no_optimize with asm memory barrier
  - Fixed multiple potential instances of use after free memory handling
  - Removed unused global variables which caused build issue on some distros
- drop gcc-10.patch: now contained in upstream tarball
- drop bsc1164472.patch: now contained in upstream tarball
- adjusted %setup macro invocation which seemed to be wrong

OBS-URL: https://build.opensuse.org/request/show/846199
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=48
2020-11-05 20:55:41 +00:00
5258da8497 - adjusted %setup macro invocation which seemed to be wrong
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=80
2020-11-05 10:55:21 +00:00
f7274415fe - update to new upstream version 0.3.15:
- Corrected mutliple security issues that existed if the tcsd is started by
    root instead of the tss user. CVE-2020-24332, CVE-2020-24330, CVE-2020-24331
  - Replaced use of _no_optimize with asm memory barrier
  - Fixed multiple potential instances of use after free memory handling
  - Removed unused global variables which caused build issue on some distros
- drop gcc-10.patch: now contained in upstream tarball
- drop bsc1164472.patch: now contained in upstream tarball

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=79
2020-11-05 10:36:08 +00:00
087082c045 Accepting request 822938 from security
- In a previous commit the Requires line for the tss user got accidentally
  dropped. This change reintroduces it.

OBS-URL: https://build.opensuse.org/request/show/822938
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=47
2020-07-27 15:47:37 +00:00
d563a9dd49 - In a previous commit the Requires line for the tss user got accidentally
dropped. This change reintroduces it.

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=77
2020-07-27 08:14:38 +00:00
b16c32f901 Accepting request 810797 from security
- add gcc-10.patch: fixes the build on gcc 10 by removing unused global
  variables. This patch was posted on the TrouSerS mailing list [1].
  [1]: https://sourceforge.net/p/trousers/mailman/message/36951419/

OBS-URL: https://build.opensuse.org/request/show/810797
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=46
2020-06-02 12:42:58 +00:00
2af8e2ea3a Accepting request 810796 from home:mgerstner:branches:security
- add gcc-10.patch: fixes the build on gcc 10 by removing unused global
  variables. This patch was posted on the TrouSerS mailing list [1].
  [1]: https://sourceforge.net/p/trousers/mailman/message/36951419/

OBS-URL: https://build.opensuse.org/request/show/810796
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=75
2020-06-02 10:30:48 +00:00
af1b67abea Accepting request 807580 from security
- get rid of %pre/%post logic that fixes the old packaging bug. Turns out
  %pretrans and %posttrans had their purpose before, because the logic needed
  to run before old files owned by the package got deleted. But I'm not
  reimplementing this strange logic in Lua ... users that didn't get the fix
  yet will have to live with it.

- fix a potential tss user to root privilege escalation when running tcsd
  (bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent
  badly designed privilege drop and initialization code to run.
- add bsc1164472.patch: additionally harden operation of tcsd when running as
  root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group.
  require /etc/tcsd.conf to be owned by root:tss mode 0640.

- add correct Requires(pre) and change %pretrans and %posttrans into %pre and
  %post. %pretrans can't have any dependencies and therefore can only be
  %implemented in lua. This currently leads to build errors "/bin/sh: no such
  file or directory".

OBS-URL: https://build.opensuse.org/request/show/807580
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=45
2020-05-23 15:26:43 +00:00
f9db7cbc97 require /etc/tcsd.conf to be owned by root:tss mode 0640.
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=73
2020-05-20 10:29:52 +00:00
5000c171fa - get rid of %pre/%post logic that fixes the old packaging bug. Turns out
%pretrans and %posttrans had their purpose before, because the logic needed
  to run before old files owned by the package got deleted. But I'm not
  reimplementing this strange logic in Lua ... users that didn't get the fix
  yet will have to live with it.

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=72
2020-05-20 10:07:53 +00:00
8baf3baff8 - fix a potential tss user to root privilege escalation when running tcsd
(bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent
  badly designed privilege drop and initialization code to run.
- add bsc1164472.patch: additionally harden operation of tcsd when running as
  root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group.

A    91-trousers.rules
A    bsc1164472.patch
M    tcsd.service
M    trousers.changes
M    trousers.spec

Diff for working copy: .
Index: tcsd.service
===================================================================

--- tcsd.service	(revision 52e99d6d567f9aa64944f2e901493413)
+++ tcsd.service	(working copy)
@@ -4,6 +4,7 @@
 [Service]
 Type=forking
 ExecStart=/usr/sbin/tcsd
+User=tss
 
 [Install]
 WantedBy=multi-user.target

Index: trousers.changes
===================================================================

--- trousers.changes	(revision 52e99d6d567f9aa64944f2e901493413)
+++ trousers.changes	(working copy)
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Wed May 20 08:59:54 UTC 2020 - Matthias Gerstner <matthias.gerstner@suse.com>
+
+- fix a potential tss user to root privilege escalation when running tcsd
+  (bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent
+  badly designed privilege drop and initialization code to run.
+- add bsc1164472.patch: additionally harden operation of tcsd when running as
+  root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group.
+
 -------------------------------------------------------------------
 Wed May 13 12:14:32 UTC 2020 - matthias.gerstner@suse.com
 

Index: trousers.spec
===================================================================

--- trousers.spec	(revision 52e99d6d567f9aa64944f2e901493413)
+++ trousers.spec	(working copy)
@@ -27,12 +27,15 @@
 Source0:        http://downloads.sf.net/trousers/%{name}-%{version}.tar.gz
 Source1:        tcsd.service
 Source2:        baselibs.conf
+Source3:        91-trousers.rules
 Patch0:         fix-lto.patch
+Patch1:         bsc1164472.patch
 BuildRequires:  gtk2-devel
 BuildRequires:  libtool
 BuildRequires:  openssl-devel
 BuildRequires:  pkg-config
 BuildRequires:  systemd-rpm-macros
+BuildRequires:  udev
 # for 'stat' for the hack in %pre
 Requires(pre):  coreutils
 Requires(pre):  user(tss)
@@ -81,6 +84,7 @@
 %prep
 %setup -q -c %{name}-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
     CC=gcc
@@ -106,6 +110,14 @@
 ln -s -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/libtspi.so) %{buildroot}%{_libdir}/libtspi.so
 rm -v %{buildroot}/%{_lib}/libtspi.{so,la}
 mv -v %{buildroot}/%{_lib}/*.a %{buildroot}%{_libdir}
+
+# we want to run tcsd as tss user right away. therefore we need to install a
+# suitable udev rule file. this conflicts somewhat with tpm2-0-tss, but both
+# rules files are compatible at the moment. trousers has a lower priority than
+# tpm2-0-tss in case both should be installed. The tss user is shared between
+# both packages anyways already.
+mkdir -p %{buildroot}%{_udevrulesdir}
+install -m 0644 %{SOURCE3} %{buildroot}%{_udevrulesdir}
 
 %pre
 %service_add_pre tcsd.service
@@ -134,6 +146,7 @@
 
 %post
 %service_add_post tcsd.service
+%_bindir/udevadm trigger -s tpm || :
 
 # see pre for an explanation of this
 for data in system.data.auth system.data.noauth; do
@@ -148,6 +161,14 @@
 	chown --no-dereference tss:tss "${file}"
 done
 
+# bsc#1164472: adjust potential root ownership to allow tcsd to open the file
+# as unprivileged user. Be careful not to follow a symlink target.
+system_data=%{tpmstatedir}/system.data
+
+if [ -e "${system_data}" ]; then
+	chown --no-dereference tss:tss %{tpmstatedir}/system.data
+fi
+
 %postun
 %service_del_postun tcsd.service
 
@@ -168,6 +189,7 @@
 %{_sbindir}/tcsd
 %{_sbindir}/rctcsd
 %{_unitdir}/tcsd.service
+%{_udevrulesdir}/91-trousers.rules
 
 %files devel
 %defattr(-,root,root)

Index: 91-trousers.rules
===================================================================
--- 91-trousers.rules	(revision 0)
+++ 91-trousers.rules	(revision 0)
@@ -0,0 +1,1 @@
+KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss"

Index: bsc1164472.patch
===================================================================
--- bsc1164472.patch	(revision 0)
+++ bsc1164472.patch	(revision 0)
@@ -0,0 +1,25 @@
+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

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=71
2020-05-20 09:50:09 +00:00
3a2dd77c87 OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=70 2020-05-19 11:49:01 +00:00
cc956f2894 - add correct Requires(pre) and change %pretrans and %posttrans into %pre and
%post. %pretrans can't have any dependencies and therefore can only be
  %implemented in lua. This currently leads to build errors "/bin/sh: no such
  file or directory".

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=69
2020-05-15 10:04:12 +00:00
ccbbe7c311 OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=68 2020-05-14 07:48:50 +00:00
5432fa5a15 - add explicit dependency to bash to try to workaround recent build errors
failing to execute %pretrans:
  error: failed to exec scriptlet interpreter /bin/sh: No such file or directory
  error: %pretrans(trousers-0.3.14-82.3.aarch64) scriptlet failed, exit status 127

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=67
2020-05-13 12:21:08 +00:00
2f76fcfd0e Accepting request 777248 from security
- leave creation of /var/lib/tpm to the new system-user-tss package. Otherwise
  we're getting conflicts in packages depending on trousers (bsc#1162360).

OBS-URL: https://build.opensuse.org/request/show/777248
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=44
2020-02-20 13:55:29 +00:00
ce94032d0a - leave creation of /var/lib/tpm to the new system-user-tss package. Otherwise
we're getting conflicts in packages depending on trousers (bsc#1162360).

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=65
2020-02-19 12:49:22 +00:00
6b691b15bc Accepting request 769067 from security
- Use system-users for tss user creation (boo#1162360).

Should be handled together with sr#769061

OBS-URL: https://build.opensuse.org/request/show/769067
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=43
2020-02-10 20:52:57 +00:00
8c964ed338 Accepting request 769045 from home:michals
- Use system-users for tss user creation (boo#1162360).

OBS-URL: https://build.opensuse.org/request/show/769045
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=63
2020-01-31 14:00:23 +00:00
fb392bff0d Accepting request 750985 from security
- Fix a local symlink attack problem with the %posttrans scriptlet
  (bsc#1157651, CVE-2019-18898). A rogue tss user could have used this attack
  to gain ownership of arbitrary files in the system during
  installation/update of the trousers package.

OBS-URL: https://build.opensuse.org/request/show/750985
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=42
2019-11-26 16:05:11 +00:00
7555ca7f4f - Fix a local symlink attack problem with the %posttrans scriptlet
(bsc#1157651, CVE-2019-18898). A rogue tss user could have used this attack
  to gain ownership of arbitrary files in the system during
  installation/update of the trousers package.

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=61
2019-11-26 09:26:21 +00:00
b3c2f7518f Accepting request 729491 from security
- add fix-lto.patch: This fixes the rpmlint error:
  trousers-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libtddl.a
  objcopy/strip seem not to support the LTO linking and discard the actual
  text section from libtddl.a. By passing -ffat-lto-objects the object format
  is kept compatible with unaware tools and fixes the error.

OBS-URL: https://build.opensuse.org/request/show/729491
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=41
2019-09-09 22:04:40 +00:00
faf8c811fd - add fix-lto.patch: This fixes the rpmlint error:
trousers-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libtddl.a
  objcopy/strip seem not to support the LTO linking and discard the actual
  text section from libtddl.a. By passing -ffat-lto-objects the object format
  is kept compatible with unaware tools and fixes the error.

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=59
2019-09-09 14:15:02 +00:00
eb14ad4d31 Accepting request 698144 from security
- bsc#1130588: Require shadow instead of old pwdutils (forwarded request 698138 from jubalh)

OBS-URL: https://build.opensuse.org/request/show/698144
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=40
2019-04-26 20:55:00 +00:00
eecd206a1e Accepting request 698138 from home:jubalh:branches:security
- bsc#1130588: Require shadow instead of old pwdutils

OBS-URL: https://build.opensuse.org/request/show/698138
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=57
2019-04-26 10:41:50 +00:00
35db509071 reword comment
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=56
2018-10-30 10:53:48 +00:00
c14b2b5b88 Accepting request 644837 from security
- fix mode of /var/lib/tpm, was missing the execute bit in the previous
  version.
- implement a backup and restore logic for /var/lib/tpm/system.data.* to
  prevent removal of validly stored trousers state during update. See previous
  comment for the packaging error that leads to this requirement.

OBS-URL: https://build.opensuse.org/request/show/644837
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=39
2018-10-29 13:21:50 +00:00
934b16a264 - fix mode of /var/lib/tpm, was missing the execute bit in the previous
version.
- implement a backup and restore logic for /var/lib/tpm/system.data.* to
  prevent removal of validly stored trousers state during update. See previous
  comment for the packaging error that leads to this requirement.

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=54
2018-10-26 11:22:47 +00:00
b603d436ea Accepting request 644307 from security
- fix wrong installation of system.data.{auth,noauth} into /var/lib/tpm. These
  files are only sample files that *can* be used to fake that ownership was
  already taken by trousers, when other TPM stacks did that already. These
  files should not be there by default. Therefore install them into
  /usr/share/trousers instead, to allow the user to use them at his own
  discretion (fixes bsc#1111381).

OBS-URL: https://build.opensuse.org/request/show/644307
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=38
2018-10-25 07:12:47 +00:00
ee6ab47a43 fix group access of state dir
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=52
2018-10-24 13:01:28 +00:00
d457a441b3 - fix wrong installation of system.data.{auth,noauth} into /var/lib/tpm. These
files are only sample files that *can* be used to fake that ownership was
  already taken by trousers, when other TPM stacks did that already. These
  files should not be there by default. Therefore install them into
  /usr/share/trousers instead, to allow the user to use them at his own
  discretion (fixes bsc#1111381).

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=51
2018-10-24 12:44:49 +00:00
08a43d2adf Accepting request 461328 from security
- Update to version 0.3.14 (see ChangeLog) (FATE#321450)
- trousers-wrap_large_key_overflow.patch: Do not wrap keys larger than
  2048 bit, as the space on the TPM is limited to that amount. (bnc#868933)

OBS-URL: https://build.opensuse.org/request/show/461328
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trousers?expand=0&rev=37
2017-03-03 16:45:43 +00:00
9d0298a56b - trousers-wrap_large_key_overflow.patch: Do not wrap keys larger than
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=49
2017-03-01 11:06:43 +00:00
396c095a23 2048 bit, as the space on the TPM is limited to that amount. (bnc#868933)
OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=48
2017-03-01 11:06:27 +00:00
4daa43bcec - trousers-wrap_large_key_overflow.patch: do not wrap keys larger than
2048 bit, as there is not more space. (bnc#868933)

OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=47
2017-03-01 11:06:03 +00:00
b346072b95 OBS-URL: https://build.opensuse.org/package/show/security/trousers?expand=0&rev=46 2017-03-01 11:05:20 +00:00