There isn't currently a bug against it, but I'd really like to see this go into rhel7-branch as well. Thoughts? ====
More than simply mirroring graphical behavior, passwords shouldn't be stored plaintext in the first place. --- pyanaconda/ui/tui/spokes/__init__.py | 6 ++++-- pyanaconda/ui/tui/spokes/user.py | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/pyanaconda/ui/tui/spokes/__init__.py b/pyanaconda/ui/tui/spokes/__init__.py index 087199b..773ea67 100644 --- a/pyanaconda/ui/tui/spokes/__init__.py +++ b/pyanaconda/ui/tui/spokes/__init__.py @@ -226,8 +226,10 @@ class EditTUISpoke(NormalTUISpoke): def _prep_password(i, entry): number = tui.TextWidget("%2d)" % i) title = tui.TextWidget(_(entry.title)) - value = getdeepattr(self.args, entry.attribute) - value = tui.TextWidget("".join(["*"] * len(value))) + value = "" + if len(getdeepattr(self.args, entry.attribute)) > 0: + value = _("Password set.") + value = tui.TextWidget(value)
return tui.ColumnWidget([(3, [number]), (None, [title, value])], 1)
diff --git a/pyanaconda/ui/tui/spokes/user.py b/pyanaconda/ui/tui/spokes/user.py index 6185f80..2b0d3f2 100644 --- a/pyanaconda/ui/tui/spokes/user.py +++ b/pyanaconda/ui/tui/spokes/user.py @@ -1,4 +1,4 @@ -# Root password text spoke +# User creation text spoke # # Copyright (C) 2013 Red Hat, Inc. # @@ -22,7 +22,7 @@ from pyanaconda.ui.tui.spokes import EditTUISpoke from pyanaconda.ui.tui.spokes import EditTUISpokeEntry as Entry from pyanaconda.ui.common import FirstbootSpokeMixIn -from pyanaconda.users import guess_username +from pyanaconda.users import guess_username, cryptPassword from pyanaconda.i18n import _ from pykickstart.constants import FIRSTBOOT_RECONFIG from pyanaconda.constants import ANACONDA_ENVIRON, FIRSTBOOT_ENVIRON @@ -123,3 +123,15 @@ class UserSpoke(FirstbootSpokeMixIn, EditTUISpoke): self.data.user.userList.append(self.args) elif (not self.args._create) and (self.args in self.data.user.userList): self.data.user.userList.remove(self.args) + + # encrypt and store password only if user entered anything; this should + # preserve passwords set via kickstart + if self.args._use_password and len(self.args.password) > 0: + self.args.password = cryptPassword(self.args.password) + self.args.isCrypted = True + self.args.password_kickstarted = False + # clear pw when user unselects to use pw + else: + self.args.password = "" + self.args.isCrypted = False + self.args.password_kickstarted = False
On Fri, Sep 20, 2013 at 02:44:11PM -0400, Samantha N. Bueno wrote:
There isn't currently a bug against it, but I'd really like to see this go into rhel7-branch as well. Thoughts? ====
Ack.
Clone the bug for RHEL7.
anaconda-patches@lists.fedorahosted.org