From owner-svn-src-head@FreeBSD.ORG Tue Dec 16 16:15:19 2008 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B24901065677; Tue, 16 Dec 2008 16:15:19 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 825B68FC18; Tue, 16 Dec 2008 16:15:19 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mBGGFJPq041874; Tue, 16 Dec 2008 16:15:19 GMT (envelope-from kensmith@svn.freebsd.org) Received: (from kensmith@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mBGGFJjm041873; Tue, 16 Dec 2008 16:15:19 GMT (envelope-from kensmith@svn.freebsd.org) Message-Id: <200812161615.mBGGFJjm041873@svn.freebsd.org> From: Ken Smith Date: Tue, 16 Dec 2008 16:15:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r186183 - head/usr.sbin/sysinstall X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2008 16:15:19 -0000 Author: kensmith Date: Tue Dec 16 16:15:19 2008 New Revision: 186183 URL: http://svn.freebsd.org/changeset/base/186183 Log: Add confirmation of the password that got entered. PR: 29893 (among others) Modified: head/usr.sbin/sysinstall/user.c Modified: head/usr.sbin/sysinstall/user.c ============================================================================== --- head/usr.sbin/sysinstall/user.c Tue Dec 16 16:04:40 2008 (r186182) +++ head/usr.sbin/sysinstall/user.c Tue Dec 16 16:15:19 2008 (r186183) @@ -63,6 +63,7 @@ static char gname[GNAME_FIELD_LEN], gmemb[GMEMB_FIELD_LEN], uname[UT_NAMESIZE + 1], passwd[PASSWD_FIELD_LEN], + confpasswd[PASSWD_FIELD_LEN], uid[UID_FIELD_LEN], ugroup[UGROUP_FIELD_LEN], gecos[GECOS_FIELD_LEN], @@ -78,7 +79,7 @@ static int okbutton, cancelbutton; #define USER_DIALOG_Y 0 #define USER_DIALOG_X 8 #define USER_DIALOG_WIDTH COLS - 16 -#define USER_DIALOG_HEIGHT LINES - 2 +#define USER_DIALOG_HEIGHT LINES - 1 /* The group configuration menu. */ static Layout groupLayout[] = { @@ -108,42 +109,46 @@ static Layout groupLayout[] = { /* The user configuration menu. */ static Layout userLayout[] = { #define LAYOUT_UNAME 0 - { 3, 6, UT_NAMESIZE, UT_NAMESIZE + 1, + { 2, 6, UT_NAMESIZE, UT_NAMESIZE + 1, "Login ID:", "The login name of the new user (mandatory)", uname, STRINGOBJ, NULL }, #define LAYOUT_UID 1 - { 3, 23, 8, UID_FIELD_LEN - 1, + { 2, 23, 8, UID_FIELD_LEN - 1, "UID:", "The numerical ID for this user (leave blank for automatic choice)", uid, STRINGOBJ, NULL }, #define LAYOUT_UGROUP 2 - { 3, 33, 8, UGROUP_FIELD_LEN - 1, + { 2, 33, 8, UGROUP_FIELD_LEN - 1, "Group:", "The login group name for this user (leave blank for automatic choice)", ugroup, STRINGOBJ, NULL }, #define LAYOUT_PASSWD 3 - { 3, 43, 15, PASSWD_FIELD_LEN - 1, + { 6, 6, 20, PASSWD_FIELD_LEN - 1, "Password:", "The password for this user (enter this field with care!)", passwd, NO_ECHO_OBJ(STRINGOBJ), NULL }, -#define LAYOUT_GECOS 4 - { 8, 6, 33, GECOS_FIELD_LEN - 1, +#define LAYOUT_CONFPASSWD 4 + { 6, 28, 20, PASSWD_FIELD_LEN - 1, + "Confirm Password:", "Confirm what you typed for the password", + confpasswd, NO_ECHO_OBJ(STRINGOBJ), NULL }, +#define LAYOUT_GECOS 5 + { 10, 6, 33, GECOS_FIELD_LEN - 1, "Full name:", "The user's full name (comment)", gecos, STRINGOBJ, NULL }, -#define LAYOUT_UMEMB 5 - { 8, 43, 15, UMEMB_FIELD_LEN - 1, +#define LAYOUT_UMEMB 6 + { 10, 43, 15, UMEMB_FIELD_LEN - 1, "Member groups:", "The groups this user belongs to (i.e. gets access rights for)", umemb, STRINGOBJ, NULL }, -#define LAYOUT_HOMEDIR 6 - { 13, 6, 20, HOMEDIR_FIELD_LEN - 1, +#define LAYOUT_HOMEDIR 7 + { 14, 6, 20, HOMEDIR_FIELD_LEN - 1, "Home directory:", "The user's home directory (leave blank for default)", homedir, STRINGOBJ, NULL }, -#define LAYOUT_SHELL 7 - { 13, 29, 29, SHELL_FIELD_LEN - 1, +#define LAYOUT_SHELL 8 + { 14, 29, 29, SHELL_FIELD_LEN - 1, "Login shell:", "The user's login shell (leave blank for default)", shell, STRINGOBJ, NULL }, -#define LAYOUT_U_OKBUTTON 8 +#define LAYOUT_U_OKBUTTON 9 { 18, 15, 0, 0, "OK", "Select this if you are happy with these settings", &okbutton, BUTTONOBJ, NULL }, -#define LAYOUT_U_CANCELBUTTON 9 +#define LAYOUT_U_CANCELBUTTON 10 { 18, 35, 0, 0, "CANCEL", "Select this if you wish to cancel this screen", &cancelbutton, BUTTONOBJ, NULL }, @@ -421,6 +426,10 @@ verifyUserSettings(WINDOW *ds_win) return 0; } } + if (strcmp(passwd, confpasswd)) { + feepout("Passwords don't match"); + return 0; + } if ((homedir[0]!=0) && (homedir[0]!='/')) { feepout("The pathname for home directories must begin with a '/'."); return 0; @@ -682,7 +691,7 @@ userAddUser(dialogMenuItem *self) draw_box(ds_win, USER_DIALOG_Y + 1, USER_DIALOG_X + 3, USER_DIALOG_HEIGHT - 6, USER_DIALOG_WIDTH - 6, dialog_attr, border_attr); wattrset(ds_win, dialog_attr); - mvwaddstr(ds_win, USER_DIALOG_Y + 1, USER_DIALOG_X + 22, " Add a new user "); + mvwaddstr(ds_win, USER_DIALOG_Y + 1, USER_DIALOG_X + 24, " Add a new user "); CLEAR(uname); CLEAR(uid);