OpenSSL 4.0 made ASN1_STRING opaque. socat directly accesses pName->d.iPAddress->data and pName->d.iPAddress->length which is no longer allowed.
Use ASN1_STRING_get0_data() and ASN1_STRING_length() accessor functions instead. These have been available since OpenSSL 1.1.0 so this is backward compatible. Upstream-Status: Submitted [[email protected]] Signed-off-by: Jaipaul Cheernam <[email protected]> --- ...penSSL-4.0-use-ASN1_STRING-accessors.patch | 31 +++++++++++++++++++ .../socat/socat_1.8.1.3.bb | 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-connectivity/socat/files/0001-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch diff --git a/meta/recipes-connectivity/socat/files/0001-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch b/meta/recipes-connectivity/socat/files/0001-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch new file mode 100644 index 0000000000..5e021d66c5 --- /dev/null +++ b/meta/recipes-connectivity/socat/files/0001-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam <[email protected]> +Date: Thu, 13 Aug 2026 07:00:00 +0000 +Subject: [PATCH] Fix build with OpenSSL 4.0: use ASN1_STRING accessors + +OpenSSL 4.0 made ASN1_STRING opaque. Direct access to struct members +(->data, ->length) is no longer possible. Use the accessor functions +ASN1_STRING_get0_data() and ASN1_STRING_length() instead. + +These accessors have been available since OpenSSL 1.1.0, so this change +is backward compatible. + +Upstream-Status: Submitted [[email protected]] +Signed-off-by: Jaipaul Cheernam <[email protected]> +--- + xio-openssl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/xio-openssl.c ++++ b/xio-openssl.c +@@ -1898,8 +1898,8 @@ + case GEN_IPADD: + { + /* binary address format */ +- const unsigned char *data = pName->d.iPAddress->data; +- size_t len = pName->d.iPAddress->length; ++ const unsigned char *data = ASN1_STRING_get0_data(pName->d.iPAddress); ++ size_t len = ASN1_STRING_length(pName->d.iPAddress); + char aBuffer[INET6_ADDRSTRLEN]; /* canonical peername */ + struct in6_addr ip6bin; + diff --git a/meta/recipes-connectivity/socat/socat_1.8.1.3.bb b/meta/recipes-connectivity/socat/socat_1.8.1.3.bb index e485c7d28d..025b478392 100644 --- a/meta/recipes-connectivity/socat/socat_1.8.1.3.bb +++ b/meta/recipes-connectivity/socat/socat_1.8.1.3.bb @@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ file://0001-fix-compile-procan.c-failed.patch \ + file://0001-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch \ " SRC_URI[sha256sum] = "25bc6476292b2e614220989c77b0b6fca87bb2525d9747b31a6639b1fb602418"
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#243399): https://lists.openembedded.org/g/openembedded-core/message/243399 Mute This Topic: https://lists.openembedded.org/mt/120745099/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
