diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-07-20 10:07:48 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:29:48 -0500 |
commit | 2f5f01567b4c30cd764843a1ca0c7ab6d9bc0882 (patch) | |
tree | 52876d17edf8162d20c8da7c1761cd0fbb0e0db1 /source4/scripting/libjs | |
parent | 238a7e2f4c46f5bb586bcef36f39e1bf6749c2c1 (diff) | |
download | samba-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.js | 21 |
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(); |