--- /dev/null
+commit 5226561a77efc94b53d708a855df267b11f53b83
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Wed Mar 27 17:41:18 2024 -0600
+
+ wolfssl: avoid RNG redefinition
+
+ There are definitions of RNG in <wolfcrypt/settings.h> and
+ <wolfcrypt/random.h> that play havoc with the literal RNG being
+ used in the expansions of _PLUGIN_FEATURE_RNG() => __PLUGIN_FEATURE()
+ in <plugins/plugin_feature.h> when ##-concatenated to build the
+ enum FEATURE_RNG.
+
+ <plugins/plugin_feature.h> must always be included before
+ <woldssl/ssl.h>, and RNG must be undefined before any plugins are
+ declared.
+
+ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+--- a/src/libstrongswan/plugins/wolfssl/wolfssl_common.h
++++ b/src/libstrongswan/plugins/wolfssl/wolfssl_common.h
+@@ -80,7 +80,4 @@ typedef union {
+
+ #undef PARSE_ERROR
+
+-/* Eliminate macro conflicts */
+-#undef RNG
+-
+ #endif /* WOLFSSL_PLUGIN_COMMON_H_ */
+--- a/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
++++ b/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
+@@ -47,6 +47,8 @@
+
+ #include <wolfssl/ssl.h>
+
++#undef RNG
++
+ #ifndef FIPS_MODE
+ #define FIPS_MODE 0
+ #endif
+++ /dev/null
---- a/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
-+++ b/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
-@@ -50,6 +50,9 @@
- #ifndef FIPS_MODE
- #define FIPS_MODE 0
- #endif
-+#ifdef RNG
-+#undef RNG
-+#endif
-
- typedef struct private_wolfssl_plugin_t private_wolfssl_plugin_t;
-