chiark / gitweb /
volume_id: fix linux_raid metadata version 1.0 detection
[elogind.git] / extras / volume_id / lib / luks.c
index 64de85ac217679b59ad8ce4d2a30f7a63a449fae..231374e507f3893271428a83375acc73dcc2bc99 100644 (file)
 #define LUKS_SALTSIZE                  32
 #define LUKS_NUMKEYS                   8
 
-const uint8_t LUKS_MAGIC[] = {'L','U','K','S', 0xba, 0xbe};
-#define LUKS_MAGIC_L 6
-#define LUKS_PHDR_SIZE (sizeof(struct luks_phdr)/SECTOR_SIZE+1)
-#define UUID_STRING_L 40
+#define LUKS_MAGIC_L                   6
+#define LUKS_PHDR_SIZE                 (sizeof(struct luks_phdr)/SECTOR_SIZE+1)
+#define UUID_STRING_L                  40
+static const uint8_t LUKS_MAGIC[] = {'L','U','K','S', 0xba, 0xbe};
 
 struct luks_phdr {
        uint8_t         magic[LUKS_MAGIC_L];
@@ -62,7 +62,7 @@ struct luks_phdr {
        } keyblock[LUKS_NUMKEYS];
 };
 
-int volume_id_probe_luks(struct volume_id *id, uint64_t off)
+int volume_id_probe_luks(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct luks_phdr *header;
 
@@ -74,9 +74,7 @@ int volume_id_probe_luks(struct volume_id *id, uint64_t off)
                return -1;
 
        volume_id_set_usage(id, VOLUME_ID_CRYPTO);
-       volume_id_set_uuid(id, header->uuid, UUID_DCE_STRING);
-
+       volume_id_set_uuid(id, header->uuid, 36, UUID_HEX_STRING);
        id->type = "crypto_LUKS";
-
        return 0;
 }