From 18bf2cce063a0ca098e2996e07f1610eb015c456 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Mon, 16 Nov 2020 14:38:41 +0100 Subject: [PATCH] zkey/zkey-ekmfweb: Install KMS plugins into configurable location MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Install KMS plugins into a configurable location. The default KMS plugin location is '/usr/lib64/zkey/', but one can set ZKEYKMSPLUGINDIR on the make invocation to change the plugin location, e.g. to '/usr/libexec/zkey/'. Closes: https://github.com/ibm-s390-tools/s390-tools/issues/98 Signed-off-by: Ingo Franzki Acked-by: Jan Höppner Signed-off-by: Jan Höppner --- common.mak | 3 ++- zkey/Makefile | 2 ++ zkey/ekmfweb/Makefile | 5 ++--- zkey/kms.c | 4 +++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/common.mak b/common.mak index a5a87605..1577dace 100644 --- a/common.mak +++ b/common.mak @@ -174,12 +174,13 @@ ZFCPDUMP_DIR = $(TOOLS_LIBDIR)/zfcpdump # for SYSTEMDSYSTEMUNITDIR (e.g. /lib/systemd/system) SYSTEMDSYSTEMUNITDIR = USRINCLUDEDIR = $(INSTALLDIR)/usr/include +ZKEYKMSPLUGINDIR = $(USRLIB64DIR)/zkey INSTDIRS = $(USRSBINDIR) $(USRBINDIR) $(BINDIR) $(LIBDIR) $(MANDIR) \ $(SYSCONFDIR) $(SYSCONFDIR)/sysconfig \ $(TOOLS_LIBDIR) $(TOOLS_DATADIR) \ $(ZFCPDUMP_DIR) $(SYSTEMDSYSTEMUNITDIR) \ - $(USRLIB64DIR) $(USRINCLUDEDIR) + $(USRLIB64DIR) $(USRINCLUDEDIR) $(ZKEYKMSPLUGINDIR) OWNER = $(shell id -un) GROUP = $(shell id -gn) export INSTALLDIR BINDIR LIBDIR USRLIB64DIR MANDIR OWNER GROUP diff --git a/zkey/Makefile b/zkey/Makefile index 80c480e5..41129bcf 100644 --- a/zkey/Makefile +++ b/zkey/Makefile @@ -34,6 +34,8 @@ endif libs = $(rootdir)/libutil/libutil.a +CFLAGS += -DKMS_PLUGIN_LOCATION=\"$(ZKEYKMSPLUGINDIR)\" + detect-libcryptsetup.dep: echo "#include " > detect-libcryptsetup.dep echo "#ifndef CRYPT_LUKS2" >> detect-libcryptsetup.dep diff --git a/zkey/ekmfweb/Makefile b/zkey/ekmfweb/Makefile index 1a3a4977..f63c6293 100644 --- a/zkey/ekmfweb/Makefile +++ b/zkey/ekmfweb/Makefile @@ -44,9 +44,8 @@ libekmfweb.dep: install: all install-libekmfweb.dep zkey-ekmfweb.so $(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man1 $(INSTALL) -m 644 -c zkey-ekmfweb.1 $(DESTDIR)$(MANDIR)/man1 - $(INSTALL) -d -m 755 $(DESTDIR)$(USRLIB64DIR) - $(INSTALL) -d -m 755 $(DESTDIR)$(USRLIB64DIR)/zkey - $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 -T zkey-ekmfweb.so $(DESTDIR)$(USRLIB64DIR)/zkey/zkey-ekmfweb.so + $(INSTALL) -d -m 755 $(DESTDIR)$(ZKEYKMSPLUGINDIR) + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 -T zkey-ekmfweb.so $(DESTDIR)$(ZKEYKMSPLUGINDIR)/zkey-ekmfweb.so clean: rm -f *.o zkey-ekmfweb.so install-libekmfweb.dep libekmfweb.dep diff --git a/zkey/kms.c b/zkey/kms.c index 85e3ff26..93643c40 100644 --- a/zkey/kms.c +++ b/zkey/kms.c @@ -40,7 +40,9 @@ #define ENVVAR_ZKEY_KMS_PLUGINS "ZKEY_KMS_PLUGINS" #define DEFAULT_KMS_PLUGINS "/etc/zkey/kms-plugins.conf" -#define KMS_PLUGIN_LOCATION "/usr/lib64/zkey" +#ifndef KMS_PLUGIN_LOCATION +#error KMS_PLUGIN_LOCATION must be defined +#endif #define KMS_CONFIG_FILE "kms.conf" #define KMS_CONFIG_PROP_KMS "kms"