From patchwork Thu Aug 27 18:53:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96578 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 128ADC61DD4 for ; Thu, 27 Aug 2026 18:53:43 +0000 (UTC) Received: from AS8PR04CU009.outbound.protection.outlook.com (AS8PR04CU009.outbound.protection.outlook.com [52.101.70.46]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1787.1787856812482800774 for ; Thu, 27 Aug 2026 11:53:34 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=uVN7uC4x; spf=pass (domain: est.tech, ip: 52.101.70.46, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q9j5WtFxhf5avCUM/k/cAp1gyS1seR4B0q3NANvcN8TotPS/b01d01GP9GGtcxpYZe+AznRHRBUtLQbi6b2jVr2EAd+UZvhqSo1iPC8egmPwCfL1GwMQnzAwGT1X3f5vOw+pI12v8fp6OZWNr61/WOTdfhhIFsb92N4BB5iXbVQyfbDww/aMUKSvX5TSLKNwnrMWie8KUOxBCb08VilRM6MYtKH9u35Yn51tVWXV+nvxa55JJKigmzjTyjJwE2jsPbLkAOxkwDXhIQ1mgxBXmhIhUtfEZsLNbR3ztmnvuNHPwjlnLlh5jcdORiBAB51mB+rAzYcTUcI0/nOGA4oLXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E+86O3o+s08ANtK8Z6XpAudsteWp/4wErQTUzy+vu8A=; b=SwfLbtyAipH64JB4jvfnf3Y3bTLflqUOHbkMtbzT4qOSXoGDUjzXlv6+De4JKifbR4swxawaqubwsD7nDYMLTuJi2gsncy6VQVCs252qrIFkZ0J0PhzRCi4I/FKNx/BtGI9RxvOLD2nX64euTO7+w8d3QWyy5XAPl+01vVlQ68EP65t6CKcfGeLolEA3Ky359YBgGoqqjfZL0c2WlOTsmYC6UZTAi643HKeVCdQlL7wiIQY7edErHNlPRP1eS+4Kmk6xunc7LwqkwiiS/jrQDsdrTeTcFEIPnUUHzYXzb24gJRudJaPgdhR7MTUQhmfPqJgGQIfWAZIUlgDnpyGqOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E+86O3o+s08ANtK8Z6XpAudsteWp/4wErQTUzy+vu8A=; b=uVN7uC4xX2fQtoWvYdbyCD/DWNkBBod5hxqz+o+Q0o1bnZNid09lC5PBcQ1dlIdCXvDBgoijMpThwJZOXxH3/gFuAReUSvxnEqRiuVsreYJbv6DwfjN8MOYe3sIgUt6LljQNAXCBrkylSktYwo0U/j+ajXkRfL2b/dJv7OUlD2Q0vAnR7ZssdYdv5Z93OhpOKZxDz7UHHiCLXoDSi1nw5jwdzL61qIgw/G9gCLmHdIX0J5dkwm3xvBXBzYKBG29CJEktolrlA+RJwcUgBfs1nJJ4x+kponaJZ2K3sJtKGs8Z4he+nHnNQLzWDHTZkibp1raSk3anSKyXDVO0y9E2+Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by PA2P189MB2706.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:424::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:29 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:29 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 01/20] freediameter: remove openssl-engines from RDEPENDS Date: Thu, 27 Aug 2026 20:53:05 +0200 Message-ID: <20260827185324.78997-2-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO4P123CA0079.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:190::12) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|PA2P189MB2706:EE_ X-MS-Office365-Filtering-Correlation-Id: 03ded370-5d11-403b-75db-08df046c7c32 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|10070799003|23010399003|366016|3023799007|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: kuNO8e3fSgR5Qh8P8B2jaQuC3LJZatIwS2Gf8+5InNWJcSf/AetGzMPOhG05o0bI0WlovBs5QBX3u/zze5TiJjHZWcIED3vBpg8KUJo5lU1yJCXjkQ2YDTJRXbd0KacB/ZVw+7b1/vE/HjNchYarTrPkszBb93DkREH88Zr3Ya8CSBHLwhS8V1cd8iutQUfmhNvVf0iJV5GAiVCvkZmxLNgafHIpXm30BAqGqgc5vf02ZBt/2SGCnPW/LFQb76xUXk1+Ag0Gr5RIKEBB6gPl17WbAxq3EwAXVvjK0TMETy2W1P6OWD8umbKBtSOo23JoMufjyOgALlOj3A4CYvboqUEfY3Xfb3HcF1jIB3X0QmmHeV1Zc7I3Mg/zoDEeFD/6oOALytiuLDw5ERq5PTChAipA9DROpgsM3ex6iRXT2AZD8IMJDgAotzPfCTXJ5gBa/NJ6Pmw0+cym05gmJiePqkCFY3pUXPhvzPaa5jWl/JxvBtbIYKC4GrClT1WMeX8Hpy3BnlLgS1O4eytcu5qpdKY30Ja2158JLMCGUMAdJ+t25XJ98V8r7vU+eS4HfROnW732zqNXw81zTqPr6UPhI23NK2A3BvqCDTq5vFEt8DabOpUZYHqPWtt6bLrQEIpk9czdSv8PtFOzs1oYrHpxWHjhAoUqQXy34fZB33kmKFo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(23010399003)(366016)(3023799007)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: FnPpUVVDJ2AUGVw0POmQt152rNhmhNgXeXnnGgAbXdrR9tDidzLKquqTMX7lqu0KXudP7GDwjzGSm5yUYd+7ZAVk8Fo/haQWPqknFkbFXGg0BElLzFkFEFAQXqkRlB5niJIK2iYCifzhHKLM6bO6QdJymcSec7wzbMVhCquF+7A2gbcyo/ym/ROcJUcdI1z7XLjWWfwOTnJie0Ny3/dqAvm7ONTx+TfOpHnkIifauAg2xmLr2aPgjYJkprUmADG+dVyGn4/qV1c1ebX1WO26jm8rT4hd93B0/lVPOexbPPKonkX9Ar+Zat8fprKJd6s5G2ZhvE1TsIiI0X1BOhazn90of4G/jbB04XoZMwZQtPtlLkxvWeWsRkc1nfZdDnV0Pf8h9vrLie3Vp8lwyn7B8Xi/o8clKWo8f9+UBR6V14lecudQv1j9I/0UpDmVxd8A7hEluELTrXOcPJuoomqnmS6JtGh0m1SWXamfslYKbBILCm6VF/kzJXM5MQIfknyZuIYtNloINS3s/R+MTqLwwZ3Zi5qQpy6OGtOD010ITDfIIiYSMO//hsja4Le9UiDppGn2dIcWrtKscJ+nNyRE2TJXDVwXc/4wgE7o0B7nty9pc1nWw4AI1PwD8giKF1i0ZQJvagkLG3hbvty4YqRHQdYUchfm3Dy+MHjB7oL4nOXpFqEBTTPs5Vr6F1Z6FRBfvIDesamLmCA0xGQrmddx87g5Q+wV/kXpg/OPiYkRuBeW5sLLwdF0eQC9gl62XNSz6AWKneeYVfAhtth1u2CH6NtzJ6ZHGWiRixdw3EU7eEmwDfuAzTkjjitpJPfzftVBcZXfMlmpWcuAyIF0jNqn6sIl23PVIzMZD0e2KjOT8ywSpxjLEAkp//qmFzUhfVeeEivRUNbQgC4he1moKjMj6YsveIwdP74RnEUGfA3J6Km2uVnGR7vmsoDjRpBDNeqMc+vXMTipr3V7tzJfpmx47kIgi/MeiYfmBn4Rz1fWTA+SqbxJ4Cad1Vf5T1PZ58Mk4yYeyfD0s2sufkiJy8GcIqQg5dYp1cBFkgzdtsUXO7alhaOqr09H2w5d6fLOhSaHnFuqRpxkJ0SZ9oT0l4CgtY+OTvbRVZ8jz8kHyJQruw7KHHO9quIF9j1RHDyjNcNXycFf3s9Y+Oe9HP3Y4JONohw7iBKCyke+wZrtNVRaNOaZpcLhjjOqqpwh1ExvAyZQ4fPGufr2wGLwJ8EAPr/iTr8ce0rE9kDiHa9NBH/qozd2Gjir+0abKa2uaWxcjMQW6jMY1UKaSBeGebo9dlROrUbOaSH5yCYpcFsBSfGG4vJww54JSi76Ao2OmM2TCVL8bZCI434zFc6Fs0zxDToCRbUfIjBdjRjf8kY6A4qtjsmBSEKWukflKlTIyOzvqsb1C/YxGpE9ZfINlHYpUgCX6M6HxXmpE154/LsIYbALnqiYzGFCNyI3nliNiQTnyqEyRLqftkYbwkdV+/sddmwA/EB5m2EAlHg25kA4DJelH5Rk0eZTKeqg6NVxPUwDmILma7cu9Gla4NLCYmhQM9i/1oLuQ67uT4Mwgvkj+/wfhUuJOzcmE64gS260mXlWfKThFKIzTgdL4+SOafXKsFFKze4h1p0VYx1XEyAc2tkGvh0R9SewkAGw38CHn6yyo1xEoT4snjcf/MaivmF/CIenvpHIpo5NIaMTskDcok6Z+4KI9m7ZeB1e48uynF9CwN8dasZ7HEOJ1BDVFERCPvZ4MyLnz99zQ5Jbl4g7m1Pkb6M/yrxEkep0cx5NekVBpxPTrpHYgMNE X-MS-Exchange-AntiSpam-MessageData-1: pd8uqMJnk0+e0mLWmMq8Nr5Mgz7nAgMRILY= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 03ded370-5d11-403b-75db-08df046c7c32 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:29.7830 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l9pYtFD0ZTafF3a77jKQHdc58oBiNZ+YwQmzC6idUzXM7noYe+NTHzmUPCq5m2d2dQ8wLZEuF0OU7R3hRWZa5WuRqN6yAp/dKrDQm2JTZuo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2P189MB2706 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:43 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129536 OpenSSL 4.0 removed the ENGINE API entirely, so the openssl-engines package no longer exists. Remove it from RDEPENDS. Signed-off-by: Jaipaul Cheernam --- .../recipes-protocols/freediameter/freediameter_1.6.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-protocols/freediameter/freediameter_1.6.0.bb b/meta-networking/recipes-protocols/freediameter/freediameter_1.6.0.bb index 44be5044b1..4d4d8f32ef 100644 --- a/meta-networking/recipes-protocols/freediameter/freediameter_1.6.0.bb +++ b/meta-networking/recipes-protocols/freediameter/freediameter_1.6.0.bb @@ -125,7 +125,7 @@ FILES:${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*" FILES:${PN} += "${libdir}/${fd_pkgname}/*" RDEPENDS:${PN} = "glib-2.0 gnutls libidn" -RDEPENDS:${PN} += "openssl openssl-conf openssl-engines" +RDEPENDS:${PN} += "openssl openssl-conf" RRECOMMENDS:${PN} += "kernel-module-tipc kernel-module-sctp" RRECOMMENDS:${PN} += "kernel-module-udp-tunnel kernel-module-ipip" RDEPENDS:${PN}-ptest = "cmake" From patchwork Thu Aug 27 18:53:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96582 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8A43C61DCB for ; Thu, 27 Aug 2026 18:53:42 +0000 (UTC) Received: from AS8PR04CU009.outbound.protection.outlook.com (AS8PR04CU009.outbound.protection.outlook.com [52.101.70.46]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1787.1787856812482800774 for ; Thu, 27 Aug 2026 11:53:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=KBkLAZHL; spf=pass (domain: est.tech, ip: 52.101.70.46, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tIFUxrGWmbGU6qn1zjEUW6tiwP7ULqJOrtwQlAG1NNp6cid9U8oQE29esCvndccx1fHq7Gu226mC5tTCfGTi1K7EKH2ZrbVxfC8dacaYzsoT2lIwVMPhUSxgvICGdfsvcKRaH8yw15QeZreOisWEVvmUgED1UBWOKqD0amryBAtsYmyPmLA8aOwReHGg1mp1c+rPUDbkGaZlxAjFjFsO8V0VW+fIH9gDkrTS5gwi6VVpMLU9VRCOJbNZ7a1mV8X1SZGnAqirnsslOETcvWpsMenHIugzAVDGzdhY83r65zCsqo42NNdu9p6Uebnl8N69/vPqTs0j2jA+Lpy7mpbV6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9RNk13OQ7BJvXXUbBozaZ+5BdguAywn18UpaEgV8T+4=; b=RuQWXEd6ePPweIptTXfMpQdVyyxcD+3QKiyd1BjFTLMxIHYc4/HsN2OHHVVR7g7NH5vOEB3i8W/+HxnCJPLouk43lt48nqk3ZsUX39migV/WtzJH5BQHGXGvO/dO03YTfDM+Uki99dA0s68dHjGb5SO44oo1hmwBEHRzDVoZQVwduk7pfh2LKzhZjpeOuO7ekRXSloINOgBWrVMBfLJeY2b5nzFOOcJir+khc9FwfKe+5mw641Lbj5wzmkMuRXRYsnhWnN3BseyIkHbeRlgUL2gJ254XxKtzBiZYjSazYQiGMuurclbBGudExmHwX5+ba1+Yhrmk1h94eS+MeOzDUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9RNk13OQ7BJvXXUbBozaZ+5BdguAywn18UpaEgV8T+4=; b=KBkLAZHLw1rSkg39l559mr6Ows5j+OZlwCXLTWPwRhnk7lxwVnsMDrLUjLmmSApW8dAWxwnA9AqupL9RHUUs9QONEiygPCOYkol/dhDM+82l4myh4FL8JH4PtpfbbgvXgNlhc/s3r1cF1m8dISrEr0eFjG5jY0YVvxVEUeq0QfvcxqEgXg9JPwYhOJRLMmY9Crh+080v0LjSpZXU89+JWoJo7Wbj6ScI0Aj9fFgy7mC4TYB7sCHfz0itdyBuIN9gLhqpiH9Rjxa6AaV0Bv4zS24tH+1d6fsQXJdqbX2if8WkeCEU5/t4yOFpMIqmFWfBuioJopjGzG/9J+4oeId4KA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by PA2P189MB2706.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:424::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:31 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:31 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 02/20] krb5: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:06 +0200 Message-ID: <20260827185324.78997-3-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO4P265CA0099.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bc::20) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|PA2P189MB2706:EE_ X-MS-Office365-Filtering-Correlation-Id: 5dd2597f-34c1-4d8a-c973-08df046c7d6f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|10070799003|23010399003|366016|29003799003|6133799003|3023799007|10067099003|56012099006|11063799006|18002099003|22082099003|25016099003|12006099003; X-Microsoft-Antispam-Message-Info: ubjfI+IFbXYqq79hLMJ2RiKMx+td59QWdlb+rZFFX2xnPndBBDnhtTP5fFJhBfTeHHQEDxaXf6/wPGrDM6IYLI8ZsOLf9zQKGu68WuQyM8IDWZLVq8Lp7vC0nSeTrp14JHLpWTyODl70g9IBc7DwCcvqDGNB7q4XL5Ot7aB/bYfcP5qUkOy+eaj48/0IuLEJ/yxrYhzcle6v3X6f643yuVFg1XgNeYxprQUO+C8h3NbpZrcjgaMTqctOX9DMqP9zrxpZGSInMa4F2Zy/E6rmnZzyvRICDLZWtK7FHbwE+edk2trqnHcwREKJjSauTfgsthIy1rYGTh7dQIyPq0o5QFW8uuF0aFKvIIHxEtJEyChRlsVqiJDpHPSQtg+N7TWXiAUu24z3WOZ/MVwPWuKZQwy1dwgjFjcZGnCetbhDiAMz8cPcixswuIqnNvUNfxxscyKYhzZHqzaBJSBYy21H9BwnFjHBka85czFI+qA3eCuNOqkyUYSimL6zg7ViAqE1uCgfafLo7r8kyfoSyHSQrtY8rxFCgCSRUCOS0Z4ANAFuj0BA4FqojwYnxxzahAvUl3oxb9kP7eD5h0G50J8r2S4+GTeLTFXWZK+2SI0IOabOLFPn7GVKZpr7f/qI8MYpBppNemXXdi6kHHQKcowe1SkDfnwqKZejIJ7MM4Bbv2A= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(23010399003)(366016)(29003799003)(6133799003)(3023799007)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003)(25016099003)(12006099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: GHkU3fPdsIv3PizN6YFIMNuVLx7VGIx8FTMI4sOMQGJ2AthAqMpKUXH+RzAIKbJ8GlMgKsUoKT7r4XRvOr6Tf1TGy8/vJreRaIQbtj7JDCWjJ1ORAMz09RRWKJ37DXg6V4DT9qkwNIZAPRvBffhEvd2MX3O2CEcKio2aPFcwIOhrVFw2M/5YtRamGOIGU4jkT2pMTVr6z4h1WkvrjadJHPzUM6fQIcq36Pmzg0yhCqVFmArVXe22ong7Z/QlIVO6zJZ903w1+L0mc3DHZBDstRAZXCtXz/H6nKfkP+7ee+txvWIG4FhGiCHC8nN52/9LlyFolbCH8SiHdEkzLTpDXD4cg854CqWg00TqDTfygbfoL+sXF4HxRcITKDORgyj9F+8bInKmIt1VwQHCSPjLaiB4UXdZHzjb/ViE3jCctcYED++jNdkoZb3g5S5E6CPPPkihUFaGtT5hKnc+tU8vA4PE8EMqjk98AFQz8s8UXKjP2fLt2fZY6Dup89ILuKbUcdOgiMRUmRfQxNKL2tdyhw2w5MlC3+o3uVgemI64j3YkRGCjpMCGxlwfbq5bauVzqZ3jncVDJS6OSMI5hoKlJyCw3XK/t2sSSF3hGwVgvGkJCoS8TL8dCMyxoERajQi+8rKIFWaVbQvxMffyWVqZHgk2Ckf+Dg3dWw8vmGoiiUAO8ypeFxDLVoYVLCri7wCx2LV/3c6dSY7RuEOdf2IINGZmwV+hO43rVxjprGgFfLRPhxUHbKaHTmNSfsV3PSLtoXyvhrJtOn1m7L+OWCnrkPIK24VfIfL1TwRCbXWZVjdCG0eZ/3ne2CeUYxUo0js0M4fzyshmOd2pm5B0w2RcHf3L9Qdjz6UmPx/K74LBYRuUkeFMgDHlp0pIxkIOQhhPNs7cnBYiEyGfbbBb3N8dYAERq+1Igstju55zdID3I3Wr3QrQDHI1sMiS+LXeZZcqZraih9UEe87/FNqYk3lM5+t7kT61Dq9OCR4b2+7Eqd8pbm/hiQKdZsVK9HQIMgkEms6mBbggm8wSGPboGt6Uufr8M90kA7dOA5ujHz07tLeOXAFgZEU4r9RXaSRLZNK80HPN3Vk5cs4VI4Hf0P0CYnvBKYozxfaqbQTpYq2QlL/5GfpIb+njUrt4P1y7o6u27nZCsMxXvuvRi+kGlHjl+h4KaMvOX0KpVvUXFUcwNZEUnFK2LbHIlAVAvKlTy0bgH7+82+YLOt7Vld+37RmWxRMebmn4VK6BPwF2B8hoA0+27NFZNF8OXyXfjXOP5mGYoDKFag+l4XjQ3wEm9b1CwnwYLDlHFU9v+SDhu0ye5gkGSBYBA8CJdrpZNBPRu7YsUZ2qmRpJSzqOAbk/2h1PBMaPJiL3nHYph63nNO41SNb8UJoc4vFyayY8ExXhAsh8cjtWX0vQLbxMbJmzDFwPVtgkXyI1VnCBlsGd4f8bPl4acH35Ah0F4fkspn/Hr5FmS8Yt6hRh+CDKHsD1nu20jvqs5bzHkCiYsfZBv77arlSDeICLPL/32LVISRYkAz39fqLP51He1367eHZMolLDYsPTM4GhKkMuzvPZQMZIg6zx259uibafeMDw/zxEAREmqj8iJauylQhlT51LSgmMFSKug8HR4VgbEYUwssqMi+yvGDIfyCKlnGhZgzHx79o0LX1Ioo7Fa8ay9mzVSbMQRIGbUXY07xeQ9zmRjLD5G8HStsP/siWdpdcmV8E0Yb8RMc1Zm80oVll9PH1EYYZSaTqz9OeFQulz+S2Cnbe0HDnidT9jjsks9AHMwPf5VFzP7O8FdpJ4 X-MS-Exchange-AntiSpam-MessageData-1: +i54FZLPf6hDX6JM5dWAqvNxWspvWQoNE70= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 5dd2597f-34c1-4d8a-c973-08df046c7d6f X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:31.9043 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ai3htFf9DM1uwJMKYHhohAGOK05PtCrub1IOOwAZkp0uybjZJhngAoqNXMlADLKXtsLOmFGvgJ9u/898jkdrBB9StXAjsu/9pDmHL12ztx0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2P189MB2706 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129537 OpenSSL 4.0 adds const qualifiers to X509 accessor return types, makes ASN1_STRING opaque, and removes OpenSSL 1.0 compatibility functions. Backport three patches: - Improve future OpenSSL compatibility (upstream 5e4e84523288) - Remove OpenSSL 1.0 support (upstream f8a47bf037af, context adjusted) - Fix remaining const qualifiers in k5tls for 1.22.x (functions removed on trunk, fix only needed for this version) Upstream-Status: Backport / Inappropriate (patch 3) Signed-off-by: Jaipaul Cheernam --- ...Improve-future-OpenSSL-compatibility.patch | 285 ++++++++ .../0002-Remove-OpenSSL-1.0-support.patch | 627 ++++++++++++++++++ ...ing-const-qualifiers-for-OpenSSL-4.0.patch | 67 ++ .../recipes-connectivity/krb5/krb5_1.22.2.bb | 3 + 4 files changed, 982 insertions(+) create mode 100644 meta-oe/recipes-connectivity/krb5/krb5/0001-Improve-future-OpenSSL-compatibility.patch create mode 100644 meta-oe/recipes-connectivity/krb5/krb5/0002-Remove-OpenSSL-1.0-support.patch create mode 100644 meta-oe/recipes-connectivity/krb5/krb5/0003-k5tls-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-Improve-future-OpenSSL-compatibility.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-Improve-future-OpenSSL-compatibility.patch new file mode 100644 index 0000000000..3ae23f0031 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0001-Improve-future-OpenSSL-compatibility.patch @@ -0,0 +1,285 @@ +From 5e4e8452328804948d042235bbf58ca457795857 Mon Sep 17 00:00:00 2001 +From: Bob Beck +Date: Mon, 16 Feb 2026 15:15:55 -0700 +Subject: [PATCH] Improve future OpenSSL compatibility + +Avoid calling deprecated OpenSSL functions when compiling against +versions of OpenSSL where they are deprecated. Add +-DOPENSSL_NO_DEPRECATED to the linux-clang-openssl CI build to help +detect calls to deprecated functions in the future. + +Use const pointer variables to hold values retrieved by accessors +which will return const pointers in OpenSSL 4.0. Define macros to +make certain functions accept these const pointers in versions of +OpenSSL where they don't already do so. + +Use accessor functions instead of direct field access for ASN1_STRING +values, as the type will become opaque in OpenSSL 4.0. + +The PKINIT code is written to assume that DHX support was not present +until OpenSSL 1.1, but it was added in release 1.0.2, causing a +compilation error against 1.0.2 from a double definition of +EVP_PKEY_DHX. Minimally fix the compilation error. (The custom DHX +marshalling code to support 1.0.x could be removed, as 1.0.2 is the +minimum version after commit f5bbfa4821cf590a4748f96d0e016bc0485e95c4, +but the plan is to remove 1.0.x compatibility shortly.) + +Contains work by Frederik Wedel-Heinen + and Dimitri John Ledkov +. + +[ghudson@mit.edu: combined numerous commits; added compatibility +macros; rewrote commit message; fixed 1.0.2 compatibility issue] +Upstream-Status: Backport [https://github.com/krb5/krb5/commit/5e4e84523288] + +Note: .github/workflows/build.yml hunk dropped (CI-only, not relevant +for OE builds). +Signed-off-by: Jaipaul Cheernam +--- + .github/workflows/build.yml | 10 ++-- + .../preauth/pkinit/pkinit_crypto_openssl.c | 54 ++++++++++++++----- + src/plugins/tls/k5tls/openssl.c | 26 +++++++-- + 3 files changed, 68 insertions(+), 22 deletions(-) + +diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +index d1fe18e5ab..aa969aa37c 100644 +--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c ++++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +@@ -209,13 +209,20 @@ create_identifiers_from_stack(STACK_OF(X509) *sk, + #define EVP_MD_CTX_new EVP_MD_CTX_create + #define EVP_MD_CTX_free EVP_MD_CTX_destroy + #define ASN1_STRING_get0_data ASN1_STRING_data ++#define X509_STORE_CTX_set0_trusted_stack X509_STORE_CTX_trusted_stack + + /* +- * 1.1 adds DHX support, which uses the RFC 3279 DomainParameters encoding we ++ * 1.0.2 adds DHX support, which uses the RFC 3279 DomainParameters encoding we + * need for PKINIT. For 1.0 we must use the original DH type when creating + * EVP_PKEY objects. + */ ++#ifndef EVP_PKEY_DHX + #define EVP_PKEY_DHX EVP_PKEY_DH ++#endif ++ ++/* Make X509_NAME_print_ex() accept a const name pointer by adding a cast. */ ++#define X509_NAME_print_ex(a, b, c, d) \ ++ X509_NAME_print_ex(a, (X509_NAME *)b, c, d) + + /* 1.1 makes many handle types opaque and adds accessors. Add compatibility + * versions of the new accessors we use for pre-1.1. */ +@@ -295,6 +302,10 @@ compat_ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) + #define EVP_PKEY_get_bits EVP_PKEY_bits + #define EVP_PKEY_get_base_id EVP_PKEY_base_id + ++/* Make X509_dup() accept a const pointer by adding a cast. */ ++#define X509_dup(a) X509_dup((X509 *)a) ++#define i2d_X509_NAME(a, b) i2d_X509_NAME((X509_NAME *)a, b) ++ + /* + * Convert *dh to an EVP_PKEY object, taking ownership of *dh and setting it to + * NULL. On error, return NULL and do not take ownership of or change *dh. +@@ -318,6 +329,11 @@ dh_to_pkey(DH **dh) + } + #endif /* OPENSSL_VERSION_NUMBER < 0x30000000L */ + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L ++/* Make X509V3_EXT_d2i() accept a const pointer by adding a cast. */ ++#define X509V3_EXT_d2i(a) X509V3_EXT_d2i((X509_EXTENSION *)a) ++#endif ++ + /* Encode a bignum as an ASN.1 integer in DER. */ + static int + encode_bn_der(const BIGNUM *bn, uint8_t **der_out, int *len_out) +@@ -1134,6 +1150,13 @@ oerr_cert(krb5_context context, krb5_error_code code, X509_STORE_CTX *certctx, + return oerr(context, code, _("%s (depth %d): %s"), msg, depth, errstr); + } + ++/* Convert an OpenSSL ASN.1 string value to krb5_data, without copying. */ ++static inline krb5_data ++asn1string_to_data(ASN1_STRING *s) ++{ ++ return make_data((char *)ASN1_STRING_get0_data(s), ASN1_STRING_length(s)); ++} ++ + krb5_error_code + pkinit_init_plg_crypto(krb5_context context, + pkinit_plg_crypto_context *cryptoctx) +@@ -1775,7 +1798,7 @@ cms_signeddata_create(krb5_context context, + goto cleanup; + X509_STORE_CTX_init(certctx, certstore, id_cryptoctx->my_cert, + id_cryptoctx->intermediateCAs); +- X509_STORE_CTX_trusted_stack(certctx, id_cryptoctx->trustedCAs); ++ X509_STORE_CTX_set0_trusted_stack(certctx, id_cryptoctx->trustedCAs); + if (!X509_verify_cert(certctx)) { + retval = oerr_cert(context, 0, certctx, + _("Failed to verify own certificate")); +@@ -2002,7 +2025,7 @@ cms_signeddata_verify(krb5_context context, + unsigned char *d; + *is_signed = 0; + octets = CMS_get0_content(cms); +- if (!octets || ((*octets)->type != V_ASN1_OCTET_STRING)) { ++ if (!octets || (ASN1_STRING_type(*octets) != V_ASN1_OCTET_STRING)) { + retval = KRB5KDC_ERR_PREAUTH_FAILED; + krb5_set_error_message(context, retval, + _("Invalid pkinit packet: octet string " +@@ -2058,7 +2081,8 @@ cms_signeddata_verify(krb5_context context, + /* We cannot use CMS_dataInit because there may be no digest */ + octets = CMS_get0_content(cms); + if (octets) +- out = BIO_new_mem_buf((*octets)->data, (*octets)->length); ++ out = BIO_new_mem_buf(ASN1_STRING_get0_data(*octets), ++ ASN1_STRING_length(*octets)); + if (out == NULL) + goto cleanup; + } else { +@@ -2118,7 +2142,7 @@ cms_signeddata_verify(krb5_context context, + + /* add trusted CAs certificates for cert verification */ + if (idctx->trustedCAs != NULL) +- X509_STORE_CTX_trusted_stack(cert_ctx, idctx->trustedCAs); ++ X509_STORE_CTX_set0_trusted_stack(cert_ctx, idctx->trustedCAs); + else { + pkiDebug("unable to find any trusted CAs\n"); + goto cleanup; +@@ -2156,7 +2180,7 @@ cms_signeddata_verify(krb5_context context, + i = X509_verify_cert(cert_ctx); + if (i <= 0) { + int j = X509_STORE_CTX_get_error(cert_ctx); +- X509 *cert; ++ const X509 *cert; + + cert = X509_STORE_CTX_get_current_cert(cert_ctx); + reqctx->received_cert = X509_dup(cert); +@@ -2316,7 +2340,7 @@ crypto_retrieve_X509_sans(krb5_context context, + krb5_principal *princs = NULL; + char **upns = NULL; + unsigned char **dnss = NULL; +- X509_EXTENSION *ext = NULL; ++ const X509_EXTENSION *ext = NULL; + GENERAL_NAMES *ialt = NULL; + GENERAL_NAME *gen = NULL; + +@@ -2379,8 +2403,7 @@ crypto_retrieve_X509_sans(krb5_context context, + gen = sk_GENERAL_NAME_value(ialt, i); + switch (gen->type) { + case GEN_OTHERNAME: +- name.length = gen->d.otherName->value->value.sequence->length; +- name.data = (char *)gen->d.otherName->value->value.sequence->data; ++ name = asn1string_to_data(gen->d.otherName->value->value.sequence); + if (princs != NULL && + OBJ_cmp(plgctx->id_pkinit_san, + gen->d.otherName->type_id) == 0) { +@@ -2414,12 +2437,13 @@ crypto_retrieve_X509_sans(krb5_context context, + case GEN_DNS: + if (dnss != NULL) { + /* Prevent abuse of embedded null characters. */ +- if (memchr(gen->d.dNSName->data, '\0', gen->d.dNSName->length)) ++ if (memchr(ASN1_STRING_get0_data(gen->d.dNSName), '\0', ++ ASN1_STRING_length(gen->d.dNSName))) + break; + pkiDebug("%s: found dns name = %s\n", __FUNCTION__, +- gen->d.dNSName->data); ++ ASN1_STRING_get0_data(gen->d.dNSName)); + dnss[d] = (unsigned char *) +- strdup((char *)gen->d.dNSName->data); ++ strdup((char *)ASN1_STRING_get0_data(gen->d.dNSName)); + if (dnss[d] == NULL) { + pkiDebug("%s: failed to duplicate dns name\n", + __FUNCTION__); +@@ -3094,8 +3118,10 @@ int + pkinit_openssl_init(void) + { + /* Initialize OpenSSL. */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); ++#endif + return 0; + } + +@@ -4766,7 +4792,7 @@ crypto_retrieve_X509_key_usage(krb5_context context, + } + + static krb5_error_code +-rfc2253_name(X509_NAME *name, char **str_out) ++rfc2253_name(const X509_NAME *name, char **str_out) + { + BIO *b = NULL; + char *str; +@@ -5227,7 +5253,7 @@ create_identifiers_from_stack(STACK_OF(X509) *sk, + int i = 0, sk_size = sk_X509_num(sk); + krb5_external_principal_identifier **krb5_cas = NULL; + X509 *x = NULL; +- X509_NAME *xn = NULL; ++ const X509_NAME *xn = NULL; + unsigned char *p = NULL; + int len = 0; + PKCS7_ISSUER_AND_SERIAL *is = NULL; +diff --git a/src/plugins/tls/k5tls/openssl.c b/src/plugins/tls/k5tls/openssl.c +index 42d72dc9ec..7763327b7a 100644 +--- a/src/plugins/tls/k5tls/openssl.c ++++ b/src/plugins/tls/k5tls/openssl.c +@@ -38,6 +38,24 @@ + #include + #include + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++/* Make X509_get_subject_name() accept a const pointer by adding a cast. */ ++#define X509_get_subject_name(a) X509_get_subject_name((X509 *)a) ++ ++/* OpenSSL 1.0 did not have TLS_client_method(); use the best alternative. */ ++#define TLS_client_method() SSLv23_client_method() ++#endif ++ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L ++/* ++ * OpenSSL 4.0 constifies the result of X509_STORE_CTX_get_current_cert() and ++ * the input of X509_check_host() and X509_check_ip_asc(). For prior versions, ++ * make the latter two functions accept const pointers via a cast. ++ */ ++#define X509_check_host(a, b, c, d, e) X509_check_host((X509 *)a, b, c, d, e) ++#define X509_check_ip_asc(a, b, c) X509_check_ip_asc((X509 *)a, b, c) ++#endif ++ + struct k5_tls_handle_st { + SSL *ssl; + char *servername; +@@ -51,9 +69,11 @@ MAKE_INIT_FUNCTION(init_openssl); + int + init_openssl(void) + { ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + SSL_library_init(); + SSL_load_error_strings(); + OpenSSL_add_all_algorithms(); ++#endif + ex_context_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); + ex_handle_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); + return 0; +@@ -72,7 +92,7 @@ flush_errors(krb5_context context) + } + + static krb5_boolean +-check_cert_name_or_ip(X509 *x, const char *expected_name) ++check_cert_name_or_ip(const X509 *x, const char *expected_name) + { + struct in_addr in; + struct in6_addr in6; +@@ -89,7 +109,7 @@ check_cert_name_or_ip(X509 *x, const char *expected_name) + static int + verify_callback(int preverify_ok, X509_STORE_CTX *store_ctx) + { +- X509 *x; ++ const X509 *x; + SSL *ssl; + BIO *bio; + krb5_context context; +@@ -246,7 +266,7 @@ setup(krb5_context context, SOCKET fd, const char *servername, + return KRB5_PLUGIN_OP_NOTSUPP; + + /* Do general SSL library setup. */ +- ctx = SSL_CTX_new(SSLv23_client_method()); ++ ctx = SSL_CTX_new(TLS_client_method()); + if (ctx == NULL) + goto error; + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0002-Remove-OpenSSL-1.0-support.patch b/meta-oe/recipes-connectivity/krb5/krb5/0002-Remove-OpenSSL-1.0-support.patch new file mode 100644 index 0000000000..b208c96e54 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0002-Remove-OpenSSL-1.0-support.patch @@ -0,0 +1,627 @@ +From 736397a909005913b09c1d84a32255de71aadeca Mon Sep 17 00:00:00 2001 +From: Greg Hudson +Date: Tue, 10 Mar 2026 23:06:59 -0400 +Subject: [PATCH] Remove OpenSSL 1.0 support + +Upstream-Status: Backport [https://github.com/krb5/krb5/commit/f8a47bf037af] + +Note: Context adjusted for krb5 1.22.2 (one hunk in +pkinit_crypto_openssl.c had offset due to earlier patches). +doc/mitK5features.rst hunk dropped (documentation only, outside src/). + +Signed-off-by: Jaipaul Cheernam +--- + src/configure.ac | 4 +- + .../crypto/openssl/hash_provider/hash_evp.c | 7 - + src/lib/crypto/openssl/hmac.c | 27 -- + src/lib/crypto/openssl/sha256.c | 7 - + .../preauth/pkinit/pkinit_crypto_openssl.c | 372 +----------------- + src/plugins/preauth/spake/openssl.c | 7 - + src/plugins/tls/k5tls/openssl.c | 13 - + 7 files changed, 4 insertions(+), 433 deletions(-) + +diff --git a/src/configure.ac b/src/configure.ac +index 4325fae..9074a9f 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -1141,8 +1141,8 @@ enable_pkinit=try) + if test "$enable_pkinit" = yes || test "$enable_pkinit" = try; then + AC_CACHE_CHECK(for a recent enough OpenSSL, k5_cv_openssl_version_okay, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include +-#if OPENSSL_VERSION_NUMBER < 0x10000000L +-# error openssl is too old, need 1.0.0 ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++# error openssl is too old, need 1.1.0 + #endif + int i = 1; + ])], k5_cv_openssl_version_okay=yes, k5_cv_openssl_version_okay=no)]) +diff --git a/src/lib/crypto/openssl/hash_provider/hash_evp.c b/src/lib/crypto/openssl/hash_provider/hash_evp.c +index f2fbffd..2269daa 100644 +--- a/src/lib/crypto/openssl/hash_provider/hash_evp.c ++++ b/src/lib/crypto/openssl/hash_provider/hash_evp.c +@@ -37,13 +37,6 @@ + + #include + +-/* 1.1 standardizes constructor and destructor names, renaming +- * EVP_MD_CTX_create and EVP_MD_CTX_destroy. */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +-#define EVP_MD_CTX_new EVP_MD_CTX_create +-#define EVP_MD_CTX_free EVP_MD_CTX_destroy +-#endif +- + static krb5_error_code + hash_evp(const EVP_MD *type, const krb5_crypto_iov *data, size_t num_data, + krb5_data *output) +diff --git a/src/lib/crypto/openssl/hmac.c b/src/lib/crypto/openssl/hmac.c +index 799d700..6e91017 100644 +--- a/src/lib/crypto/openssl/hmac.c ++++ b/src/lib/crypto/openssl/hmac.c +@@ -63,33 +63,6 @@ + #include + #endif + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +- +-/* OpenSSL 1.1 makes HMAC_CTX opaque, while 1.0 does not have pointer +- * constructors or destructors. */ +- +-#define HMAC_CTX_new compat_hmac_ctx_new +-static HMAC_CTX * +-compat_hmac_ctx_new(void) +-{ +- HMAC_CTX *ctx; +- +- ctx = calloc(1, sizeof(*ctx)); +- if (ctx != NULL) +- HMAC_CTX_init(ctx); +- return ctx; +-} +- +-#define HMAC_CTX_free compat_hmac_ctx_free +-static void +-compat_hmac_ctx_free(HMAC_CTX *ctx) +-{ +- HMAC_CTX_cleanup(ctx); +- free(ctx); +-} +- +-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +- + /* + * the HMAC transform looks like: + * +diff --git a/src/lib/crypto/openssl/sha256.c b/src/lib/crypto/openssl/sha256.c +index 855ebd7..6f2c5d9 100644 +--- a/src/lib/crypto/openssl/sha256.c ++++ b/src/lib/crypto/openssl/sha256.c +@@ -36,13 +36,6 @@ + + #include + +-/* 1.1 standardizes constructor and destructor names, renaming +- * EVP_MD_CTX_create and EVP_MD_CTX_destroy. */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +-#define EVP_MD_CTX_new EVP_MD_CTX_create +-#define EVP_MD_CTX_free EVP_MD_CTX_destroy +-#endif +- + krb5_error_code + k5_sha256(const krb5_data *in, size_t n, uint8_t out[K5_SHA256_HASHLEN]) + { +diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +index e70106f..2dd34dc 100644 +--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c ++++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +@@ -201,100 +201,9 @@ static krb5_error_code + create_identifiers_from_stack(STACK_OF(X509) *sk, + krb5_external_principal_identifier *** ids); + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +- +-/* 1.1 standardizes constructor and destructor names, renaming +- * EVP_MD_CTX_{create,destroy} and deprecating ASN1_STRING_data. */ +- +-#define EVP_MD_CTX_new EVP_MD_CTX_create +-#define EVP_MD_CTX_free EVP_MD_CTX_destroy +-#define ASN1_STRING_get0_data ASN1_STRING_data +-#define X509_STORE_CTX_set0_trusted_stack X509_STORE_CTX_trusted_stack +- +-/* +- * 1.0.2 adds DHX support, which uses the RFC 3279 DomainParameters encoding we +- * need for PKINIT. For 1.0 we must use the original DH type when creating +- * EVP_PKEY objects. +- */ +-#ifndef EVP_PKEY_DHX +-#define EVP_PKEY_DHX EVP_PKEY_DH +-#endif +- +-/* Make X509_NAME_print_ex() accept a const name pointer by adding a cast. */ +-#define X509_NAME_print_ex(a, b, c, d) \ +- X509_NAME_print_ex(a, (X509_NAME *)b, c, d) +- +-/* 1.1 makes many handle types opaque and adds accessors. Add compatibility +- * versions of the new accessors we use for pre-1.1. */ +- +-#define OBJ_get0_data(o) ((o)->data) +-#define OBJ_length(o) ((o)->length) +- +-#define DH_set0_key compat_dh_set0_key +-static int +-compat_dh_set0_key(DH *dh, BIGNUM *pub, BIGNUM *priv) +-{ +- if (pub != NULL) { +- BN_clear_free(dh->pub_key); +- dh->pub_key = pub; +- } +- if (priv != NULL) { +- BN_clear_free(dh->priv_key); +- dh->priv_key = priv; +- } +- return 1; +-} +- +-#define DH_get0_key compat_dh_get0_key +-static void compat_dh_get0_key(const DH *dh, const BIGNUM **pub, +- const BIGNUM **priv) +-{ +- if (pub != NULL) +- *pub = dh->pub_key; +- if (priv != NULL) +- *priv = dh->priv_key; +-} +- +-#define EVP_PKEY_get0_DH compat_get0_DH +-static DH * +-compat_get0_DH(const EVP_PKEY *pkey) +-{ +- if (pkey->type != EVP_PKEY_DH) +- return NULL; +- return pkey->pkey.dh; +- +-} +- +-#define EVP_PKEY_get0_EC_KEY compat_get0_EC +-static EC_KEY * +-compat_get0_EC(const EVP_PKEY *pkey) +-{ +- if (pkey->type != EVP_PKEY_EC) +- return NULL; +- return pkey->pkey.ec; +-} +- +-#define ECDSA_SIG_set0 compat_ECDSA_SIG_set0 +-static int +-compat_ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) +-{ +- sig->r = r; +- sig->s = s; +- return 1; +-} +- +-/* Return true if the cert c includes a key usage which doesn't include u. +- * Define using direct member access for pre-1.1. */ +-#define ku_reject(c, u) \ +- (((c)->ex_flags & EXFLAG_KUSAGE) && !((c)->ex_kusage & (u))) +- +-#else /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ +- + /* Return true if the cert x includes a key usage which doesn't include u. */ + #define ku_reject(c, u) (!(X509_get_key_usage(c) & (u))) + +-#endif +- + #if OPENSSL_VERSION_NUMBER < 0x30000000L + /* OpenSSL 3.0 changes several preferred function names. */ + #define EVP_PKEY_parameters_eq EVP_PKEY_cmp_parameters +@@ -371,8 +280,6 @@ decode_bn_der(const uint8_t *der, size_t len) + return bn; + } + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L +- + #if OPENSSL_VERSION_NUMBER >= 0x30000000L + static EVP_PKEY * + decode_params(const krb5_data *params_der, const char *type) +@@ -442,195 +349,6 @@ decode_spki(const krb5_data *spki) + return d2i_PUBKEY(NULL, &inptr, spki->length); + } + +-#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +- +-/* +- * OpenSSL 1.0 has no DHX support, so we need a custom decoder for RFC 3279 +- * DomainParameters, and we need to use X509_PUBKEY values to marshal +- * SubjectPublicKeyInfo. +- */ +- +-typedef struct { +- ASN1_BIT_STRING *seed; +- BIGNUM *counter; +-} int_dhvparams; +- +-typedef struct { +- BIGNUM *p; +- BIGNUM *q; +- BIGNUM *g; +- BIGNUM *j; +- int_dhvparams *vparams; +-} int_dhxparams; +- +-ASN1_SEQUENCE(int_dhvparams) = { +- ASN1_SIMPLE(int_dhvparams, seed, ASN1_BIT_STRING), +- ASN1_SIMPLE(int_dhvparams, counter, BIGNUM) +-} ASN1_SEQUENCE_END(int_dhvparams); +- +-ASN1_SEQUENCE(int_dhxparams) = { +- ASN1_SIMPLE(int_dhxparams, p, BIGNUM), +- ASN1_SIMPLE(int_dhxparams, g, BIGNUM), +- ASN1_SIMPLE(int_dhxparams, q, BIGNUM), +- ASN1_OPT(int_dhxparams, j, BIGNUM), +- ASN1_OPT(int_dhxparams, vparams, int_dhvparams) +-} ASN1_SEQUENCE_END(int_dhxparams); +- +-static EVP_PKEY * +-decode_dh_params(const krb5_data *params_der) +-{ +- int_dhxparams *params; +- DH *dh; +- EVP_PKEY *pkey; +- const uint8_t *p; +- +- dh = DH_new(); +- if (dh == NULL) +- return NULL; +- +- p = (uint8_t *)params_der->data; +- params = (int_dhxparams *)ASN1_item_d2i(NULL, &p, params_der->length, +- ASN1_ITEM_rptr(int_dhxparams)); +- if (params == NULL) { +- DH_free(dh); +- return NULL; +- } +- +- /* Steal p, q, and g from dhparams for dh. Ignore j and vparams. */ +- dh->p = params->p; +- dh->q = params->q; +- dh->g = params->g; +- params->p = params->q = params->g = NULL; +- ASN1_item_free((ASN1_VALUE *)params, ASN1_ITEM_rptr(int_dhxparams)); +- pkey = dh_to_pkey(&dh); +- DH_free(dh); +- return pkey; +-} +- +-static krb5_error_code +-encode_spki(EVP_PKEY *pkey, krb5_data *spki_out) +-{ +- krb5_error_code ret = ENOMEM; +- const DH *dh; +- uint8_t *param_der = NULL, *pubkey_der = NULL, *outptr; +- int param_der_len, pubkey_der_len, len; +- X509_PUBKEY pubkey; +- int_dhxparams dhxparams; +- X509_ALGOR algor; +- ASN1_OBJECT algorithm; +- ASN1_TYPE parameter; +- ASN1_STRING param_str, pubkey_str; +- +- if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) { +- /* Only DH keys require special encoding. */ +- len = i2d_PUBKEY(pkey, NULL); +- ret = alloc_data(spki_out, len); +- if (ret) +- goto cleanup; +- outptr = (uint8_t *)spki_out->data; +- (void)i2d_PUBKEY(pkey, &outptr); +- return 0; +- } +- +- dh = EVP_PKEY_get0_DH(pkey); +- if (dh == NULL) +- goto cleanup; +- +- dhxparams.p = dh->p; +- dhxparams.q = dh->q; +- dhxparams.g = dh->g; +- dhxparams.j = NULL; +- dhxparams.vparams = NULL; +- param_der_len = ASN1_item_i2d((ASN1_VALUE *)&dhxparams, ¶m_der, +- ASN1_ITEM_rptr(int_dhxparams)); +- if (param_der_len < 0) +- goto cleanup; +- param_str.length = param_der_len; +- param_str.type = V_ASN1_SEQUENCE; +- param_str.data = param_der; +- param_str.flags = 0; +- parameter.type = V_ASN1_SEQUENCE; +- parameter.value.sequence = ¶m_str; +- +- memset(&algorithm, 0, sizeof(algorithm)); +- algorithm.data = (uint8_t *)dh_oid.data; +- algorithm.length = dh_oid.length; +- +- algor.algorithm = &algorithm; +- algor.parameter = ¶meter; +- +- if (!encode_bn_der(dh->pub_key, &pubkey_der, &pubkey_der_len)) +- goto cleanup; +- pubkey_str.length = pubkey_der_len; +- pubkey_str.type = V_ASN1_BIT_STRING; +- pubkey_str.data = pubkey_der; +- pubkey_str.flags = ASN1_STRING_FLAG_BITS_LEFT; +- +- pubkey.algor = &algor; +- pubkey.public_key = &pubkey_str; +- len = i2d_X509_PUBKEY(&pubkey, NULL); +- if (len < 0) +- goto cleanup; +- ret = alloc_data(spki_out, len); +- if (ret) +- goto cleanup; +- outptr = (uint8_t *)spki_out->data; +- i2d_X509_PUBKEY(&pubkey, &outptr); +- +-cleanup: +- OPENSSL_free(param_der); +- free(pubkey_der); +- return ret; +-} +- +-static EVP_PKEY * +-decode_spki(const krb5_data *spki) +-{ +- X509_PUBKEY *pubkey = NULL; +- const uint8_t *inptr; +- DH *dh; +- EVP_PKEY *pkey = NULL, *pkey_ret = NULL; +- const ASN1_STRING *params; +- const ASN1_BIT_STRING *public_key; +- krb5_data d; +- +- inptr = (uint8_t *)spki->data; +- pubkey = d2i_X509_PUBKEY(NULL, &inptr, spki->length); +- if (pubkey == NULL) +- goto cleanup; +- +- if (OBJ_cmp(pubkey->algor->algorithm, OBJ_nid2obj(NID_dhKeyAgreement))) { +- /* This is not a DH key, so we don't need special decoding. */ +- X509_PUBKEY_free(pubkey); +- inptr = (uint8_t *)spki->data; +- return d2i_PUBKEY(NULL, &inptr, spki->length); +- } +- +- if (pubkey->algor->parameter->type != V_ASN1_SEQUENCE) +- goto cleanup; +- params = pubkey->algor->parameter->value.sequence; +- d = make_data(params->data, params->length); +- pkey = decode_dh_params(&d); +- if (pkey == NULL) +- goto cleanup; +- dh = EVP_PKEY_get0_DH(pkey); +- if (dh == NULL) +- goto cleanup; +- public_key = pubkey->public_key; +- dh->pub_key = decode_bn_der(public_key->data, public_key->length); +- if (dh->pub_key == NULL) +- goto cleanup; +- +- pkey_ret = pkey; +- pkey = NULL; +- +-cleanup: +- X509_PUBKEY_free(pubkey); +- EVP_PKEY_free(pkey); +- return pkey_ret; +-} +- +-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + + #if OPENSSL_VERSION_NUMBER >= 0x30000000L + +@@ -673,7 +391,7 @@ set_padded_derivation(EVP_PKEY_CTX *ctx) + { + EVP_PKEY_CTX_set_dh_pad(ctx, 1); + } +-#elif OPENSSL_VERSION_NUMBER >= 0x10100000L ++#else + static void + set_padded_derivation(EVP_PKEY_CTX *ctx) + { +@@ -681,12 +399,6 @@ set_padded_derivation(EVP_PKEY_CTX *ctx) + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, + EVP_PKEY_CTRL_DH_PAD, 1, NULL); + } +-#else +-static void +-set_padded_derivation(EVP_PKEY_CTX *ctx) +-{ +- /* There's no support for padded derivation in 1.0. */ +-} + #endif + + static int +@@ -809,29 +521,6 @@ dh_pubkey_der(EVP_PKEY *pkey, uint8_t **pubkey_out, unsigned int *len_out) + } + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L +-/* OpenSSL 1.1 and later will copy the q parameter when generating keys. */ +-static int +-copy_q_openssl10(EVP_PKEY *src, EVP_PKEY *dest) +-{ +- return 1; +-} +-#else +-/* OpenSSL 1.0 won't copy the q parameter, so we have to do it. */ +-static int +-copy_q_openssl10(EVP_PKEY *src, EVP_PKEY *dest) +-{ +- DH *dhsrc = EVP_PKEY_get0_DH(src), *dhdest = EVP_PKEY_get0_DH(dest); +- +- if (dhsrc == NULL || dhsrc->q == NULL || dhdest == NULL) +- return 0; +- if (dhdest->q != NULL) +- return 1; +- dhdest->q = BN_dup(dhsrc->q); +- return dhdest->q != NULL; +-} +-#endif +- + static EVP_PKEY * + generate_dh_pkey(EVP_PKEY *params) + { +@@ -845,11 +534,6 @@ generate_dh_pkey(EVP_PKEY *params) + goto cleanup; + if (EVP_PKEY_keygen(ctx, &pkey) <= 0) + goto cleanup; +- if (EVP_PKEY_get_base_id(pkey) == EVP_PKEY_DH && +- !copy_q_openssl10(params, pkey)) { +- EVP_PKEY_free(pkey); +- pkey = NULL; +- } + + cleanup: + EVP_PKEY_CTX_free(ctx); +@@ -900,33 +584,6 @@ cleanup: + + #else /* OPENSSL_VERSION_NUMBER < 0x30000000L */ + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L +-static DH * +-dup_dh_params(DH *src) +-{ +- return DHparams_dup(src); +-} +-#else +-/* DHparams_dup() won't copy q in OpenSSL 1.0. */ +-static DH * +-dup_dh_params(DH *src) +-{ +- DH *dh; +- +- dh = DH_new(); +- if (dh == NULL) +- return NULL; +- dh->p = BN_dup(src->p); +- dh->q = BN_dup(src->q); +- dh->g = BN_dup(src->g); +- if (dh->p == NULL || dh->q == NULL || dh->g == NULL) { +- DH_free(dh); +- return NULL; +- } +- return dh; +-} +-#endif +- + static EVP_PKEY * + compose_dh_pkey(EVP_PKEY *params, const uint8_t *pubkey_der, size_t der_len) + { +@@ -966,7 +623,7 @@ compose_dh_pkey(EVP_PKEY *params, const uint8_t *pubkey_der, size_t der_len) + dhparams = EVP_PKEY_get0_DH(params); + if (dhparams == NULL) + goto cleanup; +- dh = dup_dh_params(dhparams); ++ dh = DHparams_dup(dhparams); + if (dh == NULL) + goto cleanup; + if (!DH_set0_key(dh, pubkey_bn, NULL)) +@@ -1083,8 +740,6 @@ static struct pkcs11_errstrings { + }; + #endif + +-MAKE_INIT_FUNCTION(pkinit_openssl_init); +- + static krb5_error_code oerr(krb5_context context, krb5_error_code code, + const char *fmt, ...) + #if !defined(__cplusplus) && (__GNUC__ > 2) +@@ -1164,8 +819,6 @@ pkinit_init_plg_crypto(krb5_context context, + krb5_error_code retval = ENOMEM; + pkinit_plg_crypto_context ctx = NULL; + +- (void)CALL_INIT_FUNCTION(pkinit_openssl_init); +- + ctx = malloc(sizeof(*ctx)); + if (ctx == NULL) + goto out; +@@ -3114,17 +2767,6 @@ cleanup: + return retval; + } + +-int +-pkinit_openssl_init(void) +-{ +- /* Initialize OpenSSL. */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +- ERR_load_crypto_strings(); +- OpenSSL_add_all_algorithms(); +-#endif +- return 0; +-} +- + static krb5_error_code + pkinit_create_sequence_of_principal_identifiers( + krb5_context context, +@@ -5834,13 +5476,3 @@ crypto_verify_checksums(krb5_context context, krb5_data *body, + + return 0; + } +- +-#ifdef _WIN32 +-BOOL WINAPI +-DllMain(HANDLE hModule, DWORD fdwReason, LPVOID lpvReserved) +-{ +- if (fdwReason == DLL_PROCESS_ATTACH) +- pkinit_openssl_init__auxinit(); +- return TRUE; +-} +-#endif /* _WIN32 */ +diff --git a/src/plugins/preauth/spake/openssl.c b/src/plugins/preauth/spake/openssl.c +index f2e4b53..fbaa65e 100644 +--- a/src/plugins/preauth/spake/openssl.c ++++ b/src/plugins/preauth/spake/openssl.c +@@ -41,13 +41,6 @@ + #include + #include + +-/* OpenSSL 1.1 standardizes constructor and destructor names, renaming +- * EVP_MD_CTX_create and EVP_MD_CTX_destroy. */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +-#define EVP_MD_CTX_new EVP_MD_CTX_create +-#define EVP_MD_CTX_free EVP_MD_CTX_destroy +-#endif +- + struct groupdata_st { + const groupdef *gdef; + EC_GROUP *group; +diff --git a/src/plugins/tls/k5tls/openssl.c b/src/plugins/tls/k5tls/openssl.c +index cc8fc70..bbfa37f 100644 +--- a/src/plugins/tls/k5tls/openssl.c ++++ b/src/plugins/tls/k5tls/openssl.c +@@ -38,14 +38,6 @@ + #include + #include + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +-/* Make X509_get_subject_name() accept a const pointer by adding a cast. */ +-#define X509_get_subject_name(a) X509_get_subject_name((X509 *)a) +- +-/* OpenSSL 1.0 did not have TLS_client_method(); use the best alternative. */ +-#define TLS_client_method() SSLv23_client_method() +-#endif +- + #if OPENSSL_VERSION_NUMBER < 0x40000000L + /* + * OpenSSL 4.0 constifies the result of X509_STORE_CTX_get_current_cert() and +@@ -69,11 +61,6 @@ MAKE_INIT_FUNCTION(init_openssl); + int + init_openssl(void) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L +- SSL_library_init(); +- SSL_load_error_strings(); +- OpenSSL_add_all_algorithms(); +-#endif + ex_context_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); + ex_handle_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); + return 0; diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0003-k5tls-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch b/meta-oe/recipes-connectivity/krb5/krb5/0003-k5tls-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch new file mode 100644 index 0000000000..261c8387b5 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0003-k5tls-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch @@ -0,0 +1,67 @@ +From 29a6ab9be8a5af0a683eb0e89ce9b094b74ae8cf Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Wed, 26 Aug 2026 11:30:58 +0000 +Subject: [PATCH] k5tls: fix remaining const qualifiers for OpenSSL 4.0 + +OpenSSL 4.0 returns const pointers from X509_get_subject_name(), +X509_get_ext(), and X509_STORE_CTX_get_current_cert(). Update +function signatures and local variables to accept const pointers. + +Upstream-Status: Inappropriate [functions removed on trunk, fix only needed for 1.22.x] + +Note: Upstream fixed this by removing OpenSSL 1.0 support entirely +(commit f8a47bf037af), but 1.22.2 still has code paths that need +these additional const qualifiers. + +Signed-off-by: Jaipaul Cheernam +--- + plugins/tls/k5tls/openssl.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/plugins/tls/k5tls/openssl.c b/src/plugins/tls/k5tls/openssl.c +index bbfa37f..6efe613 100644 +--- a/src/plugins/tls/k5tls/openssl.c ++++ b/src/plugins/tls/k5tls/openssl.c +@@ -146,10 +146,10 @@ domain_match(const char *presented, size_t plen, const char *expected) + + /* Fetch the list of subjectAltNames from a certificate. */ + static GENERAL_NAMES * +-get_cert_sans(X509 *x) ++get_cert_sans(const X509 *x) + { + int ext; +- X509_EXTENSION *san_ext; ++ const X509_EXTENSION *san_ext; + + ext = X509_get_ext_by_NID(x, NID_subject_alt_name, -1); + if (ext < 0) +@@ -163,9 +163,9 @@ get_cert_sans(X509 *x) + /* Fetch a CN value from the subjct name field, returning its length, or -1 if + * there is no subject name or it contains no CN value. */ + static int +-get_cert_cn(X509 *x, char *buf, size_t bufsize) ++get_cert_cn(const X509 *x, char *buf, size_t bufsize) + { +- X509_NAME *name; ++ const X509_NAME *name; + + name = X509_get_subject_name(x); + if (name == NULL) +@@ -175,7 +175,7 @@ get_cert_cn(X509 *x, char *buf, size_t bufsize) + + /* Return true if text matches any of the addresses we can recover from x. */ + static krb5_boolean +-check_cert_address(X509 *x, const char *text) ++check_cert_address(const X509 *x, const char *text) + { + char buf[1024]; + GENERAL_NAMES *sans; +@@ -234,7 +234,7 @@ check_cert_address(X509 *x, const char *text) + + /* Return true if expected matches any of the names we can recover from x. */ + static krb5_boolean +-check_cert_servername(X509 *x, const char *expected) ++check_cert_servername(const X509 *x, const char *expected) + { + char buf[1024]; + GENERAL_NAMES *sans; diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb index 89e5502847..7666ec5671 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb @@ -24,6 +24,9 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ file://fix-strchr-conformance-to-C23.patch;striplevel=2 \ file://crosscompile_nm.patch \ file://0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch;striplevel=2 \ + file://0001-Improve-future-OpenSSL-compatibility.patch;striplevel=2 \ + file://0002-Remove-OpenSSL-1.0-support.patch;striplevel=2 \ + file://0003-k5tls-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch;striplevel=2 \ file://etc/init.d/krb5-kdc \ file://etc/init.d/krb5-admin-server \ file://etc/default/krb5-kdc \ From patchwork Thu Aug 27 18:53:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96580 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DAC14C61DD5 for ; Thu, 27 Aug 2026 18:53:42 +0000 (UTC) Received: from AM0PR83CU005.outbound.protection.outlook.com (AM0PR83CU005.outbound.protection.outlook.com [52.101.69.43]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1876.1787856818107880496 for ; Thu, 27 Aug 2026 11:53:38 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=xlMdeJ48; spf=pass (domain: est.tech, ip: 52.101.69.43, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MH+WoNXiD44fHE5yk73W09Fe10UhxgmqmAGoGPOrnBXGqv3jO+mAKOT2kE+dM0P3WMbuM/6r341DRDv6VguAovJ8Grtla0dSjq+thmIvhlKjlys+nOQQuUU6WR6ohK1YboxIYfVIx/mztIuQl0Rc0VfvXWMP5zN/dIIQWp4icCTlxYusi93t0bCYi10NfYXcUNs3LU++yUfRLyNTqGRfzFlr9oRLrpCFXVOR0FUtxs5xcCzkTDdG6CVNJQag43IKoD/yj+U+CeOb2O0TyZIOI+qXLIv5zTWgMPq9B0tAlSnHkbYGMBMTwoobtZRu8+y87jHmcRWwhUMrshVmWuctnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=V/CagYaWaGxy0u5qj9hn+pWcjcvczEM8R8BCWjXvlJY=; b=vQCqIbAAu0RODJ3FW/kqhsGJXK6ykkGSNPjIpn279Ef/WeyFgrG9rg07nB6LLE3P9GF6NkMAOjkpj+zxowHn4obe8lBxSC8+ybqIMRJv2+tybIydXiNk0fbHHgP3DGLCkHYH4fTiqDx+nATdjDih4boyqCBKs+zXCOcgSG63E02L8pXK4v59s+nKWZVPo5bwaASPESLjQLzmuWSbp/xrsYT8H29ETnrhNe8Da1x0TIUWg6vLs+LyLTihb+2zVTFen3DXPLy9dPKzOTYPh59ScLAgtj/3bRre+qw8ypPQLYf6AdXsayBqFLHDJYg+YZg1/iLC9qjYBP7jqPY3U3jhIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V/CagYaWaGxy0u5qj9hn+pWcjcvczEM8R8BCWjXvlJY=; b=xlMdeJ48RT6Z/AV3yPUrL1H8TdiCR54oJyughxuSviyAI2r/5/nIUZW2WBTCJ+DBOFLpSrYL4ZZ31S7ltecBDlDsiH7Uu8JLi5ui6ZKQ0gDoqSIqCL3Z5HVk42uuynj/fD319QPXuyYCzHhMGwzaUNvMvgpQVsiDLWdPV3ZROO3uDKQHPipvvs1VuqqBnpy44sl1/GChzKjsi4h4KtWRJo+SPjd7zLkmrqjLRNZx/L88wNFJ/f9xgzS7gbzGQtmuS0dKiKJ9QzNQ7k/K/Ah1qyKnZ59/jcbr/DjCmNY08plgHgoEk5fEEpVyADwEg7QoU9fccU6DwBeANkq73mlRAQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB8P189MB0809.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:122::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:34 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:33 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-perl][RFC 03/20] libnet-ssleay-perl: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:07 +0200 Message-ID: <20260827185324.78997-4-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO0P123CA0001.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::10) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB8P189MB0809:EE_ X-MS-Office365-Filtering-Correlation-Id: 42f2895f-b76b-4d09-7324-08df046c7ea3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|23010399003|376014|22082099003|18002099003|56012099006|13003099007|3023799007|6133799003|11063799006|5023799004|10067099003; X-Microsoft-Antispam-Message-Info: V+h5T2Z+C0VBNFTNhcg/iZAV7F/JoyUtXhjJq1ROivgov3lTvri3Wgc4AjxOOhurVmEpVV+xyd4QNVSPGeBK4PutfwDQgpKBj8AXD5lFHzKJ7XHVlCW/gwf/MfHH+TqF/dY5a5LYsiwndRRHtlnXRXB+i3ftGne3yDygf//iunMgIXg2QDPXBObydM1p3FumzIKcaQ2PiscZ2eJXb8G0ntD/IAL90EFCQVpcepflJrfvbpbKiv6p/qMLC/tMOtFdkcUeOBq9YACvi1RF9lotMPX7WKOJIdSyRgiFQOFO7e7x73MRJeH0oQeaP3cLdYoAAjMmBbRLtXWVj6e+dE5SDbM79BnYHwm3THNLdr6cr3QyfuAeYR8iykebTx1FeThPUdPqf3b8bgAwmPf2FprEHDg8nsCclLDNJfB5DWMBNy9IqWCl2+U5Vcnph2PUuXSp6r2FqH6Zwe2CGlXvabUD/VjjKtS9AvIIKw6W944WMyrxLj2qvMcoGMZiv0FI9kDx3hEgQRAz2hq/iEbIYuoHQyYfN7rqjiHSlW/kcRQFVAf4VwlUk2AoOILEzfPJqRSu8sFhROIU5YOz3BGOJdbY4i5rFvknZ0n3iw3/9WugdjMfinTkhbjGXLdQE6yEpoGf9LjTmGOb5uDotj2/rhdmS658tZ3wA5XDCC1fLdXlpVU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(13003099007)(3023799007)(6133799003)(11063799006)(5023799004)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: F3S90XwpXCccT6qKgjEPK+npHgurzra7D6jLYD08IUVgjFvvu+gDpgyQUjmG79jCRCHTHh3Pdo1wPFgbPUn7fSRLehdpqlRx5fjPoaYHoP9+kNrhz+f4BTBXnYx0JmJfQ7KZyUYcQ5h39Z3KQvuQ8YdP/4fIFiZnn5y8lJFZHFYajnXMGoDcZmRGGq4qLS4pks6/zEDwxqmM+vgQCXogi+rqBbGaMwjAMi5OheSv5+W/YyffLUFQxEqxNq15ywEDMYF/4PcnjkF+RqKHZRA2SzyMJG9VT2QeBTL4WqSk0lWP25Edv7KJdQW5xz9Oor/6D8RHxl0fJlCGDDnwfw3Jyf4ApIJRKcyJEkio0cyz5uTiZMkMx9s10wwEYM0JeNlTzTESKsJNGSoau5JeRg+pKaQ3rP8k8eouyK0xUerKt1EBnI568VJ7wS9W0WE1VK4f4nbgsW8CSmap9acGeYeOGZxXYr6sgRbfUosBBB02jVAHG7NDrpRpWsWIpWcblszmScU99drUGztrFp4N8v2HcQtGtu7SJSNOUHqZ1oLz8zUdu9bJJ7iCFWgTRVUrFAXS/C4hSPZwP80AVttAK0Da4PR9QVHbNHdrgcZ0lPCK6cAyWqtW9aMn5ptt6p1rggzNRrwUcyo0z3XXhJTgZGAxrT4+FBYon/3VooX3XpWkLipOEo0ONUgQdqYD2B6lB8Gq8mEVXrr9Wn7Xfy67FcNM26sovhT89WASiesoubgw2w3hqp82GuwgQ1i9Woyda1VPFPAWoUcRi/ZwmF2iIfyVgFDx3YL32w1lPIK+HSkesOX6H6FEQG6TEyNPYwyG6Vwp5b7lKqZPFqehq/SH1taWkipe0EFGi914hyod/fm6PsKipJXUCwDDl7Ibdj5Xaq1aO+Wq52EXYtB0L1wamBeTPRAwmtz0M5mvwHDYC8kER/bkb73k+BP7IZBWrattEcqMZFgqZ1dW/oj+7Pml4pbtho1FJNyhkpk4o0DF8b2CA3Qmit4LWcCUVuaxklie/UbDSBKWTiK/A3cQZFwHGlemzrEupfcmCPlPdv4E8UaZoU0K5gXs1QCnaT1Z7Dd9qf6cra7IfceU9K9vXPaN+fymHZUdTt4JuttyUBbh4yd7C0sj6UTmMMuNHFLUOr8SLYfsEZA1MEs2WRVe6pey3Zx7NZj3VifWMtCUw/XTE8AKzWEZlmzdC2A4He9y5HNECpcwtYpkkGN1rFMu8dmMqnu6L/CrDZrIef79SuEZeaemC4XL7Lr96auqDW+PSkyM5AnzOborn6QUKr/UwTHMesJAHjLxZsT/oOoY7ub7S0lv8kK2aOWQyoE1rJbXHe0QkCur7TgZ0cIK4uLvAVOHtJn8zL1t1G/CrDRjiCkPrnw52YNibCHBkVz+xXpOOvY/73gEDbbFiz7I8Mc2WUUetPmXDlhI0Ci/5zzkqrF3A1t7VkiQX9hqPDdrSikYj2I540zo7GefqapfhuW0tVn1VQQhkPIirmTiyZROgfvcXf/hj7xl3T6S6UOTKuYqmIaCOqVm2O9USgkgSFX05zKCbhD+W126NvunuHDSHKbezuWFwHSDu2utEg+pKoFrDlqRuQ+eKMTo/IJKub3uEJaeXb6ZTTrn5rXFvB0jpgrR/0s+YpvXp7BSXY6fjbWfcWMPg5UXfprbvtGwONB5gFtnbtAjpLnev8zcUJiWhwfw7mKwuXPtxnbrhJnfs9CqiegnPgWNOIDzgGiXoGGgt3JdMXfIvR1Qr9x0bzgnf6Wc6X2p2IgJPU75YrJVxohbak58m1iureZIQz18 X-MS-Exchange-AntiSpam-MessageData-1: mgLCa8EQkls61s4J4F2wtQaVkTXFvb8bCmk= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 42f2895f-b76b-4d09-7324-08df046c7ea3 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:33.8731 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gc7lQx8S124sv/j4KP8b0Rb5M5HvhuDygmtsuv5eO9R5wyWzbSMnjm76FwKzcF5wIRxbSaEtyTkeFYpqpADk5pVtTL/MPddCQsXwjTo/apw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P189MB0809 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129539 Backport three patches from upstream PR #553 (merged): - Fix SSLv3 in OpenSSL 4.0.0 - Remove support for some TLS functions - Support opaque ASN1_STRING Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/pull/553] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch | 34 ++++ ...emove-support-for-some-TLS-functions.patch | 192 ++++++++++++++++++ ...SSLeay-to-support-opaque-ASN1_STRING.patch | 175 ++++++++++++++++ .../libnet/libnet-ssleay-perl_1.96.bb | 6 +- 4 files changed, 406 insertions(+), 1 deletion(-) create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0002-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0003-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch new file mode 100644 index 0000000000..269e39c1bf --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch @@ -0,0 +1,34 @@ +From 361b3adc1dd09f70be7bd8972992626a3240b58d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= +Date: Tue, 14 Apr 2026 12:37:39 +0200 +Subject: [PATCH] Fix SSLv3 in OpenSSL 4.0.0 + +Support for SSLv3 was removed. +Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/pull/553] +Signed-off-by: Jaipaul Cheernam +--- + SSLeay.xs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/SSLeay.xs b/SSLeay.xs +index 0ed7d967..5407fa1a 100644 +--- a/SSLeay.xs ++++ b/SSLeay.xs +@@ -2454,7 +2454,7 @@ SSL_CTX_v2_new() + + #endif + #endif +-#ifndef OPENSSL_NO_SSL3 ++#if !defined(OPENSSL_NO_SSL3) && OPENSSL_VERSION_NUMBER < 0x40000000L + + SSL_CTX * + SSL_CTX_v3_new() +@@ -5600,7 +5600,7 @@ SSLv2_method() + #endif + #endif + +-#ifndef OPENSSL_NO_SSL3 ++#if !defined(OPENSSL_NO_SSL3) && OPENSSL_VERSION_NUMBER < 0x40000000L + + const SSL_METHOD * + SSLv3_method() diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0002-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0002-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch new file mode 100644 index 0000000000..bad83e9398 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0002-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch @@ -0,0 +1,192 @@ +From 780c7ad4803d0fc8e755bb86e589f84898e65040 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= +Date: Tue, 14 Apr 2026 14:08:00 +0200 +Subject: [PATCH] OpenSSL 4.0.0 remove support for some TLS functions + +Removes fixed version TLS methods +(https://github.com/openssl/openssl/pull/30128) +Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/pull/553] +Signed-off-by: Jaipaul Cheernam +--- + SSLeay.xs | 51 ++++++++++++++++++++++++++++++++++++++++------ + lib/Net/SSLeay.pod | 17 +++++++++------- + 2 files changed, 55 insertions(+), 13 deletions(-) + +diff --git a/SSLeay.xs b/SSLeay.xs +index 5407fa1a..ad996d5c 100644 +--- a/SSLeay.xs ++++ b/SSLeay.xs +@@ -2472,7 +2472,7 @@ SSL_CTX_v23_new() + OUTPUT: + RETVAL + +-#if !defined(OPENSSL_NO_TLS1_METHOD) ++#if !defined(OPENSSL_NO_TLS1_METHOD) && OPENSSL_VERSION_NUMBER < 0x40000000L + + SSL_CTX * + SSL_CTX_tlsv1_new() +@@ -2481,9 +2481,22 @@ SSL_CTX_tlsv1_new() + OUTPUT: + RETVAL + ++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L ++ ++SSL_CTX * ++SSL_CTX_tlsv1_new() ++ CODE: ++ RETVAL = SSL_CTX_new(TLS_method()); ++ if (RETVAL) { ++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_VERSION); ++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_VERSION); ++ } ++ OUTPUT: ++ RETVAL ++ + #endif + +-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */ ++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */ + + SSL_CTX * + SSL_CTX_tlsv1_1_new() +@@ -2492,9 +2505,22 @@ SSL_CTX_tlsv1_1_new() + OUTPUT: + RETVAL + ++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L ++ ++SSL_CTX * ++SSL_CTX_tlsv1_1_new() ++ CODE: ++ RETVAL = SSL_CTX_new(TLS_method()); ++ if (RETVAL) { ++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_1_VERSION); ++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_1_VERSION); ++ } ++ OUTPUT: ++ RETVAL ++ + #endif + +-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */ ++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */ + + SSL_CTX * + SSL_CTX_tlsv1_2_new() +@@ -2503,6 +2529,19 @@ SSL_CTX_tlsv1_2_new() + OUTPUT: + RETVAL + ++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L ++ ++SSL_CTX * ++SSL_CTX_tlsv1_2_new() ++ CODE: ++ RETVAL = SSL_CTX_new(TLS_method()); ++ if (RETVAL) { ++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_2_VERSION); ++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_2_VERSION); ++ } ++ OUTPUT: ++ RETVAL ++ + #endif + + SSL_CTX * +@@ -5616,7 +5655,7 @@ SSLv23_server_method() + const SSL_METHOD * + SSLv23_client_method() + +-#if !defined(OPENSSL_NO_TLS1_METHOD) ++#if !defined(OPENSSL_NO_TLS1_METHOD) && OPENSSL_VERSION_NUMBER < 0x40000000L + + const SSL_METHOD * + TLSv1_method() +@@ -5629,7 +5668,7 @@ TLSv1_client_method() + + #endif + +-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */ ++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */ + + const SSL_METHOD * + TLSv1_1_method() +@@ -5642,7 +5681,7 @@ TLSv1_1_client_method() + + #endif + +-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */ ++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */ + + const SSL_METHOD * + TLSv1_2_method() +diff --git a/lib/Net/SSLeay.pod b/lib/Net/SSLeay.pod +index 554fd119..d947ad39 100644 +--- a/lib/Net/SSLeay.pod ++++ b/lib/Net/SSLeay.pod +@@ -1575,7 +1575,7 @@ Check openssl doc L Requires OpenSSL or LibreSSL built with support for TLSv1. Server and client methods not available in Net-SSLeay-1.82 and before. ++B Requires OpenSSL or LibreSSL built with support for TLSv1. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L with L and L instead. + + Returns SSL_METHOD structure corresponding to TLSv1 method, the return value can be later used as a param of L. + +@@ -1587,7 +1587,7 @@ Check openssl doc L Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. Server and client methods not available in Net-SSLeay-1.82 and before. ++B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L with L and L instead. + + Returns SSL_METHOD structure corresponding to TLSv1_1 method, the return value can be later used as a param of L. + +@@ -1599,7 +1599,7 @@ Check openssl doc L Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. Server and client methods not available in Net-SSLeay-1.82 and before. ++B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L with L and L instead. + + Returns SSL_METHOD structure corresponding to TLSv1_2 method, the return value can be later used as a param of L. + +@@ -2998,7 +2998,7 @@ Creates a new SSL_CTX object - based on SSLv3_method() - as framework to establi + + =item * CTX_tlsv1_new + +-B Requires OpenSSL or LibreSSL built with support for TLSv1. ++B Requires OpenSSL or LibreSSL built with support for TLSv1. In OpenSSL 4.0.0 and later, this function is emulated using L with L and L for backward compatibility. It is recommended to use L with L and L instead. + + Creates a new SSL_CTX object - based on C - as a framework for establishing connections using TLSv1. + +@@ -3008,7 +3008,7 @@ Creates a new SSL_CTX object - based on C - as a framework for e + + =item * CTX_tlsv1_1_new + +-B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. ++B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. In OpenSSL 4.0.0 and later, this function is emulated using L with L and L for backward compatibility. It is recommended to use L with L and L instead. + + Creates a new SSL_CTX object - based on C - as a framework for establishing connections using TLSv1.1. + +@@ -3018,7 +3018,7 @@ Creates a new SSL_CTX object - based on C - as a framework for + + =item * CTX_tlsv1_2_new + +-B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. ++B Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. In OpenSSL 4.0.0 and later, this function is emulated using L with L and L for backward compatibility. It is recommended to use L with L and L instead. + + Creates a new SSL_CTX object - based on C - as a framework for establishing connections using TLSv1.2. + +@@ -3035,7 +3035,10 @@ Creates a new SSL_CTX object based on $meth method + # + # returns: value corresponding to openssl's SSL_CTX structure (0 on failure) + +- # example ++ # example (recommended, available since OpenSSL 1.1.0) ++ my $ctx = Net::SSLeay::CTX_new_with_method(&Net::SSLeay::TLS_method); ++ ++ # example (TLSv1_method not available in OpenSSL 4.0.0+) + my $ctx = Net::SSLeay::CTX_new_with_method(&Net::SSLeay::TLSv1_method); + + Check openssl doc L diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0003-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0003-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch new file mode 100644 index 0000000000..c1e733ac7b --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0003-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch @@ -0,0 +1,175 @@ +From 929e8eb5ae2953fdb5231588a9d916ae6cffa939 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= +Date: Tue, 14 Apr 2026 14:32:27 +0200 +Subject: [PATCH] Fix Net::SSLeay to support opaque ASN1_STRING + +Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/pull/553] +Signed-off-by: Jaipaul Cheernam +--- + SSLeay.xs | 95 +++++++++++++++++++++++++++++++++---------------------- + 1 file changed, 57 insertions(+), 38 deletions(-) + +diff --git a/SSLeay.xs b/SSLeay.xs +index ad996d5c..2567d81a 100644 +--- a/SSLeay.xs ++++ b/SSLeay.xs +@@ -2194,35 +2194,41 @@ int ssl_ctx_set_cert_cb_invoke(SSL *ssl, void *arg) + + time_t ASN1_TIME_timet(ASN1_TIME *asn1t, time_t *gmtoff) { + struct tm t; +- const char *p = (const char*) asn1t->data; ++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL) ++ const char *p = (const char*) ASN1_STRING_get0_data(asn1t); ++#else ++ const char *p = (const char*) ASN1_STRING_data(asn1t); ++#endif ++ int asn1t_length = ASN1_STRING_length(asn1t); ++ int asn1t_type = ASN1_STRING_type(asn1t); + size_t msec = 0, tz = 0, i, l; + time_t result; + int adj = 0; + +- if (asn1t->type == V_ASN1_UTCTIME) { +- if (asn1t->length<12 || asn1t->length>17) return 0; +- if (asn1t->length>12) tz = 12; ++ if (asn1t_type == V_ASN1_UTCTIME) { ++ if (asn1t_length<12 || asn1t_length>17) return 0; ++ if (asn1t_length>12) tz = 12; + } else { +- if (asn1t->length<14) return 0; +- if (asn1t->length>14) { ++ if (asn1t_length<14) return 0; ++ if (asn1t_length>14) { + if (p[14] == '.') { + msec = 14; +- for(i=msec+1;ilength && p[i]>='0' && p[i]<='9';i++) ; +- if (ilength) tz = i; ++ for(i=msec+1;i<(size_t)asn1t_length && p[i]>='0' && p[i]<='9';i++) ; ++ if (i<(size_t)asn1t_length) tz = i; + } else { + tz = 14; + } + } + } + +- l = msec ? msec : tz ? tz : asn1t->length; ++ l = msec ? msec : tz ? tz : (size_t)asn1t_length; + for(i=0;i'9') return 0; + } + + /* extract data and time */ + OPENSSL_cleanse(&t, sizeof(t)); +- if (asn1t->type == V_ASN1_UTCTIME) { /* YY - two digit year */ ++ if (asn1t_type == V_ASN1_UTCTIME) { /* YY - two digit year */ + t.tm_year = (p[0]-'0')*10 + (p[1]-'0'); + if (t.tm_year < 70) t.tm_year += 100; + i=2; +@@ -2242,11 +2248,11 @@ time_t ASN1_TIME_timet(ASN1_TIME *asn1t, time_t *gmtoff) { + if (tz) { + /* TZ is 'Z' or [+-]DDDD and after TZ the string must stop*/ + if (p[tz] == 'Z') { +- if (asn1t->length>tz+1 ) return 0; +- } else if (asn1t->lengthtz+1 ) return 0; ++ } else if ((size_t)asn1t_lengthlength>tz+5 ) return 0; ++ if ((size_t)asn1t_length>tz+5 ) return 0; + for(i=tz+1;i'9') return 0; + } +@@ -4690,7 +4696,11 @@ X509_get_subjectAltNames(cert) + EXTEND(SP, 2); + count++; + PUSHs(sv_2mortal(newSViv(subjAltNameDN->type))); +- PUSHs(sv_2mortal(newSVpv((const char*)subjAltNameDN->d.ip->data, subjAltNameDN->d.ip->length))); ++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL) ++ PUSHs(sv_2mortal(newSVpv((const char*)ASN1_STRING_get0_data(subjAltNameDN->d.ip), ASN1_STRING_length(subjAltNameDN->d.ip)))); ++#else ++ PUSHs(sv_2mortal(newSVpv((const char*)ASN1_STRING_data(subjAltNameDN->d.ip), ASN1_STRING_length(subjAltNameDN->d.ip)))); ++#endif + break; + + } +@@ -5229,15 +5239,20 @@ P_ASN1_TIME_get_isotime(tm) + ASN1_TIME_to_generalizedtime(tm,&tmp); + if (tmp) { + if (ASN1_GENERALIZEDTIME_check(tmp)) { +- if (strlen((char*)tmp->data)>=14 && strlen((char*)tmp->data)<200) { ++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL) ++ const char *tmp_data = (const char*)ASN1_STRING_get0_data(tmp); ++#else ++ const char *tmp_data = (const char*)ASN1_STRING_data(tmp); ++#endif ++ if (strlen(tmp_data)>=14 && strlen(tmp_data)<200) { + strcpy (buf,"yyyy-mm-ddThh:mm:ss"); +- strncpy(buf, (char*)tmp->data, 4); +- strncpy(buf+5, (char*)tmp->data+4, 2); +- strncpy(buf+8, (char*)tmp->data+6, 2); +- strncpy(buf+11,(char*)tmp->data+8, 2); +- strncpy(buf+14,(char*)tmp->data+10,2); +- strncpy(buf+17,(char*)tmp->data+12,2); +- if (strlen((char*)tmp->data)>14) strcat(buf+19,(char*)tmp->data+14); ++ strncpy(buf, tmp_data, 4); ++ strncpy(buf+5, tmp_data+4, 2); ++ strncpy(buf+8, tmp_data+6, 2); ++ strncpy(buf+11,tmp_data+8, 2); ++ strncpy(buf+14,tmp_data+10,2); ++ strncpy(buf+17,tmp_data+12,2); ++ if (strlen(tmp_data)>14) strcat(buf+19,tmp_data+14); + } + } + ASN1_GENERALIZEDTIME_free(tmp); +@@ -5250,7 +5265,6 @@ P_ASN1_TIME_set_isotime(tm,str) + ASN1_TIME *tm + const char *str + PREINIT: +- ASN1_TIME t; + char buf[256]; + int i,rv; + CODE: +@@ -5272,22 +5286,27 @@ P_ASN1_TIME_set_isotime(tm,str) + buf[14] = '\0'; + if (strlen(str)>19 && strlen(str)<200) strcat(buf,str+19); + +- /* WORKAROUND: ASN1_TIME_set_string() not available in 0.9.8 !!!*/ +- /* in 1.0.0 we would simply: rv = ASN1_TIME_set_string(tm,buf); */ +- t.length = strlen(buf); +- t.data = (unsigned char *)buf; +- t.flags = 0; +- t.type = V_ASN1_UTCTIME; +- if (!ASN1_TIME_check(&t)) { +- t.type = V_ASN1_GENERALIZEDTIME; +- if (!ASN1_TIME_check(&t)) XSRETURN_UNDEF; ++ /* ASN1_TIME_set_string() not available in 0.9.8 */ ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ rv = ASN1_TIME_set_string(tm, buf); ++ if (!rv) XSRETURN_UNDEF; ++#else ++ { ++ ASN1_TIME t; ++ t.length = strlen(buf); ++ t.data = (unsigned char *)buf; ++ t.flags = 0; ++ t.type = V_ASN1_UTCTIME; ++ if (!ASN1_TIME_check(&t)) { ++ t.type = V_ASN1_GENERALIZEDTIME; ++ if (!ASN1_TIME_check(&t)) XSRETURN_UNDEF; ++ } ++ tm->type = t.type; ++ tm->flags = t.flags; ++ if (!ASN1_STRING_set(tm,t.data,t.length)) XSRETURN_UNDEF; ++ rv = 1; + } +- tm->type = t.type; +- tm->flags = t.flags; +- if (!ASN1_STRING_set(tm,t.data,t.length)) XSRETURN_UNDEF; +- rv = 1; +- +- /* end of ASN1_TIME_set_string() reimplementation */ ++#endif + + ST(0) = sv_newmortal(); + sv_setiv(ST(0), rv); /* 1 = success, undef = failure */ diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb index d2c3bee645..e5f8718f68 100644 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb @@ -24,7 +24,11 @@ RDEPENDS:${PN} += "\ " SRC_URI = "${CPAN_MIRROR}/authors/id/C/CH/CHRISN/Net-SSLeay-${PV}.tar.gz \ - file://run-ptest" + file://run-ptest \ + file://0001-Fix-SSLv3-in-OpenSSL-4.0.0.patch \ + file://0002-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch \ + file://0003-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch \ + " SRC_URI[sha256sum] = "ab213691685fb2a576c669cbc8d9266f8165a31563ad15b7c4030b94adfc0753" S = "${UNPACKDIR}/Net-SSLeay-${PV}" From patchwork Thu Aug 27 18:53:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96579 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4D69C61DD3 for ; Thu, 27 Aug 2026 18:53:42 +0000 (UTC) Received: from AS8PR04CU009.outbound.protection.outlook.com (AS8PR04CU009.outbound.protection.outlook.com [52.101.70.34]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1789.1787856817244885216 for ; Thu, 27 Aug 2026 11:53:37 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=NpG2CKv5; spf=pass (domain: est.tech, ip: 52.101.70.34, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nf8L0Z0D9wKb4lsPmPdnxfFUzojxUACJ8bqlKE6q5YMl6GS9aKosrYjpUmV8QMW8PwTs5hOV7S1D7uwxHTNfzJdPYg4pLX6NB6DL59J9Rzil04lCdBBRnRLGDPhDzJm0qvK/9l+G4GrnhDV7D2wtiKo50op3Y5s9Lt+otaGvc2DJZ/ejOaKCbnGBnt17FbDJ/cxPStRHthZZlvkHYIXZOh0MHLzXglyRJ7otx/8WS5W4nWSIjtbcXN5t8v6hYCZgVbop+PU1oa1zb2khj6ugZRnlsPLo+IkKr4JYNDIkpN3ZNvaY8yJWYLMKjctsGGzFHcFb1vp7/qSMydWgeNdQOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hm2B81oJH/YqXqxfV4Gd4R/8RIA7TfY5zhIHwDpmocM=; b=cLxc6H1x2X6M1X9yLY9wN3BL49enfBF3++2j8iMDfE0CHI1zdmzl/6dt+7WlU9hKPnH5wwdJvQ4PMQkX+Rc/QtAOq9Qsw5trV9dW/QaRragOMMIHoMDGJ5F4b6dGQ05eLwu7MZ0ZpgqwoDZoFVgHmjI0C1xb2zfYw3fZl9tmpj3K5MpX5apyf7ENH/ij1sgDjLmiqbaSXGGqygtfsmqm2Gd5ThEMDPBF3nu//ogWgYa7+6HbXEzy479okJ+8w/Hmc3wfSIfJ8GlzghfeOS7gHcFwR4MuJ/64EMFdIm9z6BE1wNOJr8MLRo/qhFbGUHeXPYSg4Ucw/geYdH34GLkAuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hm2B81oJH/YqXqxfV4Gd4R/8RIA7TfY5zhIHwDpmocM=; b=NpG2CKv5p22UJ0RAd5wyuglbEy/3yId3EcuufMFO+StWfXxRhhNqErZyaYrDrrdfCgyei0INeRq/q0rLpD+bFl3V5rieCPbqn5D+4GNVkhUh/vKFskOeF4FMqpyQ1+xsLtZ340ytQ0q6tTX0e4Zfxpz+2I9lNU0Ul1GawMNtABn6X2Ci2lM8QKDagcQtqnSBaTKJkH9NZF/Ly78BvdavjFsHeBhWlFs2ooYnbvG03xau/oAIZm47yfRuFKhP+d9JTXXu6LtGSKvISBxm9svhlECSj1wegYKkK6HH51PFuk7HCpImPj+O1bUpa9Brw2RR4rFgQjSG7srKKXm3aj/KkQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by PA2P189MB2706.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:424::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:35 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:35 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 04/20] libtorrent-rasterbar: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:08 +0200 Message-ID: <20260827185324.78997-5-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO0P123CA0014.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::18) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|PA2P189MB2706:EE_ X-MS-Office365-Filtering-Correlation-Id: 3140282d-f152-4558-ca02-08df046c7f59 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|10070799003|23010399003|366016|13003099007|6133799003|3023799007|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: AqtQ480lU53MSNoEKO5Ryd8zioT/15lAZ4sV/NzzeeaNnZnrh/Qljaee5cjnkMiJyC1XhPNMbefEfvPQ5+kmZTKIVZP/UXyE60hszjF8TsttWkMPRnVhV5t6VOUp3oXi0RI4iTZ8S7CySWCZ5RAZAjLZX9Wi9glPTT8nv8pVGw9o/c6MKJ/2wWCOYbmPk+o8MfNguZshIGoVjXvKwJPiA3OqpuucYdqHldbuhq1NaV3+sqL1/hIOY516dlBpCzS1W8kCyFeGtaTljPLk3GLGpU6MvLuL9xmKAt9u6+kERqa79tlUpV7LPC1XZhCANuMtvQPPIF6djm/dgTYim+eEnwwOsTtR8A0z9nJKtSMTJvEuARa0oOIRkGHwGBnccA8ZILoN8J6t3RWb9Beyvxf5PgpiTgPgUsnSdtRPG74gn04J8fw63Ki7RfK4hmB1xRdwmmunKItZ9KuUL7y/iWR6VV1YYotCEvjtS63fbWgBIZIt8p9bnLcpMZ3p+8MTjyi4jSHT19krMrReAaqUSiidA7xVxEjBD2N9TzsXbBAWih3GPEHKE9yS2X0kNCCER8KgkJ8DAu6fPjbxDTDNMW2Vc+jEn89kjh3QPpu+Dlpr/rTk0py2B+3pbNUB5FwJdWgk X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(23010399003)(366016)(13003099007)(6133799003)(3023799007)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: IOzm6vCeeqcy/HXKwD0bYX5WRxn4kqzuvYsPZpWqDrDYX5BhuJdzwOB03c0row6VctfiIsqq0aLANWVDhBOx627B01iv0PPLlj2I9gUayGVMpJ+61RDG99T3TV1JL7fXh64IuIovWxMhDg0vg39cypZM0nJGxWRxt1s47YnxAGF8v+V4Qyj9Xx1ydyTqUjhKz4f0EAXCpzDAyvrIA+f6nMRyCP/JOOuKUK9wBtp7b5wvZZ1Du4euHRaXY6fTk9pEJGLUbPLOLt8xJ0El3ifcuI36SzySxHIM71gIcHBKt/V/tuf7Xyp5WdzO9xQUxSflxph2ttEqnYRMQY96OX9NVNpuvW56uUi5V2hEcEHrAvPnpCTk63b1sHKAKPUFc46rl6tjEPFwCwNq+fL/SoMrnSn9NgOLw3eZVthxYhpnJuilKFKoCJ3RtSUJQ2DvwaFtrvlA0f5RhQEnpEc/vYiO1iYUMH7tFuTJAqiERyzHbSZBdvHLHU9WqFU1OH0cSZiWz4qupqrZoxsKiG7WjjLZ/iDCgptKGSXvDZxKQqgXfFrp3r/bZWJVU+DxeJ4TXMgcAL4/JpagZp8y/Mng/VD1BTJUIEq2e7yoSgdGaj+MlpJ3azrEmsWL1SDnBmVX2Wpx5r2PzXh+1laLEhln+BgmKWTgwfSK339/jPBNROLiQRWme+llANzk3yqfxp6QcRWlRP+eG2y9GAl1wTCpYG1GoHF0hzQ+DEskKQUikCqqImK2MWEIj4YlrkC1VEqQqNQt3q8Rb5LwyKbjUcL1Qhgtc9LwqHDV7GADzgqVF7LmF1SLxu3QnGhQV+9L7sKBbIIFmJuCUY2ugz7jSOmPfebB6Lu+i9De0fZmNBgCSmF7782zuOzLs+UAHkRUhrvf2FiQcCDcDhQpsLNQjjoGlplbKFuiXiT/ecbE5bXaP6rIASlsVHFBEtqRzk4tbpeN59vtFVg9J7EKwWP65DFKZoklVINm/jDQaBsIbO5Am3ZZ5YcVamU7PaqeS/uMTQo8aS3yfOUnndlZRBlbNjWdON5kxCJTHCT6D6G40ajVi6byS39zcX/sEMQHklVemUcdiS87EGuFbXvMk4iVECvm30Inrm3fB0QEG1b8yJt/0LZoalz7d1jqcK7E7oU18LBVI2sBWtNh2SeYHuSYDygHVPDb/rjncHQyqaA1efFluTUsjq3Cltsu2MbOKfpFPXFEimp4sSiwoAQZO2MYQ6Am/4P41oifRJaWbnE/1EczfZuIGaXvgIwaN1bap2d/9DpkcriQkSmadCsFUqmzfbnIN8uxG0UEdHpB1BMXmlugvCLHc+cWLq3yaC5FwwyeNQEMmQrlNXqMJLhj95uQ0hqD/X2vlk1fk59ed5TZ7aTWFUIdveKjirFZcfav9H6gPBzXWw12LlON2+c+PEOPw14KFEl79rVOZ6b46xSEx38zVijhHY7CKpC5BNKVAs3P5wiIjM7Oe/G0cBzKgvSw8YTDDa22NVLp6t5Vt5zm/42aGZE69jegIoCrTTYBVfm1tCPFWvsLlp5PK0BNIgCBXpV0B2kTN/KRV9MmcyDxXyuJNI+enDp886G6YHpwNgsreCy/TV8MfFWxCuvAtJcbqBZSDF73gb9FOj5zGtQSIJZ1vpsFT2v4KIQeHArsUFCRifZ2Uj112bkEKxGVjsMcEcvgAk6zWoVHTJq4+lGY3aFP4Tvnn8txt5nxaF8dFBeVRSmRD0YPNeEo96IvgkYTZHUzvvYUY0DAHw5fVzswZzeNomKhWC3rXn3apbVuRVusXb1odfzyI1TWykPB X-MS-Exchange-AntiSpam-MessageData-1: X8gmQUPwDISKeiaTlG1RrHPhM8/OhaMO04c= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 3140282d-f152-4558-ca02-08df046c7f59 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:35.0401 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8AAN6TGLovFpaqYhsh6HJvzlxzLaXP25qlAYARupDPAyNsJ+m2Q3auUTIJ2UbQE5X1mgDe2lY0FSreovCDlf4uqv1DlFKH2O85IG8TVUMr8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2P189MB2706 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129538 OpenSSL 4.0 makes ASN1_IA5STRING opaque. Backport upstream fix. Upstream-Status: Backport [https://github.com/arvidn/libtorrent/commit/50bd3a46c2c5] Signed-off-by: Jaipaul Cheernam --- .../0001-Add-support-for-OpenSSL-4.0.patch | 61 +++++++++++++++++++ .../libtorrent-rasterbar_2.0.12.bb | 4 +- 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar/0001-Add-support-for-OpenSSL-4.0.patch diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar/0001-Add-support-for-OpenSSL-4.0.patch b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar/0001-Add-support-for-OpenSSL-4.0.patch new file mode 100644 index 0000000000..5b3407fc52 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar/0001-Add-support-for-OpenSSL-4.0.patch @@ -0,0 +1,61 @@ +From 50bd3a46c2c5ccd7298415d1a66ef27c96d0fa2b Mon Sep 17 00:00:00 2001 +From: Chocobo1 +Date: Sun, 19 Apr 2026 01:01:53 +0800 +Subject: [PATCH] Add support for OpenSSL 4.0 + +The accessor functions for `ASN1_STRING` are available since OpenSSL 1.0.1 so we are free to use +them without conditional guards. +See: https://openssl-library.org/post/2026-04-13-asn1_string/ + +Closes #8268. +Upstream-Status: Backport [https://github.com/arvidn/libtorrent/commit/50bd3a46c2c5] +Signed-off-by: Jaipaul Cheernam +--- + src/torrent.cpp | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +diff --git a/src/torrent.cpp b/src/torrent.cpp +index c6564b67f82..7fcc75b3ed4 100644 +--- a/src/torrent.cpp ++++ b/src/torrent.cpp +@@ -1630,9 +1630,9 @@ aux::vector file_to_piece_prio( + GENERAL_NAME* gen = sk_GENERAL_NAME_value(gens, i); + if (gen->type != GEN_DNS) continue; + ASN1_IA5STRING* domain = gen->d.dNSName; +- if (domain->type != V_ASN1_IA5STRING || !domain->data || !domain->length) continue; +- auto const* torrent_name = reinterpret_cast(domain->data); +- auto const name_length = aux::numeric_cast(domain->length); ++ if (ASN1_STRING_type(domain) != V_ASN1_IA5STRING || !ASN1_STRING_get0_data(domain) || !ASN1_STRING_length(domain)) continue; ++ auto const* torrent_name = reinterpret_cast(ASN1_STRING_get0_data(domain)); ++ auto const name_length = aux::numeric_cast(ASN1_STRING_length(domain)); + + #ifndef TORRENT_DISABLE_LOGGING + if (i > 1) names += " | n: "; +@@ -1654,18 +1654,22 @@ aux::vector file_to_piece_prio( + + // no match in the alternate names, so try the common names. We should only + // use the "most specific" common name, which is the last one in the list. ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++ X509_NAME const* name = X509_get_subject_name(cert); ++#else + X509_NAME* name = X509_get_subject_name(cert); ++#endif + int i = -1; +- ASN1_STRING* common_name = nullptr; ++ ASN1_STRING const* common_name = nullptr; + while ((i = X509_NAME_get_index_by_NID(name, NID_commonName, i)) >= 0) + { +- X509_NAME_ENTRY* name_entry = X509_NAME_get_entry(name, i); ++ X509_NAME_ENTRY const* name_entry = X509_NAME_get_entry(name, i); + common_name = X509_NAME_ENTRY_get_data(name_entry); + } +- if (common_name && common_name->data && common_name->length) ++ if (common_name && ASN1_STRING_get0_data(common_name) && ASN1_STRING_length(common_name)) + { +- auto const* torrent_name = reinterpret_cast(common_name->data); +- auto const name_length = aux::numeric_cast(common_name->length); ++ auto const* torrent_name = reinterpret_cast(ASN1_STRING_get0_data(common_name)); ++ auto const name_length = aux::numeric_cast(ASN1_STRING_length(common_name)); + + #ifndef TORRENT_DISABLE_LOGGING + if (!names.empty()) names += " | n: "; diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb index 6a61286f7a..726bb059ef 100644 --- a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb +++ b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb @@ -8,7 +8,9 @@ DEPENDS = "boost openssl" SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https;tag=v${PV} \ git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/try_signal;name=try_signal \ - file://0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch" + file://0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch \ + file://0001-Add-support-for-OpenSSL-4.0.patch \ + " SRCREV = "740a0b9aeabe00e762cc0efe4a0f27593db2550b" SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d" From patchwork Thu Aug 27 18:53:09 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96577 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98462C61DC4 for ; Thu, 27 Aug 2026 18:53:42 +0000 (UTC) Received: from AM0PR83CU005.outbound.protection.outlook.com (AM0PR83CU005.outbound.protection.outlook.com [52.101.69.43]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1876.1787856818107880496 for ; Thu, 27 Aug 2026 11:53:39 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=IggCKR9U; spf=pass (domain: est.tech, ip: 52.101.69.43, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BeXp/UxBZDXJeNKJcpkwggGh4i9Xu/0fEVDlGWvpv7yynIcKdilC8QwwUXo3Urj71BISQnixa7CSNneKgYNN3L/Kw25c2t2Dn9Hr2Giyb/MOVVN9vEdVH1P6gqNGnhja/DXa99XOAonErQDbRwHIADnKs4yY7zW7neNgK8XSV1A6IMZpLBpnDMyIzhVJ8bzQP/RQ7ehMxVG7b4c4uZXiv8CZwZQEmXc3g8PTmpf2qP9edjBXG44h1nz135JCIHhxd33OgaFnTlvjR/Y2+47sjIHkxbRKbY0A54Q2DiaUyowtrR54tqzp/T8YG3wlvEpju4fQquwKqhVCCquRhIB0kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PWYnvV66g/Bxxlzj882RdaJsZ30FFgU99OzTwg7i26o=; b=ksxJ9GQNetfEMvCiO3Zzl9YAIydFHb/5RvOJrS2J3T/v4QMScW18Ox01+Xi8ZAO2XwAWYmJsv44eCIc//yBzQKwp1tbFxT/hX/H8gohTLsa4526KjwieYmiZfyKn6LrOR2CYHWpPwroUA+50n4caaLq4tjIFJehLSPhCj6uOigsQOouTsNTitumkKGlyiqD+zlE6WNos9I6LvOCathFh3qnNaRmHWCfw7WoZc+CIEiMNxaNb2mZwhQYhc9i4YPetp1sVaQekYGjQvpp+yk1WYk8OezLkQZud6fM89fyiWtZE5xPXTiYV2E97In/sbztY1OYgorXGgwIob1o8kMNwFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PWYnvV66g/Bxxlzj882RdaJsZ30FFgU99OzTwg7i26o=; b=IggCKR9UJETAcB1TDNZdwOuYMSf5d/JeAzudHBGbhtAeQ4nfSPodD7xEFS/COOiEAONW4yUv4hwJLidHmcJpRmiXc2mipYAyVid34hpwGBOqf9gmqusvD0vHMYtv4iCfBBT9nY8tMAiIl9V5fIgiSGKIl2nkPCj4cD5JK5QbNVTP/4wYDXv4CHdVFVOEA33pDq+ynfDZ+z9o0BSguqaM/T0TURpmsGPGA/AwgSpwfznT2K2xoCV6ChsXF9hI1ydN8NarPb55MTfg80Alx0kAHMWTOexcqRfQV2VG09mY6lHOWId+GaLwZ1h/1c602WP9LqczMmtV34GkItbw8xfNeQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB8P189MB0809.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:122::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:37 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:37 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 05/20] pkcs11-helper: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:09 +0200 Message-ID: <20260827185324.78997-6-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO0P123CA0002.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::13) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB8P189MB0809:EE_ X-MS-Office365-Filtering-Correlation-Id: 1509d2d2-54b7-4d7d-ad6e-08df046c80e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|23010399003|376014|22082099003|18002099003|56012099006|13003099007|3023799007|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: ZgpfVJpfo+aKtla+dEjrWEkKHVe7hOP+XQ2REwOHesNMbq5Mlbg7+9j+QMZ/9XNyr6nN6rACSwZx7RBTn8gnbpsGikrZ/v89/HqitNPUVoK615AkMznmWp+GXy8Ed8YTKZ+DUJzRfqB+NYCm9sQsnqHDQEw7xyBsrMebqHylExivoliKzKVdHOaTq5q1TN0Nqgbbui/04XmAtGAAkdMMU/ih+j36kTA/Zbr3pLeNEDrNJtEWVCfKLr3HL9kBOyAZu0vNjYPLURMRNSSsbuYOxocdlA69iXMHzGhu6AZ4LkB50gl+aiw409wR/0qadHvqKqRxGtbkX5r96G+PQ9wGCHf4erIxOdPj6faMZ1pdz558VAT0L5DCKOhCP4i7ejNqLvgvjDo05RN4ilTSSO/gTA1+9x8BSRkr2vIsRAP/GnnX8QF+QIQ7kij/lohu5Yx52QSiwO7MD2B5svWpoxTY8aFQkAQtUWBp8kTt0/2LnV34vUVDQGKMAwo0pkvni7mX3rubJ+MzJ5QH/MWP/9x+I6jdtzdvTl1Kvgo3EkbWRsVCYLZ0BQq9Q4qbSi3gIfioM3NrIXDDfFihNjTtp5LwZZ6fsMUa2XBnTEbmCaEhsi0PsS27s4OctFf62t38I5az9AEUOzinpc1dcQVvTEQ7Dr5vYEzXHniSkV3DRfIVMq4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(13003099007)(3023799007)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: 6R1YJG78G+XcabTZd4pf01hTINoLKhzDTVltJr/Oxte67OSa5no6a/wiQxhHBjZh65feu9sn5hc8cUm/MroCdSF0faJ47g7j+B3YlC0uCGZrQE1DdWM6g9aoHerA+WGPRcCdNvojSWMluViEM3btwvMa4NzIB5GKclqRFZsALlnqEgXA3pTf4IQ9e8zzZB6HxJ/MbxLy0gF98RFeKdPAHEVBHiXTZuS7t65CnpyJxGJffz/x9am6c2T+hlqNxZqYbhd70nvKySe3FJ4Q1FiNaDJRyHUvyce8McaS7y9sq+7SMuUJNKZEZZz+Awloj/vdNQ0Kzqpvaod6AeqimIKokCAFQ2oZoNAmI85vwETSyk59Wq3R3vzP3x+BLZSmlVfCEvCeAF8WPn23LlWFJ1DPbj+VroSay0/LRbtBkz5BOiFFkwxbX1TXpt8SpN9PE+bZT+a+aBkmAbVdeOsvSkJrojZrOx8Vxs8jpm/GPmBKfy1Bq0G8rU46QKSZq3efr2A36ok0lwoOa3HxcTPy5UEG6cK2cyJqt2TFV2WWzhiHsVPRVsOUvNyCbrwFHl5rXwU1cEVpAvabXLkWIa8cChAvDpakkttzcSYdGO+26/E0l3nnHw1ksl1zEmSbB2x4z/n+jBkzcOq2U19i9PphJUXzLrueaLHeqVwWhspKLkPP67vj9a2zf6/xOLGySQDEIMKM1COyjcow33lrRUoMDiAHzhOffdyGuSDSVePaTYbBVAFHHamqi1qrVbELvXrLUjFY/++FqqJD0yrzDEJQ+TmcInrlP69oM2KB3qYyy7gJApSva7ItSoWhFVRTfE8YZcYu6uoQIsz8/xVwGpXIXEIEcDpvNEO1cEfrfCLz3FhMAYFUjXSsfJGGTGYKPA2hyJ40GeKQcccy1X56jsWXHwq6vrRTxbMtQzGrbx/nnw5U0k76Vpmzpw7rkP91RwtYVctDxHBVzi7CYoaHqfUKJ6UKgXBGNk2dep586ckQBJkTdoKbdRRZClIlLVos6N6bzYIbfG8pVO/6ItKOviWz85F/yjW0y+/JrCaHzDXlyyOAw/VZ09xTujlrMt9fnpb2MMpO1+t9SpVz+w3NIqRngcyLBPRa0MCyqxxjCyG6aHk/cWozF26+CYsD2t6+ai5p75pWODXyFsmg6MeDRxT/lG7ahkcaih8MhSMwbzBLPy6N0Vq5UyL7MqGMDeqTKGvVV2/0AVdaUsXWez3pC3gBA5wzUU7d7RbeVGc5icvNoJhACNzvY+7An+p1Gbi559iBF2hBN8b8+yxEaiVtHCaCaDYrue83UiTuQ7KGfB0ud234BBEirQnpRUFzmW1ZrMSypV/ZKOCSq9O9K3tvTtxtoW7xIulxBUaWNQNGgu1JA6Jp6J5HKYoZ8GhSV7wS9Vo1AQVDbIXHugF8ZAwOJtGkIE4W9J853mFK9nApn0BH1ImjlXS6+i9IicyRWmEepzCcujl1l6nrHNtKc/hbndEXYsnq6IwHekCLMfs9++Q2ydc/7DCo/z4Zcc3J8ANOnkIPT5/7jVxyHt81alhzUOG0F0s4dSVDEMQGD1zFXKnuhdJ6hlYsWkcwduNpa8HxIUclFhmRapxQlVrlDp6ANwLpvLtPFrqYgrf9wZCpRb+cHei7kEN9ZZHte7W93+0QxH+m3UOYnuMI9rax4YHBOa/8yOLJsP+41WuInVv9P+9/3JGYmEU8ZaevFvrT6ImN+uxYQndDUtp+mx/26r29GSHqtzs+2NFtWc/YvIsr/Rg19yKqry/Wq6FjwUcMe53zrm2jKRvM6TdhKxfM X-MS-Exchange-AntiSpam-MessageData-1: B7oHjyawcqC/6zn7T6HvKvQpwU4s0oBLdKA= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 1509d2d2-54b7-4d7d-ad6e-08df046c80e7 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:37.7506 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VZuNwj17DxspvoJeSLWf5pS/NTXR45QnBY5chN8xX1F685LXbmccwtwBLZYaNWiVQfTlkj0HxuyxWdv28pe337KjwdxHOmS+Cw+Q/BfWwkU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P189MB0809 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129540 OpenSSL 4.0 makes ASN1_TIME opaque. Replace manual field access with ASN1_TIME_to_tm() API. Upstream-Status: Backport [https://github.com/OpenSC/pkcs11-helper/commit/59cc22b8d656] Signed-off-by: Jaipaul Cheernam --- ...1-crypto-openssl-use-ASN1_TIME_to_tm.patch | 45 +++++++++++++++++++ .../pkcs11-helper/pkcs11-helper_1.31.0.bb | 4 +- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper/0001-crypto-openssl-use-ASN1_TIME_to_tm.patch diff --git a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper/0001-crypto-openssl-use-ASN1_TIME_to_tm.patch b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper/0001-crypto-openssl-use-ASN1_TIME_to_tm.patch new file mode 100644 index 0000000000..3bc5d3d817 --- /dev/null +++ b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper/0001-crypto-openssl-use-ASN1_TIME_to_tm.patch @@ -0,0 +1,45 @@ +From 59cc22b8d65669da599f1c435fdfe35d4e07db0e Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma +Date: Thu, 4 Jun 2026 12:49:44 +0200 +Subject: [PATCH] crypto-openssl: use ASN1_TIME_to_tm + +Introduced in openssl-1.1.1 and is required for openssl-4. +Upstream-Status: Backport [https://github.com/OpenSC/pkcs11-helper/commit/59cc22b8d656] + +Note: ChangeLog hunk dropped as it does not apply to the released tarball. +Signed-off-by: Jaipaul Cheernam +--- + lib/_pkcs11h-crypto-openssl.c | 16 +++++----------- + 1 file changed, 5 insertions(+), 11 deletions(-) + +diff --git a/lib/_pkcs11h-crypto-openssl.c b/lib/_pkcs11h-crypto-openssl.c +index 05af65e1..aa58722c 100644 +--- a/lib/_pkcs11h-crypto-openssl.c ++++ b/lib/_pkcs11h-crypto-openssl.c +@@ -148,21 +148,15 @@ __pkcs11h_crypto_openssl_certificate_get_expiration ( + notBefore != NULL && + notAfter != NULL && + X509_cmp_current_time (notBefore) <= 0 && +- X509_cmp_current_time (notAfter) >= 0 && +- notAfter->length >= 12 ++ X509_cmp_current_time (notAfter) >= 0 + ) { + struct tm tm1; + + memset (&tm1, 0, sizeof (tm1)); +- tm1.tm_year = (notAfter->data[ 0] - '0') * 10 + (notAfter->data[ 1] - '0') + 100; +- tm1.tm_mon = (notAfter->data[ 2] - '0') * 10 + (notAfter->data[ 3] - '0') - 1; +- tm1.tm_mday = (notAfter->data[ 4] - '0') * 10 + (notAfter->data[ 5] - '0'); +- tm1.tm_hour = (notAfter->data[ 6] - '0') * 10 + (notAfter->data[ 7] - '0'); +- tm1.tm_min = (notAfter->data[ 8] - '0') * 10 + (notAfter->data[ 9] - '0'); +- tm1.tm_sec = (notAfter->data[10] - '0') * 10 + (notAfter->data[11] - '0'); +- +- *expiration = mktime (&tm1); +- *expiration += (int)(mktime (localtime (expiration)) - mktime (gmtime (expiration))); ++ if (ASN1_TIME_to_tm (notAfter, &tm1)) { ++ *expiration = mktime (&tm1); ++ *expiration += (int)(mktime (localtime (expiration)) - mktime (gmtime (expiration))); ++ } + } + + cleanup: diff --git a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.31.0.bb b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.31.0.bb index 3e776993f4..fd81ad888d 100644 --- a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.31.0.bb +++ b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.31.0.bb @@ -14,7 +14,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=008a5b65f5d167bd0f646530ad3d3293 \ file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \ file://COPYING.BSD;md5=66b7a37c3c10483c1fd86007726104d7 \ " -SRC_URI = "git://github.com/OpenSC/${BPN}.git;branch=master;protocol=https" +SRC_URI = "git://github.com/OpenSC/${BPN}.git;branch=master;protocol=https \ + file://0001-crypto-openssl-use-ASN1_TIME_to_tm.patch \ + " # master SRCREV = "286b4415b95f298ab35d62508a37c2aefc055037" From patchwork Thu Aug 27 18:53:10 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96581 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A99AC61DCD for ; Thu, 27 Aug 2026 18:53:43 +0000 (UTC) Received: from AM0PR83CU005.outbound.protection.outlook.com (AM0PR83CU005.outbound.protection.outlook.com [52.101.69.30]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1791.1787856822324223818 for ; Thu, 27 Aug 2026 11:53:42 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=ayDyVTpB; spf=pass (domain: est.tech, ip: 52.101.69.30, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jxxfoL8oSAJXPaf3AlOUfh71qozdo75ZhZUPIsIBnCbKyTVeyzeW7z027fwNezP7CcKBMz0pulTv16nUX3ms39t5Npcn69I8xzzHBYw56Qj1O6T4EK/APHTZw6HIbDGbP853q0UJ/G0QQr4BcPdJc7QVStpW6IFHQJo0oU+YilIUZc1DXepxcUjTlkqJg0pclU2clcpYFYe7eIHKfQU5xKyTBfoEPhQ6z9w7XP8ki+u92fxblb4UK4wmCgpQ3oks1nFsBdWlgoqTelR+x8Rdm+gcYLNY2T8e4juAd9vxcD2atx9P61Hsi+6c+Dlv8PDjKPyNmuCR3dzknILkN3OGXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qcbQUbG19X/nada72IP5vBf5BSK5QMUXxXLrWqvpztE=; b=fxA50fT5yHuotEO9uYIKPwglA8fOxH540p6ol70p7rYEqhUHu4P8k813yVeKdHC3xdJqhuXbfvOe/tOEVVB2bpe5hUISC3HpvCWNldTAX0c8c5Zv+NetYXNgFNoDm0tuVns5lxsQJm8FWLnrs1v5pZXRi/0WSIAeL1HBA33pleUj+tG9y55JlXi/IbGbMB8/Wbb8WNcMDIdZVMtte9R2iGIJUASrTtZ7cQwrpGSfHp62IuvQbdfsWWl7EySp3/ynhtY5vCCuAQtcqiMgP1xe8JzrOCTN4wQW+TdzO/iTRbypvN/LBM+cpkHYGytvjx94kvAIxPIeRiJ3Y1o+sq2FJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qcbQUbG19X/nada72IP5vBf5BSK5QMUXxXLrWqvpztE=; b=ayDyVTpB+MMcs8USc9Wuem1oKfxH0JdwQUmDMo9Dx8+P/2VbNRq8Gw+T+aDJ3QpMiOHRNRaJXi1VknfDs+Mk6NY383mBl4jiSokpaoZKoqohWyzFXLLox69sgvZ6o8ccjA90s5PXvkTsefzg9ASOFR4ef9X3LsPP95dMcQwVAK7swxNxjj5n8DpkSjsdBZdM1Raw2oIEwJTmEYub3HWYbZzYIymRHvVRlmq5BRjyaRc7ycsvViQ8Ay+EE7fcgYlqOspfhHgTQ3X5kM1mAEvLEqdWZwHkcIkvNRNEt5pg8YvlF0E7OV5yI+y+X9doUWlfxve65b08GR4hRjFuy+MWiQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB8P189MB0809.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:122::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:39 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:39 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 06/20] opensc: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:10 +0200 Message-ID: <20260827185324.78997-7-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO0P123CA0007.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::16) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB8P189MB0809:EE_ X-MS-Office365-Filtering-Correlation-Id: 51c009aa-5e01-4793-dfb8-08df046c822b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|23010399003|376014|22082099003|18002099003|56012099006|13003099007|3023799007|6133799003|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: 4dsySGBZCS2rD4pIEdkpUpB4/M14DiZW8dbIr+c5bx1LzhTxGFgMpsYDoZPDM1Gk4/c7WvNykuGZkBNOcS0ULioRYOUZTHwTYhKORYH4RC/161a80mKm6h8rcywV39olpdmSS4Y7eTDbaXpnYSmuVtlQ5v1fmVNRFuFZracOM7YSXFAbLq8NmDJ5piva+GUke36moFpZ37ikm7/KSa6adZRcYVoY5KHa+q2ruNOzHzGRiWzqCXwwjW4S4C5skadi57UhfYE720THWCTd9v4K6Xcaydy0QWDs3ofb8qyjFx1yG8LEl9icEo8gwpn7pcLxzxllZpmt/1nvVIygKXCRgUDQgrTo5Uk6x1wQAMIwZ3pg1JAWwuoMVKipIfcAAuaLRNXte/PM3latlwyLC2R+3VTku8E+Vdd8VKY3JGkwafaJF5pCOboHvmse4FCSNxXTLbTdcPa2Rri/Idl5zFdODTm/wl0H8NzzlwI4hV6Fnsc2SvId9dZX7u9Kv5lohZ9FQzSNrC5XopycJY/ZkJ1b1vHFppqo7wFzXLA5j1z7iIijmh4jFTGBpjFt9B9S9KkuRm/H+WndmFm619X8K+CzHLGMedlpnNveS0+Uerp4OO7LXNuIkaPKkUlbDXeEVzyLCdBGSZOQWy0fSZq+i/IMsbHlpucmTbadS67D/FwLKmk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(13003099007)(3023799007)(6133799003)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: M2Luk4/zYxsHfrdbtLgdTb/U8dReeWhE9lqwvtjQTZj0BFyqtKIxmlnqk9TAXky0aRCA+JAddp5I5Fm+eqF9VVDU9mQJn4CwvMJzuf+QFoxhJX3G+Yqr5iLeg/hHrWWpzqRuxxwhefZSzkmrK0YiuPO7rjm4WO5jUqdcj0iZHfH3HLFrYCt4UH65mcmTUdrz1wDwXUJSRalTpNJ/TJq++qfuuYbOFwMA4lQrPAyql/9eg2ey4wKnv1XoNScM2kJCgaBHjqJr0mLp0s7HhIotiRGJVCOwOgeK3ih4II0qKxhyko8HnkGybtNTXkjPdZIu3mqRsMgceKQZc0Vxk3jEGf8URul5cwX0bPF0sgW2rViulZPqd4Nm3j1WBKNA/B88t+zVOqn33z+pIXblVDzczhsoMzQXn/CbN11HI1nGTOe5vISlUgm9vBzfsc7ZFHRD5Zk7vf0Y7UElK8HKHsvzCxs/W8UmfX5hznXZKF3y8A0T1tbRFjYpKTJz3wXDHMit2A+5lz97t4LG1Xq8VQ0yItR33J6OHiQhy28pN9tGCf2bbU6YOQ8D4m1oSGErmPRH4Z9jHbTtjwgrYpdJzl9YIkPqAYK3Rt0g0/O+XIYsrM53O7YNHaaUhf7DB7ZOWqFvk6XelzEbzIwvZuNBMjqdEJNYS5+CEaY0xSmfIozEx7GObHNrZn10Xd1diGcukjS+wYVlgsxrPHj5MlJmQjFXC+HN1/0lXLnTuv31yDU0IWiWwzcuPK/gqHzu74PSM9EkumrhRdUYyQZqVpbcTlLZgyrYVDqtXH/WABpDzSEGslv59/tBHGyvmiVl2RxXgOZlPBO9PFKoAL3T70ioJA7ldkAjkDd/tgV0LnDnvo1zBtbEtW1eX/oEY2l0GegSgCvmArGjr/B1WYXU9rd2oGMWGirYU+TdEcuKoipvrIPiAt2gOU4x0jowy0yxabKcNLhlobZigTZIxJTw4jHCFml4cXidQCRGy6iNkSyw7vlEdhW7dQ3H1t5OHAlFkWnx+PLbdYBI23WfR6OlAxL59LPIyd2wJN6rIgGeyKixVvUKhxOkZYIwSjCxMi3jEGEWC+x5CCGtbgZuBbolN+6aLiCVWw9kUYi/51OPrhGAzphkKn7hrWe9x9XUnrQ9uDJ+3Miv7cwd5fSBpt5RZFexMUKtriucT9z45IBst/6zyQSb6xPjbvJxKr7wPtXBxzlOcSSZvMNHrZHyS5413QlVqLoUfAg8cV8iJx83AMuC10M8HW94+hBtKrdA9fOmuNgY+KAtT9arldm4yKGiCMAoJwHiYDyn6xRvaSaQEvCOOph+TVuiC3bRaQDEwtVDeGoir3TCIWUB/aAhqERS72C1O+n+1p1BGGMtKczlq0ifG7LKVghDTMkB+sBYoAIzJT5yIOdFBqAbkTXzpE38+rKx+NzcWX/UAEoBHNBUijgBnPjxK/gPwSLGRXRqyo170+QDI4WuSDBEqZ9opA9n4y8L4JeC8GmidheB1etou2fRy0PHrf5mj4lQHeoKu/pLJaumCfDonEezpjxhxkROd726aKKAxpyJL7GEQTVUsNE42pXePLLOdvSGnAE8TxLswIaffJXHuOEQLUt5+KrKMYhD5kCV0pc5LaEP201fS6UcPQ4mL9rj+phfyxWJUJkYv30yIrcZDhvmWrLeB4dk/zPasmcR3moyU0bjbEUs68WJsgmoWQ3aiATSu1cTUfXmIAKgQpwu1OX8N5Cj4u0XrMZ7dFqY0l2BiUCqwjJl6IUqpjZKxaHNSkOK/LF0gGxbmLGj6gPrq0ofRSwZ X-MS-Exchange-AntiSpam-MessageData-1: Oilz/bcs8aO53h6hla6gsxhio1vVe2QGqiU= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 51c009aa-5e01-4793-dfb8-08df046c822b X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:39.7796 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RD4NyyGDX3fZmkT8uPC2mQYAXLVLt30Zopog3Sm2RqwSxqEgMKY8SSSzu0jbhqlTAnJyO5vSiVViDMQWTdYxv1NxEBNM2slY8+naUR7Bm04= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P189MB0809 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:43 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129541 OpenSSL 4.0 makes ASN1_STRING opaque. Use accessor functions. Upstream-Status: Backport [https://github.com/OpenSC/OpenSC/commit/8226c67d832f] Signed-off-by: Jaipaul Cheernam --- .../0001-Changes-for-OpenSSL-4.0.0.patch | 331 ++++++++++++++++++ .../recipes-support/opensc/opensc_0.27.1.bb | 4 +- 2 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-support/opensc/opensc/0001-Changes-for-OpenSSL-4.0.0.patch diff --git a/meta-oe/recipes-support/opensc/opensc/0001-Changes-for-OpenSSL-4.0.0.patch b/meta-oe/recipes-support/opensc/opensc/0001-Changes-for-OpenSSL-4.0.0.patch new file mode 100644 index 0000000000..4308217058 --- /dev/null +++ b/meta-oe/recipes-support/opensc/opensc/0001-Changes-for-OpenSSL-4.0.0.patch @@ -0,0 +1,331 @@ +From 8226c67d832f9adaf1f7c65e5abb49687d8cf949 Mon Sep 17 00:00:00 2001 +From: Doug Engert +Date: Wed, 15 Apr 2026 15:10:42 -0500 +Subject: [PATCH] Changes for OpenSSL-4.0.0 + +Changes to get OpenSC to compile with OpenSSl-4.0.0 + +OpenSSL says: +"Opaque Structures: ASN1_STRING has been made opaque, and further work has been +done to make X509 structures more memory-efficient and const-correct." + +ASN1_STRING was made opaque thus requiring the use of ASN1_STRING_get0_data, +and ASN1_STRING_length. These routines have been in OpenSSL since 1.1.1 +and are also in libressl. + +ASN1_STRING_get0_data returns a const pointer, so the data can not be changed. +There are a number of reverse() functions one of which was reversing the +bytes in a EC pubkey. + +Changes not addressed: +"Global Cleanup: libcrypto no longer uses atexit() for cleanup; +OPENSSL_cleanup() now runs in a global destructor." + + On branch OpenSSL-4.0.0 + Changes to be committed: + modified: src/libopensc/cwa-dnie.c + modified: src/pkcs11/openssl.c + modified: src/pkcs15init/pkcs15-oberthur-awp.c + modified: src/tests/p11test/p11test_case_common.c + modified: src/tools/netkey-tool.c + modified: src/tools/pkcs11-tool.c + modified: src/tools/pkcs15-init.c +Upstream-Status: Backport [https://github.com/OpenSC/OpenSC/commit/8226c67d832f] +Signed-off-by: Jaipaul Cheernam +--- + src/libopensc/cwa-dnie.c | 2 +- + src/pkcs11/openssl.c | 14 ++++++---- + src/pkcs15init/pkcs15-oberthur-awp.c | 16 +++++------ + src/tests/p11test/p11test_case_common.c | 24 ++++++++-------- + src/tools/netkey-tool.c | 37 +++++++++++++++++-------- + src/tools/pkcs11-tool.c | 22 +++++++-------- + src/tools/pkcs15-init.c | 4 +-- + 7 files changed, 68 insertions(+), 51 deletions(-) + +diff --git a/src/libopensc/cwa-dnie.c b/src/libopensc/cwa-dnie.c +index 47f3792dad..6020921dbc 100644 +--- a/src/libopensc/cwa-dnie.c ++++ b/src/libopensc/cwa-dnie.c +@@ -646,7 +646,7 @@ static int dnie_set_channel_data(sc_card_t * card, X509 * icc_intermediate_ca_ce + dnie_private_data_t *priv_data = GET_DNIE_PRIV_DATA(card); + LOG_FUNC_CALLED(card->ctx); + +- X509_NAME *issuer = X509_get_issuer_name(icc_intermediate_ca_cert); ++ const X509_NAME *issuer = X509_get_issuer_name(icc_intermediate_ca_cert); + if (issuer) { + buf = X509_NAME_oneline(issuer, buf, 0); + if (!buf) { +diff --git a/src/pkcs11/openssl.c b/src/pkcs11/openssl.c +index 0a5d4394a2..a4027339b2 100644 +--- a/src/pkcs11/openssl.c ++++ b/src/pkcs11/openssl.c +@@ -463,6 +463,7 @@ static CK_RV gostr3410_verify_data(const CK_BYTE_PTR pubkey, CK_ULONG pubkey_len + EC_POINT *P; + BIGNUM *X, *Y; + ASN1_OCTET_STRING *octet = NULL; ++ unsigned char *octet_rev = NULL; + char paramset[2] = "A"; + int r = -1, ret_vrf = 0; + #if OPENSSL_VERSION_NUMBER < 0x30000000L +@@ -516,13 +517,16 @@ static CK_RV gostr3410_verify_data(const CK_BYTE_PTR pubkey, CK_ULONG pubkey_len + if (group && pubkey_len <= LONG_MAX) { + const unsigned char *p = pubkey; + octet = d2i_ASN1_OCTET_STRING(NULL, &p, (long)pubkey_len); ++ if (octet) ++ octet_rev = malloc(ASN1_STRING_length(octet)); + } +- if (group && octet) { +- reverse(octet->data, octet->length); +- Y = BN_bin2bn(octet->data, octet->length / 2, NULL); +- X = BN_bin2bn((const unsigned char*)octet->data + +- octet->length / 2, octet->length / 2, NULL); ++ if (group && octet && octet_rev) { ++ memcpy(octet_rev, ASN1_STRING_get0_data(octet), ASN1_STRING_length(octet)); ++ reverse(octet_rev, ASN1_STRING_length(octet)); ++ Y = BN_bin2bn(octet_rev, ASN1_STRING_length(octet) / 2, NULL); ++ X = BN_bin2bn(octet_rev + ASN1_STRING_length(octet) / 2, ASN1_STRING_length(octet) / 2, NULL); + ASN1_OCTET_STRING_free(octet); ++ free(octet_rev); + P = EC_POINT_new(group); + if (P && X && Y) + r = EC_POINT_set_affine_coordinates(group, P, X, Y, NULL); +diff --git a/src/pkcs15init/pkcs15-oberthur-awp.c b/src/pkcs15init/pkcs15-oberthur-awp.c +index 22c943127b..fdb06ab6b4 100644 +--- a/src/pkcs15init/pkcs15-oberthur-awp.c ++++ b/src/pkcs15init/pkcs15-oberthur-awp.c +@@ -51,21 +51,21 @@ awp_get_commonName(X509 *x) + r = X509_NAME_get_index_by_NID(X509_get_subject_name(x), + NID_commonName, -1); + if (r >= 0) { +- X509_NAME_ENTRY *ne; +- ASN1_STRING *a_str; ++ const X509_NAME_ENTRY *ne; ++ const ASN1_STRING *a_str; + + if (!(ne = X509_NAME_get_entry(X509_get_subject_name(x), r))) + ; + else if (!(a_str = X509_NAME_ENTRY_get_data(ne))) + ; +- else if (a_str->type == 0x0C) { +- ret = malloc(a_str->length + 1); ++ else if (ASN1_STRING_type(a_str) == V_ASN1_UTF8STRING) { ++ ret = malloc(ASN1_STRING_length(a_str) + 1); + if (ret) { +- memcpy(ret, a_str->data, a_str->length); +- *(ret + a_str->length) = '\0'; ++ memcpy(ret, ASN1_STRING_get0_data(a_str), ASN1_STRING_length(a_str)); ++ ++ *(ret + ASN1_STRING_length(a_str)) = '\0'; + } +- } +- else { ++ } else { + unsigned char *tmp = NULL; + + r = ASN1_STRING_to_UTF8(&tmp, a_str); +diff --git a/src/tests/p11test/p11test_case_common.c b/src/tests/p11test/p11test_case_common.c +index 1dd6eaba67..f571cd1598 100644 +--- a/src/tests/p11test/p11test_case_common.c ++++ b/src/tests/p11test/p11test_case_common.c +@@ -776,34 +776,34 @@ int callback_public_keys(test_certs_t *objects, + switch (o->key_type) { + #ifdef EVP_PKEY_ED25519 + case CKK_EC_EDWARDS: +- if (strcmp((char *)curve->data, "edwards25519") == 0) { ++ if (strcmp((char *)ASN1_STRING_get0_data(curve), "edwards25519") == 0) { + evp_type = EVP_PKEY_ED25519; + break; + #ifdef EVP_PKEY_ED448 +- } else if (strcmp((char *)curve->data, "edwards448") == 0) { ++ } else if (strcmp((char *)ASN1_STRING_get0_data(curve), "edwards448") == 0) { + evp_type = EVP_PKEY_ED448; + break; + #endif /* EVP_PKEY_ED448 */ + } + debug_print(" [WARN %s ] Unknown curve name. " + " expected edwards25519 or edwards448, got %s", +- o->id_str, curve->data); ++ o->id_str, ASN1_STRING_get0_data(curve)); + break; + #endif + #ifdef EVP_PKEY_X25519 + case CKK_EC_MONTGOMERY: +- if (strcmp((char *)curve->data, "curve25519") == 0) { ++ if (strcmp((char *)ASN1_STRING_get0_data(curve), "curve25519") == 0) { + evp_type = EVP_PKEY_X25519; + break; + #ifdef EVP_PKEY_X448 +- } else if (strcmp((char *)curve->data, "curve448") == 0) { ++ } else if (strcmp((char *)ASN1_STRING_get0_data(curve), "curve448") == 0) { + evp_type = EVP_PKEY_X448; + break; + #endif /* EVP_PKEY_X448 */ + } + debug_print(" [WARN %s ] Unknown curve name. " + " expected curve25519 or curve448, got %s", +- o->id_str, curve->data); ++ o->id_str, ASN1_STRING_get0_data(curve)); + break; + #endif + default: +@@ -893,14 +893,14 @@ int callback_public_keys(test_certs_t *objects, + break; + #endif + } +- if (os->length != exp_length) { ++ if (ASN1_STRING_length(os) != exp_length) { + debug_print(" [WARN %s ] Invalid length of EC_POINT value. Got %d, expected %d", +- o->id_str, os->length, exp_length); ++ o->id_str, ASN1_STRING_length(os), exp_length); + return -1; + } + key = EVP_PKEY_new_raw_public_key(evp_type, NULL, +- (const uint8_t *)os->data, +- os->length); ++ (const uint8_t *)ASN1_STRING_get0_data(os), ++ ASN1_STRING_length(os)); + if (key == NULL) { + debug_print(" [WARN %s ] Out of memory", o->id_str); + ASN1_STRING_free(os); +@@ -925,8 +925,8 @@ int callback_public_keys(test_certs_t *objects, + } + + if (EVP_PKEY_get_raw_public_key(o->key, pub, &publen) != 1 || +- publen != (size_t)os->length || +- memcmp(pub, os->data, publen) != 0) { ++ publen != (size_t)ASN1_STRING_length(os) || ++ memcmp(pub, ASN1_STRING_get0_data(os), publen) != 0) { + debug_print(" [WARN %s ] Got different public" + "key then from the certificate", + o->id_str); +diff --git a/src/tools/netkey-tool.c b/src/tools/netkey-tool.c +index 23bab2a8ec..683ac182bd 100644 +--- a/src/tools/netkey-tool.c ++++ b/src/tools/netkey-tool.c +@@ -144,25 +144,38 @@ static void show_certs(sc_card_t *card) + if(q[4]==6 && q[5]<10 && q[q[5]+6]==0x30 && q[q[5]+7]==0x82) q+=q[5]+6; + printf(", Len=%d\n", (q[2]<<8)|q[3]); + if((c=d2i_X509(NULL,&q,f->size))){ +- char buf2[2000]; +- if (X509_NAME_get_text_by_NID(X509_get_subject_name(c), NID_commonName, buf2, sizeof(buf2)) < 0) { ++ int idx; ++ const X509_NAME_ENTRY *ne = NULL; /* no free */ ++ const ASN1_STRING *a_str = NULL; /* no free */ ++ int out_len = 0; ++ unsigned char *tmp = NULL; ++ ++ idx = X509_NAME_get_index_by_NID(X509_get_subject_name(c), NID_commonName, -1); ++ if (idx >= 0 && ++ ((ne = X509_NAME_get_entry(X509_get_subject_name(c), idx)) != NULL) && ++ ((a_str = X509_NAME_ENTRY_get_data(ne)) != NULL) && ++ ((out_len = ASN1_STRING_to_UTF8(&tmp, a_str)) > 0)) { ++ printf(" Subject-CN: %s\n", tmp); ++ OPENSSL_free(tmp); ++ tmp = NULL; ++ } else { + sc_log_openssl(card->ctx); + printf(" Invalid Subject-CN\n"); +- X509_free(c); +- continue; + } +- printf(" Subject-CN: %s\n", buf2); +- if (X509_NAME_get_text_by_NID(X509_get_issuer_name(c), NID_commonName, buf2, sizeof(buf2)) < 0) { ++ ++ idx = X509_NAME_get_index_by_NID(X509_get_issuer_name(c), NID_commonName, -1); ++ if (idx >= 0 && ++ ((ne = X509_NAME_get_entry(X509_get_issuer_name(c), idx)) != NULL) && ++ ((a_str = X509_NAME_ENTRY_get_data(ne)) != NULL) && ++ ((out_len = ASN1_STRING_to_UTF8(&tmp, a_str)) > 0)) { ++ printf(" Issuer-CN: %s\n", tmp); ++ OPENSSL_free(tmp); ++ tmp = NULL; ++ } else { + sc_log_openssl(card->ctx); + printf(" Invalid Issuer-CN\n"); +- X509_free(c); +- continue; + } +- printf(" Issuer-CN: %s\n", buf2); + X509_free(c); +- } else { +- sc_log_openssl(card->ctx); +- printf(" Invalid Certificate-Data\n"); + } + } else printf(", empty\n"); + } +diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c +index f3ac4e6bf1..21c22864ee 100644 +--- a/src/tools/pkcs11-tool.c ++++ b/src/tools/pkcs11-tool.c +@@ -7389,8 +7389,8 @@ static int read_object(CK_SESSION_HANDLE session) + #endif + point = EC_POINT_new(group); + if (os) { +- a = os->data; +- a_len = os->length; ++ a = ASN1_STRING_get0_data(os); ++ a_len = ASN1_STRING_length(os); + success = EC_POINT_oct2point(group, point, a, a_len, NULL); + } + if (!success) { /* Workaround for broken PKCS#11 modules */ +@@ -7464,9 +7464,9 @@ static int read_object(CK_SESSION_HANDLE session) + + a = params; + if (d2i_ASN1_PRINTABLESTRING(&curve, &a, (long)len) != NULL) { +- if (strcmp((char *)curve->data, "edwards25519") && +- strcmp((char *)curve->data, "curve25519")) { +- util_fatal("Unknown curve name \"%si\"", curve->data); ++ if (strcmp((char *)ASN1_STRING_get0_data(curve), "edwards25519") && ++ strcmp((char *)ASN1_STRING_get0_data(curve), "curve25519")) { ++ util_fatal("Unknown curve name \"%si\"", (char *)ASN1_STRING_get0_data(curve)); + } + ASN1_PRINTABLESTRING_free(curve); + } else if (d2i_ASN1_OBJECT(&obj, &a, (long)len) != NULL) { +@@ -7526,26 +7526,26 @@ static int read_object(CK_SESSION_HANDLE session) + } + } + +- if (type == CKK_EC_EDWARDS && os->length == BYTES4BITS(256)) /* note extra bit */ ++ if (type == CKK_EC_EDWARDS && len == BYTES4BITS(256)) /* note extra bit */ + raw_pk = EVP_PKEY_ED25519; + #ifdef EVP_PKEY_ED448 +- else if (type == CKK_EC_EDWARDS && os->length == ED448_KEY_SIZE_BYTES) ++ else if (type == CKK_EC_EDWARDS && len == ED448_KEY_SIZE_BYTES) + raw_pk = EVP_PKEY_ED448; + #endif /* EVP_PKEY_ED448 */ + #ifdef EVP_PKEY_X25519 +- else if (type == CKK_EC_MONTGOMERY && os->length == BYTES4BITS(256)) /* note extra bit */ ++ else if (type == CKK_EC_MONTGOMERY && len == BYTES4BITS(256)) /* note extra bit */ + raw_pk = EVP_PKEY_X25519; + #endif /*EVP_PKEY_X25519 */ + #ifdef EVP_PKEY_X448 +- else if (type == CKK_EC_MONTGOMERY && os->length == BYTES4BITS(448)) ++ else if (type == CKK_EC_MONTGOMERY && len == BYTES4BITS(448)) + raw_pk = EVP_PKEY_X448; + #endif /* EVP_PKEY_X448 */ + else + util_fatal("Invalid or not supported CKK_EC_EDWARDS or CKK_EC_MONTGOMERY public key"); + + key = EVP_PKEY_new_raw_public_key(raw_pk, NULL, +- (const uint8_t *)os->data, +- os->length); ++ (const uint8_t *)ASN1_STRING_get0_data(os), ++ ASN1_STRING_length(os)); + ASN1_STRING_free(os); + if (key == NULL) { + util_fatal("out of memory"); +diff --git a/src/tools/pkcs15-init.c b/src/tools/pkcs15-init.c +index e011232987..b978e0677a 100644 +--- a/src/tools/pkcs15-init.c ++++ b/src/tools/pkcs15-init.c +@@ -2593,8 +2593,8 @@ do_read_data_object(const char *name, u8 **out, size_t *outlen, size_t expected) + static char * + cert_common_name(X509 *x509) + { +- X509_NAME_ENTRY *ne = NULL; +- ASN1_STRING *a_str = NULL; ++ const X509_NAME_ENTRY *ne = NULL; ++ const ASN1_STRING *a_str = NULL; + char *out = NULL; + unsigned char *tmp = NULL; + int idx, out_len = 0; diff --git a/meta-oe/recipes-support/opensc/opensc_0.27.1.bb b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb index d659fd1bee..05b7a58be5 100644 --- a/meta-oe/recipes-support/opensc/opensc_0.27.1.bb +++ b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb @@ -12,7 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7" DEPENDS = "openssl" SRCREV = "19868984dc4dc697af6a86d65ab32a1f19a43ea4" -SRC_URI = "git://github.com/OpenSC/OpenSC;branch=master;protocol=https" +SRC_URI = "git://github.com/OpenSC/OpenSC;branch=master;protocol=https \ + file://0001-Changes-for-OpenSSL-4.0.0.patch \ + " CVE_STATUS[CVE-2024-8443] = "fixed-version: this is fixed since 0.26.0" From patchwork Thu Aug 27 18:53:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96584 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B325C61DCB for ; Thu, 27 Aug 2026 18:53:53 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.34]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1792.1787856828028904020 for ; Thu, 27 Aug 2026 11:53:48 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=kgYN8/tX; spf=pass (domain: est.tech, ip: 52.101.65.34, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bqeBWvgDNFMXUMypxi7UDQVc/UXKhcG9bvvMPQzOrNSuszBNw6Mda+Mp3k6+W5oLxjZ6ad2f5pR+DGO1hjzzOctE/m6ah/VS8xh+iY53e432efoz0u7xVNBDTjaDDtEswnRQq38wYJeQliJkdliOU3NrM/GidVoTN0x39juNAZEEAtCo8vgAohKjpSq+CMk8Z+px71+9b10TyQXMnR4s6bxkUN4YbgRtQ0tEdanfLIyImXjaA1bi5bAdV9hoMc7YFAZ1OHMzEF6gDyqp5PHX+vjIqeIisG6j96tITn9t2sCrP9LFCE204Mgwq0eyxgDIWSM9tUk6RbpZ7mLlB17UZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HYztJfoUtIKw1DihbXduiahg7ZhoZyPSHxNnGfP/dhM=; b=n4Z+V3FKLGg1SSWvGjRQg/AguRyi6TDXxZApgHWZzpVNZoG2tgbl+PpyYUz8QMStn9BTMvSzptJqWnGJLrlvkYmvPrze21w6uOO9lWv2pTJ0er2RhWRyyaGsUF5Qs/lOz1fLwNQ4EhqoUN7m2pm+IQNpNDbEUyHt5r+UdsHU6mZLrby/t3fLbbucuNNnjZN43hCAMegTojtDnMYZ6by4PtH1Wg0qP24YhvS9jMtNBfeb/KI8lcVhwz1j8Lt+cqhjUZSn1X+2ogMvtPCeXU1Gl2n/Sx10/f2VHYHH5DYyMuNaScWR4F27yJXdZ/I3Cts3nvn7tTgPkIfrpDLEsr5gCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HYztJfoUtIKw1DihbXduiahg7ZhoZyPSHxNnGfP/dhM=; b=kgYN8/tXfAibXEPFAsIS87O+yCrkaauCbaHRW8mUIqiUrmhzHBg+04fEvu0hCGXKsNqfEdzLr/Fu4XLi/BC6vQACPqQPeTOdN3NLQCxpwEwsy+0hL6Gfy8Qqpskl9oGR/yzMevvZmKUiy5fi6Efuhzqf2pn1nZdYXGWWHmdgxEdlbSlBDT1swcTcZgWw4ZtUFi3fjFjzveO+npzbL+Cz60veNikcGjCDLU+gzn1RE+sTGzOzrS5/p5z0mqenVRmOqw/t6U2XotZrPJ6921ybnVIvn9/2HhM/xP1nhTxyUEhCWwSpOih4WNmdAgXUBVDclmX1RG+vIQvAPGwUw3rTdg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:44 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:44 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 07/20] grpc: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:11 +0200 Message-ID: <20260827185324.78997-8-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO6P123CA0031.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:2fe::11) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: aa6b3f7b-e89f-43c5-5edf-08df046c8500 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: 3MSC0FFYwudxI/eXfWPjNz+rt1CsmDuh5B/XxT9UxXtX/jMZ9RvIlxQOfgyijerAwm49XZ9QFoI+7o6W8QOMtIN/tuqM9O3pU8k4CsORIOHFPyQ9SB9JOLLCG8eSKKI5YzRqFBaLur87hTxakopnq36qgs/Gevem7lgnG0qJ4L2y59UG85BboLEQ9GAZrlAG1L5IdwNHrdWg0vvKJ5TYOpLjBOL/Kk3+ttUaSiSi0RwtTPxLtc/FZrDDqlUuFz/Ke4AJel1OeeBq1GhADNCZ18aJEFVowW5R180w/9jCqBAqcvdt9Ev89O8YJLqOXDGuP4a9uh+7vuIiL26wCiI/rDU52xFI2hAaDTMe5qIlSZ9Yf50wVGZn3V48plcsiIXGb/pqrndtqFewkZcoOuHpLz5j3tNYSbTRhQD4qDThxWw7wxZb6wmDMr/AgXTUg4wnSD0xbWOyK+tz0HbHrFB+7uH7BL3EscIHk/kbEfZv5x4T+RiRHnhP+HDvKm7VMfQTM4Ff0FLcZnF8LVCQmITifJVnkpuh6nKO70IG3nINeXnH6D83Ugra1+R+HnmdX2NIhKWebYgrAuktjBLwTGXZjT4AODDIOXS0x0s7Ma/ZkqhxVVKJxeZ22AFJeTfIM3J3jIpsivO3TyFcBs5t/mZI/tFi5qheDHwKrbWfkEv5tfA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: kLjzKvoXvkkNUzvXpP+qEPq7Q596rhSuQoAVQnuyS1vFNgZHPvKsAJh1itOgbZiAHSfQizjjGWOEVcLUMMazcBo3n7HAMO/Yzc2jWqPqVXsrBVNBwp+rTuP255BiEgl88Q+myH12CR3VT0Vx1btmP+tM/kjoUKFPOwAmix0qKioi9DN2ACLWZEp9UcBfTgk4MGVW3QnVsoiHE8Otl1dXQrXehBxnWvQooWIOH570DCjafam13ArCIFIgfa3AcbN4YLqPHjV7jdeYJ4KGOEidHg4TFpLYtjelMa5JfuHvgBPpuLsHfWGxTxzOd9XzlGxsI9KkdFjluzDztleVLLSQcz8lGS7HZkgQDzvOOZ8KQFKRnRIGqoFixRJVcoNoXjp3wryIp1prejUor3cKzo6fXg7D3yvOcVfgk3xPiBbAfbNqBZBaKvVr2/M8doeW74n6O/+menB53WLezYc2rN0Cum/gaMNWqajAYwW9/tPQg6rGo2c54j+/YbNYH80jqN2QtQRcfKeO904Qz4H5LJ9/mYUhR5D1AaZgDBaIahq/bsvt7EMAzU86MYu0hPLlds4cxEMCcYyaO7WxWrQPOi04+QiClHtpBmKI3dzD/bF3p0WhXatNUwWnudSwA3byUM9Vds8ScNUCgRhI5LYSGHLB61+iLFsblAsuE713HxXY5SmgdfNef62D8QKNNEkUBafGZ1z6mQUv9zUXK+IyepyLDh9aKRnuD8jZxqqH5hnPTYEI9DE7iW1RX9pFcJI9u2NKsykWtT59fkVqXNv19hQqx7BdkqdtpTXCtpwLCpnCMJ4sXe84MWYJORphEohVuJXUzbPmxo/WLsiIYMqOwTQ6UfgF8KCIdN8IgJwq+1PxT+rvKpbTX1XYfjBDTFEvP3Jkp0Yg9bGr5DMyJxfDcelwQlhbhz8UKooVCfwbP8i4Y/So+rbjzz2ev7cyoyztMSpBzT34CqgPxv5iNMYUuk/3NShoC9yNfXHQmUeMvhCjSc6GBeB4q6IZgptzU22dRPOSmF5GlfQu4rhRvfRBV6U4XlYyss6MzS/IvV1vv//XRQ7qQagsUoftO+Xz6W8UTUK/b6OZVyN8bwg3jPKhSyqJUccntsd7LUv8+fhF7S3oc+A6UgLCELr9Yb5q55IqqFwItHl0NPeonZoNzmko0hvGLuJtfiFqIP2/RwLDlsOXnhk6+HB99irr7s6A7UxA0BMLb7LGF/QlhPoXd9OWKecVTQqjzHBAnoIMcf7fuuuIm5etNHD0WitjT36Axzkco78V7vGJyy1HVovHODORB3KntRPXhJdsLhOzp+iREl6kTGBicz3iQBgczzxStfbJ1+YL+N9Yt8Iyc0619HsLIUMoD1aIU1n+Rj9WBWpr/RuOH9rep5P3tESLdC6drampdV5S2enBTs1fI1lGGDy/+Za3rfBp0VBnVsx9G6fx+Q2UFTeqpy6qasVtjhBA0rapjNIoD3b163BRv7ewcUS42eqHa7BPwYBKjHP1yjFgZr4C/6rnZ2+HR14WMfzCq9xk17pyX1Z9AYzQPM0wvM+GyQjoOj+n9Ct2TtkC+JCH6/s6bzRPD5zQwtXjNqs7/DglaYEfw9dFqedjJXzm4YvpbfSsnrHTqy007QtexBm2bVKheoMfNArNIgnpdpQ3Enmpq15ZjFl4kE/UJLr72+x39V5SCyu+BUCgw7pJH0ve82vS5Aibs5fZng21HlKygVm/uiZMwjXnsY+Jsf7/dSFDcoFKKGMlDP53as6U6OJATeLNltNj0tOcK5ThheuwnzTrSLyo9u4I5Hbz X-MS-Exchange-AntiSpam-MessageData-1: XM5LKSKbuWf5M8K1hbCowOeV4rOBJh+yQiI= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: aa6b3f7b-e89f-43c5-5edf-08df046c8500 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:44.5303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WMhjHCs1196mJlqaA/0arUTt9mt5l51iQpZ9b1po3cnnBKycfoONtCB5k/1tpRZrdpLZ0VeSoGkKjnnyRzpnX4zY3rkuzmQyCMaWpG2E7/8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:53 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129542 OpenSSL 4.0 returns const pointers from X509 accessor functions, makes ASN1_OCTET_STRING opaque, and deprecates HMAC one-shot API. Four patches addressing credentials, TSI transport security, and TSI utils. Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] Signed-off-by: Jaipaul Cheernam --- ...ls-Fix-OpenSSL-3.0-4.0-compatibility.patch | 85 +++++++++++++++++++ ...L-4.0-const-and-opaque-compatibility.patch | 59 +++++++++++++ ...sport_security_utils-for-OpenSSL-4.0.patch | 61 +++++++++++++ ...ing-const-qualifiers-for-OpenSSL-4.0.patch | 47 ++++++++++ meta-oe/recipes-devtools/grpc/grpc_1.83.0.bb | 4 + 5 files changed, 256 insertions(+) create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0001-credentials-Fix-OpenSSL-3.0-4.0-compatibility.patch create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch create mode 100644 meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch diff --git a/meta-oe/recipes-devtools/grpc/grpc/0001-credentials-Fix-OpenSSL-3.0-4.0-compatibility.patch b/meta-oe/recipes-devtools/grpc/grpc/0001-credentials-Fix-OpenSSL-3.0-4.0-compatibility.patch new file mode 100644 index 0000000000..f062ecce08 --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc/0001-credentials-Fix-OpenSSL-3.0-4.0-compatibility.patch @@ -0,0 +1,85 @@ +From b07ee3b98c30251094692b84d1253e3ca881ff96 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Svensson?= +Date: Tue, 24 Mar 2026 13:12:07 +0100 +Subject: [PATCH] credentials: Fix OpenSSL 3.0+/4.0 compatibility +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- Guard openssl/hmac.h include behind OpenSSL < 3.0 version check +- Replace one-shot HMAC() with EVP_Q_mac() for OpenSSL 3.0+ +- Handle X509_CRL_get_issuer() which returns const in OpenSSL 4.0, + with const_cast for i2d_X509_NAME() + +Signed-off-by: Björn Svensson +Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] +Signed-off-by: Jaipaul Cheernam +--- + .../credentials/call/external/aws_request_signer.cc | 13 +++++++++++++ + .../transport/tls/grpc_tls_crl_provider.cc | 4 ++-- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/core/credentials/call/external/aws_request_signer.cc b/src/core/credentials/call/external/aws_request_signer.cc +index f7fb7a25b1d0b..26c70ccc7c174 100644 +--- a/src/core/credentials/call/external/aws_request_signer.cc ++++ b/src/core/credentials/call/external/aws_request_signer.cc +@@ -18,7 +18,9 @@ + #include + #include + #include ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + #include ++#endif + #include + + #include +@@ -41,6 +43,7 @@ namespace { + + #if OPENSSL_VERSION_NUMBER >= 0x30000000L + const char kSha256[] = "SHA256"; ++const char kHmacName[] = "HMAC"; + #endif + const char kAlgorithm[] = "AWS4-HMAC-SHA256"; + const char kDateFormat[] = "%a, %d %b %E4Y %H:%M:%S %Z"; +@@ -67,12 +70,22 @@ std::string SHA256Hex(const std::string& str) { + } + + std::string HMAC(const std::string& key, const std::string& msg) { ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + unsigned int len; + unsigned char digest[EVP_MAX_MD_SIZE]; + HMAC(EVP_sha256(), key.c_str(), key.length(), + reinterpret_cast(msg.c_str()), msg.length(), + digest, &len); + return std::string(digest, digest + len); ++#else ++ size_t len = 0; ++ unsigned char digest[EVP_MAX_MD_SIZE]; ++ EVP_Q_mac(nullptr, kHmacName, nullptr, kSha256, nullptr, ++ reinterpret_cast(key.c_str()), key.length(), ++ reinterpret_cast(msg.c_str()), msg.length(), ++ digest, sizeof(digest), &len); ++ return std::string(digest, digest + len); ++#endif + } + + } // namespace +diff --git a/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc b/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +index 7bd4c5ab0b49f..99ed93d5d2944 100644 +--- a/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc ++++ b/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +@@ -56,12 +56,12 @@ absl::StatusOr IssuerFromCrl(X509_CRL* crl) { + if (crl == nullptr) { + return absl::InvalidArgumentError("crl cannot be null"); + } +- X509_NAME* issuer = X509_CRL_get_issuer(crl); ++ auto* issuer = X509_CRL_get_issuer(crl); + if (issuer == nullptr) { + return absl::InvalidArgumentError("crl cannot have null issuer"); + } + unsigned char* buf = nullptr; +- int len = i2d_X509_NAME(issuer, &buf); ++ int len = i2d_X509_NAME(const_cast(issuer), &buf); + if (len < 0 || buf == nullptr) { + return absl::InvalidArgumentError("crl cannot have null issuer"); + } diff --git a/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch b/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch new file mode 100644 index 0000000000..afaaf509ad --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch @@ -0,0 +1,59 @@ +From 42693a829197a9120816fa91b9ce55535d798b28 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Wed, 26 Aug 2026 19:50:00 +0000 +Subject: [PATCH] tsi: fix OpenSSL 4.0 const and opaque type compatibility + +OpenSSL 4.0 returns const pointers from X509_get_subject_name(), +X509_get_issuer_name(), X509_get0_serialNumber() and makes +ASN1_OCTET_STRING opaque. Use auto* to deduce correct const type +and use ASN1_STRING accessors for opaque struct access. + +Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] + +Signed-off-by: Jaipaul Cheernam +--- + src/core/tsi/ssl_transport_security.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/core/tsi/ssl_transport_security.cc b/src/core/tsi/ssl_transport_security.cc +index 922bb836e14..ee2092acece 100644 +--- a/src/core/tsi/ssl_transport_security.cc ++++ b/src/core/tsi/ssl_transport_security.cc +@@ -893,7 +893,7 @@ static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8, + int common_name_index = -1; + X509_NAME_ENTRY* common_name_entry = nullptr; + ASN1_STRING* common_name_asn1 = nullptr; +- X509_NAME* subject_name = X509_get_subject_name(cert); ++ auto* subject_name = X509_get_subject_name(cert); + int utf8_returned_size = 0; + if (subject_name == nullptr) { + VLOG(2) << "Could not get subject name from certificate."; +@@ -951,7 +951,7 @@ static tsi_result peer_property_from_x509_common_name( + static tsi_result peer_property_from_x509_subject(X509* cert, + tsi_peer_property* property, + bool is_verified_root_cert) { +- X509_NAME* subject_name = X509_get_subject_name(cert); ++ auto* subject_name = X509_get_subject_name(cert); + if (subject_name == nullptr) { + GRPC_TRACE_LOG(tsi, INFO) << "Could not get subject name from certificate."; + return TSI_NOT_FOUND; +@@ -1047,16 +1047,16 @@ static tsi_result add_subject_alt_names_properties_to_peer( + char ntop_buf[INET6_ADDRSTRLEN]; + int af; + +- if (subject_alt_name->d.iPAddress->length == 4) { ++ if (ASN1_STRING_length(subject_alt_name->d.iPAddress) == 4) { + af = AF_INET; +- } else if (subject_alt_name->d.iPAddress->length == 16) { ++ } else if (ASN1_STRING_length(subject_alt_name->d.iPAddress) == 16) { + af = AF_INET6; + } else { + LOG(ERROR) << "SAN IP Address contained invalid IP"; + result = TSI_INTERNAL_ERROR; + break; + } +- const char* name = inet_ntop(af, subject_alt_name->d.iPAddress->data, ++ const char* name = inet_ntop(af, ASN1_STRING_get0_data(subject_alt_name->d.iPAddress), + ntop_buf, INET6_ADDRSTRLEN); + if (name == nullptr) { + LOG(ERROR) << "Could not get IP string from asn1 octet."; diff --git a/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch b/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch new file mode 100644 index 0000000000..a7d6c0f789 --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch @@ -0,0 +1,61 @@ +From d2beead89706a34ade404bfa7bec2f95e9b6225a Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Wed, 26 Aug 2026 19:51:01 +0000 +Subject: [PATCH] tsi: fix ssl_transport_security_utils for OpenSSL 4.0 + +OpenSSL 4.0 returns const pointers from X509_get_issuer_name(), +X509_CRL_get_issuer(), and makes ASN1_OCTET_STRING opaque. Use +auto* for X509_NAME and const for ASN1_OCTET_STRING. + +Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] + +Signed-off-by: Jaipaul Cheernam +--- + src/core/tsi/ssl_transport_security_utils.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/core/tsi/ssl_transport_security_utils.cc b/src/core/tsi/ssl_transport_security_utils.cc +index 7318bc3f780..2738ffad923 100644 +--- a/src/core/tsi/ssl_transport_security_utils.cc ++++ b/src/core/tsi/ssl_transport_security_utils.cc +@@ -282,11 +282,11 @@ bool VerifyCrlCertIssuerNamesMatch(X509_CRL* crl, X509* cert) { + if (cert == nullptr || crl == nullptr) { + return false; + } +- X509_NAME* cert_issuer_name = X509_get_issuer_name(cert); ++ auto* cert_issuer_name = X509_get_issuer_name(cert); + if (cert_issuer_name == nullptr) { + return false; + } +- X509_NAME* crl_issuer_name = X509_CRL_get_issuer(crl); ++ auto* crl_issuer_name = X509_CRL_get_issuer(crl); + if (crl_issuer_name == nullptr) { + return false; + } +@@ -317,7 +317,7 @@ absl::StatusOr IssuerFromCert(X509* cert) { + if (cert == nullptr) { + return absl::InvalidArgumentError("cert cannot be null"); + } +- X509_NAME* issuer = X509_get_issuer_name(cert); ++ auto* issuer = X509_get_issuer_name(cert); + unsigned char* buf = nullptr; + int len = i2d_X509_NAME(issuer, &buf); + if (len < 0 || buf == nullptr) { +@@ -332,7 +332,7 @@ absl::StatusOr AkidFromCertificate(X509* cert) { + if (cert == nullptr) { + return absl::InvalidArgumentError("cert cannot be null."); + } +- ASN1_OCTET_STRING* akid = nullptr; ++ const ASN1_OCTET_STRING* akid = nullptr; + int j = X509_get_ext_by_NID(cert, NID_authority_key_identifier, -1); + // Can't have multiple occurrences + if (j >= 0) { +@@ -357,7 +357,7 @@ absl::StatusOr AkidFromCrl(X509_CRL* crl) { + if (crl == nullptr) { + return absl::InvalidArgumentError("Could not get AKID from crl."); + } +- ASN1_OCTET_STRING* akid = nullptr; ++ const ASN1_OCTET_STRING* akid = nullptr; + int j = X509_CRL_get_ext_by_NID(crl, NID_authority_key_identifier, -1); + // Can't have multiple occurrences + if (j >= 0) { diff --git a/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch b/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch new file mode 100644 index 0000000000..468aa9d669 --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch @@ -0,0 +1,47 @@ +From 12710dde230ae1721e1c7119f51490c239513c41 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Thu, 27 Aug 2026 09:42:20 +0000 +Subject: [PATCH] tsi: fix remaining const qualifiers for OpenSSL 4.0 + +OpenSSL 4.0 returns const pointers from X509_NAME_get_entry(), +X509_NAME_ENTRY_get_data(), and X509_get_subject_name(). +Combine X509_get_subject_name + X509_NAME_dup into single call +to avoid const-to-non-const assignment. + +Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] + +Signed-off-by: Jaipaul Cheernam +--- + src/core/tsi/ssl_transport_security.cc | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/core/tsi/ssl_transport_security.cc b/src/core/tsi/ssl_transport_security.cc +index ee2092acece..23340beda98 100644 +--- a/src/core/tsi/ssl_transport_security.cc ++++ b/src/core/tsi/ssl_transport_security.cc +@@ -891,8 +891,8 @@ static int looks_like_ip_address(absl::string_view name) { + static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8, + size_t* utf8_size) { + int common_name_index = -1; +- X509_NAME_ENTRY* common_name_entry = nullptr; +- ASN1_STRING* common_name_asn1 = nullptr; ++ const X509_NAME_ENTRY* common_name_entry = nullptr; ++ const ASN1_STRING* common_name_asn1 = nullptr; + auto* subject_name = X509_get_subject_name(cert); + int utf8_returned_size = 0; + if (subject_name == nullptr) { +@@ -1342,13 +1342,12 @@ static tsi_result x509_store_load_certs(X509_STORE* cert_store, + break; // We're at the end of stream. + } + if (root_names != nullptr) { +- root_name = X509_get_subject_name(root); ++ root_name = X509_NAME_dup(X509_get_subject_name(root)); + if (root_name == nullptr) { + LOG(ERROR) << "Could not get name from root certificate."; + result = TSI_INVALID_ARGUMENT; + break; + } +- root_name = X509_NAME_dup(root_name); + if (root_name == nullptr) { + result = TSI_OUT_OF_RESOURCES; + break; diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.83.0.bb b/meta-oe/recipes-devtools/grpc/grpc_1.83.0.bb index 3e03bf510e..34ec8863ac 100644 --- a/meta-oe/recipes-devtools/grpc/grpc_1.83.0.bb +++ b/meta-oe/recipes-devtools/grpc/grpc_1.83.0.bb @@ -27,6 +27,10 @@ SRCREV = "c876f4da50f7da2f331888b88b2a7243514139fe" BRANCH = "v1.83.x" SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH};tag=v${PV} \ file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ + file://0001-credentials-Fix-OpenSSL-3.0-4.0-compatibility.patch \ + file://0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch \ + file://0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch \ + file://0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch \ " inherit cmake pkgconfig From patchwork Thu Aug 27 18:53:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96585 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 46B0CC61DC4 for ; Thu, 27 Aug 2026 18:53:53 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.34]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1792.1787856828028904020 for ; Thu, 27 Aug 2026 11:53:49 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=RcwZReQd; spf=pass (domain: est.tech, ip: 52.101.65.34, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eGIyCtV5CU+bDxguiXQfIgKLfBItNiHTH3DvLKiKGr4r8eYzQJmULx+glUVm3cyP7jrU81DrwfKqNaSYYHIWhP+5ahiFy97E6eveAY4v4PuZo4yzk4z8xnadraK8PYQXOzFAYDEWKiBe9RDWl85hmplb4AGt/EQAV7QHCbhRn6RSk+LeW3b9CJRLE+OXgHfQx5kTfBkujrWvBeS7j7pUTK791ocYZqkiW3ye1XNCV4rSFQD02/xhwpJMoLXxnOeHrzAVVvUHbw33/B4DvmrtAsEAq9T08RcaCTQH4Q+dnNFJA/NKjZeqb9oqsUbpfRFtbjQeVXzejzbEcvpKSt2NOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XibuMjmtid6VGfdmsixorMIOuiipgl0ynNHs1lBElfY=; b=ewUGlYpw7futLe3nnEF4Vhaguyn4Yv0hkuyZBOLgjL8S6+B//UVC3O1uPxBPy7q2uxBFlO94UT6ALfgKXEMvu/NVvCAvD3ipJlQNyOPSfV8fGyUpuwUQQ/GGMJ2g2VkZvD1hhLElV+J+yF/OWV+uCT1lq7lPiu3ud/o2ntbwyjrJWz3Q0qtIGJtAjBebS9KiIzfrHox36LD+xzTCz9juxPV6vlOvlFzP5Bml3Qn0z98c4KCufzQfO5tFfPIcKdNApLAUnWdyYFKEQfdTCQp+cyLK72IIugezhrJFlXD9jk9kml9LqAq5aNb/ty1xo/Dwf3oTDLOgz4XFlxh+2LGgYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XibuMjmtid6VGfdmsixorMIOuiipgl0ynNHs1lBElfY=; b=RcwZReQdBiVkHkmjCiTrr/E2b+2jPcL+XS0oYDSN6n5FMeQlfEIugB4f2DAHHCjGrkD44eGKtngBZDcd+J+fKDghLp2jwUbvsC7qmmOw7D2qektpyE9L0BNk78XxwFxGB6jdh2zsTb4S5of7o3jT05/Qa5vs9Yi5k+bAu5CMIUxBJWNaBPSBp0uDNbLGn60x/nP8QPJlCQ6ypJh2wy3mBLsDRVaiJIYJyP2RfkHj99PW6Bd4keWc2WdFCK4SRX2Op0yHN+bR1GJvK6e52LZcJQDMmmV4IL7jDykvdBMhefQ26R9q/ZK8G9nm+AmY+m7JYEiK2v7IfLjodSWQ8KEeYQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:46 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:46 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-python][RFC 08/20] python3-grpcio: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:12 +0200 Message-ID: <20260827185324.78997-9-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO4P123CA0549.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:319::18) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: a523530b-08d9-469a-971e-08df046c863d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: CCPNvvRM0Ox4vQkQs395FQZ9hlMCooy2nWJwikFqIGCVN948iilao0BLKFer0muNIuS1KD2VYtze2OAS0teTAKprGSdNxpSyCOgbUMkb5m80KUtjuQBIVhnxa9zqKG/TupNL5wHH0tl9rAe4S2ugCCx1Uz956Pr7lcTQnQFuXeQKXNLpvibF37e7lsOlFCGGCzPfaE53j/78i+niwYOaK+diXrnY0C+sFC6pz9edh26EaTRiJldeBcMkZoW+sLvuERr/DcUzRv/CsBomRolCbHQRT048SNxP2Hrm4ja0uzgrYQgYMKmNGjAedoaMO51gLN9zwRvkdmj9zqpT/Ug8e+BLCg1VFbhAdLZoOPyQU+nGcHIBWJEf7RJzA+ZkQS9OaeDHVX0sspz9bqCa+LZdxSk1zX8f+w+jesgJ6menIGlvcbO2Lj03TW+WspMPynx0V12nTGY0xkIVKwSMFDms73YGzWuVxzUb/p8+tnwWQmaEc0xivRc5FxGQFJpZYRwfS72hkqrtgWtJvzaafiD8o6HdIyTim6ih9shVAj9dCliaOxulB9z8sMdklthZdSH/BHKW5FflR6X+0O/fdMzu8LOXje6gL5QSaDbyg5Vqwc/IRY2Qx+QPEsx1K24Ja1I0y4lB4B7OhbE6yqafMJymRKfldL2MBKpmIsqF8TFwiPg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: LCL0jcaGc8oaH3BH95pZcGj57VepmW3TegFOfz3T6DB7lY7/t9pukE5IUAoUTE+udDK8BE+WlSKL7Au0bnh55riepSkqevS9UBFxl4IHHLEq4H9OSSkNarp7/gmSPvlbLdKHpFy7ZxLdQK5Qa8vRgwD/O4udUaxOubVbR7+TCuVRUK0+eR1LchGe1f9UkeZ5sMiRhZKJJ+KJwxzYvfS2LJeHWupnlWjtroVIwxWJ/h/OGeL2k68m9LetFjUvsC3pWWsgAHnj97nvdr+mWVZzYbHa+LnPSAaLnKfWe5sIbd9sGQSArZ9phu/7uQ83BoOv1FPrS3uFBPZI+weK9I7tHTUgGAbtTxx2V5xunpCi8+ZP7G2xzvyi0eTKQ1jZjUGyD02vzb+pLQ/maH9Ycu1LD8iYhWnetA8B4RKvjdOtKS0aLXiVwU5BSRsq+/qqE7ju6XkfYWLAy2KGsPq9Rr7TGx3097U6nVsAlBxLsFK5bflwppvKPz3oL5bbEu66s3+EWYT82l3q49vHBLMiFf/8DUHrrJoZuL/ffKVy9AEFltH23TCO697Iya76C/lwv/KkWNKovgNiKNWy3rJRzYg01kDBpfqTqNLJxD2ciRWIXto+HxSM3/RuF92OvchUnZ38D+ddzfwOxDs+P69JEQhyZ0hV/x05md5DV/FeLft5ISfv8mHHKrzKKaUD3IF+k5C5Bn0uQRMHyj/X6wVW699bbWHNKyzc3TN8gf2QjEz/pEjgDWu/9OOTUAUMuRx3wqWlKFUbcjzDVF7+N0DXtmdJnpEcn9kMk+nwX3oFeXMHmmYVLgQzrNUOvz0EDMOdPJzJ4oHLnwsn6JpEbA63B4P5RQ+Z6GNXB1lY42vFwfPvyj9k3PyEJk64mmRmFJ6rVWEpKvy51rQnuVgvFZ7rh80sGlRF7DriImIi6HW4aA1mAgSheAoNWx1CmY+mNzQZa91IHqn5z079Qr7UcMRcVhQXKieePdE9M815koqS+EsuTTao6OEnOisR1+9hE3dOq1yAwrPV4dmwTQOHKxtlhW0iiwkGdwwPSV1FXVB97brYy//gTBtCFseLazRalm3hwRs68nz101zoR8hCdC16o+BjVbURsbU4XumDV6kfj5l5wbYSWiNf2pMYDHKeGIvNOLaBwvMN/8rb4V/kTXS/eco9GQHIVtXcnChwmoeKdReGu6fOouPypZxGF8Ec6zqXoBJNeR2mTHfTJgTeOYv+K4K9GIf48mewDllU20vqX/dKoO/lfquJIbJ1ZfeL1WeP+j4GlBNzkb+AhIkbiD/gldpG3epyrP+ai6Es9zR/zdIeDrHUI+POHcOCyKxzhcgFQhP7Rm31x3zNfeafdPMCevwA9RPOV4RSTDsWtzhJqzS4XPkxhCzccL+7FdG8S8VAD2343x3XJPX/xaoK8IAfeY14pDTdCC2w267YVXDIdV+pYbiQrIInYu6oZ9bJpRKhDGlvJWGeKMtnPog3m6jOK0+T4iuSWtKw5ERVsgYvgHBQHK0GSg6U/kRuC//ffI/kp54TrWU+2fQNf+Dxs71kteNBQ5WSBOagB3xbpxNCa7VsPtvE8QOVFIUMIw50Bmvd5qdAENt1Zdkec0uqXgs62NhosmhE69A0g+e8+tbWc3HKlLP3IRL3gUmB0qRGKIM4VLW53oZQNNvdDWbP6G0ppWhgo5akjduUb/GMOwNHXYDRJI/heRlh75ImzFIEYOcEiLiOyvIPGF59RyQ68kPokiGo+ibsFHzueI4XRBetGakrsn4UYyxwfExO9KHfo+e7v+wcqa6r6OaR X-MS-Exchange-AntiSpam-MessageData-1: +Z+/kDyGxLN7xthI2TsksobaZUi5WsT48ec= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: a523530b-08d9-469a-971e-08df046c863d X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:46.6135 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nf+fgomD2VyDotTSHVlHO6ZJTCMFfl7dkuDXpqMwtOSi/KoNnpG0mitT1iKQ+bH21r/xQVH211q7Is1xdVj612UlodqzQyCulex11Jyhq9A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:53 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129543 python3-grpcio bundles grpc 1.78.0 C core which has the same OpenSSL 4.0 const and opaque type issues as grpc 1.83.0. Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-OpenSSL-4.0-compatibility.patch | 140 ++++++++++++++++++ .../python/python3-grpcio_1.78.0.bb | 1 + 2 files changed, 141 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-OpenSSL-4.0-compatibility.patch diff --git a/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-OpenSSL-4.0-compatibility.patch b/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-OpenSSL-4.0-compatibility.patch new file mode 100644 index 0000000000..895ceab88c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-OpenSSL-4.0-compatibility.patch @@ -0,0 +1,140 @@ +From 664032e1cee574e5d3874bbf55466448f537ab1a Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Thu, 27 Aug 2026 10:55:42 +0000 +Subject: [PATCH] Fix OpenSSL 4.0 compatibility in bundled grpc + +OpenSSL 4.0 returns const pointers from X509 accessor functions +and makes ASN1_OCTET_STRING opaque. Use auto* for const returns +and ASN1_STRING accessors for opaque access. + +Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] + +Note: Fixes bundled grpc 1.78.0 C core. Our fix for areas not +covered by the upstream PR. + +Signed-off-by: Jaipaul Cheernam +--- + .../transport/tls/grpc_tls_crl_provider.cc | 2 +- + src/core/tsi/ssl_transport_security.cc | 17 ++++++++--------- + src/core/tsi/ssl_transport_security_utils.cc | 10 +++++----- + 3 files changed, 14 insertions(+), 15 deletions(-) + +diff --git a/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc b/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +index 7bd4c5a..22d266e 100644 +--- a/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc ++++ b/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +@@ -56,7 +56,7 @@ absl::StatusOr IssuerFromCrl(X509_CRL* crl) { + if (crl == nullptr) { + return absl::InvalidArgumentError("crl cannot be null"); + } +- X509_NAME* issuer = X509_CRL_get_issuer(crl); ++ auto* issuer = X509_CRL_get_issuer(crl); + if (issuer == nullptr) { + return absl::InvalidArgumentError("crl cannot have null issuer"); + } +diff --git a/src/core/tsi/ssl_transport_security.cc b/src/core/tsi/ssl_transport_security.cc +index 6526d3f..ff03697 100644 +--- a/src/core/tsi/ssl_transport_security.cc ++++ b/src/core/tsi/ssl_transport_security.cc +@@ -406,9 +406,9 @@ static int looks_like_ip_address(absl::string_view name) { + static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8, + size_t* utf8_size) { + int common_name_index = -1; +- X509_NAME_ENTRY* common_name_entry = nullptr; +- ASN1_STRING* common_name_asn1 = nullptr; +- X509_NAME* subject_name = X509_get_subject_name(cert); ++ const X509_NAME_ENTRY* common_name_entry = nullptr; ++ const ASN1_STRING* common_name_asn1 = nullptr; ++ auto* subject_name = X509_get_subject_name(cert); + int utf8_returned_size = 0; + if (subject_name == nullptr) { + VLOG(2) << "Could not get subject name from certificate."; +@@ -466,7 +466,7 @@ static tsi_result peer_property_from_x509_common_name( + static tsi_result peer_property_from_x509_subject(X509* cert, + tsi_peer_property* property, + bool is_verified_root_cert) { +- X509_NAME* subject_name = X509_get_subject_name(cert); ++ auto* subject_name = X509_get_subject_name(cert); + if (subject_name == nullptr) { + GRPC_TRACE_LOG(tsi, INFO) << "Could not get subject name from certificate."; + return TSI_NOT_FOUND; +@@ -562,16 +562,16 @@ static tsi_result add_subject_alt_names_properties_to_peer( + char ntop_buf[INET6_ADDRSTRLEN]; + int af; + +- if (subject_alt_name->d.iPAddress->length == 4) { ++ if (ASN1_STRING_length(subject_alt_name->d.iPAddress) == 4) { + af = AF_INET; +- } else if (subject_alt_name->d.iPAddress->length == 16) { ++ } else if (ASN1_STRING_length(subject_alt_name->d.iPAddress) == 16) { + af = AF_INET6; + } else { + LOG(ERROR) << "SAN IP Address contained invalid IP"; + result = TSI_INTERNAL_ERROR; + break; + } +- const char* name = inet_ntop(af, subject_alt_name->d.iPAddress->data, ++ const char* name = inet_ntop(af, ASN1_STRING_get0_data(subject_alt_name->d.iPAddress), + ntop_buf, INET6_ADDRSTRLEN); + if (name == nullptr) { + LOG(ERROR) << "Could not get IP string from asn1 octet."; +@@ -855,13 +855,12 @@ static tsi_result x509_store_load_certs(X509_STORE* cert_store, + break; // We're at the end of stream. + } + if (root_names != nullptr) { +- root_name = X509_get_subject_name(root); ++ root_name = X509_NAME_dup(X509_get_subject_name(root)); + if (root_name == nullptr) { + LOG(ERROR) << "Could not get name from root certificate."; + result = TSI_INVALID_ARGUMENT; + break; + } +- root_name = X509_NAME_dup(root_name); + if (root_name == nullptr) { + result = TSI_OUT_OF_RESOURCES; + break; +diff --git a/src/core/tsi/ssl_transport_security_utils.cc b/src/core/tsi/ssl_transport_security_utils.cc +index 8f6607c..93876bb 100644 +--- a/src/core/tsi/ssl_transport_security_utils.cc ++++ b/src/core/tsi/ssl_transport_security_utils.cc +@@ -281,11 +281,11 @@ bool VerifyCrlCertIssuerNamesMatch(X509_CRL* crl, X509* cert) { + if (cert == nullptr || crl == nullptr) { + return false; + } +- X509_NAME* cert_issuer_name = X509_get_issuer_name(cert); ++ auto* cert_issuer_name = X509_get_issuer_name(cert); + if (cert == nullptr) { + return false; + } +- X509_NAME* crl_issuer_name = X509_CRL_get_issuer(crl); ++ auto* crl_issuer_name = X509_CRL_get_issuer(crl); + if (crl_issuer_name == nullptr) { + return false; + } +@@ -316,7 +316,7 @@ absl::StatusOr IssuerFromCert(X509* cert) { + if (cert == nullptr) { + return absl::InvalidArgumentError("cert cannot be null"); + } +- X509_NAME* issuer = X509_get_issuer_name(cert); ++ auto* issuer = X509_get_issuer_name(cert); + unsigned char* buf = nullptr; + int len = i2d_X509_NAME(issuer, &buf); + if (len < 0 || buf == nullptr) { +@@ -331,7 +331,7 @@ absl::StatusOr AkidFromCertificate(X509* cert) { + if (cert == nullptr) { + return absl::InvalidArgumentError("cert cannot be null."); + } +- ASN1_OCTET_STRING* akid = nullptr; ++ const ASN1_OCTET_STRING* akid = nullptr; + int j = X509_get_ext_by_NID(cert, NID_authority_key_identifier, -1); + // Can't have multiple occurrences + if (j >= 0) { +@@ -356,7 +356,7 @@ absl::StatusOr AkidFromCrl(X509_CRL* crl) { + if (crl == nullptr) { + return absl::InvalidArgumentError("Could not get AKID from crl."); + } +- ASN1_OCTET_STRING* akid = nullptr; ++ const ASN1_OCTET_STRING* akid = nullptr; + int j = X509_CRL_get_ext_by_NID(crl, NID_authority_key_identifier, -1); + // Can't have multiple occurrences + if (j >= 0) { diff --git a/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb b/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb index a926ac2baf..5cd530f1c4 100644 --- a/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb +++ b/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "c-ares openssl python3-protobuf re2 zlib" SRC_URI += "file://0001-python-enable-unbundled-cross-compilation.patch \ + file://0001-Fix-OpenSSL-4.0-compatibility.patch \ file://abseil-ppc-fixes.patch \ " SRC_URI[sha256sum] = "7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5" From patchwork Thu Aug 27 18:53:13 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96583 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25133C61DB9 for ; Thu, 27 Aug 2026 18:53:53 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.12]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1795.1787856831279643942 for ; Thu, 27 Aug 2026 11:53:51 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=cidc37ln; spf=pass (domain: est.tech, ip: 52.101.65.12, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l6dhffo16dTf+jNxApVm2eizU4ANERCnDqOjNEK8B4uNvfPcW50f3agleWCs/oGURNt/3p6XXVMxto+wqUU/AzhwOCUJmvgt4srlQ9WsOZQfxA9SK8kQCWDegDnKwS1TI96aOk6oA8HDBY2QaA1CK2gObM13nLPUGkoRpFSfQehLiPxeGN25TqrNTSmN9Zb8XiaAS17JFU6MNFg8KyQnh051W+hPCoXyHuZ5BSewHrNfT8ELIAQtIGZRGs7gthIY/K7nYnO7EoHxkvPw0xLBBBiwW3XNGX+OlJbm1UhJxJcfHpwaQCqO4bBQr4kj65TfF0t0HVZojj/6QPmzaQ6NCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Pj1Syc3BvdpOWgll0TWWoJ9C7X6vW26myxQui0Aw8Q4=; b=R454Zyj9Y+YQq/V/alMAOZmzzXfPXOi8Fq65tH4FI1ngfSZRUNxgc5xKYMZ1h44zo5qnRMzSIoAj7/oyqrSxo4vwJT0rNryOwabgvWetUaSDsJXtlyW3HRp73StvCyeG9Ijue7wIY30a0Pyvf6GC2EjLOGZPvJgJrLQyX4/P4ZzEOh3HkC8Sxt1pJXK+/NVBxHLLscPOYb59f+PuWSTt7IN7PgDn+G3H91VeAGzKX1b8A/RBSHvlyz7KopVSFK9o/DgvLGmW0KR0ABj6h80VddnjGMi5lgOQLDMBh8+UFHhxiHkEn8lo4R2TC5KZMWjYtl9Gttgtk9QFfl6l2g/nrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Pj1Syc3BvdpOWgll0TWWoJ9C7X6vW26myxQui0Aw8Q4=; b=cidc37lnKlry1/fE6+cqNxAO0jk2FG/587K0+63uEDmQ1ZCzoScOpq/fYqRYfojiVMMrx1GwEu6LDycllsHrXhccubT1YwW7UU9B/Nr3oITPs671UzAfPU8vqK1E/8n1zp/vjxhsSbQprJFso7n5635k4OxZA36kv1oTW1KuD29C0ErWm54KzPfnqb+Fo+u+27hc9J1o09eZEt4uMC3V5kSuPQHFBLm4cCV91lKpQmeQQI7loUHLDVGv+GX2H97TEOqQio8u4xiSWqz5/7WkKv7pclqGmIHCtu+B7U+Sao/5u4QAKrzFBnmHQvfLyvlKSaQWNzeMqSCA/jCJo1GEcw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:49 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:49 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 09/20] thrift: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:13 +0200 Message-ID: <20260827185324.78997-10-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO4P265CA0305.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:391::9) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 8814730c-a291-48b1-6abb-08df046c87a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|12006099003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: 1N6/XOQL0kJec0ym8QMufghtwzaaQtmJ5UktjdPRVgXw4xrYS7fhZTCd97ZvTgoXilKQcRVVhq7m8cPKKxdnCCZvYHI1sNTgIYqf7rhpf8Al11QctjkZswps3u+j8BUGzx4ocapNovDnP0pgzNuN+hMjFN2WNRICKFBefNDPC6Q4p9biX8xw+cDwSyfMr/WnOReacqaQY3nF2fnzWMYDl2Byzh+qKMJCOkdm/FB99aQXlDA1ik8Reu+0FxYlBbRo5Fm5yZ2VPDKvyHfLV9tsjfpxjkDWIrcSTUebbAAORqSpcr18NhPKTIFQ9wRPR5hRaWsVp3Rxb6vrjEq6TnQi7zxpcmYN86ih16/ToPWURWxxHC/EMmHwzcbIcz27qSPuaW0t5McjM2yMmQUYdiws0IPGqUty1Wr2suwS7OTilPbkqCW4VvnCHNS9H93yDofoNqd2mYToVrBOKUD/V757VXH1CbNsMjhdOI4/PPutyOVfAoGOjhmRyj94Wn2CSGjMWf1x6s28+50OEa3kekovdUnJz7HzqSxp5Fc0sHPoPD08cDYqDPuZCNgcMGPYIH5lSJHuo0998MkYb5pFWnhDaKWAS7nTUVY5aMTKSmWaD96LnyeNPSAKS++YKi1SqtDLvi9hEPBd3W0W1R/lKGJwQZpfzyAgGDrYlHdlHNVwV/U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(12006099003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Mi4Zgep93zEvm5s8CdfCmDEpWUALDwc5Oj+LSDbhJ/qIEc35iGznKslHwJ8CksZ7wQ66Wv4mqlB9rrsxxtTj5oxissFOtXUTHanVE+J7AoOk6u4lQ24276voWN0ffAqIT/R9JjX8bW1I4Hq8L+u3roeCbzM6n6YKGJp7149Ypc8slSehDdMIfAojGuRCBeQ1JHYH/Z2RVf8X302+QFuACLcMIMpLAlb11Yy12QDVi0CBb09KKj+bQqIjpUyIS4j6gNbWWXmLM9NMSMoCTXDJmp2wak+QENqKSyiLOrE+bS0Nrt9vq+hpdnmdSebs0uqEf+oy3VolS0Fy/IlPNdpNo5l8OpcluzGodU+KVPXgMFjQJVoySi/Q3QiYBvbJZK9o3ulgMCMXIg/kecN50PnL8Kav320Qse2eZ2JnlkgleT/K5I1QTnwJCNlWxk1iGtdfQDBcBvtdqd5b9e4/soabi3P7J0MsZDh1GF+3uE9qAv6M5jBGNOeqINx5PaxSfjG31Cb5KGkrosEVLTAVmNDhLlhpQXTKywk+g5Rft+AT7NijuB7EqxCttaKbzE6jh3fQ6DER7cicK7R29R/qGV4Z4AH6tjh5bcIRPUAfK/JA09r+G/zyc+2OjhwmYVoruoQwG2xIrypQljn671yDKKmDE4QVglJ283p5FQOBz7AkB/DXDVfW9okfAunPUu/jIDXvVVxM/HG51tqL+o/74KeVVv1A0U1IF53VyFsnD01ZvUE2fTf17v1CDBI06f51APQLLC23v42JYefWIFpIhGHhe7daWRjY2EKc5numknKj3GklhKptlU0V2oN4YadkWK10c1jX+qap0SppLQ68sQ2uaskPMUPkNBWyBgzY2I4xqPFcsZHIo1XbrfXMsF8v6hJ3lon4eMZBpIg1m8ZXpTeWcl/9XF3yCl66Xf/VPtNcQgxqZ0v3ybfdkhBligl5/QxdEfJTTNY4ns/TmMJz386UNShPwT22dqyrqfbxbrovC4xJxB7/U5lkDvifCGybZrBhY1OOITvdRWdXxv0Ovg5Dv3UEaANFsidNDWdkAW9kTrM/DEA2L9D7dOtWag1GKte6o0U57Jj4g4Kpu4h0e0jXABYXzfFEJ1oTyN37mUoIWzOr/VR3sBGHq0Pg+dkYvM8Jr2Z+aqTafdZv22m0HvilIiReWOryjJ2itn2scoJ+T/EyvLxjd6TBkE3aHR4eexAfrzNHvXrYPzfc45IhnxQAE0CYxOHtXLtN1anqiQyj8IgUp0l52awGFqDBwAcdGuN5gR+dgKlZydXH8f9QZ40VfBY0WIR3n+mQ8v4MNGAIStwQBG3OX/z6ssBlOpA7lT1GI5BiBzSvmRvqRZsWn5Bu7Dz5KLzbQORwCEFgfnewo3Ved75iqFQcChOzA9F9ee+Gi/8lywwZ0YDvOlY2RT+YROWiYojmMEBm27pUSC6GMh2hMY90Pi0dfqljlEcZnI4or/9S05qKIshLHJZIBeCX6Z4FMQbeXXWtYlnAHT3cfP+wTyuaDZaYKaDUo+eMjNKeyZZhOdxZ2K3zcpWhap94zRAumxx30OpdQdPiIdsgmd4Z2zW1ZfGu9Wi03HBJCcy/eMbJcR1d95iFR5SVgXgObMWFOexVMgMATPh+B/GIjLzdGhBLUBo7Pyl6otJupT4ShynTTsLblMh2QNUsJ+0ALoAq4LrzBR0DjfVUD2qNzW66kEwOccFrpw2L2bCCHdbk2rDgzP1joBqIEEXCGCF4u/OHIQY0l0yxOChFBCOyiNOjE6NLiNUvWwW73B5+YK/Lz8eeqNKq X-MS-Exchange-AntiSpam-MessageData-1: XSpw0hHT+lIyoh1mR6TYmeGpc3Al1gf+N3Y= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 8814730c-a291-48b1-6abb-08df046c87a1 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:48.9190 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sbLdMc+XYMr0o+Ii3ZFr/abMSq/ZbX4kYPHkM2DYNl0SDY4pmVrG0nTBFPRnw+itK6TEOVXnf3/OQep1rPXBOGVyQx8KyKrhnLcdjSOQ9bE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:53:53 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129544 OpenSSL 4.0 removes SSLv3_method(), per-version TLS method functions, ERR_remove_state(), ASN1_STRING_data(), and returns const pointers from X509 accessor functions. Fix both C++ and C GLib bindings. Upstream-Status: Submitted [https://github.com/apache/thrift/pull/3752] Signed-off-by: Jaipaul Cheernam --- ...SSLSocket-fix-build-with-OpenSSL-4.0.patch | 113 ++++++++++++++++++ .../thrift/thrift_0.24.0.bb | 1 + 2 files changed, 114 insertions(+) create mode 100644 meta-oe/recipes-connectivity/thrift/thrift/0001-TSSLSocket-fix-build-with-OpenSSL-4.0.patch diff --git a/meta-oe/recipes-connectivity/thrift/thrift/0001-TSSLSocket-fix-build-with-OpenSSL-4.0.patch b/meta-oe/recipes-connectivity/thrift/thrift/0001-TSSLSocket-fix-build-with-OpenSSL-4.0.patch new file mode 100644 index 0000000000..965f024b6e --- /dev/null +++ b/meta-oe/recipes-connectivity/thrift/thrift/0001-TSSLSocket-fix-build-with-OpenSSL-4.0.patch @@ -0,0 +1,113 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Thu, 27 Aug 2026 11:00:00 +0000 +Subject: [PATCH] Fix build with OpenSSL 4.0 + +OpenSSL 4.0 removes SSLv3_method(), per-version TLS method functions, +ERR_remove_state(), ASN1_STRING_data(), and returns const pointers +from X509 accessor functions. + +C++ (TSSLSocket.cpp): +- Guard SSLv3 and TLS version methods with version check +- Replace ASN1_STRING_data with ASN1_STRING_get0_data +- Add const qualifiers for X509_NAME, X509_NAME_ENTRY, ASN1_STRING + +C (thrift_ssl_socket.c): +- Remove ERR_remove_state() calls (no-op since OpenSSL 1.1) +- Guard SSLv3 and TLS version methods with version check + +Upstream-Status: Submitted [https://github.com/apache/thrift/pull/3752] + +Signed-off-by: Jaipaul Cheernam +--- +diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp +--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp 2026-08-27 11:26:40.242005669 +0000 ++++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp 2026-08-27 11:26:40.263005736 +0000 +@@ -182,16 +182,18 @@ + SSLContext::SSLContext(const SSLProtocol& protocol) { + if (protocol == SSLTLS) { + ctx_ = SSL_CTX_new(SSLv23_method()); +-#ifndef OPENSSL_NO_SSL3 ++#if !defined(OPENSSL_NO_SSL3) && OPENSSL_VERSION_NUMBER < 0x40000000L + } else if (protocol == SSLv3) { + ctx_ = SSL_CTX_new(SSLv3_method()); + #endif ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + } else if (protocol == TLSv1_0) { + ctx_ = SSL_CTX_new(TLSv1_method()); + } else if (protocol == TLSv1_1) { + ctx_ = SSL_CTX_new(TLSv1_1_method()); + } else if (protocol == TLSv1_2) { + ctx_ = SSL_CTX_new(TLSv1_2_method()); ++#endif + } else { + /// UNKNOWN PROTOCOL! + throw TSSLException("SSL_CTX_new: Unknown protocol"); +@@ -770,7 +772,7 @@ + if (name == nullptr) { + continue; + } +- char* data = (char*)ASN1_STRING_data(name->d.ia5); ++ const char* data = (const char*)ASN1_STRING_get0_data(name->d.ia5); + int length = ASN1_STRING_length(name->d.ia5); + switch (name->type) { + case GEN_DNS: +@@ -796,19 +798,19 @@ + } + + // extract commonName +- X509_NAME* name = X509_get_subject_name(cert); ++ const X509_NAME* name = X509_get_subject_name(cert); + if (name != nullptr) { +- X509_NAME_ENTRY* entry; ++ const X509_NAME_ENTRY* entry; + unsigned char* utf8; + int last = -1; + while (decision == AccessManager::SKIP) { +- last = X509_NAME_get_index_by_NID(name, NID_commonName, last); ++ last = X509_NAME_get_index_by_NID((X509_NAME *)name, NID_commonName, last); + if (last == -1) + break; + entry = X509_NAME_get_entry(name, last); + if (entry == nullptr) + continue; +- ASN1_STRING* common = X509_NAME_ENTRY_get_data(entry); ++ const ASN1_STRING* common = X509_NAME_ENTRY_get_data(entry); + int size = ASN1_STRING_to_UTF8(&utf8, common); + if (host.empty()) { + host = (server() ? getPeerHost() : getHost()); +diff --git a/lib/c_glib/src/thrift/c_glib/transport/thrift_ssl_socket.c b/lib/c_glib/src/thrift/c_glib/transport/thrift_ssl_socket.c +--- a/lib/c_glib/src/thrift/c_glib/transport/thrift_ssl_socket.c 2026-08-27 11:26:40.245005679 +0000 ++++ b/lib/c_glib/src/thrift/c_glib/transport/thrift_ssl_socket.c 2026-08-27 11:26:52.923045957 +0000 +@@ -285,7 +285,6 @@ + SSL_shutdown(ssl_socket->ssl); + SSL_free(ssl_socket->ssl); + ssl_socket->ssl = NULL; +- ERR_remove_state(0); + } + return thrift_socket_close(transport, error); + } +@@ -710,7 +709,6 @@ + ERR_free_strings(); + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); +- ERR_remove_state(0); + } + + +@@ -835,6 +833,7 @@ + case SSLTLS: + context = SSL_CTX_new(SSLv23_method()); + break; ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + #ifndef OPENSSL_NO_SSL3 + case SSLv3: + context = SSL_CTX_new(SSLv3_method()); +@@ -849,6 +848,7 @@ + case TLSv1_2: + context = SSL_CTX_new(TLSv1_2_method()); + break; ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + default: + g_set_error (error, THRIFT_TRANSPORT_ERROR, + THRIFT_SSL_SOCKET_ERROR_CIPHER_NOT_AVAILABLE, diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.24.0.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.24.0.bb index 6a5efdabdf..aa822d8696 100644 --- a/meta-oe/recipes-connectivity/thrift/thrift_0.24.0.bb +++ b/meta-oe/recipes-connectivity/thrift/thrift_0.24.0.bb @@ -10,6 +10,7 @@ DEPENDS = "thrift-native boost flex-native bison-native openssl zlib" SRC_URI = "https://downloads.apache.org/${BPN}/${PV}/${BP}.tar.gz \ file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \ + file://0001-TSSLSocket-fix-build-with-OpenSSL-4.0.patch \ " SRC_URI[sha256sum] = "e0fa5839a4c5c1d631b0931cf2c554ebbfa4e2fee3a9fb3ffd4f82ce4396c6e4" From patchwork Thu Aug 27 18:53:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96587 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4877CC61DC4 for ; Thu, 27 Aug 2026 18:54:03 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.56]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1797.1787856833544892600 for ; Thu, 27 Aug 2026 11:53:53 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=DKWTzuvF; spf=pass (domain: est.tech, ip: 52.101.65.56, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xC/n8O223zPbgJipGJwZTOsdtk/lo/pe3/5r0a8x1GhdKDZC98i7AGFeNzPRmAzLZtHo7TPcq2RCQdv+sw8L+7EtOjL3iAy8PPBpX9hi5Gz+kYHtNS30aR+5V+yXo4Kc8BbBA9y4mGlKUpl8xwI/KMECCrPNtQzJd6KfuhjCJOxL2kB5DSXfMx/zCCv0NtoRu/hRK4ezqT7zT14/Rs3yU09QAhTXhdYeX+/oVM7LeQbHfJE2G11CIJwE60+zNsGGvi69vEViGalEu18jkUf82T1aZsfOfO5am0w/BjFRFY/iPGWwuCPOGgxgCOOm/+qD8ys3suRLbMrNDQyneoBq5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ir3box3ZQXJY0/CSJlB9OOdmfrtD2n0dmKhqOqaNVR4=; b=Pj9idFkQku8w8COUNGQufr37M/8H6xfM0+qfWTrM0YQTPu84dScnuwtjmQB5soWFWya8m3Gp/Y9wVusxk7nttgSyr1lvN/C/xqRFO4XCI2OLQNUlQNjCI12fhnvUZAU6eY1xNjYbbrxhvEg+9XS1vpHIVBghZ5z4YIJ3EkZlX0e2Cu5BWYPJgCAVGuiKd3YbF2USTxHjqEbKMT/0vBWcHGg6ReTbCV+g6dKOaD/bXZP0VXy2uVTbpF1F/KVANu0F5DavSWYoZE33HNJVJgivr5nsnKbmZedJQ0EXs0YdYkV7IWMXKeYc/gu8ZtoRRfeIYf9RS34YRBCoqkNBrawIrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ir3box3ZQXJY0/CSJlB9OOdmfrtD2n0dmKhqOqaNVR4=; b=DKWTzuvF6t9En8Z0zEr/sfp+1+c0yw4CJEo6sIqPuDfDr4+kbu84VAulPkFXaSvk21hNoUKYDFtO8DGjhHUBdtT0EsF9Js0mGN9DP+e3khj1iPPVkHcaF4BoA7+fd4e9JE2TOFVT2HTi2G9jyEw7eC312t1zTNPYPvGBUxus3aN0F5gkPp1AqztiWPCcTomDKLhXIU3ohm7JUKUgjaovccO2ITxRAZ4rYTO6Dnbi8nGHPSpmSCA265A/0iAtybE6nCzJo3HAOBUBLHBIf8II4Jy0oLtw6PSThcxW2J1l+pYjSi5DXC6PcGFOv1O3KdK9vfXkOb7zUsy2Lzchk44HXg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:51 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:51 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 10/20] boinc-client: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:14 +0200 Message-ID: <20260827185324.78997-11-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO2P123CA0090.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:138::23) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 7cd0a7ba-90df-4a61-5044-08df046c8935 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: 7L8mVcJ6p+y0gdQMkBzYkqHyIxau7dkfPMWbCm3NAtkDww3FcEakCDZqyQeX3MmQtCRrj8V32D5v9N6Lc2VHGTc12qsiG82SjiuuxkOe5KroWzPTHnaqC17uaIAinEFLK9RwwHBwzKgOgp5Chpvh3EmwsaInozry28KWbwbO2wRTgHk0aao/CRGDMVqVFkuWxmK2mWA/3lu5FdYsSXrGTW7oqaIbCQ9W2N65jahkaFbKRR+VWuzprNX1rrg0JkE8xCaUSC3RSUYoBnped9LZZ9tlB4DYW1O51j5H/6jtQZgZrTky151prVkFfnK+CHSuTtSd5hB2a9acI32SPc/G9u3ZmENJWRz4yfH1srI5llfRe8uFHWgSHqsTEWVbKFdb1kKnCXXbYH3dPyXnr1vm3rdObkQgulEKJw79qWJFsNKJJlg9onmYXdZTZ6oGCOuSqLRaZrLYtkCgE23NP22E4l7eDDGT00LR0qW+6DKrFwniEE7ydlx54Atsb/Q7Ctb5JfPVF1vkiKuuvNmwG6NUCmCK3J1ZoWbWRW/N16PNEiXW5RI0JdHnHaQm6P5DtgrennehWN9UONm4Vorh1t8wO6EOHVt+/wXqxZ+XIhiCDmPnIuPwsIdyCtlzYlhj7W2ddy4LdR7DCNJ0WDBky1Iyiq3VMIoDx6N8cQD1Kc6d5yw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Q66lmKVvabB2xcRD7z7qBYxvkP8TQWcUb8VfGPf2nvj48vC9jG/sfji2LFB6W0yr5iBWgbPNuDQdQ82LBkrSQnrBgidKwX8aVeLIjPneZc48H4ZKWPQt4HUvW/jqoc8jAeBf1AkH9lP6cyOazuISoMKhFSRxxgQyAWZQYMQCZfMroZudfqd9BUsOIiAJucP8JXvo4Jr4kixX2Y1o3qqiHNGodI3FUdaCtvXFhZ5U39FLgamr6vbjUsiWleVoUbE9YcPPZ2D9N3I8U1sBY0jPlpLBzYiYDM7bB7uQDBkRpz/NcEUtyxkbkrMYS8Da4YHaZ2s9VW5hZGkX9zP+CI1JL1E27A2Titi/pm6YTy3BT6KPIN8tJhgmS7f9slofN2PFxlZ5hGCpM/aASwAE/eFqzjcrs/dPANBOkx4wsst3+XI+BGOuB5FaUGgfMt5F/hLlfAqag2ulTOLF9v/BWLksVZPaMCLgWDC1Hy4JKaxU/Ihzol4va8+Wp2JwrEXCVEIuA378BPbziJSgt5UP3mlPlkF/mzycmG6W1j+GuPCXhkO4+LuEhgHlqbnQaxFkIOi5ZcXJGRr0Sy7UOLmTh8vX1csXY0VF2AjkcLEYbZ1DgPtEN1Lm9WJp9kC92A6EB+aGu9VHCKkJ1CmZaTx9egEW5lO2N8p6O7uwIUg+sGTXTRGm+V4LBd5drMs24X7SFT8eOubBXKItvc4I8Akn6194v69VVUD8I9SdS1dIdV7xryDbEDmxVcy2DQipEiLyubctGPhOhzyzP+eD0wOVnJf0kwRYiPf7Em3nhK4q38yYBl9P0aQAOcGLS43UpAboBH3tEttG5x9KmZoXMeoYq8lHVwC7a/3BIenQJTUN5WDO/b7fHC0h7/RWajhzRnztZ1adez7DGYDkUmi8toRCNW3648THyQ4B3ujrPIA1zi4CvIAwC50sMUv0VOoINfdpm9mDr/yNATOYFbP6fa7H53+NYVtePkj5Ro2VoLN4oR5lI7ddDskEmdlGkq4gG4g8XZVBcWW3KdWTEzdj45XrgZcRTsikbnnzRd5pfwWT/0EHpFmxhzRlBreiXk2JGFxe04AAsfUNLKrj8eA15ER+iOPprR11u8s7Vd3KCDH73uq7mvGv7/3XUs8LP93tKaNYVA2nbunW2zNIdQ3ahoxuor1LBOTJa97ahNIkM3XxdAmLyyYUVgyCMvu5gcugtiVEHk7irs+vKpRGpHRHcypoGyViZjjiKviZ2VW/TZXI4Ju8HbNskf/uDOlwxbA1SGD/siZ90nsoyV1NZ7ND+bD3p4Ll75Pb1tfunNuqcwg1Af8NWylbXS50atRHz2/ChCP1jbJsSSLsoJf451meX9n2tQoVYlyJM5iuuNjhEQ5aXKOOqVkXzP9GG+6/AxMsrJQDiz2iai+EN+YxskJJGJJ43KZJh3/st82jA8oarrYhTRs1O08b/lFaQc9y7Bxmh2Xd3wk5TwpFlwEtkUyyF78LoLYcbBBFJzXnrpn90EHd+srL/JyboB/eomc6k7WGMfa69QmQgIB9Glxg1x0YOslZ1K6Wo7TLdRq5cGNnKNmdz+FpCtIt353dQU5fX5tgxxn/uAZJ9aWGvt+TCegs4wJS/s9IYA3qJwrRU6ylzPgz0gsA5i1RXl9f1k3glUPsGVLOP3d4nRzjMh6E9NQWMaRAIqDxM5SPUFAUCU49x5z1IqjNpHAC8itj0qIryQTprmOUYzw+ht30BMoiIXLgrzWxJQHFXfPctuEUKJ8nM2Sx3tevmYMpSc99hYiLmYT0l2wkk4gqCQmLGNfq X-MS-Exchange-AntiSpam-MessageData-1: Zd3BEoxhL30yssAxrO563wUGFtzMS1lH5Y0= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 7cd0a7ba-90df-4a61-5044-08df046c8935 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:51.5835 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CUV5Di9oxyTge0HpGOLMfX9a4XIiEYIP6hJXbbVfCAZwzh/5QZODm4a/hnudgYDh1Ig/MaGLapQ8JJNCnIIAt746XhIBhRAGwjJOC/LP6uo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129545 OpenSSL 4.0 returns const X509_NAME* from X509_get_subject_name(). Minimal fix for the const qualifier issue in cert_verify_file. Upstream-Status: Submitted [https://github.com/BOINC/boinc/pull/7209] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-build-with-OpenSSL-4.0.patch | 41 +++++++++++++++++++ .../boinc/boinc-client_8.2.15.bb | 1 + 2 files changed, 42 insertions(+) create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/0001-Fix-build-with-OpenSSL-4.0.patch diff --git a/meta-oe/recipes-extended/boinc/boinc-client/0001-Fix-build-with-OpenSSL-4.0.patch b/meta-oe/recipes-extended/boinc/boinc-client/0001-Fix-build-with-OpenSSL-4.0.patch new file mode 100644 index 0000000000..71162ac3af --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client/0001-Fix-build-with-OpenSSL-4.0.patch @@ -0,0 +1,41 @@ +From 910aad27e06cf7180599c1dc5649a2dfadae6597 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Thu, 27 Aug 2026 09:14:24 +0000 +Subject: [PATCH] lib/crypt: fix const X509_NAME for OpenSSL 4.0 + +OpenSSL 4.0 returns const X509_NAME* from X509_get_subject_name(). +Cast where X509_NAME_oneline requires non-const. + +Upstream-Status: Submitted [https://github.com/BOINC/boinc/pull/7209] + +Note: The upstream fix is part of a large 29-commit refactoring PR +that rewrites the entire crypt.cpp. This is a minimal standalone fix +for the const X509_NAME issue only. + +Signed-off-by: Jaipaul Cheernam +--- + lib/crypt.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/crypt.cpp b/lib/crypt.cpp +index 904fe2736c..a06b453324 100644 +--- a/lib/crypt.cpp ++++ b/lib/crypt.cpp +@@ -774,7 +774,7 @@ int cert_verify_file( + DATA_BLOCK sig_db; + BIO *bio; + X509 *cert; +- X509_NAME *subj; ++ const X509_NAME *subj; + + if (signatures->signatures.size() == 0) { + printf("No signatures available for file ('%s').\n", origFile); +@@ -824,7 +824,7 @@ int cert_verify_file( + } + fflush(stdout); + subj = X509_get_subject_name(cert); +- X509_NAME_oneline(subj, buf, 256); ++ X509_NAME_oneline((X509_NAME *)subj, buf, 256); + // ??? + //X509_NAME_free(subj); + X509_free(cert); diff --git a/meta-oe/recipes-extended/boinc/boinc-client_8.2.15.bb b/meta-oe/recipes-extended/boinc/boinc-client_8.2.15.bb index 62aa757a59..2d386d066c 100644 --- a/meta-oe/recipes-extended/boinc/boinc-client_8.2.15.bb +++ b/meta-oe/recipes-extended/boinc/boinc-client_8.2.15.bb @@ -39,6 +39,7 @@ TAG = "client_release/8.2/8.2.15" SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH};tag=${TAG} \ file://boinc-AM_CONDITIONAL.patch \ file://0001-scripts-Do-not-check-for-files-on-build-host.patch \ + file://0001-Fix-build-with-OpenSSL-4.0.patch \ " UPSTREAM_CHECK_GITTAGREGEX = "client_release/8.2/(?P\d+(\.\d+)+)" From patchwork Thu Aug 27 18:53:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96588 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BF10C61DCD for ; Thu, 27 Aug 2026 18:54:03 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.11]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1798.1787856836066463489 for ; Thu, 27 Aug 2026 11:53:56 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=Tci4sCss; spf=pass (domain: est.tech, ip: 52.101.65.11, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=b1iC8hD7wU8ZfsYpIfxMU2lQ2FFJmlnCMNli1IhlZQAXOKdbr5nm42/r02r8a0zhlRc82es5SjmCSOO/oBatrT6zoh3excBqfVyw04lEhw+EBrCEyJLPh1wzDYI3LhBPIi5tJb6XT0NeOh7ifKrsGlGyqJk5r/0eBFiDjVdn0QSp+fE0HWWPs8RXc+HIxid/klhqGkThOm28pFs/INI+Yi1tj4knqdM7cE1EXrKKv3vWCuFTtW+KiJS2G5LMbH3RpupXZJId+Tipqr+cyKonmhbquIYWgz2ZvZ6ECnvirmfhqkrUrcbnurUm7kFeefb8myT3IwmhFUr3yjvmJwE8vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UIQw/Y0D4wULQxQeMgBGRB9Bn85AZ/oQjA9BUGNydvE=; b=bGfw8DdZ3+nbO+COxknZz2jAe5m9vlSlDvG9wUkvDnbt+8OYvcCW/m0lDwJmcZCSWG3aJb0tgVaEBw5mFHvydAR05FmWLP4S1ViE+bkzAqQGD3r4AvZtEhq8ovXkMUi8dOGjMY2xnwpOKpD5DYjtDonL3p3eTijanbfNZ1gbmGwzUgwTnqHGBURHrG1vFk0Q+qM+jdn+lgJ6UExKkXw8/Ek+fQ7C0Xb+M+SX5nypklYTwtzprvzYPd8mNm1Y65zusBlgKeC5EkPPBpTcKlRrGN1JPlU6pUmuZiP+A9UM2Wds3+Bv6v6kIUn7mK7z61aKX79xd2+ND+tqAT6Rbje9uA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UIQw/Y0D4wULQxQeMgBGRB9Bn85AZ/oQjA9BUGNydvE=; b=Tci4sCssii+CW0bNy4lYppW3zTuO3PQm2wjjAraWi64vkowmDQNsU06/wqxrHBzrDjSJfHOW0Ic35J8tc1FLRbup18JQr/34b10fjXV3aw5ru2xhl4YwNonOkrSHbqm4+qE1OuOeInvAsIK/20TxzKgbX0r0BYQLvh6zBPmQpT8QofmScBtY3IXppnvs7mj5IYIGbaJOD1aBjR7Ijszr29pD9E5Fs8rD9wqZRz6CF1113eu6NpZMY5YqaVRqzNtOFMuAT4tr8al1EmGukXQizIr2dCO0bGVsXn4ZVgy9HmR27anPYIKEsStY7IfH8P2p/D2KEuNC6bjgf+lVVlTiIA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:53 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:53 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-oe][RFC 11/20] imapfilter: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:15 +0200 Message-ID: <20260827185324.78997-12-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO6P123CA0040.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:2fe::18) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 0350245f-1912-442e-36b3-08df046c8a96 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: avSxJIv8GrYyIRoqzv3VutQ3PMrRHxEBzQfl52A1SYZDw9rIZljt1jR8YUth3J0PDW2b6AMA9Q0nUv5WiKPe7/sM3mHA9UPV/vEZ+GyuCVrjIuS1OrejNEZK76ZBdpKYuedy3bgKp0FcTlgJeiqUONozvK93JF3ixi0zKho8+LJlC21HnnfuPgPzx6Tdu8oan0ibbi/CN0rhcOy7hIrDYh0Miuhe4iBsEZcHdtrVXss92nbVGL4YcKeNPR0+t9LGhYWpbM2SThlTL6Z7NvtRroy1QOn8d9iNz3qkryNlFPr20I3aKYe2tUklJGN1Ys0DaZA8A5vAB7BLCvYzAK/ttT/+N6qOHpYm/ANOk7BIviIDm+dBeeSjrhTp2llz0bWAp56HLE0Gj+ElZyP4wTMEtkuVA1yA0jgXum8Z0Jy2HRiBcKvTFICB0JagOxABOm3BjxGsYT/b08OtDcJkpr7ffB9l4kjQKvOlkFLRnKp5IXhPvH8uCIz2BAVJo++Y5FIBhaPRAMKhK7WwYKrHfQbBuJv/qXDpTSSg1p7GACKODoGUYwQnOM5qpFW3WsD8kljMHwal08DxotHTJB2CtP8bMhaqjSov79PNAEHMvT28rVOB7nryp/EdmAIcGhP47JlWKbwAoxvNTJq7XhLBG0+clAVqFWzY5eKXIBEbKrJl7XM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: lhrl85fQ7x8MfHpAPwAFSLb3GAhUXhlJ6edZgSm6fSwnWQx4khJojCJ6pxdOL8KLg3MX6/eEQfJnil2RCqogcyfODjuPz40L+VTVB2bOY6HGsYOEPjs5Kd40n/6QaYMa7jJP5288A2/N2oSZwOlGqKC3zlDWzP6gDWVDfSuYCuSDvBz9C/FSLCf1p89kFoY+RJRsp7Bbd72D2Pyez/eZKDvVYXu9bHr22O+czaClMUuOvBD74kOKTSvY9YDRfyH82hbn2c6BqlCnPoleWHhNOLesd8cbPM9dp8Yhz0gsws0/+QY3yHxjYZ9+eK+6AwCcrkOjByAruPv2jTUvbbMk0psO+u0w/ho/YZfdNUM9RjhQlhI2mgET3cVic0W0+0lZC0RTPbWugvH1qzPH41pWzuDN9w1riivoLDnNf7UzqICvCWpDYoXPJ14ysCnRNwcJ/lGkaiy3Mppz3BTN3Bl4xUp2XrGTs3nJKSfRAUKRZ8jjuct4prIfFf98wYoaTBrg0K8bBEevwPrTF+aaA8u3mh7ftR7sJrenOQgh1N4l4A/7BsbopZFwu9Bs8qgq+zE9gXGbG5V7vm4nmRXgn1mOFFB9CaNAniYzk7xs/K8/xbIR86ElrNAltbKFm6lLQkiqjdLLtMsoYCautHZmcJeoWuZMh4awMULurtgekAciDIqeJr9UxJPk/KRxYc9eReOhIHtNLuuQd625gEu5DfeLesWLJVZJDrgBVAhkAXs3jTHP+lZKsqZ99Ahk60KOoM7luZGbsk4KbyR55rXzcT5UfRwWONazffCCbkxpsVbJvAlOWHPx1jp7KTOuFA0mBsSGD/FI4YQmvXDmnbD80K1kZinMqBsswXmJOpb94rOLCN5yjLxMDzkmPlGpUrSrg1i4Mlt/2z+bLxfmtV/VJflfrnesPBtgvm9XR2+rSUJpo79eGt67G0BsRb2uewhfOlNdBzX0Y0/Bc8cqmFct7S0EBqnYC+0jDb0EB6jLqnEVufjOxsiU5Uv6jWcB2kQl3WNVd2ZITocVkK9ajqmxJ8KmgtprcvTRZ38q+L0DFBpzy2RV12CikSKW7XS5pFGv+PF542/hzwEmwjDD2z5QQ/zx/JzEO/8r+1y3OlE25FZIdvLaxmhdMqJBXeqw461yViqSIDwov3cJ5EIUlIOIcmCoZYT3Di3VCVumRc2pS3O9e/EGX82Qiqq5VamoCHfTOKGUFoQXY44e4XXlW02EXG2XGu8uNCG/ZaIGN/E3TZa5DDISKhS1FR9m8oqU4CZ1z5uyqye+/28oGi+0duzWOXdtkXWHgiHLkniTnVZeNkr4lF9NSoXM5T+9NvlLRc1Uex8APoDq3xuZxm1QSrF2vocBn1Du7qFUxn1xej9HHfLX9xtJ4+r8gvXF2sVl70Z+R3PFoHmyLJh5l4ThN99yn5omcLEr/+4k5mPkcSqXp/6Uj0MhIYh6OYrikWaRUmhuv8zwcZDpJjiVhCFzDLURM1l7HltrqYbHIFYkdCQe/Mf7q2+YUY//ZyolP2SwfDY/jNWZ60yL3rvTLiYeYbAo2L3BNoQv9W3+xAjQhneD/Sz4JVhSIYzWfUZA2ULGTSJZBVQGvw7Tt/xEp0vF5UWCXVB94sSubGjtvoBmNSspR9m0USREfOdaZLhVwKHkj6fZrSBCvT50AhEB5+zMfO90lgworqk2Hx5mW9FJiyN1biJDkL+PwRaKqxtXLGULdjN8QXLCiFYVEM1akvGis9PBD0msig2EG7HKY84SyVVo7tQyFbj2bXTvqhSY3tFIQWaw1Gg7g1ftWdEE X-MS-Exchange-AntiSpam-MessageData-1: DvDuAGyoE/OvX5wMq4Zu7Z/F15QRd1KoDgg= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 0350245f-1912-442e-36b3-08df046c8a96 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:53.8959 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: frc899rE8r8xj18XseLQWVyujyuFG8s/HGTqWtjyo7P+DIgE+uOaBJw26+7QmvLUvxwf18ucVS/oVh4QFInxQUpUMeU55cGbafMFDkPTOQc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129546 OpenSSL 4.0 makes ASN1_INTEGER opaque. Use ASN1_STRING accessors. Upstream-Status: Submitted [https://github.com/lefcha/imapfilter/pull/317] Signed-off-by: Jaipaul Cheernam --- ...NG-accessors-for-opaque-ASN1_INTEGER.patch | 45 +++++++++++++++++++ .../imapfilter/imapfilter_2.8.5.bb | 1 + 2 files changed, 46 insertions(+) create mode 100644 meta-oe/recipes-support/imapfilter/imapfilter/0001-Use-ASN1_STRING-accessors-for-opaque-ASN1_INTEGER.patch diff --git a/meta-oe/recipes-support/imapfilter/imapfilter/0001-Use-ASN1_STRING-accessors-for-opaque-ASN1_INTEGER.patch b/meta-oe/recipes-support/imapfilter/imapfilter/0001-Use-ASN1_STRING-accessors-for-opaque-ASN1_INTEGER.patch new file mode 100644 index 0000000000..4342de42c9 --- /dev/null +++ b/meta-oe/recipes-support/imapfilter/imapfilter/0001-Use-ASN1_STRING-accessors-for-opaque-ASN1_INTEGER.patch @@ -0,0 +1,45 @@ +From d0e1b29ee5ae0e6e91944fd5c04b943fc810e13c Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma +Date: Mon, 3 Aug 2026 23:02:04 +0200 +Subject: [PATCH] Use ASN1_STRING accessors for opaque ASN1_INTEGER + +OpenSSL 4.0 made ASN1_INTEGER opaque. Replace direct struct member +access (->length, ->type, ->data) with ASN1_STRING_length(), +ASN1_STRING_type(), ASN1_STRING_get0_data(). +Upstream-Status: Submitted [https://github.com/lefcha/imapfilter/pull/317] +Signed-off-by: Jaipaul Cheernam +--- + src/cert.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/cert.c b/src/cert.c +index a6f614a..b188dd0 100644 +--- a/src/cert.c ++++ b/src/cert.c +@@ -186,21 +186,21 @@ get_serial(X509 *cert) + serial = X509_get_serialNumber(cert); + buf = xmalloc(LINE_MAX); + *buf = '\0'; +- if (serial->length <= (int)sizeof(long)) { ++ if (ASN1_STRING_length(serial) <= (int)sizeof(long)) { + num = ASN1_INTEGER_get(serial); +- if (serial->type == V_ASN1_NEG_INTEGER) { ++ if (ASN1_STRING_type(serial) == V_ASN1_NEG_INTEGER) { + snprintf(buf, LINE_MAX, "-%lX", -num); + } else { + snprintf(buf, LINE_MAX, "%lX", num); + } + } else { +- if (serial->type == V_ASN1_NEG_INTEGER) { ++ if (ASN1_STRING_type(serial) == V_ASN1_NEG_INTEGER) { + snprintf(buf, LINE_MAX, "-"); + } +- for (i = 0; i < serial->length; i++) { ++ for (i = 0; i < ASN1_STRING_length(serial); i++) { + len = strlen(buf); + snprintf(buf + len, LINE_MAX - len, "%02X", +- serial->data[i]); ++ ASN1_STRING_get0_data(serial)[i]); + } + } + return buf; diff --git a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb index 754e793faa..3e449523ca 100644 --- a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb +++ b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c9e8d74e78283c6319317d3cb15eded4" SRCREV = "23b693f7f7cad8b459beb5cf748078f9cc0e5dc8" SRC_URI = "git://github.com/lefcha/imapfilter;protocol=https;branch=master;tag=v${PV} \ file://ldflags.patch \ + file://0001-Use-ASN1_STRING-accessors-for-opaque-ASN1_INTEGER.patch \ " DEPENDS = "openssl lua libpcre2" From patchwork Thu Aug 27 18:53:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54ACDC61DB9 for ; Thu, 27 Aug 2026 18:54:03 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.37]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1881.1787856839229758022 for ; Thu, 27 Aug 2026 11:53:59 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=E0zSuJs9; spf=pass (domain: est.tech, ip: 52.101.65.37, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uF45eWM8YKJTBe8c8dOI0FbwPmFWqQMBLqzNju1fEKA5SsdILltjHFPML+Xf/ylchUGTyyeqnTVVaXk/3twZvoDiAmhCB4k4Ivb0rQVThPG4XkdirbPG3/vTRM7RPOuek4hvsMd5xbnKO93QUWmy2gocy9hgdwALfYqB317R2FRLKJKfkDEs+bL85MHlkj+KkoktyWi7wiCdt154aQaN803PCptrmOd8VhmdfFbdE/KeQt4jz6iCATNZoxgaceuHFWxN/h/Vih58ZVX4NIdlHR55KWUblC12H3+IkQEF32uN9xe59NYTpumyIMCv1dCsk9ndicjFuF3JOoeT62HmYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HtjwWOwBbacWyKYkZJ31drK4XpD6NcjlQk6m62LdJBs=; b=BbUpbPwrcqIx6wtStc4rb0Q7cRNlkxyZf+aXTtxpOO8o4OU46ML0fMlBniiR6AQ6gFSFHvd5Jk2tGTK72gw3FP0uPlOT2iyPjDjvnApldmPnKHjRNNpqm66Co522kPMwElTECvbrxQcUGRedfdsra6YuyKRMb4ru3deu1McF+aN7UJybIdAYeqAmPvnllj9q9V34qn6xJCCgbkv2nkBxHZLL/HGLy+VzaYjO3QhGnLTrjTiWGm//B8jC4ivV+/vyV2R2IJqtyNXHNjop14lZNzLk8+GV1vzPBo+L9x8gGd3xcU2sotkw8iJtmeAbtkFuaCmRtugoYD3JJyh8YKTTlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HtjwWOwBbacWyKYkZJ31drK4XpD6NcjlQk6m62LdJBs=; b=E0zSuJs9P0qHb/k6rcnJSuaCRrITmRviDl4Adwa+ubZ5RHfOXBSPkqVwuwFGBhEZnooYWCmy7Tnx3sF6BXOATBzBF1DliBl2XXGefVGKr9xrepQu2wrQIsk+BawCPQr49ELSie2swhDpIrXabpseEvMQSRRvZWPXIwnTbtJxujCHaf2bEknKzbPOFSp5biH5FCp4mC4ApkzvmlMYnVE1L6iu29Iw8RPn236iAFaxumBDet+7tUgebLVnUKtXGEXGojkozlHGBfVJ1tVJwuHgOdOpNs42SCWlpHbyS0h1VPYPbfnxOuyD3eWHc3Jl7GMOiE8KtJ5ECfFvnYx6uAf3Mg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:53:56 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:53:56 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 12/20] lftp: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:16 +0200 Message-ID: <20260827185324.78997-13-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO6P123CA0039.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:2fe::19) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: e2cf6920-dee9-45f3-e73e-08df046c8bfc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|12006099003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: UByva7wBraUQd9cKUrgbY6b1l/LdDM3OxXSXqU8Zh9O/fb2kiOJhXymvm72WADPUarifEJpoxMRB6APZrQ2M2NjTkm5hThVf2ugtd6QYtz87coAlcyte3IqgA1auA/5u0Kj4u+76zzqJ/AlBLDCi3btc8aJw5TRF38ovNAjm/mJ7RNPXpgc3oD+RzlQ0OF1VaWcbhxGOIVIFGTKDrXafDgsNPkHVfZQvP10uduAZ0OcmXQhdROWqVeNnQFta+8R92Ex+WeRSLewzkcnOJmjWjh5VcxMG+v/g5RmsycdXQFFOWzeQpRrhKnDwReugSsRKGblOrx5Rgrcm21ayDi0L0uJH0266GLrABzKapE+veSdSApO5w7lxmA0fKdmZR7MAVHeEN7yw2pah2Ls1xsCNIYj1MyQzSuBkzWozCQ6Hf3LqGc8VFshwmI/os9K0QrMjJoTyj80tFSR3NCL8AlyDwBfjxYwRARQ9IggS9bhd673c/eAVGOwoTmRz+8K3EMwZPfBk8wFxhihk2akLnCnLPj9yclssoz7l3BbfZTxdKPjfVAeOAdjNTi8cSpIi91Ux+vyuAvKY+VvgDzJhtu2lzHbHQg5XfVIcwPj3ilWgyYfIfULrLRQnQn3LRgRV4q0F X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(12006099003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: 9Wr3JBLaUMrLAJq3lwa4dA4NuNpSAqFP8sIOXm2fYj/eQ6J7l8FhXVzqud5hwmJSjp8Ssmwe0QJVQ1iyfVjR/uFyiMhlHxSrGLcDJ+t0lNbPDiFdhNp2lzF7a+FR1AHb8LNkwRviHYhqGQhjep3iMKKwQ7iEIviKzJ3Q1JQp9diGem5ZlUqFp5erN4UY+uOJ8fmND39WegXv8F0ZAqSrQDBIPTDZ480873dCXzc4OrzDAhkVWSaR5BoSV5ypAP/03iXtormCfRowZaedFgiQbiVlr6Z8oh5eDSdjgkf4L/p1eQ9btvIJdrEqHVv4qU00pKNESXtoR0FNNPinzIWcEUM/ROx1VfBUsW1Avoqhm/1T5or4O/Y8Ag3Oj3L+xjZddHfK7J2Z3w9SQ+CXaG3MTEwNRNIZwcU0MpH/Vy9/1VN7mDOjRhy8DcX4Oi4ljrnkMdgzQgZKuL+vImhsdGeOjV0cYQO40x3A5KWidWdlYRKwPankeyDv+i4np25NMly+csK9lxtnONuvK4nE0qiO3KT8CyOzqFZX6OnLS5IfvODJ+MCQ7XwN4Fm6pOjhZu454jzsFDf+GfbbCe0BupZZf78cOxH4O4ZhXctvfM7MWxyhwjjCTjx74NVcDBbBpSDHk4zaN4jkON54vIrdZgVbhTSRR5Ws2jcPUkRBilsgDmAiKdm8GbFbwk3y9I/G/ml7oSw+wQ/cROVHEKPqQ5eAWnVS8XU9R1sKGKMAVygGPBJf4OhcQOJGspkVZpLgKiwDE/HZI2OsuDVZ7mW003mmQFfHPMg3UtI6f+Hr02Oi9ajknNwq+K6oCgODM6jF1F9Mu6woyx2tL4ENVhOUEI7PivZ1+EB9+osd6bsUtp97OKBVOFx0B+WEJfhyaKTpncrFbZohJ+y+UUO3+hU9FticrIKTYE/8JNrdbG9FqqVaPMsbImYLUgh4cm8cGTVReXs4xmMTPe5r0GpGZ7HTKjmGZ/a5qMdXT7e6H6Ih4vNdC7fEQpgDWA0h8G7gfZ/zlXqU4jaXwSOosAGLT9iPYrT3DUVYl8mwgawGW08zafN3lZmwPpIMSEI/80NYKl9mNPtZYOl38epQyNhJpxLbZV450hjQvbZyiO3l3loEEuj3Xp0vpXerFUzZVqzJEwlEe4ttb6wdR2Fmyb3g2k2oku5oMonXtHhYj0NIPP9mfeU5OKwly1xk2mav0uFB3KM7zsNNRhKIHzLp1Z7qsz7tPekCBbYsTsNjXXwbXe2hfT5jkpTTIapUqSG1YfJ3r8P0d7wIvfRCApd5HrD49W7xqoGeXF42cIYDLeVa3d3DNtBlou4VdHemmRf9LDZ/q6E/ZDF4LELlxgtXw6ryGg4P9/4q1YfZT4CNnuIinp6YZMLpQNuM1bJXz2qrSx1VgQMyMbx3xye2rnj2lSK/UUt0JIVPPZlnTBv1zOsKQAA1LO2JxeO7pr8yq5eY34/ezj97qE7r40RMD+VINjMF31CYwx0aEMDFIVJZFXTzavKU5z9Rm3RLxcbBsLaQMoapjoYEXZw8WU1wksn4X3BVnVbI8JZy6M8ORUsNeTInmc3+aU7nmYMcjmBH6T+/YlYuHD0AKoTMehHhEo2NZsXKBEE1UqFblU6t73m4zESObOZUeEUfZuKYReBOt26KD0W4aYGaF3xV/R+EDcXgRa9vb+k7JXAMvpIMM5/+jjKfXul9srKzrgEhkAERmxuJA6Rj0dxCerzh+2Tdy25TzYjw2c52UGOFcxXDPkgjtLQUQdsRKijT0k+kFBGQqnBY77JPq5uszCZStJMgULg9 X-MS-Exchange-AntiSpam-MessageData-1: buEMUzw2CegJoRIK2zF+wof/ZtagvvYAjws= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: e2cf6920-dee9-45f3-e73e-08df046c8bfc X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:53:56.2489 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WUACNcn4QAMFEgirK190ZMPvjaTDhLD45FT0ELMBDpw7qs0L6dUSfLdMoCyFspsycKQ9dQsgOtSFy7KQFLHiht7IUL46wkEGCgA2uYP1wT4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129547 Backport upstream fix allowing build with OpenSSL 4.x. Upstream-Status: Backport [https://github.com/lavv17/lftp/commit/68d42105d788] Signed-off-by: Jaipaul Cheernam --- .../0001-allow-build-with-OpenSSL-4.x.patch | 55 +++++++++++++++++++ .../recipes-connectivity/lftp/lftp_4.9.3.bb | 1 + 2 files changed, 56 insertions(+) create mode 100644 meta-networking/recipes-connectivity/lftp/lftp/0001-allow-build-with-OpenSSL-4.x.patch diff --git a/meta-networking/recipes-connectivity/lftp/lftp/0001-allow-build-with-OpenSSL-4.x.patch b/meta-networking/recipes-connectivity/lftp/lftp/0001-allow-build-with-OpenSSL-4.x.patch new file mode 100644 index 0000000000..f617a0e269 --- /dev/null +++ b/meta-networking/recipes-connectivity/lftp/lftp/0001-allow-build-with-OpenSSL-4.x.patch @@ -0,0 +1,55 @@ +From 68d42105d78838d0ab155296b69fcb99d28d22c2 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Sat, 21 Mar 2026 03:56:46 +0000 +Subject: [PATCH] allow build with OpenSSL 4.x + +Upstream-Status: Backport [https://github.com/lavv17/lftp/commit/68d42105d788] +Signed-off-by: Jaipaul Cheernam +--- + src/lftp_ssl.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc +index f53edf24..49328f74 100644 +--- a/src/lftp_ssl.cc ++++ b/src/lftp_ssl.cc +@@ -1022,8 +1022,8 @@ const char *lftp_ssl_openssl::strerror() + int lftp_ssl_openssl::verify_crl(X509_STORE_CTX *ctx) + { + X509_OBJECT *obj=0; +- X509_NAME *subject=0; +- X509_NAME *issuer=0; ++ const X509_NAME *subject=0; ++ const X509_NAME *issuer=0; + X509 *xs=0; + X509_CRL *crl=0; + X509_REVOKED *revoked=0; +@@ -1436,7 +1436,7 @@ void lftp_ssl_openssl::check_certificate() + unsigned char *nulstr = (unsigned char *)""; + unsigned char *peer_CN = nulstr; + +- X509_NAME *name = X509_get_subject_name(server_cert) ; ++ const X509_NAME *name = X509_get_subject_name(server_cert) ; + if(name) + while((j = X509_NAME_get_index_by_NID(name, NID_commonName, i))>=0) + i=j; +@@ -1446,7 +1446,7 @@ void lftp_ssl_openssl::check_certificate() + UTF8 etc. */ + + if(i>=0) { +- ASN1_STRING *tmp = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name,i)); ++ const ASN1_STRING *tmp = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name,i)); + + /* In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8 fails if the input + is already UTF-8 encoded. We check for this case and copy the raw +@@ -1522,8 +1522,8 @@ int lftp_ssl_openssl::verify_callback(int ok,X509_STORE_CTX *ctx) + if(cert!=prev_cert) + { + int depth = X509_STORE_CTX_get_error_depth(ctx); +- X509_NAME *subject = X509_get_subject_name(cert); +- X509_NAME *issuer = X509_get_issuer_name(cert); ++ const X509_NAME *subject = X509_get_subject_name(cert); ++ const X509_NAME *issuer = X509_get_issuer_name(cert); + char *subject_line = X509_NAME_oneline(subject, NULL, 0); + char *issuer_line = X509_NAME_oneline(issuer, NULL, 0); + Log::global->Format(3,"Certificate depth: %d; subject: %s; issuer: %s\n", diff --git a/meta-networking/recipes-connectivity/lftp/lftp_4.9.3.bb b/meta-networking/recipes-connectivity/lftp/lftp_4.9.3.bb index d132813403..e46b5c7f10 100644 --- a/meta-networking/recipes-connectivity/lftp/lftp_4.9.3.bb +++ b/meta-networking/recipes-connectivity/lftp/lftp_4.9.3.bb @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \ file://0001-gnulib-fix-lftp-build-with-clang-lld-and-gcc16.patch \ + file://0001-allow-build-with-OpenSSL-4.x.patch \ " SRC_URI[sha256sum] = "adceaef1bd21a38d07c973233fab603813c431f0a8dcbd23239fa9a41ae17b6e" From patchwork Thu Aug 27 18:53:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96586 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49B40C61DCB for ; Thu, 27 Aug 2026 18:54:03 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.60]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1801.1787856842746752130 for ; Thu, 27 Aug 2026 11:54:03 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=xF0TVT1F; spf=pass (domain: est.tech, ip: 52.101.65.60, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=acCOp/nHrvIMnKHb0S1R945d4EB6rvHOFpa+eUos5bFHvqN3oPPiUsHvgJc86DDUXO4H3hyZmhXjXQpRn18NXeQrYKUEEWtJzLnbtt4AKptNTdv5RgRaJplWNjLF87LEJ0RupYj4qz1mLDaihsnQ5f2IPfqyNvKpwiE2JLS56FW2CA310sQyAtjBWBpvVtXNfqAGHThnMGyO7sPEnt6Kqz0E1qJ2Ro91nHO7OR5ZVLYquppxIPFYILqwMr6a3nlUkGRl12Mp96fTu/LXZdrdmOfZgek9F2qcWSs3QPsSDa+x3fu6XHRcKXk7iE7pursh10M0xI0Lu+OA/Dchme/32Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=voVf3ZTSP6G1NingBNt/Vl5TvpwZpx/qMMQlHPaUd0g=; b=fi7I9MxV31zgv2ee6/VvNo4UiL5pIMIEspIxr3J6Cfp+UPLzOg1xHDxYnKy9RmoAWAxUKfa4HNednKJfsXttu+gpkw01DNPpJbfNxyKxGznnjCl/5ZKFVILQ0hNHLkUqiXaJI89jH3dL7pZlaa0w5qzQq1im3ldkkjMzuI0vuaxQ18BLdP/d/GT0PbUzXtg7uOH9IAfuscrOT+V6NGn1ABgGqMJAAPHYamSO56wpvu8qOUwrVb9nOHUCFjbQCTb0thQ6E8rVDTjMyGV+c1tGvc/4ycby+KBB6+IdsrCZNyxop/uY9qAf/xtmL5seSdkjG2wVCvIdxBUXMWTpzpmVbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=voVf3ZTSP6G1NingBNt/Vl5TvpwZpx/qMMQlHPaUd0g=; b=xF0TVT1FDla3jBjYSyRl1CvBNjlykRly7VEdzOw+6HqK8GZabcQJDPqq7Y0qbq8Ax+akSm4ZZzQu0zSNtEgkAB4GSFCh7o3PIa8kU4TvdSwP15zFAPbNghfod7hA2GA2XN+inJwDb2Axi5BqhJx5NLDkA4/Egc7DHZEpYMj4v4bNrEiCBfEmBHFvQ7xghzfRhlk3KnwlZXHHCCSW5NtgiqkyR2+PBvftWYOYkRR7G/KuBpDeNaQPZghBys2MzWk1svBFMJx0JYimpzW8mhDeR5yuHQ8l8ASs7+/TzMYBTDlxLZnC79J3sXg/EpdB7EEKdFefCil+IlSptqWif2de2A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:00 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:00 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 13/20] civetweb: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:17 +0200 Message-ID: <20260827185324.78997-14-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: LO4P123CA0244.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a7::15) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 13abc91e-c24e-4af2-4347-08df046c8e83 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: c2zW9pSfZ3FDVMAn4U2VK+oN4za8dsh11D0XNK1MqL5aINyd4llPnJYsT5UuapP/UJATdoWsGPRLIhTWs3hQfB5ztRFZSbTQFBB0FNJigLXMoMDMpcGlN4LoXSnitlDHkKaoappB3AhG/DzKyaTnQEwf/U9mw8dbn7M6inwMadA28nPvskR+PMClUzdyC9nDPVGSTBlbDDXe7NvzfDuRxf6xeTqEAjED0+JqJJnbbn7XaqXzfO7R3vaRjzMF5h38M3Ygds5wwrhYAWnDQyH/TC2g/rcvLygpwPAbxuIz80IWU5QkssMGTY42uKpjI7qNc3ZitO4u4SEncubgMBF+xvuoGrN4evdBr8LNiuAgnG0fgc1QSR/xfsxkYrsilGTHGHTcsDJlExpTN7L05vCWQtQMmlhVdc+7LugHGvyojCw8msosAvIiUhsOX5I6DL0d++0LOYCjP9Dhac0KZbUhil5XUTm8H2yLWCuBriJ5GCwDNE1OBy8sIowheMd9JCUnFCrFWZjBcUZULHFK+jOYC1KNcTeidhT2VXIOk8HYsh1p2/6WxS18JpVUGqCEmZOIkqRVA4HiMbOHU1kf6nsvs3J57lkQvaVRAiL3obpsCoXCdJUPtuZyC+/Kk8J6nl1vjR+hHR1dkQhyl5vxMmjL1RI5mH5DaM6RBB1OuWJZMdk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: g3PkcHC3RWyA1J1AB+qO8YEaTvMKJFoD8mZ4RI/gR9Zio41cD09aXI8XgiiGjSsNqPi00jNZnTuRI1zSiKs5r9PIbEh54FeAl5d3b273iUzx6L2XqypB4AIV7chn5lzXvK4HnHSeox7M3gNqFlaZRhnzWLZd7ihoX7qXmeKvnBddKqugYuQ/0YRUItrS8NkQLRrVafxxUpdSeAczzzE+Klwqa/B3qXArMcX+C0VxMnYxaed7WnFUk/AME+c4FGcRa+iy1uFKtzPCyqOfjt6U3iqk9Pc4ZOezpQwZTI9HjSY6tBWOMNiDmzeYBnT81BmWTE4QoMNHBj0uMOEl69HRrmI7gbkWIi5m27vgZciTlxfheQZTJophI4RRfk4vWsLlwWCqcBn2Tht+HoXhliPuHX1KXiBVFjIzFFZlmabI+PaAZaH7WIhmIuKW7aFw/ogi41Uvk+OHXa4VrAbwGnpsiCQufuB03rNDZ16tgWtZioFmPV1KMsiGDpKoYvi5Tfwdr6CJL2hCtrI8IAmEK2jr7JLzDxq6jZYM2J8WXJgfTzdeEi8I27kMQNBe2iBATe7m9lXIDvDPmor/y5C3Mdqsqm5pcd+o8AKrNvOzFpnFyPQ6TzQVl9aO+aE2GYtBqtSp4fnsA258uzX1BSch7TKhbEloe1cmruXVkWosQLzjJr/nAMWbLobbAO5Nt2g4pKIgHF89Qe9h7Eb4X5WfIVWbHMeRPpX/zmStKdLWdaVHMRmn+lTLRvs2TCv+IUOy0THWd93i9iUzMcMJysLIOjd0M50eSeoGCcjuoELLxsb1qBdT1aNJr/SPffd2r6A9Aw++M/r+vJNanN8jSqFy1wx552IzD6/uo5smVDqT6C8EaOfz+/baE8GJ9ZzUj+Kn2uB8ZByl1H/SJVzKRWIteGAhYoQ5GOR3q5jiNf4R+b4tKcrXYLaNTCxo7JwY/b3L6AbNBZ6Y13BlczGP8WlXlLIwwqto9jRsJdf+25nWAAxp/0TipcBG98PKjZiQYFWDTjnqR5ddYvKTqRnICh/AYzi1z4GXvJau1IOrYue6lISOt+GA2OPbJhLd5gjFqQSbqpXRSj4t74WvqO9UV4Vj+ufskYG2IrIEY1ysq3IktjioE90mrxp+MXdXI44KN4IsEh3xr0/J4WVeMtrRC+mwPik7shy2GWoGl6DeRUEiy6IT0zT8uN5ZDlmEdJfqyG51FEm8cZg6I26TpHt+cPbpqBsSw2DC2C/Pfa9KMpN8pvZDdwc0kKAiQv0cZOh6xAXY3TMjhYGYeiKfTqu/fjeuGYzYMmWEmKCzw8hWKXlXlChVCMycFJ6OmA/a6kOIFhVpwa5KV/KXoCwRFVRGYQGGaQjMBhfjNnR7e//A4FRSCCps4BFbcMbaRFUeutLxdcfe4q66dQ8hK9JekUSAVPjuMS7STIEias5M2j5YyBx/rs++WJmgpexMXp4UyTKKhMmea0W24/cZ38EQGKGCqWjrn60wIviy6Vj0ukkOhEZY80cjPxxTDlKy5tNGa+DgscMqV7CrMoCZv+g/HjiWRg/Sv2wEpt3E2Ed+z2a0Xzaj+a1T5F0nasBG8Ay7LfuAyrgzdXN46Gng/csn3EiWaMRhKc0poYuTxz4cupWAG4i+zqhFZj2atMyJYnLIZG2lJwi0d6tsWPkfxVgsTCxcH/fheQE27PKiLRtQvXErlRm+SXJffK1sJXE6msyEwnNG07SThXLkEr0w4zjwfmUP8ENpl7vAZ4n42HQrXWk6R45WnKdBPquWIR7NTmAxc1hTPVJEwGG51YO5h3hQ X-MS-Exchange-AntiSpam-MessageData-1: CGEq8n8uA1/+iBZ/uzuk2GJ7Ect7vlCCsHE= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 13abc91e-c24e-4af2-4347-08df046c8e83 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:00.4868 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: C5Z8Pqs1sO87a1M3YQA+JpzWp/bU09y6Ax1EDd/zlyiriT0XqXwMSU87A/CXnebP+bkHRwYKhRF5hsy1YxaKCgGLRuIUQ+iztqFPWGFwkiQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:03 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129548 OpenSSL 4.0 adds const qualifiers to X509_NAME returns. Upstream-Status: Submitted [https://github.com/civetweb/civetweb/pull/1423] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-compilation-with-openssl-4.patch | 27 +++++++++++++++++++ .../civetweb/civetweb_1.16.bb | 1 + 2 files changed, 28 insertions(+) create mode 100644 meta-networking/recipes-connectivity/civetweb/civetweb/0001-Fix-compilation-with-openssl-4.patch diff --git a/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Fix-compilation-with-openssl-4.patch b/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Fix-compilation-with-openssl-4.patch new file mode 100644 index 0000000000..134760d8ea --- /dev/null +++ b/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Fix-compilation-with-openssl-4.patch @@ -0,0 +1,27 @@ +From b3449269bbf13852824d19f164d00810432649d0 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Thu, 20 Aug 2026 21:04:22 +0200 +Subject: [PATCH] Fix compilation with openssl 4 + +X509_get_subject_name() and X509_get_issuer_name() now return const. +Upstream-Status: Submitted [https://github.com/civetweb/civetweb/pull/1423] +Signed-off-by: Jaipaul Cheernam +--- + src/civetweb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/civetweb.c b/src/civetweb.c +index f6a60e214..e093e094e 100644 +--- a/src/civetweb.c ++++ b/src/civetweb.c +@@ -17125,8 +17125,8 @@ ssl_get_client_cert_info(const struct mg_connection *conn, + const EVP_MD *digest = EVP_get_digestbyname("sha1"); + + /* Get Subject and issuer */ +- X509_NAME *subj = X509_get_subject_name(cert); +- X509_NAME *iss = X509_get_issuer_name(cert); ++ const X509_NAME *subj = X509_get_subject_name(cert); ++ const X509_NAME *iss = X509_get_issuer_name(cert); + + /* Get serial number */ + ASN1_INTEGER *serial = X509_get_serialNumber(cert); diff --git a/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb b/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb index 0e13bc6deb..d9ca7ccd53 100644 --- a/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb +++ b/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb @@ -8,6 +8,7 @@ SRCREV = "b6ef58f4c4c7fbe90fd1065bccf45b143345f1a6" PV .= "+git" SRC_URI = "git://github.com/civetweb/civetweb.git;branch=master;protocol=https \ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \ + file://0001-Fix-compilation-with-openssl-4.patch \ " CVE_STATUS[CVE-2025-55763] = "fixed-version: The vulnerability is fixed in the used revision" From patchwork Thu Aug 27 18:53:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96591 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C42BC61DCB for ; Thu, 27 Aug 2026 18:54:13 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.29]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1806.1787856846401068980 for ; Thu, 27 Aug 2026 11:54:06 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=KWEs6MGV; spf=pass (domain: est.tech, ip: 52.101.65.29, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uOm06DlXmCl/sjVbwJWI8qEmADa6oL3Yyt+5R8dnVJSGua2zQq6t5R7JBx3+wuC2evGi4hEKSuUibdd8/uX6538AqrgVfQueUurjKloMS0ihW2waVw1z9Priv+jX/Lf3Up/hBfmPmCDLNAddgTTxVCnaaRHCebALRR76XDd7shuFtoXBYpzzfAPk4vJr9l0a08n3qBAwUvR7sT7FX37jtWquEYP8xmkMJDtHd0KBfpdhkbi7cZ8ObqygEFRb0t+9xsFZgqA4nrkzmBh+Ax5s3SslxZqnMVoAmzTV42N8fH8If7J2zZdVvH8yl42DOOOJpVLI+oFJfVPIBVK4Jt0twg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UxJBVcAYp+sbMtIxtwSltqF8RIjNc1SsynI882wdNCs=; b=EFQmbRQw8UknMV+ztne0XM9uXIURigJcjMjaM6HaYqibuEVTZntEpWUpjQb9pCfcbRJ4zbFQ49dNfHz/UPuyWv4QMDMgDXkhVeM2yKcPoVSTblc8yyym2o+eb/lDE4qnIwag5MJlNvmd9pJDkfp/dCBCLTZSIbqpkE9eR/bcPDENaXm15BkUDRwHQI3TNnmxpN2t7IsacJGdlAzsZMypgSbYPVtLpTOsgDNTrGrUn1ycMzBpkhxamByd1Lk2eQMPcYvrTK6hJrB257Vw5pdlGZ3dVUU0YS/52XR1BW+NBLOG6KkOQ3b/xDprEaljr9J2LjUGg1GaXfdM/PCm/jqwqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UxJBVcAYp+sbMtIxtwSltqF8RIjNc1SsynI882wdNCs=; b=KWEs6MGVZH/jenFhpq/1r1nKaUmXOWXaASmO8EKOCyu+FPk98h3hZMT7kLkB+Q6qlTXMIV14HrnSghmSt1OA7bkZYVqPCkmrwHX0ngti2sC3jzWDpG40BlEvL1u6o5phMdMDlDClLAhd+SGGUf4HtMyTcZswFhzvhalgvfiNEtjxL50VAog1uXPidmPrg1d5tsszIdf9A2q1BPd+l5ERiKt5vba2Dqld7gJ3fnFnUIaLXKbmLxKdbWXDlbhWBUS6vSX9pOZ6FU70N3P2rLAu97QVBQFosjK8k3nqQKc5AzGF0blLldVmB85w3wtTop9V2VSE7VBl48xF7VuUwKaFyw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:04 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:04 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 14/20] freeradius: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:18 +0200 Message-ID: <20260827185324.78997-15-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DUZP191CA0025.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::21) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: f9590cae-9ec8-499c-7839-08df046c90c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: PBdAQgiusurEscLaBqdFlfz99yvXZtk3JmE9ZrzYUYCBLdzemEFW2DhRYD46egLK4oFk1+vEIx1SCtOx/M3x7fEpQKuXOgkfe8fG3z1gb+ZExTz5niEaI4rCz76IuJQdDtnJyTRJB4+DHpEth0GrdrdwOQsvEXpNbI0PGWhUFxc7Fp4LvR6w945y8jXAxPoxvSPOIkCBPP+KJWUc9d1TCY0KCN8VjREwAEWS/yqw+zaYOqKoVo0dcxOcP1RtLmc9gqVa5hLK4WnCm1s51+LLYKFt+028NlnqHADNtjtPmWgubHjmiJbG2kgpUd5lIcw0vYa1fEAtuJ3WR7dxRSRy/W31fzQOBhyCa6Yii+L1hWao1I2v9fIAL7IPZgBi85pQVRILw3EIx35vzo8Jm9k+3wv2F9i6zm1EV7oSEvbBOEx7VERD8FNKnlaCWEdjfEfx+2UJ7B4NQxlAATGc0/EIewVt7MERmgyxOs8+endI7hFoOZbxPBeSsxHlFdqLCyMaRdupS5Hjo7MdlIa1VdipeLzxWj3YymU7LhtNAeXWfLBroe+ivM7c9+cgPtODqtixRSEIo7acHDfxDEbjSDg4iPrKh1hEKiKoC4z12Ef1uZvSvtrnmOR6lAeXNa6AMVAVwDey/czi2xzSMZeC9l0Q6+E7daI99jmRyBVGOzNZDtY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: jvpNcvUotqAKyh7iZ2Rj8waIVXjT0W/L40AcOVlGrj3JiTEsMYBnYhsE/H2DAOOQZREK23yHZXf1zbYMgc5c4C9O9ihs1AwDTTyV6dflj1blpJ1YlfV3iH/WY/SQNvBoMGfV4TK7ClZKPsc9riqyTcSPTCzdJv3bM9R7wp3wZbdiotjENq9dm5GkcWCDKjRDF/hlMe9VKBPKDvpYChTCHcoA9XVHVBAFLhY8SAG5dQUg8rJUA5+3Em741/166U/X99wiAx2CE4ssaqkh789UT2AqEIeXLO6weP2WJkI4HndClwrpG9rFAL4oXfZWki9ogppZP1X6w+xW2gAJwqyqIwbP534AI83dO2A9vgmW0xj8m2nq7m3JO/CJuzmJykVgwzJszlJXPjiCr3ernJyc7NQPteUFJIUiQzpxFimG2CYrsg6yY39oWlHfUa1Ox5MgcFM3eqDLpUkLneOf9Cs/9XvFXQ2nthEkBF8iMVXjESsBry/cKAFvvc8tZO0/n6XOTGAPbcPdKPWZLn/uWETCNMre3eQiUgA8jk3RO+gzxa8uxH0Q0kTWJx9IPHrYQ/9xaBi6/X+5fgy3gRc/y1GQ59AgPYU3XMHZnULtlAfdC9WfBjVdfmXMehVa5xLcoYmis2aiQy4buahVSrnshAKXI4BKqQx3DstSGIXaQjFWnZpA7fucVjxYrm8PAeheKFevZOpOlPHFbtyN6SRYaRf37aKIyeke7XnKqFfKdMmohEPgSHXKhRuIy/Da6ccOzi/GEINeOYL+KreNX1PpXF1FLcqAm7L3psXyZGXYK/1iUY2eT6YyO+S3ldoKCQ6N4MGcqO3zTLxWgilYuwPaEozj8vGKOW9IKqVCRaqekRovbBAPk6cRrNPOw0sBDA6t3C0e8ok8tGz0uaKpELGdHgV54wNairE2/5bOgCJ9Y/uGv26i3lmUdqqwPYFZwZafcUfrqQmV2DtnuEuKPFujpRBT9/qjJzawZTnrEb9s3KZNihnD6EtYryGHnNs7rqk4fyITUkyr59RGknH6OlodQET72r8pxbt85aByywdiA9LJFuyQk2pKB48GHx1CXo3ueT3n0yLcRTK+h9siW9iiV1/jcDJkuRVMt6G6dmnHZ9yrxd2krEJM6Axbl1fH8b9N+hXV6sf95QBYS5N9VpzknAYSaetJ+NQVwEompcJxwiRou4e6mu4HHLDfM2vpjXGCsr9QGDJfEtfEN382cRI2ggfS1tK7UYmpKLvBB7Shrdgxl9v2NyhZSyWDPeNaIzIlS1uhPHji0rz6H+pOjL/38M3spMlzlzx2KPQzBSHW7q5/ZaC61MlIf81HZj+Zk9ezdFzfFC50gjbYlUw/c4cMVWURliz1ycvTiTTbrwdUjVaRm5YMdYlwKG8L4dsH0p3KrtvgNi2CRjsFqQLQwZEuH8I4eP5hjxrk+ViC8qs8wITHfBxcdXDFpKr7uQQiP9eLOxCwfQOhGmb6YunkvALN+O0I9hqGQkMbqF4NeDU03Jhaq+nncpz4SJeH6LSdOTyFKQXChSdXv5t22nxXguYSIzm5DGrSGm40fT46VCbpxtK4XI9/QUNfRVb/hhWOWN4qYQxIlcYSw/CCE16wi3FOpobjIwH6Rfnn3r4bHw4I1BUgZrOgPkM6AjjSXzEJRCNPQkD/+WsfxEU3k9/bIzOzELSu5j3Yu40ElulVTYV6TZLdKB3S+s78Mnft/Nj26KsUQayCj65lss0mtsiJoOz8hLFgc3RoACb8Kyn55bD8ocaQ/2I98keq/LSD0PrsFemhbVN4tL0pNI9O X-MS-Exchange-AntiSpam-MessageData-1: U43DVYilqZfRdRBp0B8dWY9UMW1kQ5gvREc= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: f9590cae-9ec8-499c-7839-08df046c90c7 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:04.2896 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4yDqY21QCp5NlH2JJjyhfBtsPxA3MgGlALDbrSfYDxOr5HB7/G646UjbqSrvmXXzz8mxYPD7fO7ak3WFV6TLHhnSmH1wautgmBQY4jzO+JI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129549 OpenSSL 4.0 makes ASN1_STRING opaque. Use ASN1_STRING accessor functions. Upstream-Status: Submitted [https://github.com/FreeRADIUS/freeradius-server/pull/5841] Signed-off-by: Jaipaul Cheernam --- ...ING-functions-for-OpenSSL-4.0-compat.patch | 78 +++++++++++++++++++ .../freeradius/freeradius_3.2.10.bb | 1 + 2 files changed, 79 insertions(+) create mode 100644 meta-networking/recipes-connectivity/freeradius/freeradius/0001-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius/0001-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch b/meta-networking/recipes-connectivity/freeradius/freeradius/0001-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch new file mode 100644 index 0000000000..9c7c9a15b0 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/freeradius/0001-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch @@ -0,0 +1,78 @@ +From e2c69353ed1702c22eac2191b67977853d7d4277 Mon Sep 17 00:00:00 2001 +From: Antonio Torres +Date: Tue, 5 May 2026 14:42:27 +0200 +Subject: [PATCH] Use ASN1_STRING functions for OpenSSL 4.0 compat + +Use ASN1_STRING accessor functions instead of direct field access +for ASN1_IA5STRING, ASN1_INTEGER, and ASN1_TIME structures. + +This fixes compatibility with OpenSSL 4.0. + +Signed-off-by: Antonio Torres +Upstream-Status: Submitted [https://github.com/FreeRADIUS/freeradius-server/pull/5841] +Signed-off-by: Jaipaul Cheernam +--- + src/main/tls.c | 26 ++++++++++++++++---------- + 1 file changed, 16 insertions(+), 10 deletions(-) + +diff --git a/src/main/tls.c b/src/main/tls.c +index bcb65cecca8b..211eb0f9ff9d 100644 +--- a/src/main/tls.c ++++ b/src/main/tls.c +@@ -2568,7 +2568,7 @@ static int ocsp_parse_cert_url(X509 *cert, char **host_out, char **port_out, + if (OBJ_obj2nid(ad->method) != NID_ad_OCSP) continue; + if (ad->location->type != GEN_URI) continue; + +- if (OCSP_parse_url((char *) ad->location->d.ia5->data, host_out, ++ if (OCSP_parse_url((const char *) ASN1_STRING_get0_data(ad->location->d.ia5), host_out, + port_out, path_out, is_https)) { + ret = 1; + break; +@@ -3050,12 +3050,14 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + * we're at the client or issuing certificate. + */ + if (certs && +- (lookup <= 1) && sn && ((size_t) sn->length < (sizeof(buf) / 2))) { ++ (lookup <= 1) && sn && ((size_t) ASN1_STRING_length(sn) < (sizeof(buf) / 2))) { + char *p = buf; + int i; ++ int sn_len = ASN1_STRING_length(sn); ++ const unsigned char *sn_data = ASN1_STRING_get0_data(sn); + +- for (i = 0; i < sn->length; i++) { +- sprintf(p, "%02x", (unsigned int)sn->data[i]); ++ for (i = 0; i < sn_len; i++) { ++ sprintf(p, "%02x", (unsigned int)sn_data[i]); + p += 2; + } + vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_SERIAL][lookup], buf, T_OP_SET); +@@ -3068,9 +3070,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + buf[0] = '\0'; + asn_time = X509_get_notAfter(client_cert); + if (certs && (lookup <= 1) && asn_time && +- (asn_time->length < (int) sizeof(buf))) { +- memcpy(buf, (char*) asn_time->data, asn_time->length); +- buf[asn_time->length] = '\0'; ++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) { ++ int time_len = ASN1_STRING_length(asn_time); ++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time); ++ memcpy(buf, time_data, time_len); ++ buf[time_len] = '\0'; + vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_EXPIRATION][lookup], buf, T_OP_SET); + rdebug_pair(L_DBG_LVL_2, request, vp, NULL); + } +@@ -3081,9 +3085,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + buf[0] = '\0'; + asn_time = X509_get_notBefore(client_cert); + if (certs && (lookup <= 1) && asn_time && +- (asn_time->length < (int) sizeof(buf))) { +- memcpy(buf, (char*) asn_time->data, asn_time->length); +- buf[asn_time->length] = '\0'; ++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) { ++ int time_len = ASN1_STRING_length(asn_time); ++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time); ++ memcpy(buf, time_data, time_len); ++ buf[time_len] = '\0'; + vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_VALID_SINCE][lookup], buf, T_OP_SET); + rdebug_pair(L_DBG_LVL_2, request, vp, NULL); + } diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.10.bb b/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.10.bb index 19d8e69db0..2ff1a9e2be 100644 --- a/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.10.bb +++ b/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.10.bb @@ -39,6 +39,7 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;tag=$ file://0016-version.c-don-t-print-build-flags.patch \ file://0017-Add-acinclude.m4-to-include-required-macros.patch \ file://0018-Fix-permissions-after-generating-certificates-with-m.patch \ + file://0001-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch \ " raddbdir = "${sysconfdir}/${MLPREFIX}raddb" From patchwork Thu Aug 27 18:53:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96592 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B252C61DC4 for ; Thu, 27 Aug 2026 18:54:13 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.10]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1807.1787856849642552033 for ; Thu, 27 Aug 2026 11:54:10 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=bFnu6Rh1; spf=pass (domain: est.tech, ip: 52.101.65.10, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tzK9ntYrBviAnI/V61OJFf+Ms8OchbkJObKHw2j6FYhx6OP01RgHOUvtPWk1zmUBg97ZTk8CKNFDzedqNOYdDeQ82h7PKBqYfhVStWik7Z+qL94DVptqqky6Bq1nJscE30fHFj/FXiMQVcUlPLy9hSDsv4H588XT2tobfbxhjFN29kY1POq1ltdr5CT8zxX0I2m8kw19GRobH4L3/vfoocgqwMWYfuo61yQ73wqHOK45baI09SxmbvueCLATWNayykI3pmxneiw2q/8iGSbbdeYwWeWOdCoSrcQ/sFoF06iciDobHElRlovmc4MIuBDcf6O7LjFTNWsuzCkG9/NgdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6+zhMGs7xT9DgtW8XHgzO+fwuG1PtUQzlrPfhunYbK4=; b=iR/F5tBMLUAQwFHqjA+URm6wb/X5ial/CpI0vJSpJZm5MFo+nBTzm2jj7ggKd7MLtJhbvX6ZBU9LnPDz2so8cGH18Y5wTYn4j6J9MkNTSmnjZodFJIZF1BIQtCZqAPf0sCs+XzvmMBkKIKjsSVU2cJzAkLt7vaBWreKmDP4ll+CmBOSsqEZ2JzNvXzmyvQsWOSMLb4py1U7t/zONT7aq8gI3LtwDt3+yRgLcDvGXUxzoddAh5LG7EMklQl7rkYAGj01i/yYxd9OhvtD9NartlI5Nst7KOpsfX84+hHLF5aDyW6GMlyVBciC+9kcLW7NuUczlR9fnyojgwnPlUUUoCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6+zhMGs7xT9DgtW8XHgzO+fwuG1PtUQzlrPfhunYbK4=; b=bFnu6Rh16Y4aubhLww5ghqnETJfS3F10EKNTzgWsJ4buw0t9iIGGqXzMrX2DB+qXW+5D2yHw9CUFIxvQJ80/fZ5Acs/JCAgveFNBor5GweulUiIVl9/QRIG336MiXIVw1FGqBqw5zV/zX3vkOsSAn5hY4GW5R5AAe66EtRBh/6kgj5mcO+6bvF5F1CspGb3Sq5e2pOMFCajoIknPcvBSEE0SQgxC9QvKEdg8ms1rD8CJcTgayMkm9XUPMH5LjYSOTbcTVxoY0D6P0Qerq+8ye5Mmqz2A0funmyz4aa/+wFVUwqSPe48qYUIZgzdL/QBqXb2BmfeUDVYHXX3s8FvZyA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:07 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:07 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 15/20] snort3: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:19 +0200 Message-ID: <20260827185324.78997-16-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DU7P250CA0002.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:54f::15) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: f611737b-b896-4a1b-5c9a-08df046c92af X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: IcHOqN+T7HpU3UBE3x4RjZDFjTK79W0i7wFIfuGEuU7qrsHMINS+nAcbJ6zJgktP5hYsUpYZz8QJvOzQlLKPoUgbgyi5358fMPHacwfhcuEvxum12YMj0ORzT5obTq/WrrN3Pm+Z0QbBwrZKqUfovnroqJyiczvkq1S0pZ2d+oKlnUsju6ouxRPmZTDbJbQrgZJbwqAhW6/2MUpPGMItgae2VDoWDmsly7w4bOCTvPfM5n5cD7wjLcPKNX7eAs+wMdHJqsvaNKvKL19kQsSnmumpgD7O2kA/X8Cfk513UK8UbvH+/PeSsOoTYX2Y6BQZPQxF8tOAQzfEaYSozJD+HXYuSaVGf01IB0643tLQwZ1QY0eKgkYECzeJ8YQxTzt0zfq1j0e53A+LRdumx6Y2RePBzWg9OKo2RK2zrWENevy8e8pZ/LCH+xRteuvFyT3Eh/DS18ZwPSWuJVITB7YqAv7Jrd72R0POMLb3phfiMdYyy+eWEMEjkPbzAN5LQpyp0YUsGB85oGC1yvy13ze18TgR5u3KmkgsHCDR1lgOZZtZSeNgeI0PeZyrKomsJWIHCS0hOIS4YXcEbHjEMFJQ/KLrI88PU94n3mwYq+FAYIX96N4O4ag76bqhQ2V9vDtSWq7R/R2VzrPg4lNRUMVqXKUa99Gqv4fX1PFduZzqh/8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Z+whsW347Y0WofyrRD7BGOfrYpVpihHe3YQkQzAJUL0sWgB3rsRL6Lva3hOwKztz+kE+9YjAmteqGiPjRJEt0SlKc5vJeFCroOgQrh04vP87BlkRm0A818l8noJtWSjgRrWLtxa0rNUrsFDObDUXrPbFcHH/bV8nsfe359lyClK4LkcoybFh16UyRcBq74Vax1Qc2b0mL0Epu5+6tYSyy1ioTnEHRZJ7A+llaOpclkihfB+2Bcf5bidRYN4hkO7pta4FIARMzx/Nj7BVmbswHI+Th9b63XW6U8SyH9ldx3G5Dx7PWkMbx8STb8uvV21Ewrlcc2rp75xZNf1Td41EzTyZslIyFGDd64bD+oiwyDvkiJXheyMMYQ4/5SxDppHVpkZV4/9rmW8i1+5wUuHf/PfVjkzfYCID/s14/sMRxHGDq+1ispQyYo/YXhVDkT6wxJaIPIYMslte26I324OArnY5kD3lHGA7wAC5mE3eh4UGjJnxUCtwzdxcjnIjk/Y5ctnQ6zVgxITZa4kythaA+KgkkTQWBowCL3YrjDfy0rPvGhRo7zZJ9nvR9K6Vc4DZoNikzpgBx7bO2zlqpnWC2DgTGQlNwYCrbgDNk8Sm11xyFRErZL/hns8QakWuHMl4gE6CmPPFCWVZDzZZ9UhECcysyukbxdsaaLoD96E+MQxAjnHYVX7BaXC/rJaCrCJcbTjcbaa2s8g6LsF09n0+dDCPLxQebCdGtidySuC2KjXYwrWmlg2QU2LRvIsrNNoo48ihNZJomqUL85sh8CJPQXYcq+QlWFwy1PTadUB+3H7DxM5ny02aj4WAvEo9M4lyRv1ObLdhPiFTZBStyLUQIkwIh6BBbbIoCKiCyWHMD1Q6ytI1oGBfM/KYTbEImSH+7VUkSt+RMc8u7Y3o/Oxx4JRD2qOAhYlnpbDaAbpqS4n/9jpHuiGNACH/9cKTsN56ncE8KC31+wL8bZUNFHv7ogCEDlGSNI6C9d7DeCAT/wX51eOb5kS2V7PDpvzbeXHJf36AsKzNkVTgWe4c4DHSTsH4VcB6ofLEaJe6ZTO8h6+v5vrcWRsRzd3vnzqDjSIUwqR721mj9CZ7w3Uym7+ntW7HbNTZkkbj/ZL0olCR293wp5Uo90PVFn87lGErknCIkuReR1ajFwqgZxtvgwuGsFf381E4axtPnS/ub8/UDtx0iHx7g3hd25BJLX4H/pPIkXyMHv2WEQgfasMKM+Rw9CgQolWabO+aijIIAI1Lt67B8Wx0PCAav3sWAXye/Ny9g99BOp8wPzof9luim73ZFe/FuUgUBxddHI1FjMBtMTIj8YaJuFZS/OZw/lNzWjT0Eh+qAlfGKaPjXSa+0nqxSigdoO0ezL/Kd8tf835hOWKn+AfUQ7zn/hOy3lu8qGBHQW4bytshK1mzKnP4mJteWLmDEv5/Wc363PeMY0SdXXgEkoyktWnObfHs/Ao1n5MvakwoK7CtHyLsWsUqEjFuve1FV4xdROsFOM6G6j1/+ilhKx5XXlP1Vz7d6JbYrJ2QJW8zrznkPscb0dP6DKQvl7q/Ek32mEDAYqzTVT0+LOUI4tshANm+uE9bi8Nq7UrRLzSYzjHIg8M0qf4OlypYwuZcFQW7QftW4FkxBc6Ra09T8rbpqEEjYiMPP2F99eRzU+Yr+IaNL9bT9tzDhVVocbBrlCytfvGh7xhiDSCZehkl/Oy6mvVF2Vjtbv+pOzERQ4lpHh1KjJzNWYE6pcqgVdVjAajeW480IBUICE8Nzk1bnVqA2pl/1D2+Co1LkcF7koPnpmLV X-MS-Exchange-AntiSpam-MessageData-1: yt2ThjdCF9s0HY3cjWvRgsNzVcQU/z9VsXw= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: f611737b-b896-4a1b-5c9a-08df046c92af X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:07.4755 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LyHdxFNj5uP0yjEQZOdItPRA4O91gAVOPbNQf+PeIfMp/XQmD3yRXVNmkfcZkUXmGKqGPXlDWznx8DdMwM6GmzwZSi0h4Gt4dKqGUuAYHio= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129550 OpenSSL 4.0 returns const pointers from X509_get_subject_name(), X509_get_issuer_name(), X509_NAME_get_entry(), and X509_NAME_ENTRY_get_data(). Upstream-Status: Submitted [https://github.com/snort3/snort3/pull/477] Signed-off-by: Jaipaul Cheernam --- ...fix-const-qualifiers-for-OpenSSL-4.0.patch | 53 +++++++++++++++++++ .../snort/snort3_3.12.2.0.bb | 1 + 2 files changed, 54 insertions(+) create mode 100644 meta-networking/recipes-connectivity/snort/snort3/0001-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch diff --git a/meta-networking/recipes-connectivity/snort/snort3/0001-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch b/meta-networking/recipes-connectivity/snort/snort3/0001-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch new file mode 100644 index 0000000000..21085d1037 --- /dev/null +++ b/meta-networking/recipes-connectivity/snort/snort3/0001-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch @@ -0,0 +1,53 @@ +From 799739f51e8bc40c55f58a8dcbcb00ddb7ff679e Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Wed, 26 Aug 2026 16:39:34 +0000 +Subject: [PATCH] ssl: fix const qualifiers for OpenSSL 4.0 + +OpenSSL 4.0 returns const pointers from X509_get_subject_name(), +X509_get_issuer_name(), X509_NAME_get_entry(), and +X509_NAME_ENTRY_get_data(). Update local variables to match. + +Upstream-Status: Submitted [https://github.com/snort3/snort3/pull/477] + +Signed-off-by: Jaipaul Cheernam +--- + src/protocols/ssl.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/protocols/ssl.cc b/src/protocols/ssl.cc +index 733d19adf..4afac05dd 100644 +--- a/src/protocols/ssl.cc ++++ b/src/protocols/ssl.cc +@@ -860,8 +860,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data) + while (len > 2 and !(common_name and org_unit)) + { + X509* cert = nullptr; +- X509_NAME* cert_subject = nullptr; +- X509_NAME* cert_issuer = nullptr; ++ const X509_NAME* cert_subject = nullptr; ++ const X509_NAME* cert_issuer = nullptr; + + int cert_len = ntoh3(data); + data += 3; +@@ -918,8 +918,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data) + lastpos = X509_NAME_get_index_by_NID(cert_subject, NID_commonName, lastpos); + if (lastpos != -1) + { +- X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos); +- ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e); ++ const X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos); ++ const ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e); + const unsigned char* str_data = ASN1_STRING_get0_data(asn1_str); + int length = ASN1_STRING_length(asn1_str); + +@@ -941,8 +941,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data) + lastpos = X509_NAME_get_index_by_NID(cert_subject, NID_organizationalUnitName, lastpos); + if (lastpos != -1) + { +- X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos); +- ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e); ++ const X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos); ++ const ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e); + const unsigned char* str_data = ASN1_STRING_get0_data(asn1_str); + org_unit_len = ASN1_STRING_length(asn1_str); + diff --git a/meta-networking/recipes-connectivity/snort/snort3_3.12.2.0.bb b/meta-networking/recipes-connectivity/snort/snort3_3.12.2.0.bb index b95de9490d..0d972b8aed 100644 --- a/meta-networking/recipes-connectivity/snort/snort3_3.12.2.0.bb +++ b/meta-networking/recipes-connectivity/snort/snort3_3.12.2.0.bb @@ -10,6 +10,7 @@ DEPENDS = "flex-native hwloc libdaq libdnet libpcap libpcre libtirpc libunwind l SRC_URI = "git://github.com/snort3/snort3.git;protocol=https;branch=master;tag=${PV} \ file://0001-cmake-Check-for-HP-libunwind.patch \ file://0001-cmake-Pass-noline-flag-to-flex.patch \ + file://0001-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch \ " SRCREV = "14aeb09f5a0856812dbe08ead3c21f99e8860aa0" From patchwork Thu Aug 27 18:53:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96590 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75A48C61DB9 for ; Thu, 27 Aug 2026 18:54:13 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.27]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1890.1787856851987395423 for ; Thu, 27 Aug 2026 11:54:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=b9DZqYOx; spf=pass (domain: est.tech, ip: 52.101.65.27, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BA01m84on4jElZlJ3pOgeLuhPd1avhwh5MqXd7I0p7mTha51r4vEUummsOdhRFLx1sk1AmKEqQWTVgxAUWhYMp0i6JxGJvdmA60J54tc7J1lbFE1IkYrMfQbQy3Ki3fb/tfjJVZ7KMTtHuWe4Dce1yFMEcn9uKArwbH6mevD7QmlZ+q3j2NIQzXG2/kdDGO4GZ78puzbntFt2zBu8Zuz8wghluani6EZIjnTZRY9pqBg6/xWKCARNGda45uhPxCRH0LzHL7Gt1ahDJyPfq1jkJqgWgREM6hhdirg13OGTpT+4yq01jCK3JhN7qng1oHpNDfq+u7naKfNae2nkjg9Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VQ0Xu3QM/9GbTAaXmaPRDHWrMN9339LODZ3rTXXU9iM=; b=DxOPN4M31qPAxlbMMNl+t67Xow8zgjPSZ89KFqEtO+3zUBTdHSxap/lVWbGs5pQoMrG6rX0bX27/7ycW1T7By11efYQIaHoY6lgorj/qjwyoOgQxha4KERKiF6r6PKu9fKkf0osF7+zk9JnCHMDDyTGLO0EZcSFZQfC+p9R+wtAq6dkKNeYYV0dWsnD9AeKYqly0rDQfWJm2VxZydFkVyJ62cin86C4jNtIb9sa8cuA2bqqHT9YCtXP9zdEAZOed3BrgrZnyiVM131LXmdJLsfCffiXPONYh5q23wD/6WG3pcGti/V+fSCIuioio9xWND4BKAW9ZyRKbdXhoOXneUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VQ0Xu3QM/9GbTAaXmaPRDHWrMN9339LODZ3rTXXU9iM=; b=b9DZqYOxhAuVdeNRIz2gdKk7QPGy9cm1p2/4KiFNITop0I6oyc7jpBUvTSpxFm7aCnb7bmuS8qMIesLvsSztdHm0ZzSLTBD3eouyM3usp5aFhE4PNZETpVymfMXbNUiVbph/BkqPdOdICYF2y/GsbI9OyUJRz7m3NzbfFzRuEFWev4uhmC+m6OdWfaEY2l1uOQ1lIb6TOJgl1XrzKwqtRyvz8lGqPEaBF/3Y3xSDh3AFsbfyDz3OoEr77y3fSUUvetvRKxsMufZohDWSy4HmbEgk+kE+Uhp9er6DUXqy8rwrFxzehUN7Tidr3qd2B23PJ99JqDTCeatsUkqoA1QhoQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:09 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:09 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 16/20] znc: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:20 +0200 Message-ID: <20260827185324.78997-17-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DU7PR01CA0011.eurprd01.prod.exchangelabs.com (2603:10a6:10:50f::14) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 70d1e5cc-e7c8-4480-746c-08df046c9401 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: o0Ljr/Z+Peg1mkKjtNe+Clhqc9DTxWsWP/rLHbim7yV9Nod742htz563FTRz2zY2jMJ5uL7qJPgJgdNx+lam7q+bpryGVuUj8ZkP/EOgUhXs/Hpu1BGMH3OLXvGB8woYb/z6oXmy1iHO6LLAyl0P9xezeZucwoS/3LZhYGY1OiwQdZlmjMZ/eAzx/4oBQ/bSSfG7eg0k/kI+J2g1UlGWPrDx7Ps38ThyRa0M1fDMFkqKMkz2dP3ZXwcG1vkvb5GWmNuTD2SH+e4mfIrfjZ6K8pgQlSF8T5LdfUXzDPRIYOczEqoCnxXKcggS5ndjOjcdtlAk9P7XhXh3fE1PiyqKferl6/a7wNrTYeYfAJKbCtTC829Ga8A6WGxSrHq1fYl7hits8o2s5qLy+KeQqgreFmHiAfgT7w67TLCgoNPF2GnQXAH++lo7FeH5TyG5m8/g7w6aFrNksKIf7wIEQtHIVgvFb7Ib9rc2ZnUA5yaHBblbzccc9RRKQmioNlCjEpKzBr746OxYETk1JDfvGDHKIAt5aoRQy2iYanAhqHY2xaVGx6QT4IqzXZZ9IqIVQZCHVClp2riQb24kCaXOJdmXA1STh3aHpjdb5Kvly/SPeChrH+6RiXIOO9gC0Vt4cAvd/h0v6HjMC8VyLdck2UlVNCVYKckB/DWEZ0BmWPirKPc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: ld6hKn17JcVyFS/YWwTK2ctmvt1edfaomOWzwwfZUGtujSZSNzRAXgCAhHb13nMfX1SM6+/umIr3H+aWvv/1H974mA38Hr3iSLP77AevzC3j0db6zLG5Je67pYsfX8w5EoAaeu8fZsSPLVyEq15AVr+KbtFQ9eEy2MssoQ+DjmUluD1rPpmLfLt8aO8gFJOT5MOAmTut3xYueYKmj4qQyROjmuwih3aQy+zY5mFq6HueVVItiwVKBMkE8PMaUOnpwaX7pTALfHqoPnK+BjWgIdiJncWq884b3VYyyQyFlJWvtq4pPEYKqtlb43K8Vi5hwqVYxY3pU8MLJIiCNNapSlKxCQJdJa1iVffmtjYPykQoWIrDrsI02WkaqyVzPeV10wBpw4asP5AtKfE4WhNChZOXhSLgivzeo+/irvS7XFJ01UgQgI11EiwkUOGCqLtqj2H+N2hwukf624a72Yrjc6GQFycUsC7CEaJtspABS6vScS36LLzlNhKxY+NPbEwkzDESFOsUPIhMElWeMcvbRKrZ8pcfWlsHTEzvus3kaHyrqq/59WBi1Fbt4kPf5GiyfV1pz7lz7OsfqbE1w3h0Lukaoi4jJVRbJe0UAV7gzpWaFwqIQVYD2yWSp4adfSq5TkGX73xzaixx+O+LAVo1CAtTnxTx4RL8kGA9RvgHqyE0gSJsECfXg5g/NEYsPIvqO4jgmh56rWjtdiu6d6U+uyXPrHOnwpZ0BHUZlIIfiSj42JFQm8Ly+WyNQ2t7tFiQI2EwwDqVolzWEGvWrNwIUKCDFwLfD+kYfZwoaGd25HOid62TJ4NSyIqH4cHqCNvSmVQMiHVATve79qiNXMAMiZ3dRnSEhNc0XK5Zl3iDD4yTXWJLsoMTAtl3lBwEpHeQBfBntkzO4Hj2dc4kWWT9rvErJFiP4glCaajVqE1hisgeqtMYUL2FnKuyGCWBhssft1pN+/6GxG3TArMAs7HY93FCA19x7rb9Rx2zmQC+JMRHC2hxWA7tzNvycbwGtfHJxqyImiLLUY3qZtlhgoCrPZhUQI7QeGv/TaqnVaPnqWmRgUqauQbArvltIi1mym2z3o0/dszeLCCBQqtHX2yhhH1SnGE4QZM2nabv3aBpt9Vr2lxcO7BqT6VkKNt+Wsj6T7zCuYNeCB00L65ua4v/YqWmomkAQQV51L2Er1DgDpB8izwQWDeFIEr6Z8j+RbFEGnB1BzmRFJde9U11WmPyAnRMTXK17BA7gGF2jm2La08VZblqEAKhUB/kNGVAiYMuId2FtBhi+Qy58hajwVdSXPODXWUOatrqLyJcQ7L3H7BQ+wzveMygHJWpzTTrEpun2aRMOisf0YQ9IQnQOaATDaYxBzTluWgL/GlBCuQbkLgSYD8+WdkCkhXN7mjApDrXgtSineo/0NVN8kplkcyI6/T9ZQPfFMGAMrbdHOnYDgbWSsdh7hyIg9pc1LAuWpHrhqCkFML48kqHM+aYa8cRY4NWr6Comg7UWAa63/n3+7kroPDu8XFfycMDosKcPkDI3mKhnC3uUj0sGgiGRySUgfMs2UtaIgrz1U60HMh8ips9/DZ6d6Zj9W2HyaHO4xvGhw8uqd9R6zB+SohwHXBYoh5ARUxaMOHsnziQVj7WZzuMnCUuTlejYlxifmC3q8mYRJpoj0Azdk50HXEeoy/vjq1yXbgvHOQMkU6B3xMcRFicRRXB3vYEckEYjYER8ZcBjlmd3X9nh5i9CS2vFBmr22SAElm04Esjdz1os3gG6PIZX3IPS6qQpkD6A2vnsNBWRsPWCS3A X-MS-Exchange-AntiSpam-MessageData-1: w4S3DAhfoZlOvr/7aMwdbowWLrGAQTjR6uw= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 70d1e5cc-e7c8-4480-746c-08df046c9401 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:09.6956 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dC8/tzHKbJpqfD8OJkKQe+fvXH5m6FtZ6NVJ/uuIUGVriUIO2SiU2PD9SE0Wsr35+5qRY4dHXMwifqsd2H0en5m/ZWjEoGhUxAl/pJNsZOY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129551 OpenSSL 4.0 adds const qualifiers to X509_NAME and ASN1_STRING returns. Backport upstream fix. Upstream-Status: Backport [https://github.com/znc/znc/commit/c6b7fece1ec3] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-build-error-with-OpenSSL-4.patch | 51 +++++++++++++++++++ meta-networking/recipes-irc/znc/znc_1.10.2.bb | 4 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-irc/znc/znc/0001-Fix-build-error-with-OpenSSL-4.patch diff --git a/meta-networking/recipes-irc/znc/znc/0001-Fix-build-error-with-OpenSSL-4.patch b/meta-networking/recipes-irc/znc/znc/0001-Fix-build-error-with-OpenSSL-4.patch new file mode 100644 index 0000000000..7e43eeff7f --- /dev/null +++ b/meta-networking/recipes-irc/znc/znc/0001-Fix-build-error-with-OpenSSL-4.patch @@ -0,0 +1,51 @@ +From c6b7fece1ec318c67ed8afa80ef914a135180a4f Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma +Date: Tue, 16 Jun 2026 10:08:17 +0200 +Subject: [PATCH] Fix build error with OpenSSL 4 + +Upstream-Status: Backport [https://github.com/znc/znc/commit/c6b7fece1ec3] +Signed-off-by: Jaipaul Cheernam +--- + src/SSLVerifyHost.cpp | 4 ++-- + src/Utils.cpp | 5 ++++- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/SSLVerifyHost.cpp b/src/SSLVerifyHost.cpp +index ccc20898e2..99b215bc23 100644 +--- a/src/SSLVerifyHost.cpp ++++ b/src/SSLVerifyHost.cpp +@@ -306,8 +306,8 @@ typedef enum { + static HostnameValidationResult matches_common_name(const char* hostname, + const X509* server_cert) { + int common_name_loc = -1; +- X509_NAME_ENTRY* common_name_entry = nullptr; +- ASN1_STRING* common_name_asn1 = nullptr; ++ const X509_NAME_ENTRY* common_name_entry = nullptr; ++ const ASN1_STRING* common_name_asn1 = nullptr; + CONST_ASN1_STRING_DATA char* common_name_str = nullptr; + + // Find the position of the CN field in the Subject field of the certificate +diff --git a/src/Utils.cpp b/src/Utils.cpp +index ed2c9c8386..744f61d195 100644 +--- a/src/Utils.cpp ++++ b/src/Utils.cpp +@@ -129,7 +129,8 @@ void CUtils::GenerateCert(FILE* pOut) { + sEmailAddr += "@"; + sEmailAddr += sHostName; + +- X509_NAME* pName = X509_get_subject_name(pCert.get()); ++ X509_NAME* pName = X509_NAME_new(); ++ if (!pName) return; + X509_NAME_add_entry_by_txt(pName, "OU", MBSTRING_ASC, + (unsigned char*)pLogName, -1, -1, 0); + X509_NAME_add_entry_by_txt(pName, "CN", MBSTRING_ASC, +@@ -137,7 +138,9 @@ void CUtils::GenerateCert(FILE* pOut) { + X509_NAME_add_entry_by_txt(pName, "emailAddress", MBSTRING_ASC, + (unsigned char*)sEmailAddr.c_str(), -1, -1, 0); + ++ X509_set_subject_name(pCert.get(), pName); + X509_set_issuer_name(pCert.get(), pName); ++ X509_NAME_free(pName); + + if (!X509_sign(pCert.get(), pKey.get(), EVP_sha256())) return; + diff --git a/meta-networking/recipes-irc/znc/znc_1.10.2.bb b/meta-networking/recipes-irc/znc/znc_1.10.2.bb index 7793813234..31984742d8 100644 --- a/meta-networking/recipes-irc/znc/znc_1.10.2.bb +++ b/meta-networking/recipes-irc/znc/znc_1.10.2.bb @@ -4,7 +4,9 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "zlib" -SRC_URI = "gitsm://github.com/znc/znc.git;branch=master;protocol=https;tag=${BP}" +SRC_URI = "gitsm://github.com/znc/znc.git;branch=master;protocol=https;tag=${BP} \ + file://0001-Fix-build-error-with-OpenSSL-4.patch \ + " SRCREV = "59af2206c62724eec0d8c43d3c1c0b70610ca1d9" From patchwork Thu Aug 27 18:53:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BF06C61DCB for ; Thu, 27 Aug 2026 18:54:23 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.27]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1890.1787856851987395423 for ; Thu, 27 Aug 2026 11:54:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=k/idb1qx; spf=pass (domain: est.tech, ip: 52.101.65.27, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gQPZg7IMRDqOIuf6zJ6J2roa8h1LLD88idSn1T6/G5nSlnNvDpVoeRm5mfif3z4/XetKkE5MMzxo9kXboEblrFAMTqy0T7o+hcxOFASxAU46oRox0WLxn79caVpgvCnQShQrrhjSTx9tL2N59ZpLBwkp2FDJuYPJcVn5tjQcjZRBKN59U3KGX8FLNQbu+y0Dbcijp90rImUiJ2UeUMyrCdaXKtrbxSK+C1lfT6IsMpOwAgI4w+Hj2GVVqENZi4sGb/sPjTdgWpHMuB4+M24zdWhsoVxcjMRsDa8Mv2ZqEtuQGq8s7V9sQHWBaAZecL5Hy18bflqtlhNMVuHH1n/wbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FRdSGWRM+IrB9OrRvcqx1tKQIgawBAywXCqOVg6CFo4=; b=ZVtUsIUigxq4o8SQgVggjG++iKsy/lfwohEQ5sB+1oGbbO9LFrl0DEQJaddK8MKZ34pPQcg3rXHqcE3PeP/O113FTJqKkeRiQwlW7tmV8wf3FOdOsX3qTFRRR0pJ8iAjM0Wc9NWlN+sgqJxna3B2YbCQs56SNwWVNOZQek8NDu6aO3+o/7KKhNU0wp3c0EiiZ+ZYLqjN0bC/MZEDMbfkpsFjaMT4tVBZ3e9LEF0QbhX+qZrZq8YxFHVETPUE2raXlNyjIXPax+6QoDuudWiA0bXntkoDsVogXQW2tPeAEp8wjmBnDfCRlSNc1jjyh65XIs/MXzh2+qzxQw96AGasWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FRdSGWRM+IrB9OrRvcqx1tKQIgawBAywXCqOVg6CFo4=; b=k/idb1qxZsvf/F0AFVcDZJNrYq/dmNllGJOt4UN0zJWL24QRHFBtFxHMBUClVLS2NcRdZgc76fmnMySTuzyObSA/RCpV5A1C3wDNkzEsjjg1p49AKopRbAYEUpvQjYjxxpXOgNgudONTfHeA9NWJ4LevMEZPtUkV/Ze8dyOKB/KgaDIQ8CJl2svq8S211M5AL+EOMmwosqydaERjmM0pFZc7yHkD0pM8xsqmVGSXwREZS4imctoN63gS+hwCpqh9UxomlAXkLAyUq9wHwKxB0olfzojXtbRtSWxDry2NOcG95JjY6hB2zQDjLApsje3h47SlFqFXrM/fGAvZCt3HZQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:11 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:11 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 17/20] libesmtp: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:21 +0200 Message-ID: <20260827185324.78997-18-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DB8PR06CA0045.eurprd06.prod.outlook.com (2603:10a6:10:120::19) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: ca1993e1-ab69-42a3-34b6-08df046c954f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: I6ub4YvlXKGRNb56Z201d4swPSw4XCFZaQc2GdLonjLig1a0IBamWpQmsyB1W2z0qf2FrszwQazf/XbsxImw1YMyCPd8qzAKVVqqEAF18KHjzBW75yM/6aWp7BpaX1Rvq0w41ZHCYzormXa8g0R8cLq2sX8xPVqo+yqK4Dvj1qCD7NLwd1CapC7hConRJcHCxCrVhNTdak0wRu/jsngEmBJuUbQN7Pp0n9dl7CNYJoSaHPQAl24fL8NsXQZIZ/jRlrnOnZW/C0g/B5NiclkF2EItneuOM53XNjqEbDxfzQWcdq39vW60SfBlOr1STwAzwU+JYtbCq+HKUTr9mfk5N1SANO89r/J7F+oK7ypdgllj55Q0Vps90QedfsQ6jR8GHHGpzvshXxbHMmuQ3DBlqUIe97tBdMnzuwlcFP5PwyNgNvVMUqUAymxFGJybzgXJurlUnBdFyoNHvazhWBhtXtxYbHiTw7LBt33xaXG1ngjt4VzcablvQ0bH8aSKHH9SarXqNw0rch7Wr6r6D8dZVZOolAOzm+15padcmsahRksvb98LZaAtb3LYJM6f6QuNNwjjiijCxnT0GRxK3WSxdlKEfEo7iXwqesIXcm3bsmaKt8cHvOET7IhKilJTxLou5XnpJj2Fw+SpCzt+w2adkvOcqdne8zPMw1n7oSPBmdg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: LOdbP9X4auluZWnXW+fFLxtYdH2TRDz5HtMhZnUkELRVJcoWu9Bh7XoDunoJu22+E52lociimx9teTznSUAv1QkE5Z67bcVP0oA+YNanq34VjVsymbu16xBzs1wQamWI0qdaC9s7Fdn4bOCWGfw/+3FQ17QmTPwUIhORvsGx2tWYffdA5deDZVcJczoLbWQz5UeFp90eV+d9GEJpflIDnfCMgulppveVc2r6mgB+eDMbbK3IonudxalS9OdNLRUAWtKwFlOId5X8MZqTNjoGIJyFPTehaf3i88iw5VZJq9ea0SC2CBWdkKgEGKye0fMWnrGGkiS+nh6lcqGCCWnLc0mVYXnaS0sOf0HDlqFf2VoAGiaaZpxLmeOkfbvMZx5fYsccqJfm4xIXFj+oixAQ3DTBaXK/cPgWSUKHohaqD4anWaauMBiRhJCE6+kshwjZ+fQ2lsgDPAsICxjvDMCdfPGonB8l4UVmhaKPxarF8b36CeQiXvKYK+ZK4DNE36HnCSxFojvjZya0UbqMxII9paSXwX0cxL0viDdnNVPFNsdZm1/REzNBr1uwn9oqe1QOwP2NyZikDqO/KReVwFbfwZFTwic2YQzMWx8eEnLSpG7nvlWHrfoTe5vfVsp1lHkWQ/p2c7Ark6gSfhm3MTJojM14I9dAPItXQ1PqZ6bPd3fRHGZ0wyFQW3nD13yIQSlETUN30aoM33eg5UdVhjBmCZ8Um178GQ/9hrn3YlW+kQc/xCBWcRuPHvSnW9w7Uh2vNl35vR6LoV9RKhPav9meYLubxy6qQAzm5rZQ3qrXd/h7CsPERl2MaT31WjZvRRoRY5sv9Z1ZxXTWc8doWyCP/t9wGSnHSyAl1ABx1FlefQQeImP6kZ6pU+KxjM9UX8c+EDH/p/chWKMfeCF/GKSyTMh4kLmIh1yHqdW/McbC3F+7p3u04aqSH5VOD//jbEzV5zHRnWE+ldradoYRZrwGa454W0UdZJIiZbkmLAPrvjfFEYJOdBXVKbMHApSNyk+e0pM2O68kHm7opS8UtkM6hj+QVfrRdoT/hru4vTS6ysut2Fj5RkAhmBzRmPYQ+RTcqZST1iH07f7m45YZGv2pqxjSl5pJt/P/ZzR1zECYiYTduol2aCzBRlFtzHZvnA0H1jp/WJO99pCnzx4mmWwwL5bctyIno6HMweghwV5SXaWgIqWYrSUOK+qHx2dXhZHPKnfz2FRXVX5Y1B8VPdgjyEhf/+UUINoVbuh1rA3aTfJ0HaokpJdD1mrYoTW8Koqb0blCm6LsW/lQ+8BES33EaAyGTo0c7moDee+cQlZJfvBKLOaAAHZi9h5qPEtMnKypvQeizW4w2JuqU2bkGcaLfQmwvqncabWnHuqHGRwK2io6dYvIHhSdXi+mgygGe3f02KSo9agwG+ZzYGmN+EaoI0txfcfzJu6TYfnEtWNjTeLOIjb0TDSqmKribIaMof4u5ofcJ63Dy5TSojOorg+DqlrYFsgzK51xNwxOz4RAGvErS5kTBho+2oLnQK8rKNcKO3xBoZn01Ap6eMiHjf195m9RaZEGX+tF8/h4cHCYvBEldALv5cTU0kbofr24T6WcG1i3eFTQ0nXQSV6B3GQzIkHw7tE5r4uKY7T2NEVJr+XzitKyexaAvXOSm4cSIR5kTtW1tPGCbFZ0MSkLaPDnjRjSSs3xhNGeAucnckLGFSShHcUj05cW8W24GwyRLnkRkkXxfP9emQ6d3lpUU7dEJUKRAPEy0pPT+5ggjfbINK02573ZNmi2qcniyB986M81tj+gf5wo X-MS-Exchange-AntiSpam-MessageData-1: PQlmHCofK64EU9lxsg5uKl/5bdDHrvUTVME= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: ca1993e1-ab69-42a3-34b6-08df046c954f X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:11.8747 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Odmjb7JLqFFLCPK9XOvqDOCENabvePowcLLYrnbrQIfoY1EzKBYSWs125GIXSrKIbTLvWBinOINADNm2MDGvZ0ZumBSCIyH3xEDQw6dXISI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129552 OpenSSL 4.0 makes ASN1_STRING opaque. Use accessor functions. Upstream-Status: Submitted [https://github.com/libesmtp/libESMTP/pull/34] Signed-off-by: Jaipaul Cheernam --- ...-with-OpenSSL-4.0-opaque-ASN1_STRING.patch | 31 +++++++++++++++++++ .../libesmtp/libesmtp_1.1.0.bb | 4 ++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-support/libesmtp/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch diff --git a/meta-networking/recipes-support/libesmtp/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch b/meta-networking/recipes-support/libesmtp/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch new file mode 100644 index 0000000000..a949639502 --- /dev/null +++ b/meta-networking/recipes-support/libesmtp/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch @@ -0,0 +1,31 @@ +From f74ac43fcd2af19dac28901bfb9dd1e62a8ec7b0 Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma +Date: Tue, 28 Jul 2026 20:35:48 +0200 +Subject: [PATCH] Fix build with OpenSSL 4.0 opaque ASN1_STRING + +OpenSSL 4.0 made ASN1_STRING opaque, so direct access to ->data and +->length fields no longer compiles. Use ASN1_STRING_get0_data() and +ASN1_STRING_length() accessors which are available since OpenSSL 1.1.0. + +Fixes #33 +Upstream-Status: Submitted [https://github.com/libesmtp/libESMTP/pull/34] +Signed-off-by: Jaipaul Cheernam +--- + smtp-tls.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/smtp-tls.c b/smtp-tls.c +index 9f3e50e..981284e 100644 +--- a/smtp-tls.c ++++ b/smtp-tls.c +@@ -599,8 +599,8 @@ check_acceptable_security (smtp_session_t session, SSL *ssl) + + if (name->type == GEN_DNS) + { +- const char *ia5str = (const char *) name->d.ia5->data; +- size_t ia5len = name->d.ia5->length; ++ const char *ia5str = (const char *) ASN1_STRING_get0_data(name->d.ia5); ++ size_t ia5len = ASN1_STRING_length(name->d.ia5); + + hasaltname = 1; + if (strlen (ia5str) == ia5len && match_domain (host, ia5str)) diff --git a/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb b/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb index 50f83221c0..d1364a8948 100644 --- a/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb +++ b/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb @@ -9,7 +9,9 @@ SECTION = "libs" DEPENDS = "openssl" SRC_URI = "git://github.com/libesmtp/libESMTP.git;branch=master;protocol=https \ - file://0001-Add-build-option-for-NTLM-support.patch" + file://0001-Add-build-option-for-NTLM-support.patch \ + file://0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch \ + " SRCREV = "1d0af244310a66943ab400be56b15a9087f181eb" From patchwork Thu Aug 27 18:53:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96595 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CCADCC61DCD for ; Thu, 27 Aug 2026 18:54:23 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.52]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1809.1787856856359493811 for ; Thu, 27 Aug 2026 11:54:16 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=jT6VlkQz; spf=pass (domain: est.tech, ip: 52.101.65.52, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yAWdra5o4ALsCy8BnRPdjc0xfqOuYSxXUdLcjSABfL66k1r3Ix1uxm+d2RgRPiB+Ap6N849yqR/KaaFiDlVp2ClSVI9jfDNuTrS2TZOcqVqvhRq0qA79zfrou7jOXM7cF/SDFuSNTshhg9mvwd1bIcFgAJGaWRCJ7RLhf/ZcyxRwCCcd/Et+Rae1wRrfVcOaF1ZbgrbeioE+4TRKKdPSHUndqfT1YlUL4QMvkFi9QMi8pzUbF88i9W1AxM2SbJOGXJnuNc57MSPYvgU1wq0qxLV4rpZh9Sn/6zjiwERmM2efV7EmoEek6btEzn+5S0BTH8QYcqyoGSHpv7sWLfGHBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+7asEosE/LmtwwdPTchAGQOrLLrQN5TjDPCePjV/fCY=; b=EoZ65U8m39qLIvrwYyTYx3AB7EVk/bCE/5yqPBsZgIP9fmgd9/Yrl9VTS41U4AvZEqpSPyP8B5oppIMGrHw0g7JQDq/StU0FNhoA0a6GWvJmYGhx7menzBaB5GKt5Wm8EPHvXRcnfl6j4d7SsosJgJX/GVb6pRnePwtFdggsQEXF2gB7VXAgMEWH+nf3sIysPzdhEwRXfdI1jHw0gVgyDA8X83YoyIGIsDJj6xZp9x/ljehkyLXIS3peSYOfig4PXTJ5roqLtQCxylfIC1Z4LyPgRfoNaOmInV/35jQh3py7clOyMsQAfTK7GYdokg/KiBpZXsPMkuhyLCKElr549w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+7asEosE/LmtwwdPTchAGQOrLLrQN5TjDPCePjV/fCY=; b=jT6VlkQzCV2Vq+PWdxmF0zOuQI2h3AaAsuzqSEkoUHrkLXSdFqlhcBaDJ2AwssHz3onMF+NFecZgtsMNfFnDfxuKwXM/GTfOc2IIrN4URcZByHTaXNpFV8zC6/KKhInA7THAfFjCt+oH9lIYhlAbSQ8Lr57JUMSv7Dp5Ch9VgTO9F81vEAZVD3DzSZte5I0tH6RPZhDNkbDIIvpzMAz6A6h3XvIpXuv4R5HMzAZwhzwGTAb/ork4x35AcZFhLADsqSlAIRhi+nQ2FbnuDCGB6Dnm2IXhfZLjnvm/0Op3snId/sIElqUOrL7V1CKnTyfopR96CVsAvFOumqBU3lo6Jg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:14 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:13 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 18/20] ntopng: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:22 +0200 Message-ID: <20260827185324.78997-19-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DU2PR04CA0245.eurprd04.prod.outlook.com (2603:10a6:10:28e::10) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 85682b87-2236-4553-c325-08df046c968b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: KAEfN0izN3MnRFlZOM/U3gl+r3TYoNZaNvP6Y4g6/cCSjzrSK/+dQb5TST+sNtYZNFUvprvJcx6HY+DAfVdgZ7mDXNF4/VQWcODsAVRL1OMEhd2X2HWCZ2nU4cviFXsBdHk5g+C8ACaLX3SA0FL9CmaDSCX0DEg/6B7LGhGZAehLuS1f/T+pihlRn00yub6IDdeUsmw2UmPJ8S0/JtH0CzKks/cGHJf6Ga7tIrnYPxjzbDzNcksAWgRYPtgEAZBMGsvbncfyVxWkTLFpOxDzIlo++TCkptrIPtOWK9WSD1qIG99m2LCFQheXXcfbnBQMg+f//AnjO0DiCKn5gmudFSbrou267kTv3uOBoIado6VRAJx5xG8N7mylqjxKcUZYkWW/+N8Hc33S6WcnZPQ/A+yi2nb15B0vEItKixHhG0GeClcW4Dyzrt962Jua9hs+0CY3nSlM1L275GKcmB0Scq8QxexjW2VwpeYSQwl0fDxyceqkl/x6xJTJ4yCf/iklPYhnOa7CRDedpW3aP1fMwUUDhzmXiZ3jtNM2dL6jOv9OeAgySu/FmT1mzBR1RA9A2+DaARLUaj4VVXT+7Ns5nhahLMGM0Lmsdz+T/a7k3dRQbWAyJhTlRNbBqWsYfMtXi7509i0ZymTrERCcr6MRdA81BPg/3ai3ejLjYLkdse0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: ECq80UpounujWgviOYihjHfJfZQyF3wg5nAJPZqKFS54ZIc2bctjoxqG/JTx0jLbhI/b1b60M4MQ3kn0pa30a2EVNlitA8GNyxMZ/cF7U/XEri9qsNMzfM7pRu5tIUlCuaLlKhAes0nRo0LdclFXvyc5CY9WQ7xbyqLqblVYr4QiaUNoWK7ciiRjPB8Ew4N0lChH3db7b0oMk+vAPvUKMSThWzNs08ol6cnWPZUxgaeqFmkw48tOla7GLXgieN52woLwPFvk1lVHHnO4+OUfeAvpsJue4Bde17GZKeXauzxGfQz7WfGBbID0VWS3Gw9kl4FkRXYb+q/HU8aXP4gOMx8hwqg2DeNDoCfWaQf5CeGaoicpqXk4RjIvL8rsorEPNdvvZznQbUsav3ey/aHwQC7qf7j6y+gM5WhOPfAvNXCOz3lB+JKGQc4QVFiePHesav+jlZQFivRBPFx5TE5DdsUTCIo4ateBDuDh/7Vs9gUgnPrGIOloPX2rT14HWWSjvJoFOE5I/JT8wkwsFs/MD9iJFifEjF3BT5JIoq1Rphd97IvTKLzFXlL2UiPO9qRImMMY9LdVr92zT80OR+5viC3+vtKPDJ+N5lIYBqqYBgNCCqjpAjrt0Qt9Q/gXKP2RUcAldIBXuKjFpD0qPj6Waqpo209/XLR0W7JbDX8YUzHsbELtqQeQ2u5HXHSeQ19rFCVfE7Jkf65S/2x53KPh9bgOcSAMGjYU8b7eXtINpjgW9s99K64IuVpKGYxt9K894+mr7jYObK/jBnAFPPQeoSkRCBF+1KbBITAW4SDLidbN1jl2QQWn4bGCosEsTh8uKCh4GWlZnydqMjvThBEht+qDy30XWrl2sGhfbdX/Qy0w0KizLYO0HBbIIX+d06uDfBe4g1seTko9lKp0HbiN5KEuY8GD5lrBiG9dU5FzGHsT3yRzef2CAbaiZpA63jRQdsUMp9jVsCWRGtexWNvAo8QxfRYct1F9/+e0bbcZp6x/O3U5hHhwI0DUFLaZtZ4MFvxhzlZimQYHiNNbjhBpZiJl77CL0tFwU6gp4EZDh2BRzvvkocfxPMd3KcKMu3nuWgspwgB+oic0fnBRtC9hC3IilbXYhUP2BJkUJylqwGiQZGdwL5s90KI+bF5D9cLA1/4ze8IUHJrCbrLZdzDj8e8HWxSapO4/UUMKU/xDFz7iwAuhe64YZqKVjRy4tzBkdnb3S4FgKKljj8QJf8TLfsJsiCFb+BcAywMt83nYFG4gerPtto7iL8BYmWawIRTGWExTMdf96cdNd5muzLpH4AG28dGUlW5opGm7+3E7kF0mItJuCLnXOf03aYMBw2I/hWeB9bHFXd10GakRzTrSpsL2vck0DwjtfE8XV82UQbnmUoy5HlP8swqKpR4adIOKIBRy0J8cftGUY/DJeFrzVMwrV5sp6kYUUOqR3JKv2ltXzGipgri9Uqoiz1SBvC41bUGLS8uUzHgRuS1ru3fs3ZrqeWOu6zpfYVqTH7/JjxeC9YyWKiwdsaydUgActNhbvafst7+QYWMRjKn7eowa6byotpXEAdsn2U5dCMn1dnFSE7eB/7dcFAsTxS788v6JkxzfeySd8kdVZ+uXI2JlMyuI6JDmAiDoLn5uUWRTH57bwt82v6AiGdTtejvrLPjks44gVVZAyEI4maDUQPqWGA4mFeNdbD/lVyjiJJc55dv8OFwNSNrSYQtyWwnB4AbbHU47x01sqsaXUdaTc2SN1ZsO+GN7tdwLXy5FCwongOM+7E3z7BVfQBVp6ZWwSODEZ3HR3lXb X-MS-Exchange-AntiSpam-MessageData-1: cqHbPbV8IjM3oi2r7PIikdkwGCwz+tqYLew= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 85682b87-2236-4553-c325-08df046c968b X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:13.9690 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EFBXTYRCvtbLAGCutB9j0Yins4K7AAMoAon1Us671LhH+CYyemi54xaFcztdykZ1dt8koyA+xLxbk2Bu0pg1D7A3NGDjQteMmjs6VbDwwNs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129553 OpenSSL 4.0 returns const X509_NAME* from X509_get_subject_name(). Cast where non-const API (X509_NAME_oneline, X509_NAME_get_text_by_NID) requires it. Upstream-Status: Backport [https://github.com/ntop/ntopng/pull/10830] Signed-off-by: Jaipaul Cheernam --- .../0001-Fix-build-with-OpenSSL-4.0.patch | 42 +++++++++++++++++++ .../recipes-support/ntopng/ntopng_6.6.bb | 1 + 2 files changed, 43 insertions(+) create mode 100644 meta-networking/recipes-support/ntopng/ntopng/0001-Fix-build-with-OpenSSL-4.0.patch diff --git a/meta-networking/recipes-support/ntopng/ntopng/0001-Fix-build-with-OpenSSL-4.0.patch b/meta-networking/recipes-support/ntopng/ntopng/0001-Fix-build-with-OpenSSL-4.0.patch new file mode 100644 index 0000000000..4f142092c3 --- /dev/null +++ b/meta-networking/recipes-support/ntopng/ntopng/0001-Fix-build-with-OpenSSL-4.0.patch @@ -0,0 +1,42 @@ +From 0c9dcc44df3592d8e08b46f5dfca664de5918bc5 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Thu, 27 Aug 2026 09:13:35 +0000 +Subject: [PATCH] HTTPserver: fix const X509_NAME for OpenSSL 4.0 + +OpenSSL 4.0 changed X509_get_subject_name() to return const X509_NAME*. +Update the local variable to match and cast where non-const API requires it. + +Upstream-Status: Backport [https://github.com/ntop/ntopng/pull/10830] +Signed-off-by: Jaipaul Cheernam +--- + src/HTTPserver.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/HTTPserver.cpp b/src/HTTPserver.cpp +index 21895bf10e..f7b4164ab4 100644 +--- a/src/HTTPserver.cpp ++++ b/src/HTTPserver.cpp +@@ -403,7 +403,7 @@ static bool ssl_client_x509_auth(const struct mg_connection *const conn, + char *const group, bool *const localuser) { + bool ret = false; + X509 *cert = NULL; +- X509_NAME *subj = NULL; ++ const X509_NAME *subj = NULL; + char subject[256]; + char key[CONST_MAX_LEN_REDIS_KEY]; + +@@ -411,12 +411,12 @@ static bool ssl_client_x509_auth(const struct mg_connection *const conn, + + if ((cert = SSL_get_peer_certificate(conn->ssl))) { + if ((subj = X509_get_subject_name(cert))) { +- X509_NAME_oneline(subj, subject, sizeof(subject)); ++ X509_NAME_oneline((X509_NAME *)subj, subject, sizeof(subject)); + + ntop->getTrace()->traceEvent(TRACE_INFO, "Client X.509 certificate subject name: '%s'", subject); + + if (SSL_get_verify_result(conn->ssl) == X509_V_OK && +- X509_NAME_get_text_by_NID(subj, NID_commonName, username, NTOP_USERNAME_MAXLEN) >= 0) { ++ X509_NAME_get_text_by_NID((X509_NAME *)subj, NID_commonName, username, NTOP_USERNAME_MAXLEN) >= 0) { + snprintf(key, sizeof(key), CONST_STR_USER_GROUP, username); + + ntop->getTrace()->traceEvent(TRACE_INFO, "Client X.509 certificate CN: '%s'", username); diff --git a/meta-networking/recipes-support/ntopng/ntopng_6.6.bb b/meta-networking/recipes-support/ntopng/ntopng_6.6.bb index 3c039781d8..03350f240c 100644 --- a/meta-networking/recipes-support/ntopng/ntopng_6.6.bb +++ b/meta-networking/recipes-support/ntopng/ntopng_6.6.bb @@ -18,6 +18,7 @@ SRC_URI = "gitsm://github.com/ntop/ntopng;protocol=https;branch=6.6-stable \ file://0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch \ file://0001-luaengine-Use-lua-5.5-API-signature-for-lua_newstate.patch \ file://ntopng.service \ + file://0001-Fix-build-with-OpenSSL-4.0.patch \ " # don't use the lua under thirdparty as it supports cross compiling badly From patchwork Thu Aug 27 18:53:23 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96596 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3D86C61DC4 for ; Thu, 27 Aug 2026 18:54:23 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.49]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1893.1787856858941288240 for ; Thu, 27 Aug 2026 11:54:19 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=KCyI86A8; spf=pass (domain: est.tech, ip: 52.101.65.49, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HSbTe9N7IvAxeUm+5EpoghugjopfMIkZwnqqWdRGFIvjmKDcT0v2yyWxnmBm1i1LYTVIOkC75Gz4HESJ84+4a4JOti2C4kVIMOjZGxrO8xP58RS2Al526IeTwNbVTkzfR6Pk8+cR7IjSc7DbTM2UxKMf9DR25XoOBcEs1Z9ENJg/wvRzhedlxp0nKOp4xZrDypwtdeQE+gUm0HwTOTKJ0jP+u0mY/nWJSIGblEcopar9iLXU+GYELM9BTsQgTUTDU4KywpHuCZiDjgHNdIQO+vZxkYR42DHsT0JOaU/iU6wxYkXOCtqBmaZT1+ukthHfZSaG7mQTN3FglS0YccgDQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+z7ykovFQRAq9ulPBTq1toSbsWQcx4DVL5wBUKGOl7Q=; b=StJmRh5kxOvsV7VKP95qRxyZs2q9gBbCuvFuCOC3RLJxb9J0LYzYImZiIfgZUjtmGebG0nLtj21ZY5Bzb72/yDFnzXUzm4cg0u1rhr59qjcqPBAastPXqOz1U190JLhcflDb5v9BEWSA5OVQmsvGsWR/D8OjqHt1ymunwt6km3dknWKoyN91NhroM+H4RjriIS0WUgJycnlVYdkdiuNkO7MOTHv0gk6MKTTCHTxtbZZTmZiO2AnqQLH91vxdj9SoF8EthlxnqYRsJiH8uSYM+RxaGJAQ1vZv7hZZGQL67f4JCCh7hXfw2zWw8glvIiJiC2qGMQE5qp3m8zZPzNPzSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+z7ykovFQRAq9ulPBTq1toSbsWQcx4DVL5wBUKGOl7Q=; b=KCyI86A8GjOCEm7GL84HGvLUMltvSMOlkCjUZ4o0qhzA6uZ4bW12Ocy3e3Rq6cIijETYmWGB4JyUzNTcGcsgbDU7trYw4n7n4hWGel6KzLOpE8CwRG26m7ylaywtASX2B9tL2w+tWJNa1dFbWtZX00BgPB46W4SRwjSlYxQU0f896HGDFkn0plLaRx4FFoNg5YBF0H4vlzMES6siDnB8qzAj+x7rthd65JXsmSj1zdJw+EYpgBe94raaerAeLjayds29RIpx/FF+RL91io9B/2PnnEwpvIlv4999cyIyrJ0fS+jPb7s/J/nmhCPGNVSFtjXovNggTl/R1D657IEvXA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:16 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:16 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-networking][RFC 19/20] libcoap: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:23 +0200 Message-ID: <20260827185324.78997-20-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DUZPR01CA0262.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b9::24) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: d27b54c5-c882-46d2-c70b-08df046c9836 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: nPUs/HUZvoFYmr/tidsoa+qhHnTUjWDDTSe5ON70H2GHoD6pQuoOqoMMubm11UHib8dcjhk6kBbVyvqH4qgcUb18WQXQWAxCm570FWtX62hZaAAIvIU2X4wUVdcK9lmIqMByDlc9PsDoO6lrjb9mZ1E0esQq5qjiqQAWXoKJpmVH1nueSZMANvVdfCXvDzULbmfzPelvFV/J4N2zpqOLuUSEgMKQbF/z6w9GHhFwoTsKnyM36u8dABcoQgBT3gDxeM1oFPl2LLSepeSt3XcQa+yPlk5BXVfw2vqPXQtwOLjJsXAN+PHX0+/Vtlq6CK2BEwUx67f+sApTfz7XvTpHu7vxoXl34MohijVgQuIgtlbwjcCKcTWvRoBssB8dIsFhCvMl/WkdtXKCVOcQyh+2AOd5oLo+yrWw4B1JSYNSNg8BMjVA1abhp9RNsfcXZhOJw5fz5Aifw72v6iqYcDNCtvVvPm+6kldtQZ1ohv9zytxxlrEAYNFqHA2EBMbQC/L2cAG27s/jYv2hojj0mTOnlMPeIHesNu3GmTmMKM0quFa/Kzdh98MkHaVgNWe4fg2+jLCClD9Lzj0BxIS9hHOtd0h4SzY/3qSqI/8zs0zVwBI3fi4Oa9/wKQic0lLZYWnzT/XzzUWIKdwUGbf3Xu6Xee+r72tBXnTXQRxTNo7M3Ew= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: jvG46Qx6FWdBa4J8vaAUlBfURwbK7UcH2M4S3xeoTJAUs3X0XQf20TBJ9bdxC4qh8maW2O0mscr4Xp2TOc1Ni3q5/C/CrXlYyO3CSlFWDGWrOpdnlXjDXQe1LULOQzw6Mb4hqm6teaSyp50SDoaF6O/6qschztChQcDTdsUftxAlegyJJGEnSrERAxP4i/p/V90YoHtiIyw2xkmxR8iIFIew8nEhH71qf8FdKPhMFCCUMsJA3nw9QrCu86ijMx2m7Fhz3z9dy8HyWH9G4m5Su/dyycVeOjtkqfWuUuNzRf9SZnYJd9XurGvIr6nQMXcKyk2SfPeIDxVMItHKAi26dsE4xeY9Ezn531ykt1NM5FWFo82V2MkE/BqOQxRgHn6pOSSZoEzfTjfloCkqVZRd6GVjGUWqm+Cy7F745iav4grNmxtRAv3Yrtm9cBBiio80ITL2+bWFc73xHAl2iWbtQ7q5gQSznbTFiQ6WwBB/l1NvIFiaJbrpso2vdns4gYQhoGyVLzsaBX0WsWnYXSnaM9WftbpV/RRNo06OUnBZsI5jj8J6opCNJHzgR2CWPp91/bI4/i+GGMFgUdnrGePkXXKaS3MhhbZe3I12e7bcwDU4tqMg57XmZ8/joAA1JltlSNhKdwFNFaOjzZHbdq2ldmZHWM6x2637QROUmuULgsdMh1Wl041c11L/IzHjvi015BGLfQCEizU8YAZ8hehWP9XyyFOMIP0A3Mar3UQMcpclFAWJRb/LkQx5Er5l4rXiiNs9cpMMVOQ59kTH+Q4V2DcGeiIZ1hl/sowZCwXCGPVSq3M7uh1CGVwmWGn4ECLvvEtJEw6FWN3FZNTT9kivzxM8SrFxXrJIcDK0KBs5gSNpc/2kecI3vLgrqVEoQ+W4TUPG3lON/Zlfr/Oanc+1J/dhIf+RaqphIB8Ylw+CNtwM+nSphtFHavyqVmVzBc2DCslfIHe/W61klow1t0UYehQM+EDJZK+A8x7lthXREvtZ0g+kx7PxfP927y9jR7WRPYhgrvH8gDcM/CJeAEiSwBe4KGlZP/PohTSrK8NqWsufwRfvCBHNYHC2iXH31M76ssq/n81IqE3jesi++Y6RiM+lH0sO8EG6d3l0fOf7DrOpQxrT+gGGa65j+9eBfR4ASwSYbbf9EOH+2xs6g23UYqZXF2elMA+YnaGSrx3qMYrMwtj8Agn3X1ZriDzekOTBiNbq62Aa2sg4a+r/w/u7WfBjGCsMQjc6l9YNKfA6EqOaFG0lt4GdyOWjjbbvto5wKPb8913Blq5XdG0tkkRtP2T2mEz9sB4mZT2hUMbDaI7RlAEJI0pz6JCvxoCSXmx3hoSAC4SSMweLyI0MmR8OJ+BNWb80rEByZxf+DpUfEahUERkqZHgrMB1+DjM+lnpmlHvrOzmMopNvnpBoEB/KOp/FZdAP5NJV4vBsG62HAlsGo+JfdcurcWmeXULB9CTFY1PsvmQzjxh6Uu2WS5pEGJFkS6SFzliScZDQzBYZ5SRlbigEibXiA5cL4lNUbsWrOlE4rfkinqzBjxJvEK8iv0vJbMQjHxpPtwZzYzlc461gP+GMWKJ4uZGiBt5XfjqjxGfxAiIEkDooziWgv6b+/ZH911nhwzuO2UMJWch5eTzAoUWhAdiYawOWANZFSiNbNdBePComJ0gf+R84kzZZqFQgGdrhouiHJ01w1DK1lXyVx9EOoy4Q3yDWrRYG2k/qBqf+wSKaMMIk7C5IkMBRRQYW4uGcB9mXeTYhsmh4utJoCWfkZTxpO/RyEB+nISkON2oXP4K4 X-MS-Exchange-AntiSpam-MessageData-1: M8zwAvLDBX47zAd/+/SAMXjp0KWnoNW6W3g= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: d27b54c5-c882-46d2-c70b-08df046c9836 X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:16.7627 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: c+ZwumFMlPtKwZqD6vTcMA10HGXQ8zLibkyzSZRI4+qmXfUq1LLGfeP2kL9pEx8yCwnk0HGs7wz1F03ov1o2w5T2mfF8dcyekHjW3GgoG28= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129554 OpenSSL 4.0 removes ENGINE API entirely. Backport upstream fix that guards all ENGINE references with version check. Upstream-Status: Backport [https://github.com/obgm/libcoap/commit/5ea8b7d5e956] Signed-off-by: Jaipaul Cheernam --- ...OpenSSL-Support-4.0-and-later-builds.patch | 507 ++++++++++++++++++ .../libcoap/libcoap_4.3.5b.bb | 1 + 2 files changed, 508 insertions(+) create mode 100644 meta-networking/recipes-devtools/libcoap/libcoap/0001-OpenSSL-Support-4.0-and-later-builds.patch diff --git a/meta-networking/recipes-devtools/libcoap/libcoap/0001-OpenSSL-Support-4.0-and-later-builds.patch b/meta-networking/recipes-devtools/libcoap/libcoap/0001-OpenSSL-Support-4.0-and-later-builds.patch new file mode 100644 index 0000000000..a139ad9044 --- /dev/null +++ b/meta-networking/recipes-devtools/libcoap/libcoap/0001-OpenSSL-Support-4.0-and-later-builds.patch @@ -0,0 +1,507 @@ +From 26ef10509e760e931d527982edf7fca8c00cbf4e Mon Sep 17 00:00:00 2001 +From: Jon Shallow +Date: Fri, 5 Jun 2026 14:58:02 +0100 +Subject: [PATCH] OpenSSL: Support 4.0 and later builds + +Remove all references to ENGINE_*() as support has been removed in 4.0. + +There currently is no tested Provider support for PKCS11. + +Upstream-Status: Backport [https://github.com/obgm/libcoap/commit/5ea8b7d5e956] + +Note: Context adjusted for v4.3.5b (one hunk had minor comment difference). + +Signed-off-by: Jaipaul Cheernam +--- + src/coap_openssl.c | 205 +++++++++++++++++++++++++-------------------- + 1 file changed, 114 insertions(+), 91 deletions(-) + +diff --git a/src/coap_openssl.c b/src/coap_openssl.c +index dc397071..b5afa7a8 100644 +--- a/src/coap_openssl.c ++++ b/src/coap_openssl.c +@@ -69,7 +69,9 @@ + * + */ + #include ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + #include ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + #include + #include + #include +@@ -246,7 +248,11 @@ coap_dtls_pki_is_supported(void) { + */ + int + coap_dtls_pkcs11_is_supported(void) { ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + return 1; ++#else /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ ++ return 0; ++#endif /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ + } + + /* +@@ -285,14 +291,18 @@ coap_get_tls_library_version(void) { + return &version; + } + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + static ENGINE *pkcs11_engine = NULL; + static ENGINE *defined_engine = NULL; ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + + void + coap_dtls_startup(void) { + SSL_load_error_strings(); + SSL_library_init(); ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + ENGINE_load_dynamic(); ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + } + + void +@@ -308,10 +318,10 @@ coap_dtls_shutdown(void) { + ENGINE_finish(defined_engine); + defined_engine = NULL; + } +-#else /* OPENSSL_VERSION_NUMBER >= 0x30000000L */ ++#elif OPENSSL_VERSION_NUMBER < 0x40000000L + pkcs11_engine = NULL; + defined_engine = NULL; +-#endif /* OPENSSL_VERSION_NUMBER >= 0x30000000L */ ++#endif /* OPENSSL_VERSION_NUMBER >= 0x30000000L && < 0x40000000L */ + ERR_free_strings(); + coap_dtls_set_log_level(COAP_LOG_EMERG); + } +@@ -331,6 +341,7 @@ coap_dtls_get_tls(const coap_session_t *c_session, + return NULL; + } + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + static int + get_split_conf_entry(const uint8_t **start, size_t size, const char *get_keyword, + coap_str_const_t **p1, coap_str_const_t **p2) { +@@ -552,6 +563,19 @@ coap_tls_engine_remove(void) { + } + return 0; + } ++#else /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ ++ ++int ++coap_tls_engine_configure(coap_str_const_t *conf_mem) { ++ (void)conf_mem; ++ return 0; ++} ++ ++int ++coap_tls_engine_remove(void) { ++ return 0; ++} ++#endif /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ + + /* + * Logging levels use the standard CoAP logging levels +@@ -1408,6 +1432,7 @@ add_ca_to_cert_store(X509_STORE *st, X509 *x509) { + } + } + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + static X509 * + missing_ENGINE_load_cert(ENGINE *engine, const char *cert_id) { + struct { +@@ -1456,6 +1481,7 @@ check_pkcs11_engine(void) { + } + return 1; + } ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + + #if OPENSSL_VERSION_NUMBER < 0x10101000L && COAP_SERVER_SUPPORT + +@@ -1899,10 +1925,11 @@ setup_pki_server(SSL_CTX *ctx, + + return 1; + } +-#endif /* OPENSSL_VERSION_NUMBER < 0x10101000L */ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10101000L && COAP_SERVER_SUPPORT */ + + #if OPENSSL_VERSION_NUMBER >= 0x10101000L || COAP_CLIENT_SUPPORT + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + static int + install_engine_public_cert(ENGINE *engine, SSL *ssl, const char *public_cert, + coap_dtls_role_t role) { +@@ -1990,6 +2017,7 @@ install_engine_ca(ENGINE *engine, SSL *ssl, const char *ca, + X509_free(x509); + return 1; + } ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + + static int + load_in_cas(SSL *ssl, +@@ -2052,9 +2080,7 @@ setup_pki_ssl(SSL *ssl, + if (!(SSL_use_PrivateKey_file(ssl, + key.key.define.private_key.s_byte, + SSL_FILETYPE_PEM))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } + break; + case COAP_PKI_KEY_DEF_PEM_BUF: /* define private key */ +@@ -2068,31 +2094,23 @@ setup_pki_ssl(SSL *ssl, + BIO_free(bp); + if (pkey) + EVP_PKEY_free(pkey); +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } + if (bp) + BIO_free(bp); + if (pkey) + EVP_PKEY_free(pkey); + } else { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_NONE, +- &key, role, 0); ++ goto fail_none_private; + } + break; + case COAP_PKI_KEY_DEF_RPK_BUF: /* define private key */ +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_private; + case COAP_PKI_KEY_DEF_DER: /* define private key */ + if (!(SSL_use_PrivateKey_file(ssl, + key.key.define.private_key.s_byte, + SSL_FILETYPE_ASN1))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } + break; + case COAP_PKI_KEY_DEF_DER_BUF: /* define private key */ +@@ -2101,14 +2119,13 @@ setup_pki_ssl(SSL *ssl, + ssl, + key.key.define.private_key.u_byte, + (long)key.key.define.private_key_len))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } + break; + case COAP_PKI_KEY_DEF_PKCS11: /* define private key */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!check_pkcs11_engine()) { +- return 0; ++ goto fail_bad_private; + } + if (key.key.define.user_pin) { + /* If not set, pin-value may be held in pkcs11: URI */ +@@ -2117,39 +2134,36 @@ setup_pki_ssl(SSL *ssl, + key.key.define.user_pin, 0) == 0) { + coap_log_warn("*** setup_pki: (D)TLS: PKCS11: %s: Unable to set pin\n", + key.key.define.user_pin); +- return 0; ++ goto fail_bad_private; + } + } + if (!install_engine_private_key(pkcs11_engine, ssl, + key.key.define.private_key.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } ++#else /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ ++ goto fail_bad_private; ++#endif /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ + break; + case COAP_PKI_KEY_DEF_ENGINE: /* define private key */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!defined_engine || + !install_engine_private_key(defined_engine, ssl, + key.key.define.private_key.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_private; + } + break; ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + case COAP_PKI_KEY_DEF_PKCS11_RPK: /* define private key */ + default: +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_private; + } + } else if (role == COAP_DTLS_ROLE_SERVER || + (key.key.define.public_cert.u_byte && + key.key.define.public_cert.u_byte[0])) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, +- COAP_DEFINE_FAIL_NONE, +- &key, role, 0); ++ goto fail_none_private; + } + + /* +@@ -2165,16 +2179,12 @@ setup_pki_ssl(SSL *ssl, + if (!(SSL_use_certificate_file(ssl, + key.key.define.public_cert.s_byte, + SSL_FILETYPE_PEM))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + } else { + if (!SSL_use_certificate_chain_file(ssl, + key.key.define.public_cert.s_byte)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + } + break; +@@ -2189,31 +2199,23 @@ setup_pki_ssl(SSL *ssl, + BIO_free(bp); + if (cert) + X509_free(cert); +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + if (bp) + BIO_free(bp); + if (cert) + X509_free(cert); + } else { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + break; + case COAP_PKI_KEY_DEF_RPK_BUF: /* define public cert */ +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_public; + case COAP_PKI_KEY_DEF_DER: /* define public cert */ + if (!(SSL_use_certificate_file(ssl, + key.key.define.public_cert.s_byte, + SSL_FILETYPE_ASN1))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + break; + case COAP_PKI_KEY_DEF_DER_BUF: /* define public cert */ +@@ -2221,42 +2223,41 @@ setup_pki_ssl(SSL *ssl, + !(SSL_use_certificate_ASN1(ssl, + key.key.define.public_cert.u_byte, + (int)key.key.define.public_cert_len))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + break; + case COAP_PKI_KEY_DEF_PKCS11: /* define public cert */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!check_pkcs11_engine()) { +- return 0; ++ goto fail_bad_public; + } + if (!install_engine_public_cert(pkcs11_engine, ssl, + key.key.define.public_cert.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } ++#else /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ ++ goto fail_bad_public; ++#endif /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ + break; + case COAP_PKI_KEY_DEF_ENGINE: /* define public cert */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!defined_engine || + !install_engine_public_cert(defined_engine, ssl, + key.key.define.public_cert.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_public; + } + break; ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + case COAP_PKI_KEY_DEF_PKCS11_RPK: /* define public cert */ + default: +- return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_public; + } + } else if (role == COAP_DTLS_ROLE_SERVER || + (key.key.define.private_key.u_byte && + key.key.define.private_key.u_byte[0])) { ++ + return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, + COAP_DEFINE_FAIL_NONE, + &key, role, 0); +@@ -2270,9 +2271,7 @@ setup_pki_ssl(SSL *ssl, + switch (key.key.define.ca_def) { + case COAP_PKI_KEY_DEF_PEM: + if (!load_in_cas(ssl, key.key.define.ca.s_byte, role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } + break; + case COAP_PKI_KEY_DEF_PEM_BUF: /* define ca */ +@@ -2295,22 +2294,16 @@ setup_pki_ssl(SSL *ssl, + BIO_free(bp); + } + } else { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } + break; + case COAP_PKI_KEY_DEF_RPK_BUF: /* define ca */ +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_ca; + case COAP_PKI_KEY_DEF_DER: /* define ca */ + if (!(SSL_use_certificate_file(ssl, + key.key.define.ca.s_byte, + SSL_FILETYPE_ASN1))) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } + break; + case COAP_PKI_KEY_DEF_DER_BUF: /* define ca */ +@@ -2324,9 +2317,7 @@ setup_pki_ssl(SSL *ssl, + if (role == COAP_DTLS_ROLE_SERVER) { + if (!x509 || !SSL_add_client_CA(ssl, x509)) { + X509_free(x509); +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } + } + +@@ -2338,36 +2329,66 @@ setup_pki_ssl(SSL *ssl, + } + break; + case COAP_PKI_KEY_DEF_PKCS11: /* define ca */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!check_pkcs11_engine()) { +- return 0; ++ goto fail_bad_ca; + } + if (!install_engine_ca(pkcs11_engine, ssl, + key.key.define.ca.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } ++#else /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ ++ goto fail_bad_ca; ++#endif /* OPENSSL_VERSION_NUMBER >= 0x40000000L */ + break; + case COAP_PKI_KEY_DEF_ENGINE: /* define ca */ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (!defined_engine || + !install_engine_ca(defined_engine, ssl, + key.key.define.ca.s_byte, + role)) { +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_BAD, +- &key, role, 0); ++ goto fail_bad_ca; + } + break; ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + case COAP_PKI_KEY_DEF_PKCS11_RPK: /* define ca */ + default: +- return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, +- COAP_DEFINE_FAIL_NOT_SUPPORTED, +- &key, role, 0); ++ goto fail_ns_ca; + } + } + + return 1; ++ ++fail_bad_private: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, ++ COAP_DEFINE_FAIL_BAD, ++ &key, role, 0); ++fail_ns_private: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, ++ COAP_DEFINE_FAIL_NOT_SUPPORTED, ++ &key, role, 0); ++fail_none_private: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_PRIVATE, ++ COAP_DEFINE_FAIL_NONE, ++ &key, role, 0); ++fail_bad_public: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, ++ COAP_DEFINE_FAIL_BAD, ++ &key, role, 0); ++fail_ns_public: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_PUBLIC, ++ COAP_DEFINE_FAIL_NOT_SUPPORTED, ++ &key, role, 0); ++fail_bad_ca: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, ++ COAP_DEFINE_FAIL_BAD, ++ &key, role, 0); ++fail_ns_ca: ++ return coap_dtls_define_issue(COAP_DEFINE_KEY_CA, ++ COAP_DEFINE_FAIL_NOT_SUPPORTED, ++ &key, role, 0); ++ + } + #endif /* OPENSSL_VERSION_NUMBER >= 0x10101000L || COAP_CLIENT_SUPPORT */ + +@@ -3200,6 +3221,7 @@ coap_dtls_context_set_pki(coap_context_t *ctx, + return 0; + context->setup_data = *setup_data; + ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (context->setup_data.pki_key.key_type == COAP_PKI_KEY_DEFINE) { + if (context->setup_data.pki_key.key.define.ca_def == COAP_PKI_KEY_DEF_ENGINE || + context->setup_data.pki_key.key.define.public_cert_def == COAP_PKI_KEY_DEF_ENGINE || +@@ -3210,6 +3232,7 @@ coap_dtls_context_set_pki(coap_context_t *ctx, + } + } + } ++#endif /* OPENSSL_VERSION_NUMBER < 0x40000000L */ + + if (!context->setup_data.verify_peer_cert) { + /* Needs to be clear so that no CA DNs are transmitted */ diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb index e5bbdb9e27..07b3670317 100644 --- a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb +++ b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=05d17535846895e23ea4c79b16a9e904" SRC_URI = "git://github.com/obgm/libcoap.git;branch=release-4.3.5-patches;protocol=https;tag=v${PV} \ file://run-ptest \ + file://0001-OpenSSL-Support-4.0-and-later-builds.patch \ " SRCREV = "851533c3cf63d16984d370ce39d586ecb3694971" From patchwork Thu Aug 27 18:53:24 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaipaul Cheernam X-Patchwork-Id: 96594 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 971F1C61DB9 for ; Thu, 27 Aug 2026 18:54:23 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.8]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1896.1787856862427402475 for ; Thu, 27 Aug 2026 11:54:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=UYg11mbb; spf=pass (domain: est.tech, ip: 52.101.65.8, mailfrom: jaipaul.cheernam@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AcgHE1lps9GxbK/Up7NPcvaHQv+d5ItnVmg7A9jC0n7qjNxkD7LYBzvBl43CzCzGcKhQBj3y6TujzON1OFRs1s3FwXshdWf5pjXWJLLX/GH8Frz2YirUYx8ucLSLt6o8onYaCpuU0mIXHIShXhoePmJg7KlcIYWr1dYZROazcXT987A4udtz1LAhuhBOZC1pj1F5luNFLubikEA0pciiBiCxFsS6kFJYV/NDvv0LOxc97VjZpZF2QZ/pI6Fe1nYnZ2Ry5ravLubzBRYUi5l+/uLLwUnz7CdIErpPdL157XQ9fegBGsXRFbZ13EMZeT9R7pB7jQX9N/wU6NRzTQ2pTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LtKTByfJXL6BQAVUIjhwFUilu2MtoOBN5FT1fpD2Od0=; b=ruxXbeYAL8BsOq3/J6JVJQqKXQlGVpFFgoT0KaJMrSl2lTb+TRax0cH9dm654iOITGyAFHUvpAkSFa9I2YX7hn/hVUpkdOwXqIUbcgyNS5iqIG9BLE8QRcCsxfnxZGGrc+bi0xUdJgkh5sy26os6twU0BaSsVf1oQH6AU+XUlNWyNXA4LEIlt6lqea3qsnia+5nK71sa8acTtsmblo7eA0LkvHHJC/Eae9pgZfcilPs5z6UBYoNMVxFl/Dc8jEnhmLMoWUQU52OeJASlOx8tXK3Bacy3OXhDXTx7TxeNSoUdXRazEwvV1rASms0SAf6uW5JTPVsf+v/UfWzerHh6ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LtKTByfJXL6BQAVUIjhwFUilu2MtoOBN5FT1fpD2Od0=; b=UYg11mbbqwbJMYaMIs6aaM6tkpkmjzzBJhD08aOgeZGoBaebLZ7o40tJoPbb9BeCF0WJXsd2vkrPynI0nqwcfBtXrEKoxDh2hXMUquQbsGX3e6H+rTmYz3oLFfSLjqO7M0ty2YiYZtoPOE8Tqu/HZs11Zlk7Umu76I28dRDfnEJIUjMQjdnFOQMwo4gmrp4ZnPNlxlrVyAs1kYT+q1g+HVlXnraGZRBbl5HCoDlwaY2gAZg6I5lZGUY9PAo9f22K5RWaRCgkxseV0h4LkTWszf9XLa3OO2ue01Pr/x8NI+wFm/9Z5mj4/8WB0lvEuDcS5dnJQ+1gTJN7imyJAx29XQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) by DB9P189MB3598.EURP189.PROD.OUTLOOK.COM (2603:10a6:10:5fc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.10; Thu, 27 Aug 2026 18:54:20 +0000 Received: from DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85]) by DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM ([fe80::7ab2:c6af:6760:5c85%7]) with mapi id 15.21.0360.008; Thu, 27 Aug 2026 18:54:20 +0000 From: Jaipaul Cheernam To: openembedded-devel@lists.openembedded.org CC: Jaipaul Cheernam Subject: [meta-multimedia][RFC 20/20] pjproject: fix build with OpenSSL 4.0 Date: Thu, 27 Aug 2026 20:53:24 +0200 Message-ID: <20260827185324.78997-21-jaipaul.cheernam@est.tech> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260827185324.78997-1-jaipaul.cheernam@est.tech> References: <20260827185324.78997-1-jaipaul.cheernam@est.tech> X-ClientProxiedBy: DU2PR04CA0001.eurprd04.prod.outlook.com (2603:10a6:10:3b::6) To DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM (2603:10a6:18:3::ad4) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PPF66507B2D7:EE_|DB9P189MB3598:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f4ae3d4-62b4-4bf0-2bc1-08df046c9a3f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10070799003|10067099003|56012099006|11063799006|6133799003|3023799007|22082099003|18002099003|13003099007; X-Microsoft-Antispam-Message-Info: o8DCC2Nfn+zy54/thcGx25XX7o+puoorOan3R1qYx2CRDIUKea4dRX5vlfjzoYjt5kXhmxLDvG7ejCyV1jmnOnqZ4VZok4DuWQSgcQTiLfvybkvnNR0gexewoAPyjTKo3T5WCsMbutt0iWcbsm8AWXOLNxG9HWeB+DH3lWQbcgOhtzcUA0djOa7+w8278WIrK0Qh8j9gpb2OQObZfbXwGu2pmJ3XsRXgoXYSoWQNcF+Fe0RAL2p9HSOebjA9aLdw8XKkojVttxB+OLrrARTDlwuGOC4e9Disowq2p9nIgxLmqUGd8mmp6LLkGlsduEXcD4FHJs9hk5fWPb+48SOzMLkjC/rLCl2zivMBkyXnIXtSuVdiqbENhtKv9S0E38bAMJNJzI3Pvg3Z+3nqqvFd/IAKmKqHHganGTKD552Zk5HD/nehtg+UJoc4FMcGVThqbWujTQxqPYadQ76cMnp7qyFEj2FQ+v56486eK7xOx3/9ZMEpccjBtJSCM+y7qGqWDQ+D3AJ0vHfFQfvh822rJu4zg/6lhuFdsv0Dssqmsf1huIZxgO1gHDYzuNmx0y/OS8qRqomCl4wN5eLO5JhBs2KVHfB3oCl+c6JtHK6JN9yETEECmHiXpquiN9rt4rWIsz4URFz1ZrMhx+bRqrzsYK5mpFgrd7CJgxwUDZD5H/w= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10070799003)(10067099003)(56012099006)(11063799006)(6133799003)(3023799007)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: AoIe+AAMPmq0zNXpFl0QHsip/Y9XZV5sY8TQeApXed/1A5JVTlV9WCXNvIWnyBKziwSugBVFabrlCrDq9w68vbJ3WpxIZElJNAaCFPU4Eg8sso2riuaDVOI1jDtHayXiusgAd8MIscMjsxsHWD7E6JceSJsmlgn08dgzBogk1z2gH9kkhHZKdYoeUfE7cBJ8dInIDtjJkVjK8XgUqp/bB8o78dJ0nkvamfwJvhHN/vE7ls5uBBL9IP2n8MjXgTdwXIY5SCucR3DptNoAh1qelq/HbYVHF7eTvEdO+2iSTYrtj2xHwAF+rvO8EgYfOx1j6fAkdB6e+l3iztf2cuF3hlrPEOAhWCyyj8HuqWXIHjVzPYSYk0ULuTqIFFq67hMx8VGHd2MFAwx/MmN61DZvLzo8SeT8Tm9jIWxSOR1ZjDdbRRsjaizZ8w6UH3hIPJFY5irqrW0GsZJ7j6Ws6BQHvsKWvfLrwgnnlxCLlaBijb5i1LplxIU3ghs1mqj3ydgFmtkLDi2Tf7qits+bX3u1B3ThHd3JXQo2d02rxgkm8Of8An3lEy1UNIfZT2bbF7j5uKVSII+NniFfFsHm34U2Zp6uE9H5LssdPTy75O/ydzKhYi4O9od576qs/TnyhW95qGkvUrbFfSqfK62gRe5jbWwfoIst3r0bES2JGymaNTCQy22A2HQnrToakkR1NHuYJt0ZPQdCLpqpdjoal6OAeBt4vtttLkol5DcDZLlFY37HeE7U5eRxr2HcFb/NFQD513aQOEd7ci5ocwe99Rh12GDnosx8sPJB6mn5bMoqyLoaf40pZMNLHpZpZDzLfIMcMlSENMO9VSF+X9ndUwhKpsLQYkezVfKIDAbPUDAGZPAMhoPPV/Yd8/5ZDiK38sQj0EJPEPOMATxT6yqug94m8NdArT0zfNSGND65DUficngnHjeTmRm37Zv7DRm8lL2tciZWcP3z880Cw+D1r+XH4j3WTNUIxuQJw+3VFOzXgsyW5vqzVrmNIiKarlEuHPsMQyRxUWoTRxIxwcwy+8TVLNMgZAjIOZHW0G1cJDOPD5Gijb7Tj4gcmdCX3mZ+zsZRsCRGPJiVGFw7sCZQx5zpzUIFlURFNqpkzmqDuX5vAclQXIExSYiKCsvd9ORjR0ScC2fEx3gvF2N+QnD9xURsMoS/XykNHOBSOkR5bTsWuNBJt2LMz5vdxkmtqin5ZwDMB63x+bXDvpjZbBulKTv/dqEMub2B4RRIy9wTJ9g5WjtX03VBMmlCJqMQN2kBKySt3nHj37tsspnA8wQ5HdZvRSX84spWDuKKt04FZsS9Ju42oCjXtAYtib/+4OLgkdVaLrUrA1nh7kH96trLR2O9jBU8kIbgioZ9vzG6tPa53yaC/qKFYQdeTizgmXsYiO7F7jWEU1bVj+axIPUSubiF7zShOQb/HpQXEXQAJ+OP1GzUD8bWt3FUzJNehLoJbJHMdL1hRnr3v9JySUJ4ZnZwYM73stnV9TmJunL5P92WFdx4/ACy4TokPzZiz25eL1Xf8m/FkD2gj8Jd2iYi9VpKGir5RVXNdUzWZR5A6//ljhk74rr6GsYps+T4D6HKgm0hCp+2hhCvM4BpyZy+0EVdciGcQ6ymDmJeh++4u4tn136eb9qn960/vTbtbOu3jLGiSKZ4YINDZJ1mrH/0p+pJBsycxE2DWhIGYT8ytdlaQi++I6kn5DLMX1+XkkA3+NCzYnFSnQqXBSw5r66Niv6CJIz7+jGLC+Z+DtQcF+FNHVE4NwFatdK0uzOkYjGojGDR5JKyUv5Q X-MS-Exchange-AntiSpam-MessageData-1: /hdry0HlGkv+x7NY9kBJrEpYk7+xm5KOqWc= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 0f4ae3d4-62b4-4bf0-2bc1-08df046c9a3f X-MS-Exchange-CrossTenant-AuthSource: DU7PPF66507B2D7.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 18:54:20.1589 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: stU4vFBzXHZeuGj6e4rk3o9Bu6HKea2PXk5MgUKjmqsQQBjzw8KdUdg40UFC6VQmKlSvdtTM3yHFwOwEmvTkh2YwZwU7blGf7yoA79CuMso= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P189MB3598 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 27 Aug 2026 18:54:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129555 OpenSSL 4.0 makes ASN1_TIME opaque. Backport upstream fix using ASN1_TIME_to_tm() API. Upstream-Status: Backport [https://github.com/pjsip/pjproject/commit/3923fad2e4f6] Signed-off-by: Jaipaul Cheernam --- ...k_ossl-fix-OpenSSL-4.0-compatibility.patch | 40 +++++++++++++++++++ .../pjproject/pjproject_2.17.bb | 4 +- ...L-4.0-const-and-opaque-compatibility.patch | 2 + ...sport_security_utils-for-OpenSSL-4.0.patch | 2 + ...ing-const-qualifiers-for-OpenSSL-4.0.patch | 2 + 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 meta-multimedia/recipes-multimedia/pjproject/pjproject/0001-ssl_sock_ossl-fix-OpenSSL-4.0-compatibility.patch diff --git a/meta-multimedia/recipes-multimedia/pjproject/pjproject/0001-ssl_sock_ossl-fix-OpenSSL-4.0-compatibility.patch b/meta-multimedia/recipes-multimedia/pjproject/pjproject/0001-ssl_sock_ossl-fix-OpenSSL-4.0-compatibility.patch new file mode 100644 index 0000000000..938eb6620f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pjproject/pjproject/0001-ssl_sock_ossl-fix-OpenSSL-4.0-compatibility.patch @@ -0,0 +1,40 @@ +From 3923fad2e4f6f3403c3d6f1176b113c1c1b91066 Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma +Date: Wed, 24 Jun 2026 11:30:40 +0200 +Subject: [PATCH] ssl_sock_ossl: fix OpenSSL 4.0 compatibility (#5036) + +Upstream-Status: Backport [https://github.com/pjsip/pjproject/commit/3923fad2e4f6] +Signed-off-by: Jaipaul Cheernam +--- + pjlib/src/pj/ssl_sock_ossl.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c +index 000aabad61..93fcf10f14 100644 +--- a/pjlib/src/pj/ssl_sock_ossl.c ++++ b/pjlib/src/pj/ssl_sock_ossl.c +@@ -1645,10 +1645,7 @@ static pj_status_t init_ossl_ctx(pj_ssl_sock_t *ssock) + if (PEM_read_bio_X509(new_bio, &x, NULL, NULL) == NULL) + break; + +- if ((xn = X509_get_subject_name(x)) == NULL) +- break; +- +- if ((xn = X509_NAME_dup(xn)) == NULL ) ++ if ((xn = X509_NAME_dup(X509_get_subject_name(x))) == NULL ) + break; + + #if !USING_BORINGSSL +@@ -2105,9 +2102,9 @@ static pj_bool_t parse_ossl_asn1_time(pj_time_val *tv, pj_bool_t *gmt, + pj_parsed_time pt; + int i; + +- utc = tm->type == V_ASN1_UTCTIME; +- p = (char*)tm->data; +- len = tm->length; ++ utc = ASN1_STRING_type(tm) == V_ASN1_UTCTIME; ++ p = (char*)M_ASN1_STRING_data(tm); ++ len = M_ASN1_STRING_length(tm); + end = p + len - 1; + + /* GMT */ diff --git a/meta-multimedia/recipes-multimedia/pjproject/pjproject_2.17.bb b/meta-multimedia/recipes-multimedia/pjproject/pjproject_2.17.bb index 44100c8231..8aa7775205 100644 --- a/meta-multimedia/recipes-multimedia/pjproject/pjproject_2.17.bb +++ b/meta-multimedia/recipes-multimedia/pjproject/pjproject_2.17.bb @@ -12,7 +12,9 @@ SECTION = "libs" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://github.com/pjsip/pjproject.git;protocol=https;branch=master;tag=${PV}" +SRC_URI = "git://github.com/pjsip/pjproject.git;protocol=https;branch=master;tag=${PV} \ + file://0001-ssl_sock_ossl-fix-OpenSSL-4.0-compatibility.patch \ + " SRCREV = "5a457451fa2712ba18e12b01738e8ff3af2b26fd" DEPENDS = "swig-native python3-setuptools-native" diff --git a/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch b/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch index afaaf509ad..91f9c7e815 100644 --- a/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch +++ b/meta-oe/recipes-devtools/grpc/grpc/0002-tsi-fix-OpenSSL-4.0-const-and-opaque-compatibility.patch @@ -10,6 +10,8 @@ and use ASN1_STRING accessors for opaque struct access. Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] +Note: Our fix for areas not covered by the upstream PR. + Signed-off-by: Jaipaul Cheernam --- src/core/tsi/ssl_transport_security.cc | 10 +++++----- diff --git a/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch b/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch index a7d6c0f789..56eaa50ad4 100644 --- a/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch +++ b/meta-oe/recipes-devtools/grpc/grpc/0003-tsi-fix-ssl_transport_security_utils-for-OpenSSL-4.0.patch @@ -9,6 +9,8 @@ auto* for X509_NAME and const for ASN1_OCTET_STRING. Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] +Note: Our fix for areas not covered by the upstream PR. + Signed-off-by: Jaipaul Cheernam --- src/core/tsi/ssl_transport_security_utils.cc | 10 +++++----- diff --git a/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch b/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch index 468aa9d669..956ea64f33 100644 --- a/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch +++ b/meta-oe/recipes-devtools/grpc/grpc/0004-tsi-fix-remaining-const-qualifiers-for-OpenSSL-4.0.patch @@ -10,6 +10,8 @@ to avoid const-to-non-const assignment. Upstream-Status: Submitted [https://github.com/grpc/grpc/pull/41932] +Note: Our fix for areas not covered by the upstream PR. + Signed-off-by: Jaipaul Cheernam --- src/core/tsi/ssl_transport_security.cc | 7 +++----