From 75ef0ba513489a85557cb486135d80286d620809 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 10 Jan 2006 10:35:47 +0000 Subject: r12823: Fix up the provison and newuser code in SWAT. This also cleans up the main provision script a bit, as the argument list was getting out of control. (It has been replaced in part with an object). This also returns the session_info from the auth code into ejs. We still need access control allowing only root to re-provision. Andrew Bartlett (This used to be commit 002cdcf3cab6563909d31edc5d825e857dc0a732) --- swat/install/newuser.esp | 34 ++++++++++++++++++++-------------- swat/install/provision.esp | 3 ++- 2 files changed, 22 insertions(+), 15 deletions(-) (limited to 'swat/install') diff --git a/swat/install/newuser.esp b/swat/install/newuser.esp index f6f60b85a9..1b341ff665 100644 --- a/swat/install/newuser.esp +++ b/swat/install/newuser.esp @@ -8,17 +8,14 @@

Add a user

<% -var f = FormObj("newuser", 3, 2); +var f = FormObj("newuser", 0, 2); var i; var rand = random_init(); -f.element[0].label = "User Name"; -f.element[0].name = "USERNAME"; -f.element[1].label = "Unix Name"; -f.element[1].name = "UNIXNAME"; -f.element[2].label = "Password"; -f.element[2].type = "password"; -f.element[2].name = "PASSWORD"; +f.add("USERNAME", "User Name"); +f.add("UNIXNAME", "Unix Name"); +f.add("PASSWORD", "Password", "password"); +f.add("CONFIRM", "Confirm Password", "password"); f.submit[0] = "Add"; f.submit[1] = "Cancel"; @@ -26,15 +23,24 @@ if (form['submit'] == "Cancel") { redirect("/"); } + if (form['submit'] == "Add" && form.USERNAME != undefined) { - if (form.UNIXNAME == undefined) { - form.UNIXNAME = form.USERNAME; - } - if (form.PASSWORD == undefined) { - form.PASSWORD = rand.randpass(); + var goodpass = (form.CONFIRM == form.PASSWORD); + + if (!goodpass) { + write("

Passwords don't match. Please try again.

"); + f.display(); + } else { + if (form.UNIXNAME == undefined) { + form.UNIXNAME = form.USERNAME; + } + if (form.PASSWORD == undefined) { + form.PASSWORD = rand.randpass(); + } + newuser(form.USERNAME, form.UNIXNAME, form.PASSWORD, writefln, + session.authinfo.session_info, session.authinfo.credentials); } - newuser(form.USERNAME, form.UNIXNAME, form.PASSWORD, writefln); } else { f.display(); } diff --git a/swat/install/provision.esp b/swat/install/provision.esp index 38983c96dc..29fa6530de 100644 --- a/swat/install/provision.esp +++ b/swat/install/provision.esp @@ -61,7 +61,8 @@ if (form['submit'] == "Provision") { } else if (!provision_validate(subobj, writefln)) { f.display(); } else { - provision(subobj, writefln, false, provision_default_paths(subobj), NULL, NULL); + provision(subobj, writefln, false, provision_default_paths(subobj), + session.authinfo.session_info, session.authinfo.credentials); } } else { f.display(); -- cgit