Whamcloud - gitweb
LU-8602 gss: support OpenSSL 1.1
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index 625913e..0e58b7b 100644 (file)
@@ -266,23 +266,6 @@ kernel SUNRPC support is required by using GSS.
 ]) # LC_CONFIG_SUNRPC
 
 #
-# LC_HAVE_CRYPTO_HASH
-#
-# 4.6 kernel commit 896545098777564212b9e91af4c973f094649aa7
-# removed crypto_hash support. Since GSS only works with
-# crypto_hash it has to be disabled for newer distros.
-#
-AC_DEFUN([LC_HAVE_CRYPTO_HASH], [
-LB_CHECK_COMPILE([if crypto_hash API is supported],
-crypto_hash, [
-       #include <linux/crypto.h>
-],[
-       crypto_hash_digestsize(NULL);
-], [], [enable_gss="no"])
-])
-]) # LC_HAVE_CRYPTO_HASH
-
-#
 # LC_CONFIG_GSS (default 'auto' (tests for dependencies, if found, enables))
 #
 # Build gss and related tools of Lustre. Currently both kernel and user space
@@ -297,7 +280,6 @@ AC_MSG_RESULT([$enable_gss])
 
 AS_IF([test "x$enable_gss" != xno], [
        LC_CONFIG_GSS_KEYRING
-       LC_HAVE_CRYPTO_HASH
        LC_HAVE_CRED_TGCRED
        LC_KEY_TYPE_INSTANTIATE_2ARGS
        sunrpc_required=$enable_gss
@@ -349,9 +331,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
 
        int main(void) {
                int rc;
-               HMAC_CTX ctx;
-               HMAC_CTX_init(&ctx);
-               rc = HMAC_Init_ex(&ctx, "test", 4, EVP_md_null(), NULL);
+               rc = HMAC_Init_ex(NULL, "test", 4, EVP_md_null(), NULL);
        }
 ])],[AC_DEFINE(HAVE_OPENSSL_SSK, 1,
               [OpenSSL HMAC functions needed for SSK])],
@@ -2850,6 +2830,45 @@ vm_operations_no_vm_area_struct, [
 ]) # LC_VM_OPERATIONS_REMOVE_VMF_ARG
 
 #
+# LC_HAVE_KEY_USAGE_REFCOUNT
+#
+# Kernel version 4.11 commit fff292914d3a2f1efd05ca71c2ba72a3c663201e
+# converted key.usage from atomic_t to refcount_t.
+#
+AC_DEFUN([LC_HAVE_KEY_USAGE_REFCOUNT], [
+LB_CHECK_COMPILE([if 'key.usage' is refcount_t],
+key_usage_refcount, [
+       #include <linux/key.h>
+],[
+       struct key key = { };
+
+       refcount_read(&key.usage);
+],[
+       AC_DEFINE(HAVE_KEY_USAGE_REFCOUNT, 1, [key.usage is of type refcount_t])
+])
+]) #LC_HAVE_KEY_USAGE_REFCOUNT
+
+#
+# LC_HAVE_CRYPTO_MAX_ALG_NAME_128
+#
+# Kernel version 4.11 commit f437a3f477cce402dbec6537b29e9e33962c9f73
+# switched CRYPTO_MAX_ALG_NAME from 64 to 128.
+#
+AC_DEFUN([LC_HAVE_CRYPTO_MAX_ALG_NAME_128], [
+LB_CHECK_COMPILE([if 'CRYPTO_MAX_ALG_NAME' is 128],
+crypto_max_alg_name, [
+       #include <linux/crypto.h>
+],[
+       #if CRYPTO_MAX_ALG_NAME != 128
+       exit(1);
+       #endif
+],[
+       AC_DEFINE(HAVE_CRYPTO_MAX_ALG_NAME_128, 1,
+               ['CRYPTO_MAX_ALG_NAME' is 128])
+])
+]) # LC_HAVE_CRYPTO_MAX_ALG_NAME_128
+
+#
 # Kernel version 4.12 commit 47f38c539e9a42344ff5a664942075bd4df93876
 # CURRENT_TIME is not 64 bit time safe so it was replaced with
 # current_time()
@@ -2952,7 +2971,6 @@ bi_bdev, [
 ])
 ]) # LC_BI_BDEV
 
-
 #
 # LC_PROG_LINUX
 #
@@ -3179,6 +3197,8 @@ AC_DEFUN([LC_PROG_LINUX], [
        # 4.11
        LC_INODEOPS_ENHANCED_GETATTR
        LC_VM_OPERATIONS_REMOVE_VMF_ARG
+       LC_HAVE_KEY_USAGE_REFCOUNT
+       LC_HAVE_CRYPTO_MAX_ALG_NAME_128
 
        # 4.12
        LC_CURRENT_TIME
@@ -3513,8 +3533,9 @@ lustre/doc/Makefile
 lustre/include/Makefile
 lustre/include/lustre/Makefile
 lustre/include/uapi/linux/lustre/Makefile
-lustre/kernel_patches/targets/3.10-rhel7.target
-lustre/kernel_patches/targets/4.14-rhel7.target
+lustre/kernel_patches/targets/3.10-rhel7.6.target
+lustre/kernel_patches/targets/3.10-rhel7.5.target
+lustre/kernel_patches/targets/4.14-rhel7.5.target
 lustre/kernel_patches/targets/2.6-rhel6.9.target
 lustre/kernel_patches/targets/2.6-rhel6.8.target
 lustre/kernel_patches/targets/2.6-rhel6.7.target