X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fvolume_id%2Flib%2Fluks.c;h=20b50d0efdf937605e8d912814fc3c8d0bae465a;hb=726687ad48bdececed1e7e44387c50e009e28208;hp=64de85ac217679b59ad8ce4d2a30f7a63a449fae;hpb=83cc6ab4760817509f1ed1ee429669e563f82caf;p=elogind.git diff --git a/extras/volume_id/lib/luks.c b/extras/volume_id/lib/luks.c index 64de85ac2..20b50d0ef 100644 --- a/extras/volume_id/lib/luks.c +++ b/extras/volume_id/lib/luks.c @@ -36,10 +36,10 @@ #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,8 @@ 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); + snprintf(id->type_version, sizeof(header->version), "%u", le16_to_cpu(header->version)); id->type = "crypto_LUKS"; - return 0; }