@@ -498,7 +498,8 @@ AS_CASE([$ENABLED_FIPS],
498498 [ v5-dev] ,[
499499 FIPS_VERSION="v5-dev"
500500 HAVE_FIPS_VERSION_MAJOR=5
501- HAVE_FIPS_VERSION_MINOR=3
501+ HAVE_FIPS_VERSION_MINOR=2
502+ HAVE_FIPS_VERSION_PATCH=1
502503 ENABLED_FIPS="yes"
503504 # for dev, DEF_SP_MATH and DEF_FAST_MATH follow non-FIPS defaults (currently sp-math-all)
504505 ] ,
@@ -678,7 +679,7 @@ AC_SUBST([ENABLED_LINUXKM_BENCHMARKS])
678679
679680if test "$ENABLED_LINUXKM_DEFAULTS" = "yes"
680681then
681- AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC -DWOLFSSL_TEST_SUBROUTINE=static "
682+ AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC"
682683 if test "$ENABLED_LINUXKM_PIE" = "yes"; then
683684 AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_OCSP_ISSUER_CHECK"
684685 fi
@@ -1243,7 +1244,6 @@ then
12431244 test "$enable_aesgcm" = "" && enable_aesgcm=yes
12441245 test "$enable_aesccm" = "" && enable_aesccm=yes
12451246 test "$enable_aesctr" = "" && enable_aesctr=yes
1246- test "$enable_aeseax" = "" && enable_aeseax=yes
12471247 test "$enable_aesofb" = "" && enable_aesofb=yes
12481248 test "$enable_aescfb" = "" && enable_aescfb=yes
12491249 test "$enable_aescbc_length_checks" = "" && enable_aescbc_length_checks=yes
@@ -1318,6 +1318,8 @@ then
13181318 test "$enable_ed25519_stream" = "" && test "$enable_ed25519" != "no" && enable_ed25519_stream=yes
13191319 test "$enable_ed448" = "" && enable_ed448=yes
13201320 test "$enable_ed448_stream" = "" && test "$enable_ed448" != "no" && enable_ed448_stream=yes
1321+ test "$enable_aessiv" = "" && enable_aessiv=yes
1322+ test "$enable_aeseax" = "" && enable_aeseax=yes
13211323
13221324 if test "$ENABLED_LINUXKM_DEFAULTS" != "yes"
13231325 then
@@ -1331,7 +1333,6 @@ then
13311333 test "$enable_aesgcm_stream" = "" && test "$enable_aesgcm" = "yes" && enable_aesgcm_stream=yes
13321334 test "$enable_aesxts" = "" && enable_aesxts=yes
13331335 test "$enable_aesxts_stream" = "" && test "$enable_aesxts" = "yes" && enable_aesxts_stream=yes
1334- test "$enable_aessiv" = "" && enable_aessiv=yes
13351336 test "$enable_shake128" = "" && enable_shake128=yes
13361337 test "$enable_shake256" = "" && enable_shake256=yes
13371338 test "$enable_compkey" = "" && test "$ENABLED_LINUXKM_DEFAULTS" != "yes" && enable_compkey=yes
@@ -3507,6 +3508,13 @@ AC_ARG_ENABLE([aesni],
35073508 [ ENABLED_AESNI=no ]
35083509 )
35093510
3511+ # INTEL AES-NI with AVX
3512+ AC_ARG_ENABLE ( [ aesni-with-avx] ,
3513+ [ AS_HELP_STRING ( [ --enable-aesni-with-avx] ,[ Enable AES-NI with additional AVX acceleration for AES (default: disabled)] ) ] ,
3514+ [ ENABLED_AESNI_WITH_AVX=$enableval ] ,
3515+ [ ENABLED_AESNI_WITH_AVX=no ]
3516+ )
3517+
35103518# INTEL ASM
35113519AC_ARG_ENABLE ( [ intelasm] ,
35123520 [ AS_HELP_STRING ( [ --enable-intelasm] ,[ Enable All Intel ASM speedups (default: disabled)] ) ] ,
@@ -3522,6 +3530,17 @@ then
35223530 ENABLED_AESNI=yes
35233531 fi
35243532
3533+ if test "$ENABLED_INTELASM" = "yes"
3534+ then
3535+ AM_CFLAGS="$AM_CFLAGS -DUSE_INTEL_SPEEDUP"
3536+ ENABLED_AESNI=yes
3537+ ENABLED_AESNI_WITH_AVX=yes
3538+ elif test "$ENABLED_AESNI_WITH_AVX" = "yes"
3539+ then
3540+ AM_CFLAGS="$AM_CFLAGS -DUSE_INTEL_SPEEDUP_FOR_AES"
3541+ ENABLED_AESNI=yes
3542+ fi
3543+
35253544 if test "$ENABLED_AESNI" = "yes" || test "$ENABLED_INTELASM" = "yes"
35263545 then
35273546 AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AESNI"
@@ -3547,12 +3566,6 @@ then
35473566 AS_IF ( [ test "x$ENABLED_SM3" != "xno"] ,[ AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_SM3"] )
35483567 fi
35493568
3550- if test "$ENABLED_INTELASM" = "yes"
3551- then
3552- AM_CFLAGS="$AM_CFLAGS -DUSE_INTEL_SPEEDUP"
3553- ENABLED_AESNI=yes
3554- fi
3555-
35563569 if test "$host_cpu" = "x86_64" || test "$host_cpu" = "amd64"
35573570 then
35583571 AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_X86_64_BUILD"
@@ -9320,7 +9333,7 @@ if test "$ENABLED_LINUXKM_LKCAPI_REGISTER" != "none"
93209333then
93219334 AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER"
93229335
9323- if test "$ENABLED_AESGCM" != "no" && test "$ENABLED_AESGCM_STREAM" = "no" && test "$ENABLED_FIPS" = "no"; then
9336+ if test "$ENABLED_AESGCM" != "no" && test "$ENABLED_AESGCM_STREAM" = "no" && test "$enable_aesgcm_stream" != "no" && (test "$ ENABLED_FIPS" = "no" || test $HAVE_FIPS_VERSION -ge 6) ; then
93249337 ENABLED_AESGCM_STREAM=yes
93259338 fi
93269339
@@ -9338,15 +9351,31 @@ then
93389351 'cfb(aes)') test "$ENABLED_AESCFB" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-CFB implementation not enabled.] )
93399352 AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESCFB" ;;
93409353 'gcm(aes)') test "$ENABLED_AESGCM" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-GCM implementation not enabled.] )
9341- test "$ENABLED_AESGCM_STREAM" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: --enable-aesgcm-stream is required for LKCAPI.] )
93429354 AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESGCM" ;;
9355+ 'rfc4106(gcm(aes))') test "$ENABLED_AESGCM" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-GCM implementation not enabled.] )
9356+ AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESGCM_RFC4106" ;;
93439357 'xts(aes)') test "$ENABLED_AESXTS" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-XTS implementation not enabled.] )
93449358 test "$ENABLED_AESXTS_STREAM" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: --enable-aesxts-stream is required for LKCAPI.] )
93459359 AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESXTS" ;;
9360+ 'ctr(aes)') test "$ENABLED_AESCTR" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-CTR implementation not enabled.] )
9361+ AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESCTR" ;;
9362+ 'ofb(aes)') test "$ENABLED_AESOFB" != "no" || AC_MSG_ERROR ( [ linuxkm-lkcapi-register ${lkcapi_alg}: AES-OFB implementation not enabled.] )
9363+ AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESOFB" ;;
9364+ 'ecb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER_AESECB -DHAVE_AES_ECB" ;;
9365+ '-cbc(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESCBC" ;;
9366+ '-cfb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESCFB" ;;
9367+ '-gcm(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESGCM" ;;
9368+ '-rfc4106(gcm(aes))')
9369+ AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESGCM_RFC4106" ;;
9370+ '-xts(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESXTS" ;;
9371+ '-ctr(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESCTR" ;;
9372+ '-ofb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESOFB" ;;
9373+ '-ecb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESECB" ;;
93469374 *) AC_MSG_ERROR ( [ Unsupported LKCAPI algorithm "$lkcapi_alg".] ) ;;
93479375 esac
93489376 done
93499377fi
9378+ AC_SUBST ( [ ENABLED_LINUXKM_LKCAPI_REGISTER] )
93509379
93519380# Library Suffix
93529381LIBSUFFIX=""
@@ -10821,6 +10850,7 @@ echo " * snifftest: $ENABLED_SNIFFTEST"
1082110850echo " * ARC4: $ENABLED_ARC4"
1082210851echo " * AES: $ENABLED_AES"
1082310852echo " * AES-NI: $ENABLED_AESNI"
10853+ echo " * AVX for AES: $ENABLED_AESNI_WITH_AVX"
1082410854echo " * AES-CBC: $ENABLED_AESCBC"
1082510855echo " * AES-CBC length checks: $ENABLED_AESCBC_LENGTH_CHECKS"
1082610856echo " * AES-GCM: $ENABLED_AESGCM"
0 commit comments