OpenSSL 3.5 (first shipped in wrynose) made HMAC_CTX a fully opaque
type by removing its struct definition from the public headers. It was
deprecated since OpenSSL 3.0 but the struct remained visible until 3.5.

libwebsockets uses HMAC_CTX_new() to detect which form to use in its
lws-genhash.h public header: if found it uses HMAC_CTX *ctx (pointer),
otherwise it falls back to HMAC_CTX ctx (embedded struct).

In cross-compilation the CMake CHECK_FUNCTION_EXISTS probe for
HMAC_CTX_new can fail due to native libraries being incorrectly pulled
into the aarch64 link test, causing the function to be reported as not
found. Before OpenSSL 3.5 this was a silent failure: the fallback
embedded struct still compiled fine. With OpenSSL 3.5 the fallback
now fails with "field has incomplete type".

Force LWS_HAVE_HMAC_CTX_new=ON so the pointer form is always used.

Signed-off-by: Kamlesh Gurudasani <[email protected]>
---
 meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb 
b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb
index a18f88390e..fc65890d8d 100644
--- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb
+++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb
@@ -35,6 +35,7 @@ python __anonymous() {
 EXTRA_OECMAKE += " \
     -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
     -DLWS_WITHOUT_TESTAPPS=ON \
+    -DLWS_HAVE_HMAC_CTX_new=ON \
 "
 
 do_compile:prepend() {

---
base-commit: 39321ae90b64e8f2bd890a2957a5f80e74d4de30
change-id: 20260604-libweb2-6a985e84804f

Best regards,
-- 
Kamlesh Gurudasani <[email protected]>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#127395): 
https://lists.openembedded.org/g/openembedded-devel/message/127395
Mute This Topic: https://lists.openembedded.org/mt/119642810/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to