Skip to content

Commit 9d56484

Browse files
authored
Merge pull request #7398 from douzzer/20240404-fips-VERSION3
20240404-fips-VERSION3
2 parents 8b587b5 + 9542843 commit 9d56484

1 file changed

Lines changed: 50 additions & 11 deletions

File tree

wolfssl/wolfcrypt/settings.h

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -306,22 +306,61 @@
306306

307307
#include <wolfssl/wolfcrypt/visibility.h>
308308

309-
#define WOLFSSL_MAKE_FIPS_VERSION(major, minor) (((major) * 256) + (minor))
309+
/*------------------------------------------------------------*/
310+
#define WOLFSSL_MAKE_FIPS_VERSION3(major, minor, patch) \
311+
(((major) * 65536) + ((minor) * 256) + (patch))
312+
#define WOLFSSL_MAKE_FIPS_VERSION(major, minor) \
313+
WOLFSSL_MAKE_FIPS_VERSION3(major, minor, 0)
314+
310315
#if !defined(HAVE_FIPS)
311-
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION(0,0)
316+
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION3(0,0,0)
317+
#define WOLFSSL_FIPS_VERSION2_CODE WOLFSSL_FIPS_VERSION_CODE
312318
#elif !defined(HAVE_FIPS_VERSION)
313-
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION(1,0)
319+
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION3(1,0,0)
320+
#define WOLFSSL_FIPS_VERSION2_CODE WOLFSSL_FIPS_VERSION_CODE
314321
#elif !defined(HAVE_FIPS_VERSION_MINOR)
315-
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION(HAVE_FIPS_VERSION,0)
322+
#define WOLFSSL_FIPS_VERSION_CODE \
323+
WOLFSSL_MAKE_FIPS_VERSION3(HAVE_FIPS_VERSION,0,0)
324+
#define WOLFSSL_FIPS_VERSION2_CODE WOLFSSL_FIPS_VERSION_CODE
325+
#elif !defined(HAVE_FIPS_VERSION_PATCH)
326+
#define WOLFSSL_FIPS_VERSION_CODE \
327+
WOLFSSL_MAKE_FIPS_VERSION3(HAVE_FIPS_VERSION, \
328+
HAVE_FIPS_VERSION_MINOR, 0)
329+
#define WOLFSSL_FIPS_VERSION2_CODE WOLFSSL_FIPS_VERSION_CODE
316330
#else
317-
#define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION(HAVE_FIPS_VERSION,HAVE_FIPS_VERSION_MINOR)
318-
#endif
331+
#define WOLFSSL_FIPS_VERSION_CODE \
332+
WOLFSSL_MAKE_FIPS_VERSION3(HAVE_FIPS_VERSION,\
333+
HAVE_FIPS_VERSION_MINOR, \
334+
HAVE_FIPS_VERSION_PATCH)
335+
#define WOLFSSL_FIPS_VERSION2_CODE \
336+
WOLFSSL_MAKE_FIPS_VERSION3(HAVE_FIPS_VERSION,\
337+
HAVE_FIPS_VERSION_MINOR, \
338+
0)
339+
#endif
340+
341+
#define FIPS_VERSION_LT(major,minor) \
342+
(WOLFSSL_FIPS_VERSION2_CODE < WOLFSSL_MAKE_FIPS_VERSION(major,minor))
343+
#define FIPS_VERSION_LE(major,minor) \
344+
(WOLFSSL_FIPS_VERSION2_CODE <= WOLFSSL_MAKE_FIPS_VERSION(major,minor))
345+
#define FIPS_VERSION_EQ(major,minor) \
346+
(WOLFSSL_FIPS_VERSION2_CODE == WOLFSSL_MAKE_FIPS_VERSION(major,minor))
347+
#define FIPS_VERSION_GE(major,minor) \
348+
(WOLFSSL_FIPS_VERSION2_CODE >= WOLFSSL_MAKE_FIPS_VERSION(major,minor))
349+
#define FIPS_VERSION_GT(major,minor) \
350+
(WOLFSSL_FIPS_VERSION2_CODE > WOLFSSL_MAKE_FIPS_VERSION(major,minor))
351+
352+
#define FIPS_VERSION3_LT(major,minor,patch) \
353+
(WOLFSSL_FIPS_VERSION_CODE < WOLFSSL_MAKE_FIPS_VERSION3(major,minor,patch))
354+
#define FIPS_VERSION3_LE(major,minor,patch) \
355+
(WOLFSSL_FIPS_VERSION_CODE <= WOLFSSL_MAKE_FIPS_VERSION3(major,minor,patch))
356+
#define FIPS_VERSION3_EQ(major,minor,patch) \
357+
(WOLFSSL_FIPS_VERSION_CODE == WOLFSSL_MAKE_FIPS_VERSION3(major,minor,patch))
358+
#define FIPS_VERSION3_GE(major,minor,patch) \
359+
(WOLFSSL_FIPS_VERSION_CODE >= WOLFSSL_MAKE_FIPS_VERSION3(major,minor,patch))
360+
#define FIPS_VERSION3_GT(major,minor,patch) \
361+
(WOLFSSL_FIPS_VERSION_CODE > WOLFSSL_MAKE_FIPS_VERSION3(major,minor,patch))
362+
/*------------------------------------------------------------*/
319363

320-
#define FIPS_VERSION_LT(major,minor) (WOLFSSL_FIPS_VERSION_CODE < WOLFSSL_MAKE_FIPS_VERSION(major,minor))
321-
#define FIPS_VERSION_LE(major,minor) (WOLFSSL_FIPS_VERSION_CODE <= WOLFSSL_MAKE_FIPS_VERSION(major,minor))
322-
#define FIPS_VERSION_EQ(major,minor) (WOLFSSL_FIPS_VERSION_CODE == WOLFSSL_MAKE_FIPS_VERSION(major,minor))
323-
#define FIPS_VERSION_GE(major,minor) (WOLFSSL_FIPS_VERSION_CODE >= WOLFSSL_MAKE_FIPS_VERSION(major,minor))
324-
#define FIPS_VERSION_GT(major,minor) (WOLFSSL_FIPS_VERSION_CODE > WOLFSSL_MAKE_FIPS_VERSION(major,minor))
325364

326365
/* make sure old RNG name is used with CTaoCrypt FIPS */
327366
#ifdef HAVE_FIPS

0 commit comments

Comments
 (0)