From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.server123.net (Postfix) with ESMTPS for ; Fri, 13 May 2016 18:10:01 +0200 (CEST) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DB81080B22 for ; Fri, 13 May 2016 16:01:07 +0000 (UTC) Received: from vpn-57-227.rdu2.redhat.com (vpn-57-227.rdu2.redhat.com [10.10.57.227]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u4DG1614009959 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 13 May 2016 12:01:07 -0400 Message-ID: <1463155266.2542.14.camel@redhat.com> From: Nathaniel McCallum Date: Fri, 13 May 2016 12:01:06 -0400 Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [dm-crypt] [ANNOUNCE] LUKSMeta List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: dm-crypt@saout.de https://github.com/latchset/luksmeta Hi everyone! Several projects that I am working on or related to require the ability to store some small metadata that is accessable before the LUKS volume is unlocked. Since this was not possible with LUKSv1, and we couldn't wait until LUKSv2, we created a small library called LUKSMeta. This simple library allows an application developer to store some metadata in the gap in the LUKSv1 header (between the end of the keyslots and the start of the payloadOffset). There are up to eight "slots" of metadata, similar to the eight keyslots of LUKS. Each slot is typed by a 16-byte UUID, so that applications don't stomp on each others' data. Both the LUKSMeta header and the data in each slot is checksummed (CRC32c) to detect data corruption. There are four simple functions: * luksmeta_init() - Write the LUKSMeta header to disk * luksmeta_get() - Read data/uuid from a LUKSMeta slot * luksmeta_set() - Write data/uuid to a LUKSMeta slot * luksmeta_del() - Clear (zero) a LUKSMeta slot More detailed documentation is available in the header: https://github.com/latchset/luksmeta/blob/master/luksmeta.h I have not made the first release, but I would like to do so soon. I welcome your review/feedback. Thanks! Nathaniel