Skip to content

Commit fdb9020

Browse files
committed
Fix macro guards for Kyber setups
1 parent 6e53463 commit fdb9020

5 files changed

Lines changed: 53 additions & 52 deletions

File tree

configure.ac

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1850,7 +1850,7 @@ AC_ARG_ENABLE([tls-mlkem-standalone],
18501850
[ ENABLED_MLKEM_STANDALONE=no ]
18511851
)
18521852

1853-
AS_IF([ test "$ENABLED_MLKEM_STANDALONE" = "yes" && test "$ENABLED_MLKEM" = "no" ],[AC_MSG_ERROR([ML-KEM as standalone TLS key exchange (non-hybrid) requires ML-KEM.])])
1853+
AS_IF([ test "$ENABLED_MLKEM_STANDALONE" = "yes" && test "$ENABLED_ML_KEM" = "no" ],[AC_MSG_ERROR([ML-KEM as standalone TLS key exchange (non-hybrid) requires ML-KEM.])])
18541854
if test "$ENABLED_MLKEM_STANDALONE" != "yes"
18551855
then
18561856
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_TLS_NO_MLKEM_STANDALONE"
@@ -1864,7 +1864,7 @@ AC_ARG_ENABLE([pqc-hybrids],
18641864

18651865
if test "$ENABLED_PQC_HYBRIDS" = "yes"
18661866
then
1867-
if test "$ENABLED_MLKEM" = "no"
1867+
if test "$ENABLED_ML_KEM" = "no" || test "$ENABLED_MLKEM" = "no"
18681868
then
18691869
ENABLED_PQC_HYBRIDS=no
18701870
elif test "$ENABLED_MLKEM768" = "" && test "$ENABLED_MLKEM1024" = ""; then
@@ -1875,7 +1875,7 @@ then
18751875
fi
18761876
fi
18771877

1878-
if test "$ENABLED_MLKEM" != "no"
1878+
if test "$ENABLED_ML_KEM" != "no" && test "$ENABLED_MLKEM" != "no"
18791879
then
18801880
if test "$ENABLED_PQC_HYBRIDS" = "no" && test "$ENABLED_MLKEM_STANDALONE" = "no" && test "$ENABLED_CRYPTONLY" = "no"
18811881
then
@@ -1893,7 +1893,7 @@ AC_ARG_ENABLE([extra-pqc-hybrids],
18931893
if test "$ENABLED_EXTRA_PQC_HYBRIDS" = "yes"
18941894
then
18951895
AS_IF([ test "$ENABLED_EXPERIMENTAL" != "yes" ],[ AC_MSG_ERROR([extra-pqc-hybrids requires --enable-experimental.]) ])
1896-
AS_IF([ test "$ENABLED_MLKEM" = "no" ],[ AC_MSG_ERROR([extra-pqc-hybrids requires ML-KEM.]) ])
1896+
AS_IF([ test "$ENABLED_ML_KEM" = "no" ],[ AC_MSG_ERROR([extra-pqc-hybrids requires ML-KEM.]) ])
18971897
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_EXTRA_PQC_HYBRIDS"
18981898
fi
18991899

tests/api.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31284,7 +31284,6 @@ static int test_dtls13_frag_ch_pq(void)
3128431284
const char *test_str = "test";
3128531285
int test_str_size;
3128631286
byte buf[255];
31287-
#if !defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
3128831287
#if defined(WOLFSSL_MLKEM_KYBER)
3128931288
#if !defined(WOLFSSL_NO_KYBER1024)
3129031289
int group = WOLFSSL_KYBER_LEVEL5;
@@ -31295,8 +31294,8 @@ static int test_dtls13_frag_ch_pq(void)
3129531294
#else
3129631295
int group = WOLFSSL_KYBER_LEVEL1;
3129731296
const char *group_name = "KYBER_LEVEL1";
31298-
#endif
31299-
#else
31297+
#endif
31298+
#elif !defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
3130031299
#if !defined(WOLFSSL_NO_ML_KEM_1024)
3130131300
int group = WOLFSSL_ML_KEM_1024;
3130231301
const char *group_name = "ML_KEM_1024";
@@ -31307,19 +31306,18 @@ static int test_dtls13_frag_ch_pq(void)
3130731306
int group = WOLFSSL_ML_KEM_512;
3130831307
const char *group_name = "ML_KEM_512";
3130931308
#endif
31310-
#endif
3131131309
#elif defined(WOLFSSL_PQC_HYBRIDS)
31312-
#if defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768)
31310+
#if defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768)
3131331311
int group = WOLFSSL_X25519MLKEM768;
3131431312
const char *group_name = "X25519MLKEM768";
31315-
#elif !defined(WOLFSSL_NO_ML_KEM_768)
31313+
#elif !defined(WOLFSSL_NO_ML_KEM_768)
3131631314
int group = WOLFSSL_SECP256R1MLKEM768;
3131731315
const char *group_name = "SecP256r1MLKEM768";
31318-
#else
31316+
#else
3131931317
int group = WOLFSSL_SECP384R1MLKEM1024;
3132031318
const char *group_name = "SecP384r1MLKEM1024";
31319+
#endif
3132131320
#endif
31322-
#endif /* WOLFSSL_TLS_NO_MLKEM_STANDALONE */
3132331321

3132431322
XMEMSET(&test_ctx, 0, sizeof(test_ctx));
3132531323
ExpectIntEQ(test_memio_setup(&test_ctx, &ctx_c, &ctx_s, &ssl_c, &ssl_s,

tests/api/test_dtls.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1620,20 +1620,26 @@ int test_dtls_rtx_across_epoch_change(void)
16201620
int helloMsgCount = 2;
16211621
int groups[2] = {
16221622
#if defined(HAVE_CURVE25519) && defined(WOLFSSL_PQC_HYBRIDS) && \
1623-
!defined(WOLFSSL_NO_ML_KEM_768)
1623+
!defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_NO_ML_KEM_768)
16241624
WOLFSSL_X25519MLKEM768,
16251625
#elif defined(HAVE_ECC) && defined(WOLFSSL_PQC_HYBRIDS) && \
1626-
!defined(WOLFSSL_NO_ML_KEM_768)
1626+
!defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_NO_ML_KEM_768)
16271627
WOLFSSL_SECP256R1MLKEM768,
16281628
#elif defined(HAVE_ECC) && defined(WOLFSSL_PQC_HYBRIDS) && \
1629-
!defined(WOLFSSL_NO_ML_KEM_1024)
1629+
!defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_NO_ML_KEM_1024)
16301630
WOLFSSL_SECP384R1MLKEM1024,
1631-
#elif !defined(WOLFSSL_NO_ML_KEM_1024) && \
1631+
#elif !defined(WOLFSSL_NO_ML_KEM_1024) && !defined(WOLFSSL_NO_ML_KEM) && \
16321632
!defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
16331633
WOLFSSL_ML_KEM_1024,
1634-
#elif !defined(WOLFSSL_NO_ML_KEM_768) && \
1634+
#elif !defined(WOLFSSL_NO_ML_KEM_768) && !defined(WOLFSSL_NO_ML_KEM) && \
16351635
!defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
16361636
WOLFSSL_ML_KEM_768,
1637+
#elif defined(WOLFSSL_MLKEM_KYBER) && !defined(WOLFSSL_NO_KYBER1024)
1638+
WOLFSSL_KYBER_LEVEL5,
1639+
#elif defined(WOLFSSL_MLKEM_KYBER) && !defined(WOLFSSL_NO_KYBER768)
1640+
WOLFSSL_KYBER_LEVEL3,
1641+
#elif defined(WOLFSSL_MLKEM_KYBER) && !defined(WOLFSSL_NO_KYBER512)
1642+
WOLFSSL_KYBER_LEVEL1,
16371643
#else
16381644
WOLFSSL_ML_KEM_512,
16391645
#endif

tests/api/test_tls13.c

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1946,29 +1946,27 @@ int test_tls13_rpk_handshake(void)
19461946
(defined(HAVE_ECC) && !defined(WOLFSSL_NO_ML_KEM_768)))
19471947
static void test_tls13_pq_groups_ctx_ready(WOLFSSL_CTX* ctx)
19481948
{
1949-
#ifndef WOLFSSL_TLS_NO_MLKEM_STANDALONE
1950-
#ifndef WOLFSSL_NO_ML_KEM_1024
19511949
#ifdef WOLFSSL_MLKEM_KYBER
1950+
#if !defined(WOLFSSL_NO_KYBER1024)
19521951
int group = WOLFSSL_KYBER_LEVEL5;
1953-
#else
1954-
int group = WOLFSSL_ML_KEM_1024;
1955-
#endif /* WOLFSSL_MLKEM_KYBER */
1956-
#elif !defined(WOLFSSL_NO_ML_KEM_768)
1957-
#ifdef WOLFSSL_MLKEM_KYBER
1952+
#elif !defined(WOLFSSL_NO_KYBER768)
19581953
int group = WOLFSSL_KYBER_LEVEL3;
1959-
#else
1960-
int group = WOLFSSL_ML_KEM_768;
1961-
#endif /* WOLFSSL_MLKEM_KYBER */
1962-
#else
1963-
#ifdef WOLFSSL_MLKEM_KYBER
1954+
#else
19641955
int group = WOLFSSL_KYBER_LEVEL1;
1965-
#else
1956+
#endif
1957+
#elif !defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
1958+
#if !defined(WOLFSSL_NO_ML_KEM_1024)
1959+
int group = WOLFSSL_ML_KEM_1024;
1960+
#elif !defined(WOLFSSL_NO_ML_KEM_768)
1961+
int group = WOLFSSL_ML_KEM_768;
1962+
#else
19661963
int group = WOLFSSL_ML_KEM_512;
1967-
#endif /* WOLFSSL_MLKEM_KYBER */
1968-
#endif
1969-
#elif defined(HAVE_ECC) && !defined(WOLFSSL_NO_ML_KEM_768)
1964+
#endif
1965+
#elif defined(HAVE_ECC) && !defined(WOLFSSL_NO_ML_KEM_768) && \
1966+
defined(WOLFSSL_PQC_HYBRIDS)
19701967
int group = WOLFSSL_SECP256R1MLKEM768;
1971-
#elif defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768)
1968+
#elif defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768) && \
1969+
defined(WOLFSSL_PQC_HYBRIDS)
19721970
int group = WOLFSSL_X25519MLKEM768;
19731971
#endif
19741972

@@ -1977,29 +1975,27 @@ static void test_tls13_pq_groups_ctx_ready(WOLFSSL_CTX* ctx)
19771975

19781976
static void test_tls13_pq_groups_on_result(WOLFSSL* ssl)
19791977
{
1980-
#ifndef WOLFSSL_TLS_NO_MLKEM_STANDALONE
1981-
#ifndef WOLFSSL_NO_ML_KEM_1024
19821978
#ifdef WOLFSSL_MLKEM_KYBER
1979+
#if !defined(WOLFSSL_NO_KYBER1024)
19831980
AssertStrEQ(wolfSSL_get_curve_name(ssl), "KYBER_LEVEL5");
1984-
#else
1985-
AssertStrEQ(wolfSSL_get_curve_name(ssl), "ML_KEM_1024");
1986-
#endif /* WOLFSSL_MLKEM_KYBER */
1987-
#elif !defined(WOLFSSL_NO_ML_KEM_768)
1988-
#ifdef WOLFSSL_MLKEM_KYBER
1981+
#elif !defined(WOLFSSL_NO_KYBER768)
19891982
AssertStrEQ(wolfSSL_get_curve_name(ssl), "KYBER_LEVEL3");
1990-
#else
1991-
AssertStrEQ(wolfSSL_get_curve_name(ssl), "ML_KEM_768");
1992-
#endif /* WOLFSSL_MLKEM_KYBER */
1993-
#else
1994-
#ifdef WOLFSSL_MLKEM_KYBER
1983+
#else
19951984
AssertStrEQ(wolfSSL_get_curve_name(ssl), "KYBER_LEVEL1");
1996-
#else
1985+
#endif
1986+
#elif !defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
1987+
#if !defined(WOLFSSL_NO_ML_KEM_1024)
1988+
AssertStrEQ(wolfSSL_get_curve_name(ssl), "ML_KEM_1024");
1989+
#elif !defined(WOLFSSL_NO_ML_KEM_768)
1990+
AssertStrEQ(wolfSSL_get_curve_name(ssl), "ML_KEM_768");
1991+
#else
19971992
AssertStrEQ(wolfSSL_get_curve_name(ssl), "ML_KEM_512");
1998-
#endif /* WOLFSSL_MLKEM_KYBER */
1999-
#endif
2000-
#elif defined(HAVE_ECC) && !defined(WOLFSSL_NO_ML_KEM_768)
1993+
#endif
1994+
#elif defined(HAVE_ECC) && !defined(WOLFSSL_NO_ML_KEM_768) && \
1995+
defined(WOLFSSL_PQC_HYBRIDS)
20011996
AssertStrEQ(wolfSSL_get_curve_name(ssl), "SecP256r1MLKEM768");
2002-
#elif defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768)
1997+
#elif defined(HAVE_CURVE25519) && !defined(WOLFSSL_NO_ML_KEM_768) && \
1998+
defined(WOLFSSL_PQC_HYBRIDS)
20031999
AssertStrEQ(wolfSSL_get_curve_name(ssl), "X25519MLKEM768");
20042000
#endif
20052001
}

wolfssl/wolfcrypt/settings.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4521,7 +4521,8 @@ extern void uITRON4_free(void *p) ;
45214521
#endif
45224522

45234523
#if defined(HAVE_PQC) && defined(WOLFSSL_HAVE_MLKEM) && \
4524-
!defined(WOLFSSL_PQC_HYBRIDS) && defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
4524+
!defined(WOLFSSL_NO_ML_KEM) && !defined(WOLFSSL_PQC_HYBRIDS) && \
4525+
defined(WOLFSSL_TLS_NO_MLKEM_STANDALONE)
45254526
#error "Neither PQ/T hybrid combinations nor ML-KEM as standalone TLS key " \
45264527
"exchange are enabled"
45274528
#endif

0 commit comments

Comments
 (0)