Patch Detail
Show a patch.
GET /api/1.1/patches/17035/?format=api
{ "id": 17035, "url": "https://patchwork.libcamera.org/api/1.1/patches/17035/?format=api", "web_url": "https://patchwork.libcamera.org/patch/17035/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20220808230833.16275-5-laurent.pinchart@ideasonboard.com>", "date": "2022-08-08T23:08:33", "name": "[libcamera-devel,v2,4/4] libcamera: Make IPA module signing recommended instead of mandatory", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "1775aa8ffdec03a234db3950cd23a24d0d7d27b1", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/17035/mbox/", "series": [ { "id": 3392, "url": "https://patchwork.libcamera.org/api/1.1/series/3392/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3392", "date": "2022-08-08T23:08:29", "name": "libcamera: Support openssl as an alternative to gnutls", "version": 2, "mbox": "https://patchwork.libcamera.org/series/3392/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/17035/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/17035/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2EFBDC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 8 Aug 2022 23:08:52 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E631F63335;\n\tTue, 9 Aug 2022 01:08:51 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 53BAA63331\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 9 Aug 2022 01:08:49 +0200 (CEST)", "from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D1884481;\n\tTue, 9 Aug 2022 01:08:48 +0200 (CEST)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1660000131;\n\tbh=I0nOdXe8I8/IfijM5XsxJ3QWb+s+Q6YbCvLOOYcDfbo=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=fkEIKavjXbEAseXaVf18Xt0CA673IEx+70/ZiVnpVlGOPPCmHzgpWBd/H201p3lC2\n\tCFT78E0cajP+f6OUjTKG8iZKzhlfhgODslvoS3dIZikafnYFREdVSat5XhB57wNREm\n\taHmWMAdgfJUsar4GFVmRKwzI9aKygsWdwMDqYEwfya0aLNMcyAmp8TiQZXyWQlqReD\n\tDdm7P71GOdBqCS3szgIpFliPDuB8v+SpbZHrb7XleyqdKDJQjdUbXrNHHN1PGzr5hG\n\tkP/sP0Jeje0TPekkbD/A5t+v2g78mqY6gWG/OUeD2Z3WRnrnztu9xRRL2d7iD56lbJ\n\tcRwaj0PfqpV0A==", "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1660000129;\n\tbh=I0nOdXe8I8/IfijM5XsxJ3QWb+s+Q6YbCvLOOYcDfbo=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=cPpXg7DYkwO+xL5Ubj52H8zp00Zs6OK+hczczAdzV4ugCu6w7tS2UX4DvtAy113pX\n\tXexVn5jdU0IJOX6MzorB/YaOumKtPJubr47j8F0RJz1Rq0JEsXPs3t9T8a9ivdZU4V\n\tHt8NnaaPsLcKqQmjPGRI+YOtjPbpHRe6YpvlbPdw=" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"cPpXg7DY\"; dkim-atps=neutral", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 9 Aug 2022 02:08:33 +0300", "Message-Id": "<20220808230833.16275-5-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.35.1", "In-Reply-To": "<20220808230833.16275-1-laurent.pinchart@ideasonboard.com>", "References": "<20220808230833.16275-1-laurent.pinchart@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 4/4] libcamera: Make IPA module signing\n\trecommended instead of mandatory", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "From": "Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Commit b382f67c833d (\"libcamera: Make IPA module signing mandatory for\nthe meantime\") made openssl and gnutls dependencies mandatory to work\naround the lack of proper IPA module isolation support, which broke\noperation without module signatures. This has now been fixed, so IPA\nmodule isolation isn't strictly required anymore.\n\nThere are few use cases for disabling module signing completely, given\nthat the openssl or gnutls dependencies are available on the vast\nmajority of systems and the overheard introduced by isolating all IPA\nmodules when signatures are not available is better avoided.\nNonetheless, libcamera should operate properly with forced IPA module\nisolation, so we can support those use cases.\n\nAdopt a middle-ground approach to avoid unintentional isolation by\ndocumenting the dependencies as recommended, and warn at meson setup\ntime if they are not found.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n README.rst | 5 ++++-\n src/libcamera/meson.build | 10 ++++++++--\n src/meson.build | 3 ++-\n 3 files changed, 14 insertions(+), 4 deletions(-)", "diff": "diff --git a/README.rst b/README.rst\nindex 3bf4685b0e15..e9dd4207ae55 100644\n--- a/README.rst\n+++ b/README.rst\n@@ -60,9 +60,12 @@ Meson Build system: [required]\n for the libcamera core: [required]\n libyaml-dev python3-yaml python3-ply python3-jinja2\n \n-for IPA module signing: [required]\n+for IPA module signing: [recommended]\n Either libgnutls28-dev or libssl-dev, openssl\n \n+ Without IPA module signing, all IPA modules will be isolated in a\n+ separate process. This adds an unnecessary extra overhead at runtime.\n+\n for improved debugging: [optional]\n libdw-dev libunwind-dev\n \ndiff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\nindex 401fc498cfbc..0efa8fd5df7f 100644\n--- a/src/libcamera/meson.build\n+++ b/src/libcamera/meson.build\n@@ -73,8 +73,14 @@ libcrypto = dependency('gnutls2', required : false)\n if libcrypto.found()\n config_h.set('HAVE_GNUTLS', 1)\n else\n- libcrypto = dependency('libcrypto', required : true)\n- config_h.set('HAVE_CRYPTO', 1)\n+ libcrypto = dependency('libcrypto', required : false)\n+ if libcrypto.found()\n+ config_h.set('HAVE_CRYPTO', 1)\n+ endif\n+endif\n+\n+if not libcrypto.found()\n+ warning('Neither gnutls nor libcrypto found, all IPA modules will be isolated')\n endif\n \n if liblttng.found()\ndiff --git a/src/meson.build b/src/meson.build\nindex 34663a6f134d..f37c44ca9f60 100644\n--- a/src/meson.build\n+++ b/src/meson.build\n@@ -14,7 +14,7 @@ summary({\n }, section : 'Paths')\n \n # Module Signing\n-openssl = find_program('openssl', required : true)\n+openssl = find_program('openssl', required : false)\n if openssl.found()\n ipa_priv_key = custom_target('ipa-priv-key',\n output : ['ipa-priv-key.pem'],\n@@ -22,6 +22,7 @@ if openssl.found()\n config_h.set('HAVE_IPA_PUBKEY', 1)\n ipa_sign_module = true\n else\n+ warning('openssl not found, all IPA modules will be isolated')\n ipa_sign_module = false\n endif\n \n", "prefixes": [ "libcamera-devel", "v2", "4/4" ] }