summaryrefslogtreecommitdiffstats
path: root/iw/raid_dialog_gui.py
diff options
context:
space:
mode:
authorDavid Lehman <dlehman@redhat.com>2008-08-18 15:43:23 -0500
committerDavid Lehman <dlehman@redhat.com>2008-08-19 15:44:49 -0500
commit975d1148aaf2e9a24a662eae9ca14f0e7b1626ca (patch)
tree0343117f0922d36db1ae5213b0c2f338a3f5bf1e /iw/raid_dialog_gui.py
parent8ee3a64b9837fa428d01007cb0c2b8003d30fddb (diff)
downloadanaconda-975d1148aaf2e9a24a662eae9ca14f0e7b1626ca.tar.gz
anaconda-975d1148aaf2e9a24a662eae9ca14f0e7b1626ca.tar.xz
anaconda-975d1148aaf2e9a24a662eae9ca14f0e7b1626ca.zip
Support establishing a global passphrase when creating encrypted devices.
Diffstat (limited to 'iw/raid_dialog_gui.py')
-rw-r--r--iw/raid_dialog_gui.py28
1 files changed, 26 insertions, 2 deletions
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