From 2e061e88a44db70e4446be567243a38a76ed5370 Mon Sep 17 00:00:00 2001 From: Sebastien Buisson Date: Tue, 5 Jul 2022 21:22:20 -0700 Subject: [PATCH] LU-15956 gss: allow build without ssk The GSS part of Lustre should be able to build without SSK, in case some SSK requirements are not met at configure time. Test-Parameters: trivial Test-Parameters: testgroup=review-dne-selinux-ssk-part-1 Test-Parameters: testgroup=review-dne-selinux-ssk-part-2 Signed-off-by: Sebastien Buisson Change-Id: Ieacbcb5db77fcc12cc13579785e640857ce7fb02 Reviewed-on: https://review.whamcloud.com/47681 Tested-by: jenkins Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Jian Yu Reviewed-by: Stephane Thiell Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- config/lustre-build.m4 | 2 +- lustre/utils/Makefile.am | 4 ++-- lustre/utils/gss/Makefile.am | 11 +++++++---- lustre/utils/gss/sk_utils.h | 2 ++ lustre/utils/gss/svcgssd_proc.c | 2 ++ 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/config/lustre-build.m4 b/config/lustre-build.m4 index 5d71543..992b031 100644 --- a/config/lustre-build.m4 +++ b/config/lustre-build.m4 @@ -677,12 +677,12 @@ LB_CONFIG_MPITESTS LB_CONFIG_SERVERS LC_CONFIG_CRYPTO LC_GLIBC_SUPPORT_COPY_FILE_RANGE +LC_OPENSSL_SSK # Tests depends from utils (multiop from liblustreapi) AS_IF([test "x$enable_utils" = xno], [enable_tests="no"]) AS_IF([test "x$enable_utils" = xyes], [ - LC_OPENSSL_SSK LC_OPENSSL_GETSEPOL LC_FID2PATH_ANON_UNION LC_IOC_REMOVE_ENTRY diff --git a/lustre/utils/Makefile.am b/lustre/utils/Makefile.am index 5808027..4fe86ef 100644 --- a/lustre/utils/Makefile.am +++ b/lustre/utils/Makefile.am @@ -13,10 +13,10 @@ if UTILS if GSS SUBDIRS = . gss GSSSRC = gss/err_util.c gss/err_util.h -GSSLIB = -lcrypto -lssl -lm +GSSLIB = -lm if GSS_SSK GSSSRC += gss/sk_utils.c gss/sk_utils.h -GSSLIB += -lkeyutils +GSSLIB += -lkeyutils -lcrypto -lssl endif if GSS_KEYRING GSSLIB += -lkeyutils diff --git a/lustre/utils/gss/Makefile.am b/lustre/utils/gss/Makefile.am index 378e17d..5798389 100644 --- a/lustre/utils/gss/Makefile.am +++ b/lustre/utils/gss/Makefile.am @@ -32,11 +32,10 @@ COMMON_SRCS = \ err_util.h \ gss_oids.h \ gss_util.h \ - sk_utils.h \ lsupport.h if GSS_SSK -COMMON_SRCS += sk_utils.c +COMMON_SRCS += sk_utils.h sk_utils.c endif lgssd_SOURCES = \ @@ -65,8 +64,11 @@ lsvcgssd_SOURCES = \ svcgssd.h lsvcgssd_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS) -lsvcgssd_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lkeyutils -lm +lsvcgssd_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lkeyutils -lm lsvcgssd_LDFLAGS = $(KRBLDFLAGS) +if GSS_SSK +lsvcgssd_LDADD += -lcrypto -lssl +endif l_idmap_SOURCES = \ l_idmap.c \ @@ -94,11 +96,12 @@ lgss_keyring_SOURCES = \ lsupport.h lgss_keyring_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS) -D _NEW_BUILD_ -lgss_keyring_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lm -lkeyutils +lgss_keyring_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lm -lkeyutils lgss_keyring_LDFLAGS = $(KRBLDFLAGS) if GSS_SSK lgss_keyring_SOURCES += sk_utils.c sk_utils.h lgss_sk_utils.c +lgss_keyring_LDADD += -lcrypto -lssl lgss_sk_SOURCES = \ lgss_sk.c \ diff --git a/lustre/utils/gss/sk_utils.h b/lustre/utils/gss/sk_utils.h index e4832e4..0601a46 100644 --- a/lustre/utils/gss/sk_utils.h +++ b/lustre/utils/gss/sk_utils.h @@ -28,6 +28,7 @@ #ifndef SK_UTILS_H #define SK_UTILS_H +#ifdef HAVE_OPENSSL_SSK #include #ifdef HAVE_LIBKEYUTILS #include @@ -349,4 +350,5 @@ int sk_decode_netstring(gss_buffer_desc *bufs, int numbufs, int sk_encode_netstring(gss_buffer_desc *bufs, int numbufs, gss_buffer_desc *ns); +#endif /* HAVE_OPENSSL_SSK */ #endif /* SK_UTILS_H */ diff --git a/lustre/utils/gss/svcgssd_proc.c b/lustre/utils/gss/svcgssd_proc.c index 57176e9..eb9bfe7 100644 --- a/lustre/utils/gss/svcgssd_proc.c +++ b/lustre/utils/gss/svcgssd_proc.c @@ -56,6 +56,8 @@ #include "cacheio.h" #include "lsupport.h" #include "gss_oids.h" +#include +#include #include "sk_utils.h" #include -- 1.8.3.1