summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/scripting/libjs/provision.js21
-rw-r--r--swat/index.esp6
2 files changed, 27 insertions, 0 deletions
diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js
index f5aaeafe89..894b42ceb7 100644
--- a/source4/scripting/libjs/provision.js
+++ b/source4/scripting/libjs/provision.js
@@ -10,6 +10,27 @@ provision_next_usn = 1;
sys = sys_init();
/*
+ return true if the current install seems to be OK
+*/
+function install_ok()
+{
+ var lp = loadparm_init();
+ var ldb = ldb_init();
+ if (lp.get("realm") == "") {
+ return false;
+ }
+ var ok = ldb.connect(lp.get("sam database"));
+ if (!ok) {
+ return false;
+ }
+ var res = ldb.search("(name=Administrator)");
+ if (res.length != 1) {
+ return false;
+ }
+ return true;
+}
+
+/*
find a user or group from a list of possibilities
*/
function findnss()
diff --git a/swat/index.esp b/swat/index.esp
index e1ec624308..2e43d3f9cf 100644
--- a/swat/index.esp
+++ b/swat/index.esp
@@ -1,6 +1,12 @@
<% page_header("columns", "Server Status", "");
libinclude("base.js");
libinclude("management.js");
+ libinclude("provision.js");
+
+ if (install_ok() == false) {
+ redirect("/install/provision.esp");
+ }
+
%>
<h1>Server Status</h1>