From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1iRsnr-0005vD-Gj for mharc-grub-devel@gnu.org; Tue, 05 Nov 2019 01:58:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51288) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iRsno-0005tm-Bn for grub-devel@gnu.org; Tue, 05 Nov 2019 01:58:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iRsnn-0004ws-6u for grub-devel@gnu.org; Tue, 05 Nov 2019 01:58:56 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60787) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iRsnn-0004sk-2q for grub-devel@gnu.org; Tue, 05 Nov 2019 01:58:55 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id DCF4021F57 for ; Tue, 5 Nov 2019 01:58:48 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 05 Nov 2019 01:58:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=+Brw97rKc7iQW HjrPeBu195iSHkDd53Bni2FNBYYhFk=; b=d1Sp13/daoMY/SyNeaGN1Jx7X7C0f 6UQKQ3tO9Xnk4QZXJsB00Ga1nDWXtzzpT4ZsZofBsro8Qq0hSeDXB1IGA7AX59jR we0nxNCe8M3Nh/wFhiS/bF+uANgjMhPKqQexK/znkDjrJL+nEWMq1vNAhpA+Asr1 IF45mks0XiIO+sD+lHLSd8bd2UmftwWdBBknQxnj7J6uhiIBUF9HxWRDioUGZmB0 j6RGxEnK2JSeCfM1oCvI0Mci4w5nCJmCuPpwgWzpb4OF/vSH75O8iWqDS9AC9Oae ojJvGtdixsYo0kz/B+60iyRiXqayLcvjRAFAh7mjEeHeaec+9YBxv/1Sw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=+Brw97rKc7iQWHjrPeBu195iSHkDd53Bni2FNBYYhFk=; b=RZac0FLu 1cb3cxIgHIPbCCN7Y/ffhF3wnPZa8ETNnhRwE3LkZ6EHdArSnLSgWE7xFNRS3KL8 Svf/3s2nRIRmMcKWxjlK1Hk0xRgoo+Vst0qNYy4TfHGdqK7A8ciW+QwRwAwaWH3A XwL4DDlJ6ZcSy2K5856kxxkUrbppSephvR0FNF4CXIXgLj1AQ8+LIp9F6Fbw8qEx a/r4rrcJvYtQ4G3wdiwYVbQuXcgJv8dxFaiUh6yoJw1+WqPv42EIJGgqrSizclVX rgizo/ZYBMC63ekUXthmVuB09UWWX4ghRyzM4+jAj3gIL5e+XttZ9SDHhtRbPxjP V+Zh8cubSonofw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedruddugedguddtvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffojghfggfgsedtke ertdertddtnecuhfhrohhmpefrrghtrhhitghkucfuthgvihhnhhgrrhguthcuoehpshes phhkshdrihhmqeenucfkphepkeelrdduvddrudektddrjeefnecurfgrrhgrmhepmhgrih hlfhhrohhmpehpshesphhkshdrihhmnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from NSJAIL (x590cb449.dyn.telefonica.de [89.12.180.73]) by mail.messagingengine.com (Postfix) with ESMTPA id 382E0306005C for ; Tue, 5 Nov 2019 01:58:48 -0500 (EST) Received: from localhost (10.192.0.11 [10.192.0.11]) by NSJAIL (OpenSMTPD) with ESMTPSA id 79f44a07 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 5 Nov 2019 06:58:45 +0000 (UTC) From: Patrick Steinhardt To: grub-devel@gnu.org Cc: Patrick Steinhardt Subject: [PATCH v2 0/6] Support for LUKS2 disk encryption Date: Tue, 5 Nov 2019 07:58:34 +0100 Message-Id: X-Mailer: git-send-email 2.23.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.25 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Nov 2019 06:58:57 -0000 Hi, based on the feedback to v1 of this patch series regarding the JSON part, I've decided to roll a second version. There are some general fixes/improvements, but most of it basically boils down to a revamp of how JSON functionality is provided. The "jsmn.h" library now remains unmodified in the JSON module "grub-core/lib/json/". Instead of adding convenience functions to it directly, there is now a new "include/grub/json.h" and "grub-core/lib/json/json.c", providing a full-blown GRUB-native interface. The upstream library is thus not exposed to any users of the JSON interface anymore. I've also documented the process in grub-dev.texi as wished. Regards Patrick Patrick Steinhardt (6): json: Import upstream jsmn-1.1.0 json: Implement wrapping interface bootstrap: Add gnulib's base64 module afsplitter: Move into its own module luks: Move configuration of ciphers into cryptodisk disk: Implement support for LUKS2 Makefile.util.def | 2 + bootstrap.conf | 3 +- conf/Makefile.extra-dist | 1 + docs/grub-dev.texi | 14 + docs/grub.texi | 2 +- grub-core/Makefile.core.def | 19 +- grub-core/disk/AFSplitter.c | 3 + grub-core/disk/cryptodisk.c | 163 ++++- grub-core/disk/luks.c | 190 +---- grub-core/disk/luks2.c | 672 ++++++++++++++++++ grub-core/lib/gnulib-patches/fix-base64.patch | 23 + grub-core/lib/json/jsmn.h | 468 ++++++++++++ grub-core/lib/json/json.c | 241 +++++++ include/grub/cryptodisk.h | 3 + include/grub/json.h | 69 ++ 15 files changed, 1695 insertions(+), 178 deletions(-) create mode 100644 grub-core/disk/luks2.c create mode 100644 grub-core/lib/gnulib-patches/fix-base64.patch create mode 100644 grub-core/lib/json/jsmn.h create mode 100644 grub-core/lib/json/json.c create mode 100644 include/grub/json.h -- 2.23.0