strongswan: Backport upstream fix for RNG definition conflict
authorPhilip Prindeville <philipp@redfish-solutions.com>
Tue, 2 Apr 2024 19:03:53 +0000 (13:03 -0600)
committerPhilip Prindeville <philipp@redfish-solutions.com>
Thu, 4 Apr 2024 03:34:36 +0000 (21:34 -0600)
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
net/strongswan/Makefile
net/strongswan/patches/0003-undef-wolfssl-RNG.patch [new file with mode: 0644]
net/strongswan/patches/0905-undef-wolfssl-RNG.patch [deleted file]

index b74095981045db90b7ea189ba4babdc127be32e3..2ff7c8ee3c2f4651c3bf9199db69272ce89020f5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=strongswan
 PKG_VERSION:=5.9.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
diff --git a/net/strongswan/patches/0003-undef-wolfssl-RNG.patch b/net/strongswan/patches/0003-undef-wolfssl-RNG.patch
new file mode 100644 (file)
index 0000000..8f28c0f
--- /dev/null
@@ -0,0 +1,39 @@
+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
diff --git a/net/strongswan/patches/0905-undef-wolfssl-RNG.patch b/net/strongswan/patches/0905-undef-wolfssl-RNG.patch
deleted file mode 100644 (file)
index dfca722..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- 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;