[PATCH 2/7] Handle luks formats during populate if they have a passphrase set.
David Lehman
dlehman at redhat.com
Thu Oct 4 14:59:16 UTC 2012
This allows us to get/check/set passphrase and then call populate
to continue populating the devicetree to pick up devices descended
from the newly decrypted device.
---
pyanaconda/storage/devicetree.py | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py
index e6a3daa..f520c13 100644
--- a/pyanaconda/storage/devicetree.py
+++ b/pyanaconda/storage/devicetree.py
@@ -1150,7 +1150,9 @@ class DeviceTree(object):
# look up or create the mapped device
if not self.getDeviceByName(device.format.mapName):
passphrase = self.__luksDevs.get(device.format.uuid)
- if passphrase:
+ if device.format.configured:
+ pass
+ elif passphrase:
device.format.passphrase = passphrase
elif device.format.uuid in self.__luksDevs:
log.info("skipping previously-skipped luks device %s"
@@ -1162,11 +1164,15 @@ class DeviceTree(object):
# this makes device.configured return True
device.format.passphrase = 'yabbadabbadoo'
else:
- passphrase = getLUKSPassphrase(None,
- device,
- self.__passphrases)
- if passphrase and passphrase not in self.__passphrases:
- self.__passphrases.append(passphrase)
+ # Try each known passphrase.
+ for passphrase in self.__luksDevs.values():
+ device.format.passphrase = passphrase
+ try:
+ device.format.setup()
+ except CryptoError:
+ device.format.passphrase = None
+ else:
+ break
luks_device = LUKSDevice(device.format.mapName,
parents=[device],
--
1.7.7.6
More information about the anaconda-patches
mailing list