From b71dd24e316b92667355f487cc962f477bd092d4 Mon Sep 17 00:00:00 2001 From: Duke Date: Wed, 28 Feb 2024 19:40:02 -0500 Subject: [PATCH] Try to fix wolfssl on windows The wolfssl package in our build system has been modified to apply a patch but the patch https://patch-diff.githubusercontent.com/raw/wolfSSL/wolfssl/pull/4688.patch seems to already be applied and fails with this error: Hunk #1 FAILED at 618. 1 out of 1 hunk FAILED -- saving rejects to file wolfssl/wolfcrypt/wc_port.h.rej patching file src/sniffer.c Reversed (or previously applied) patch detected! Assume -R? [n] n Apply anyway? [n] n Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file src/sniffer.c.rej patching file wolfssl/wolfcrypt/wc_port.h Reversed (or previously applied) patch detected! --- depends/packages/wolfssl.mk | 12 ++--- depends/patches/wolfssl/wolfssl-4688.patch | 60 ++++++++++++++++++++++ 2 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 depends/patches/wolfssl/wolfssl-4688.patch diff --git a/depends/packages/wolfssl.mk b/depends/packages/wolfssl.mk index 1f5b36a64..6ca1a0223 100644 --- a/depends/packages/wolfssl.mk +++ b/depends/packages/wolfssl.mk @@ -3,11 +3,12 @@ $(package)_version=5.2.0 $(package)_download_path=https://github.com/wolfSSL/wolfssl/archive $(package)_download_file=v$($(package)_version)-stable.tar.gz $(package)_file_name=wolfssl-$($(package)_version).tar.gz -#$(package)_sha256_hash=b0e740b31d4d877d540ad50cc539a8873fc41af02bd3091c4357b403f7106e31 -#$(package)_sha256_hash=72c22efcdab0f18f9b0bb45621c213144f88b4a9e9b9cc06878b47744e058885 -#$(package)_sha256_hash=c34b74b5f689fac7becb05583b044e84d3b10d39f38709f0095dd5d423ded67f -#$(package)_sha256_hash=908390282cc613a3943533f3d922b3c18dee3289f498b6f944cb86a19a5eeb56 $(package)_sha256_hash=409b4646c5f54f642de0e9f3544c3b83de7238134f5b1ff93fb44527bf119d05 +$(package)_patches=wolfssl-4688.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/wolfssl-4688.patch && cd $($(package)_build_subdir); ./autogen.sh +endef define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" @@ -41,9 +42,6 @@ $(package)_config_opts+=C_EXTRA_FLAGS="-DSPEAK_AND_TRANSACT_FREELY" endef -define $(package)_preprocess_cmds - cd $($(package)_build_subdir); ./autogen.sh -endef define $(package)_config_cmds ./configure $($(package)_config_opts) diff --git a/depends/patches/wolfssl/wolfssl-4688.patch b/depends/patches/wolfssl/wolfssl-4688.patch new file mode 100644 index 000000000..2ac0205aa --- /dev/null +++ b/depends/patches/wolfssl/wolfssl-4688.patch @@ -0,0 +1,60 @@ +From 713c4afcb4a74b0ab4dc4521a4ad45490d7e60cd Mon Sep 17 00:00:00 2001 +From: Eric Blankenhorn +Date: Wed, 22 Dec 2021 09:26:22 -0600 +Subject: [PATCH 1/2] Fix missing include ws2tcpip.h for VS build + +--- + wolfssl/wolfcrypt/wc_port.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h +index eb4a4e0a4bc..910c29a6e41 100644 +--- a/wolfssl/wolfcrypt/wc_port.h ++++ b/wolfssl/wolfcrypt/wc_port.h +@@ -618,6 +618,7 @@ + #include + #endif + #include ++ #include + #endif /* WOLFSSL_SGX */ + #endif + #elif defined(THREADX) + +From 1e4b13dfac1594f2be07100cdd63e3d58b45702c Mon Sep 17 00:00:00 2001 +From: David Garske +Date: Thu, 23 Dec 2021 15:25:25 -0800 +Subject: [PATCH 2/2] Only include `ws2tcpip.h` if not user IO. + +--- + src/sniffer.c | 2 +- + wolfssl/wolfcrypt/wc_port.h | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/sniffer.c b/src/sniffer.c +index d9ebe11dc39..fe1db4e2467 100644 +--- a/src/sniffer.c ++++ b/src/sniffer.c +@@ -77,7 +77,7 @@ + #ifndef _WIN32 + #include + #else +- #include ++ #include + #endif + #endif + +diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h +index 910c29a6e41..017787d3189 100644 +--- a/wolfssl/wolfcrypt/wc_port.h ++++ b/wolfssl/wolfcrypt/wc_port.h +@@ -618,7 +618,9 @@ + #include + #endif + #include +- #include ++ #ifndef WOLFSSL_USER_IO ++ #include /* required for InetPton */ ++ #endif + #endif /* WOLFSSL_SGX */ + #endif + #elif defined(THREADX)