summaryrefslogtreecommitdiff
path: root/source4/scripting/libjs
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-20 10:07:48 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:29:48 -0500
commit2f5f01567b4c30cd764843a1ca0c7ab6d9bc0882 (patch)
tree52876d17edf8162d20c8da7c1761cd0fbb0e0db1 /source4/scripting/libjs
parent238a7e2f4c46f5bb586bcef36f39e1bf6749c2c1 (diff)
downloadsamba-2f5f01567b4c30cd764843a1ca0c7ab6d9bc0882.tar.gz
samba-2f5f01567b4c30cd764843a1ca0c7ab6d9bc0882.tar.bz2
samba-2f5f01567b4c30cd764843a1ca0c7ab6d9bc0882.zip
r8643: - make lp_configfile() work again
- get rid of redundeny dyn_CONFIGFILE argument to lp_load() - fixed provisioning to work with completely pristine install, creating an initial smb.conf is none is present - added lp.set() and lp.reload() to loadparm ejs object interface (This used to be commit c2691ef7126ddcee5f95970b78759b40a049d0a7)
Diffstat (limited to 'source4/scripting/libjs')
-rw-r--r--source4/scripting/libjs/provision.js21
1 files changed, 19 insertions, 2 deletions
diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js
index 58f0e18240..f5aaeafe89 100644
--- a/source4/scripting/libjs/provision.js
+++ b/source4/scripting/libjs/provision.js
@@ -169,7 +169,7 @@ function setup_ldb(ldif, dbname, subobj)
function setup_file(template, fname, subobj)
{
var lp = loadparm_init();
- var f = lp.get("private dir") + "/" + fname;
+ var f = fname;
var src = lp.get("setup directory") + "/" + template;
sys.unlink(f);
@@ -187,6 +187,9 @@ function setup_file(template, fname, subobj)
function provision(subobj, message)
{
var data = "";
+ var lp = loadparm_init();
+ var sys = sys_init();
+ var smbconf = lp.get("config file");
/*
some options need to be upper/lower case
@@ -204,6 +207,13 @@ function provision(subobj, message)
provision_next_usn = 1;
+ /* only install a new smb.conf if there isn't one there already */
+ var st = sys.stat(smbconf);
+ if (st == undefined) {
+ message("Setting up smb.conf\n");
+ setup_file("provision.smb.conf", smbconf, subobj);
+ lp.reload();
+ }
message("Setting up hklm.ldb\n");
setup_ldb("hklm.ldif", "hklm.ldb", subobj);
message("Setting up sam.ldb\n");
@@ -213,7 +223,9 @@ function provision(subobj, message)
message("Setting up secrets.ldb\n");
setup_ldb("secrets.ldif", "secrets.ldb", subobj);
message("Setting up DNS zone file\n");
- setup_file("provision.zone", subobj.DNSDOMAIN + ".zone", subobj);
+ setup_file("provision.zone",
+ lp.get("private dir") + "/" + subobj.DNSDOMAIN + ".zone",
+ subobj);
}
/*
@@ -229,6 +241,11 @@ function provision_guess()
subobj.REALM = lp.get("realm");
subobj.DOMAIN = lp.get("workgroup");
subobj.HOSTNAME = hostname();
+
+ assert(subobj.REALM);
+ assert(subobj.DOMAIN);
+ assert(subobj.HOSTNAME);
+
subobj.HOSTIP = hostip();
subobj.DOMAINGUID = randguid();
subobj.DOMAINSID = randsid();