57 lines
2.2 KiB
Diff
57 lines
2.2 KiB
Diff
|
From 778c08fe7b7eb00b7f48189dd1a3edf3f3be2625 Mon Sep 17 00:00:00 2001
|
||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||
|
Date: Mon, 30 Mar 2020 14:40:45 +0100
|
||
|
Subject: [PATCH 3/4] options: Support Windows BitLocker (RHBZ#1808977).
|
||
|
|
||
|
---
|
||
|
mltools/tools_utils.mli | 5 ++---
|
||
|
options/decrypt.c | 9 ++++-----
|
||
|
2 files changed, 6 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/mltools/tools_utils.mli b/mltools/tools_utils.mli
|
||
|
index 102abff..1d1ac8a 100644
|
||
|
--- a/common/mltools/tools_utils.mli
|
||
|
+++ b/common/mltools/tools_utils.mli
|
||
|
@@ -195,9 +195,8 @@ val is_btrfs_subvolume : Guestfs.guestfs -> string -> bool
|
||
|
(** Checks if a filesystem is a btrfs subvolume. *)
|
||
|
|
||
|
val inspect_decrypt : Guestfs.guestfs -> key_store -> unit
|
||
|
-(** Simple implementation of decryption: look for any [crypto_LUKS]
|
||
|
- partitions and decrypt them, then rescan for VGs. This only works
|
||
|
- for Fedora whole-disk encryption. *)
|
||
|
+(** Simple implementation of decryption: look for any encrypted
|
||
|
+ partitions and decrypt them, then rescan for VGs. *)
|
||
|
|
||
|
val with_timeout : string -> int -> ?sleep:int -> (unit -> 'a option) -> 'a
|
||
|
(** [with_timeout op timeout ?sleep fn] implements a timeout loop.
|
||
|
diff --git a/options/decrypt.c b/options/decrypt.c
|
||
|
index 45de5b2..8eb24bc 100644
|
||
|
--- a/common/options/decrypt.c
|
||
|
+++ b/common/options/decrypt.c
|
||
|
@@ -65,10 +65,8 @@ make_mapname (const char *device, char *mapname, size_t len)
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
- * Simple implementation of decryption: look for any C<crypto_LUKS>
|
||
|
- * partitions and decrypt them, then rescan for VGs. This only works
|
||
|
- * for Fedora whole-disk encryption. WIP to make this work for other
|
||
|
- * encryption schemes.
|
||
|
+ * Simple implementation of decryption: look for any encrypted
|
||
|
+ * partitions and decrypt them, then rescan for VGs.
|
||
|
*/
|
||
|
void
|
||
|
inspect_do_decrypt (guestfs_h *g, struct key_store *ks)
|
||
|
@@ -82,7 +80,8 @@ inspect_do_decrypt (guestfs_h *g, struct key_store *ks)
|
||
|
|
||
|
for (i = 0; partitions[i] != NULL; ++i) {
|
||
|
CLEANUP_FREE char *type = guestfs_vfs_type (g, partitions[i]);
|
||
|
- if (type && STREQ (type, "crypto_LUKS")) {
|
||
|
+ if (type &&
|
||
|
+ (STREQ (type, "crypto_LUKS") || STREQ (type, "BitLocker"))) {
|
||
|
char mapname[32];
|
||
|
make_mapname (partitions[i], mapname, sizeof mapname);
|
||
|
|
||
|
--
|
||
|
2.18.4
|
||
|
|