summaryrefslogtreecommitdiffstats
path: root/text.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 /text.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 'text.py')
-rw-r--r--text.py28
1 files changed, 20 insertions, 8 deletions
diff --git a/text.py b/text.py
index 8e221e741..e98e849d3 100644
--- a/text.py
+++ b/text.py
@@ -311,10 +311,11 @@ class MainExceptionWindow:
self.screen.refresh()
class LuksPassphraseWindow:
- def __init__(self, screen, passphrase = "", device = ""):
+ def __init__(self, screen, passphrase = "", device = "", isglobal = False):
self.screen = screen
self.passphrase = passphrase
self.minLength = 8
+ self.isglobal = isglobal
if device:
deviceStr = " (%s)" % (device,)
else:
@@ -326,7 +327,7 @@ class LuksPassphraseWindow:
def run(self):
toplevel = GridForm(self.screen, _("Passphrase for encrypted device"),
- 1, 4)
+ 1, 5)
txt = TextboxReflowed(65, self.txt)
toplevel.add(txt, 0, 0)
@@ -337,8 +338,17 @@ class LuksPassphraseWindow:
confirmentry = Entry(60, password = 1)
toplevel.add(confirmentry, 0, 2, (0,0,0,1))
+ if not (self.isglobal and not self.passphrase):
+ if not self.passphrase:
+ isglobal = True
+ else:
+ isglobal = self.isglobal
+ # if we don't hit this we're prompting for autopart passphrase
+ globalcheckbox = Checkbox(_("Use this passphrase for all new encrypted devices"), isOn = isglobal)
+ toplevel.add(globalcheckbox, 0, 3)
+
buttons = ButtonBar(self.screen, [TEXT_OK_BUTTON, TEXT_CANCEL_BUTTON])
- toplevel.add(buttons, 0, 3, growx=1)
+ toplevel.add(buttons, 0, 4, growx=1)
passphraseentry.set(self.passphrase)
confirmentry.set(self.passphrase)
@@ -376,8 +386,10 @@ class LuksPassphraseWindow:
passphraseentry.set(self.passphrase)
confirmentry.set(self.passphrase)
+ if not self.isglobal and not self.passphrase:
+ self.isglobal = globalcheckbox.selected()
self.rc = passphrase
- return self.rc
+ return (self.rc, self.isglobal)
def pop(self):
self.screen.popWindow()
@@ -480,12 +492,12 @@ class InstallInterface:
r.strip()
return r
- def getLuksPassphrase(self, passphrase = "", device = ""):
+ def getLuksPassphrase(self, passphrase = "", device = "", isglobal = False):
w = LuksPassphraseWindow(self.screen, passphrase = passphrase,
- device = device)
- passphrase = w.run()
+ device = device, isglobal = isglobal)
+ (passphrase, isglobal) = w.run()
w.pop()
- return passphrase
+ return (passphrase, isglobal)
def passphraseEntryWindow(self, device):
w = PassphraseEntryWindow(self.screen, device)