Skip to content

Commit 4e6a345

Browse files
authored
Merge pull request #7500 from SparkiDev/lms_xmss_move_wolfcrypt
LMS, XMSS: move code into wolfCrypt
2 parents 95abc10 + e47f1d4 commit 4e6a345

7 files changed

Lines changed: 10884 additions & 52 deletions

File tree

configure.ac

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,7 +1229,6 @@ AC_ARG_ENABLE([xmss],
12291229
[ ENABLED_XMSS=no ]
12301230
)
12311231

1232-
ENABLED_WC_XMSS=no
12331232
for v in `echo $ENABLED_XMSS | tr "," " "`
12341233
do
12351234
case $v in
@@ -1238,15 +1237,9 @@ do
12381237
no)
12391238
;;
12401239
verify-only)
1241-
XMSS_VERIFY_ONLY=yes
12421240
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_XMSS_VERIFY_ONLY -DXMSS_VERIFY_ONLY"
12431241
;;
1244-
wolfssl)
1245-
ENABLED_WC_XMSS=yes
1246-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_XMSS"
1247-
;;
12481242
small)
1249-
ENABLED_WC_XMSS=yes
12501243
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_XMSS_SMALL"
12511244
;;
12521245
*)
@@ -1255,20 +1248,6 @@ do
12551248
esac
12561249
done
12571250

1258-
if test "$ENABLED_XMSS" != "no"
1259-
then
1260-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_XMSS"
1261-
1262-
if test "$ENABLED_WC_XMSS" = "no";
1263-
then
1264-
# Default is to use hash-sigs XMSS lib. Make sure it's enabled.
1265-
if test "$ENABLED_LIBXMSS" = "no"; then
1266-
AC_MSG_ERROR([The default implementation for XMSS is the xmss-reference lib.
1267-
Please use --with-libxmss.])
1268-
fi
1269-
fi
1270-
fi
1271-
12721251
# libxmss
12731252
# Get the path to xmss-reference.
12741253
ENABLED_LIBXMSS="no"
@@ -1321,14 +1300,26 @@ AC_ARG_WITH([libxmss],
13211300
[XMSS_ROOT=""]
13221301
)
13231302

1303+
if test "$ENABLED_XMSS" != "no"
1304+
then
1305+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_XMSS"
1306+
1307+
# Use hash-sigs XMSS lib if enabled.
1308+
if test "$ENABLED_LIBXMSS" = "yes"; then
1309+
ENABLED_WC_XMSS=no
1310+
else
1311+
ENABLED_WC_XMSS=yes
1312+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_XMSS"
1313+
fi
1314+
fi
1315+
13241316
# LMS
13251317
AC_ARG_ENABLE([lms],
13261318
[AS_HELP_STRING([--enable-lms],[Enable stateful LMS/HSS signatures (default: disabled)])],
13271319
[ ENABLED_LMS=$enableval ],
13281320
[ ENABLED_LMS=no ]
13291321
)
13301322

1331-
ENABLED_WC_LMS=no
13321323
for v in `echo $ENABLED_LMS | tr "," " "`
13331324
do
13341325
case $v in
@@ -1337,37 +1328,17 @@ do
13371328
no)
13381329
;;
13391330
verify-only)
1340-
LMS_VERIFY_ONLY=yes
13411331
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_LMS_VERIFY_ONLY"
13421332
;;
13431333
small)
1344-
ENABLED_WC_LMS=yes
13451334
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_LMS_SMALL"
13461335
;;
1347-
wolfssl)
1348-
ENABLED_WC_LMS=yes
1349-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_LMS"
1350-
;;
13511336
*)
13521337
AC_MSG_ERROR([Invalid choice for LMS []: $ENABLED_LMS.])
13531338
break;;
13541339
esac
13551340
done
13561341

1357-
if test "$ENABLED_LMS" != "no"
1358-
then
1359-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_LMS"
1360-
1361-
if test "$ENABLED_WC_LMS" = "no";
1362-
then
1363-
# Default is to use hash-sigs LMS lib. Make sure it's enabled.
1364-
if test "$ENABLED_LIBLMS" = "no"; then
1365-
AC_MSG_ERROR([The default implementation for LMS is the hash-sigs LMS/HSS lib.
1366-
Please use --with-liblms.])
1367-
fi
1368-
fi
1369-
fi
1370-
13711342
# liblms
13721343
# Get the path to the hash-sigs LMS HSS lib.
13731344
ENABLED_LIBLMS="no"
@@ -1436,6 +1407,19 @@ AC_ARG_WITH([liblms],
14361407
]
14371408
)
14381409

1410+
if test "$ENABLED_LMS" != "no"
1411+
then
1412+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_LMS"
1413+
1414+
# Use hash-sigs LMS lib if enabled.
1415+
if test "$ENABLED_LIBLMS" = "yes"; then
1416+
ENABLED_WC_LMS=no
1417+
else
1418+
ENABLED_WC_LMS=yes
1419+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_LMS"
1420+
fi
1421+
fi
1422+
14391423
# SINGLE THREADED
14401424
AC_ARG_ENABLE([singlethreaded],
14411425
[AS_HELP_STRING([--enable-singlethreaded],[Enable wolfSSL single threaded (default: disabled)])],

0 commit comments

Comments
 (0)