From 1cd0fdde12df0332b043fc92839b3bd94c6213e1 Mon Sep 17 00:00:00 2001 From: Andrew Korty Date: Fri, 21 Jun 2013 00:08:21 -0400 Subject: [PATCH 1/1] LU-3490 kerberos: Enable GSSAPI support by default This change enables GSSAPI support by default when its prerequisites are available. Without this change, the GSSAPI code does not get tested when commits are made to Gerrit, even if the prerequisite GSSAPI and Kerberos libraries are installed. Signed-off-by: Andrew Korty Change-Id: If661cc6bb1188f3678f70189d5e333219c31052d Reviewed-on: http://review.whamcloud.com/6740 Reviewed-by: Andreas Dilger Tested-by: Hudson Tested-by: Maloo Reviewed-by: Minh Diep Reviewed-by: Ken Hornstein Reviewed-by: Oleg Drokin --- lustre/autoconf/kerberos5.m4 | 2 +- lustre/autoconf/lustre-core.m4 | 31 ++++++++++++++++++++----------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/lustre/autoconf/kerberos5.m4 b/lustre/autoconf/kerberos5.m4 index 4aaffae..a167f72 100644 --- a/lustre/autoconf/kerberos5.m4 +++ b/lustre/autoconf/kerberos5.m4 @@ -66,7 +66,7 @@ AC_DEFUN([AC_KERBEROS_V5],[ fi done dnl We didn't find a usable Kerberos environment - if test "x$KRBDIR" = "x"; then + if test "x$require_krb5" = "xyes" && "x$KRBDIR" = "x"; then if test "x$krb5_with" = "x"; then AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=) else diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index cad617a..359cee4 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -286,7 +286,9 @@ AC_DEFUN([LC_CONFIG_GSS_KEYRING], AC_DEFUN([LC_CONFIG_SUNRPC], [LB_LINUX_CONFIG_IM([SUNRPC],[], - [AC_MSG_ERROR([kernel SUNRPC support is required by using GSS.])]) + [if test x$sunrpc_required == xyes; then + AC_MSG_ERROR([kernel SUNRPC support is required by using GSS.]) + fi]) ]) # @@ -299,12 +301,14 @@ AC_DEFUN([LC_CONFIG_GSS], [AC_MSG_CHECKING([whether to enable gss/krb5 support]) AC_ARG_ENABLE([gss], [AC_HELP_STRING([--enable-gss], [enable gss/krb5 support])], - [],[enable_gss='no']) + [],[enable_gss='auto']) AC_MSG_RESULT([$enable_gss]) - if test x$enable_gss == xyes; then + if test x$enable_gss != xno; then LC_CONFIG_GSS_KEYRING + sunrpc_required=$enable_gss LC_CONFIG_SUNRPC + sunrpc_required=no AC_DEFINE([HAVE_GSS], [1], [Define this if you enable gss]) @@ -317,15 +321,20 @@ AC_DEFUN([LC_CONFIG_GSS], LB_LINUX_CONFIG_IM([CRYPTO_SHA512],[], [AC_MSG_WARN([kernel SHA512 support is recommended by using GSS.])]) - AC_CHECK_LIB([gssapi], [gss_export_lucid_sec_context], - [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi"], - [AC_CHECK_LIB([gssglue], [gss_export_lucid_sec_context], - [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssglue"], - [AC_MSG_ERROR([libgssapi or libgssglue is not found, which is required by GSS.])])],) - - AC_SUBST(GSSAPI_LIBS) - + require_krb5=$enable_gss AC_KERBEROS_V5 + require_krb5=no + + if test x$KRBDIR != x; then + AC_CHECK_LIB([gssapi], [gss_export_lucid_sec_context], + [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi"], + [AC_CHECK_LIB([gssglue], [gss_export_lucid_sec_context], + [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssglue"], + [if test x$enable_gss == xyes; then + AC_MSG_ERROR([libgssapi or libgssglue is not found, which is required by GSS.]) + fi])],) + AC_SUBST(GSSAPI_LIBS) + fi fi ]) -- 1.8.3.1