From 975d1148aaf2e9a24a662eae9ca14f0e7b1626ca Mon Sep 17 00:00:00 2001 From: David Lehman Date: Mon, 18 Aug 2008 15:43:23 -0500 Subject: Support establishing a global passphrase when creating encrypted devices. --- iw/raid_dialog_gui.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'iw/raid_dialog_gui.py') diff --git a/iw/raid_dialog_gui.py b/iw/raid_dialog_gui.py index 35fcc4f28..1e300d14e 100644 --- a/iw/raid_dialog_gui.py +++ b/iw/raid_dialog_gui.py @@ -196,14 +196,26 @@ class RaidEditor: else: passphrase = "" + isglobal = False if not request.encryption or request.encryption.format: - passphrase = self.intf.getLuksPassphrase(passphrase) + if not passphrase and self.partitions.globalPassphrase: + passphrase = self.partitions.globalPassphrase + else: + if passphrase and \ + passphrase == self.partitions.globalPassphrase: + isglobal = True + (passphrase, isglobal) = self.intf.getLuksPassphrase(passphrase, isglobal=isglobal) if passphrase and not request.encryption: request.encryption = LUKSDevice(passphrase=passphrase, format=1) elif passphrase and request.encryption.format: request.encryption.setPassphrase(passphrase) + else: + isglobal = False + + if isglobal and not self.partitions.globalPassphrase: + self.partitions.globalPassphrase = passphrase else: request.encryption = None else: @@ -238,14 +250,26 @@ class RaidEditor: else: passphrase = "" + isglobal = False if not request.encryption or request.encryption.format: - passphrase = self.intf.getLuksPassphrase(passphrase) + if not passphrase and self.partitions.globalPassphrase: + passphrase = self.partitions.globalPassphrase + else: + if passphrase and \ + passphrase == self.partitions.globalPassphrase: + isglobal = True + (passphrase, isglobal) = self.intf.getLuksPassphrase(passphrase, isglobal=isglobal) if passphrase and not request.encryption: request.encryption = LUKSDevice(passphrase=passphrase, format=1) elif passphrase and request.encryption.format: request.encryption.setPassphrase(passphrase) + else: + isglobal = False + + if isglobal and not self.partitions.globalPassphrase: + self.partitions.globalPassphrase = passphrase else: request.encryption = None -- cgit