[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/03: installer: Ask for confirmation of the root password.
From: |
guix-commits |
Subject: |
02/03: installer: Ask for confirmation of the root password. |
Date: |
Thu, 25 Apr 2019 06:24:02 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 8f2b7e3cb469e3e484547bb9f4ba3d0e3a7e9ed7
Author: Ludovic Courtès <address@hidden>
Date: Thu Apr 25 11:17:31 2019 +0200
installer: Ask for confirmation of the root password.
* gnu/installer/newt/user.scm (confirm-password): New procedure.
(run-root-password-page): Add call to 'confirm-password'.
---
gnu/installer/newt/user.scm | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/gnu/installer/newt/user.scm b/gnu/installer/newt/user.scm
index 76eb63b..7493edf 100644
--- a/gnu/installer/newt/user.scm
+++ b/gnu/installer/newt/user.scm
@@ -104,13 +104,34 @@
(lambda ()
(destroy-form-and-pop form)))))))
+(define (confirm-password password try-again)
+ "Ask the user to confirm PASSWORD, a possibly empty string. Call TRY-AGAIN,
+a thunk, if the confirmation doesn't match PASSWORD. Return the confirmed
+password."
+ (define confirmation
+ (run-input-page (G_ "Please confirm the password.")
+ (G_ "Password confirmation required")
+ #:allow-empty-input? #t
+ #:input-flags FLAG-PASSWORD))
+
+ (if (string=? password confirmation)
+ password
+ (begin
+ (run-error-page
+ (G_ "Password mismatch, please try again.")
+ (G_ "Password error"))
+ (try-again))))
+
(define (run-root-password-page)
;; TRANSLATORS: Leave "root" untranslated: it refers to the name of the
;; system administrator account.
- (run-input-page (G_ "Please choose a password for the system \
+ (define password
+ (run-input-page (G_ "Please choose a password for the system \
administrator (\"root\").")
- (G_ "System administrator password")
- #:input-flags FLAG-PASSWORD))
+ (G_ "System administrator password")
+ #:input-flags FLAG-PASSWORD))
+
+ (confirm-password password run-root-password-page))
(define (run-user-page)
(define (run users)