summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting')
-rw-r--r--source4/scripting/ejs/smbcalls_config.c14
-rw-r--r--source4/scripting/ejs/smbscript.c6
-rw-r--r--source4/scripting/libjs/provision.js2
-rw-r--r--source4/scripting/libjs/upgrade.js1
4 files changed, 17 insertions, 6 deletions
diff --git a/source4/scripting/ejs/smbcalls_config.c b/source4/scripting/ejs/smbcalls_config.c
index 157587186c..88c153ead3 100644
--- a/source4/scripting/ejs/smbcalls_config.c
+++ b/source4/scripting/ejs/smbcalls_config.c
@@ -161,6 +161,14 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
return 0;
}
+/*
+ v = lp.filename(); obtain filename
+*/
+static int ejs_lpFilename(MprVarHandle eid, int argc, char **argv)
+{
+ mpr_ReturnString(eid, lp_configfile(global_loadparm));
+ return 0;
+}
/*
set a smb.conf parameter. Only sets in memory, not permanent
@@ -188,8 +196,9 @@ static int ejs_lpSet(MprVarHandle eid, int argc, char **argv)
static int ejs_lpReload(MprVarHandle eid, int argc, char **argv)
{
bool ret;
-
- ret = lp_load(talloc_autofree_context(), lp_configfile(global_loadparm), NULL);
+ const char *filename = lp_configfile(global_loadparm);
+
+ ret = lp_load(global_loadparm, filename);
if (ret) {
unload_interfaces();
}
@@ -208,6 +217,7 @@ static int ejs_loadparm_init(MprVarHandle eid, int argc, struct MprVar **argv)
mprSetStringCFunction(obj, "set", ejs_lpSet);
mprSetStringCFunction(obj, "reload", ejs_lpReload);
mprSetStringCFunction(obj, "services", ejs_lpServices);
+ mprSetStringCFunction(obj, "filename", ejs_lpFilename);
return 0;
}
diff --git a/source4/scripting/ejs/smbscript.c b/source4/scripting/ejs/smbscript.c
index e00d52589a..a4f2e1cd43 100644
--- a/source4/scripting/ejs/smbscript.c
+++ b/source4/scripting/ejs/smbscript.c
@@ -53,10 +53,12 @@ int main(int argc, const char **argv)
fault_setup(argv[0]);
+ global_loadparm = lp_ctx = loadparm_init(talloc_autofree_context());
+
if (getenv("SMB_CONF_PATH")) {
- lp_load(talloc_autofree_context(), getenv("SMB_CONF_PATH"), &lp_ctx);
+ lp_load(lp_ctx, getenv("SMB_CONF_PATH"));
} else {
- lp_load(talloc_autofree_context(), dyn_CONFIGFILE, &lp_ctx);
+ lp_load(lp_ctx, dyn_CONFIGFILE);
}
ldb_global_init();
diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js
index 7d77bf7885..f9814884f3 100644
--- a/source4/scripting/libjs/provision.js
+++ b/source4/scripting/libjs/provision.js
@@ -386,7 +386,7 @@ function provision_default_paths(subobj)
var dnsdomain = strlower(subobj.REALM);
var lp = loadparm_init();
var paths = new Object();
- paths.smbconf = lp.get("config file");
+ paths.smbconf = lp.filename()
paths.shareconf = lp.get("private dir") + "/" + "share.ldb";
paths.samdb = lp.get("sam database");
paths.secrets = lp.get("secrets database");
diff --git a/source4/scripting/libjs/upgrade.js b/source4/scripting/libjs/upgrade.js
index 3504d850f2..3a548fe34b 100644
--- a/source4/scripting/libjs/upgrade.js
+++ b/source4/scripting/libjs/upgrade.js
@@ -468,7 +468,6 @@ smbconf_keep = new Array(
"wins support",
"csc policy",
"strict locking",
- "config file",
"preload",
"auto services",
"lock dir",