Skip to content

Commit cac309d

Browse files
authored
Merge pull request wolfSSL#9244 from douzzer/20250924-configure-fips-and-linuxkm-and-rdseed-options
20250924-configure-fips-and-linuxkm-and-rdseed-options
2 parents 65d4e01 + 8516411 commit cac309d

1 file changed

Lines changed: 67 additions & 5 deletions

File tree

configure.ac

Lines changed: 67 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,8 @@ AS_CASE([$ENABLED_WOLFENGINE],
441441
# rand - wolfRand
442442
# v5 - FIPS 140-3 Cert 4718
443443
# cert4718 - alias for v5
444+
# v5.2.3 -- FIPS 140-3 with support for ARM acceleration, derived from Cert 4718
445+
# v5.2.4 -- FIPS 140-3 with support for Linux kernel mode, derived from v5.2.3
444446
# ready - FIPS 140-3 settings with in-tree wolfcrypt sources, feature locked
445447
# dev - FIPS 140-3 settings with in-tree wolfcrypt sources, features freely adjustable
446448
# v5-ready - Alias for ready.
@@ -497,6 +499,24 @@ AS_CASE([$ENABLED_FIPS],
497499
DEF_SP_MATH="no"
498500
DEF_FAST_MATH="yes"
499501
],
502+
[v5.2.3],[
503+
FIPS_VERSION="v5"
504+
HAVE_FIPS_VERSION_MAJOR=5
505+
HAVE_FIPS_VERSION_MINOR=2
506+
HAVE_FIPS_VERSION_PATCH=3
507+
ENABLED_FIPS="yes"
508+
DEF_SP_MATH="yes"
509+
DEF_FAST_MATH="no"
510+
],
511+
[v5.2.4],[
512+
FIPS_VERSION="v5"
513+
HAVE_FIPS_VERSION_MAJOR=5
514+
HAVE_FIPS_VERSION_MINOR=2
515+
HAVE_FIPS_VERSION_PATCH=4
516+
ENABLED_FIPS="yes"
517+
DEF_SP_MATH="yes"
518+
DEF_FAST_MATH="no"
519+
],
500520
[v5-RC12],[
501521
FIPS_VERSION="v5-RC12"
502522
HAVE_FIPS_VERSION_MAJOR=5
@@ -1105,6 +1125,7 @@ then
11051125
AC_MSG_ERROR([--enable-all-osp is incompatible with --enable-linuxkm-defaults])
11061126
fi
11071127

1128+
test "$enable_wolfguard" = "" && enable_wolfguard=yes
11081129
test "$enable_webserver" = "" && enable_webserver=yes
11091130

11101131
if test "$ENABLED_SP_MATH" != "yes"
@@ -1380,7 +1401,7 @@ then
13801401
test "$enable_aesxts_stream" = "" && test "$enable_aesxts" = "yes" && enable_aesxts_stream=yes
13811402
test "$enable_shake128" = "" && enable_shake128=yes
13821403
test "$enable_shake256" = "" && enable_shake256=yes
1383-
test "$enable_compkey" = "" && test "$ENABLED_LINUXKM_DEFAULTS" != "yes" && enable_compkey=yes
1404+
test "$enable_compkey" = "" && enable_compkey=yes
13841405
# AFALG lacks AES-ECB
13851406
test "$enable_srtp_kdf" = "" && test "$enable_afalg" != "yes" && enable_srtp_kdf=yes
13861407
fi
@@ -1409,6 +1430,24 @@ then
14091430
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_ISSUER_NAMES"
14101431
fi
14111432

1433+
# wolfGuard
1434+
AC_ARG_ENABLE([wolfguard],
1435+
[AS_HELP_STRING([--enable-wolfguard],[Enable wolfGuard dependencies (default: disabled)])],
1436+
[ ENABLED_WOLFGUARD=$enableval ],
1437+
[ ENABLED_WOLFGUARD=no ]
1438+
)
1439+
if test "$ENABLED_WOLFGUARD" = "yes"
1440+
then
1441+
test "$enable_ecc" = "" && enable_ecc=yes
1442+
test "$enable_sha256" = "" && enable_sha256=yes
1443+
test "$enable_aesgcm" = "" && enable_aesgcm=yes
1444+
if test "$ENABLED_FIPS" = "no" || test "$HAVE_FIPS_VERSION" -ge 6
1445+
then
1446+
test "$enable_compkey" = "" && enable_compkey=yes
1447+
test "$enable_aesgcm_stream" = "" && enable_aesgcm_stream=yes
1448+
fi
1449+
fi
1450+
14121451
# liboqs
14131452
ENABLED_LIBOQS="no"
14141453
tryliboqsdir=""
@@ -3790,6 +3829,18 @@ then
37903829
AM_CFLAGS="$AM_CFLAGS -DHAVE_INTEL_RDRAND"
37913830
fi
37923831

3832+
# INTEL RDSEED
3833+
AC_ARG_ENABLE([intelrdseed],
3834+
[AS_HELP_STRING([--enable-intelrdseed],[Enable Intel rdseed as preferred RNG seeding source (default: disabled)])],
3835+
[ ENABLED_INTELRDSEED=$enableval ],
3836+
[ ENABLED_INTELRDSEED=no ]
3837+
)
3838+
3839+
if test "$ENABLED_INTELRDSEED" = "yes"
3840+
then
3841+
AM_CFLAGS="$AM_CFLAGS -DHAVE_INTEL_RDSEED"
3842+
fi
3843+
37933844
# AMD RDSEED
37943845
AC_ARG_ENABLE([amdrand],
37953846
[AS_HELP_STRING([--enable-amdrand],[Enable AMD rdseed as preferred RNG seeding source (default: disabled)])],
@@ -5667,6 +5718,9 @@ AC_ARG_ENABLE([pwdbased],
56675718
# wolfEntropy Software Jitter SP800-90B certifiable entropy source
56685719

56695720
if test "$ENABLED_LINUXKM_DEFAULTS" = "yes" && \
5721+
test "$ENABLED_AMDRDSEED" != "yes" && \
5722+
test "$ENABLED_INTELRDRAND" != "yes" && \
5723+
test "$ENABLED_INTELRDSEED" != "yes" && \
56705724
(test "$ENABLED_FIPS" = "no" || test "$HAVE_FIPS_VERSION" -ge 6)
56715725
then
56725726
ENABLED_ENTROPY_MEMUSE_DEFAULT=yes
@@ -5758,7 +5812,7 @@ AS_CASE([$FIPS_VERSION],
57585812
(test "$FIPS_VERSION" != "dev" || test "$enable_keygen" != "no")],
57595813
[ENABLED_KEYGEN="yes"; AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_KEY_GEN"])
57605814
5761-
# AS_IF([test "$ENABLED_COMPKEY" = "yes" &&
5815+
# AS_IF([test "$ENABLED_COMPKEY" != "yes" &&
57625816
# (test "$FIPS_VERSION" != "dev" || test "$enable_compkey" != "yes")],
57635817
# [ENABLED_COMPKEY="yes"])
57645818
@@ -10648,6 +10702,17 @@ if test "$enable_shared" = "no"; then
1064810702
fi
1064910703
fi
1065010704
10705+
if test "$ENABLED_WOLFGUARD" = "yes"; then
10706+
if test "$ENABLED_ECC" = "no" ||
10707+
test "$ENABLED_SHA256" = "no" ||
10708+
test "$ENABLED_AESGCM" = "no" ||
10709+
test "$ENABLED_HMAC" = "no" ||
10710+
test "$ENABLED_RNG" = "no"
10711+
then
10712+
AC_MSG_ERROR([--enable-wolfguard requires ECC, SHA256-HMAC, AES-GCM, and RNG.])
10713+
fi
10714+
fi
10715+
1065110716
if test "x$ENABLED_LINUXKM" = "xyes"; then
1065210717
AX_SIMD_CC_COMPILER_FLAGS
1065310718
AC_SUBST([CFLAGS_FPU_DISABLE])
@@ -10712,9 +10777,6 @@ if test "x$ENABLED_LINUXKM" = "xyes"; then
1071210777
if test "$ENABLED_STACKLOG" = "yes"; then
1071310778
AC_MSG_ERROR([--enable-stacklog is incompatible with --enable-linuxkm.])
1071410779
fi
10715-
if test "$ENABLED_COMPKEY" = "yes"; then
10716-
AC_MSG_ERROR([--enable-compkey is incompatible with --enable-linuxkm.])
10717-
fi
1071810780
fi
1071910781
1072010782
AS_IF([test "$ENABLED_ASM" = "no" && (test "$ENABLED_INTELASM" != "no" || \

0 commit comments

Comments
 (0)