mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-10 04:30:00 +00:00
libwebsockets: fix build against OpenSSL 3.5
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 <kamlesh@ti.com> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
committed by
Khem Raj
parent
d56e22f0d6
commit
53cbcaba3f
@@ -35,6 +35,7 @@ python __anonymous() {
|
|||||||
EXTRA_OECMAKE += " \
|
EXTRA_OECMAKE += " \
|
||||||
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
|
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
|
||||||
-DLWS_WITHOUT_TESTAPPS=ON \
|
-DLWS_WITHOUT_TESTAPPS=ON \
|
||||||
|
-DLWS_HAVE_HMAC_CTX_new=ON \
|
||||||
"
|
"
|
||||||
|
|
||||||
do_compile:prepend() {
|
do_compile:prepend() {
|
||||||
|
|||||||
Reference in New Issue
Block a user