diff --git a/source/scripting/bin/smbstatus b/source/scripting/bin/smbstatus index 7fefae69630..38f2ab06a94 100755 --- a/source/scripting/bin/smbstatus +++ b/source/scripting/bin/smbstatus @@ -82,7 +82,9 @@ function show_nbt() println(""); } -printf("%s\n\n", lpGet("server string")); +var lp = loadparm_init(); + +printf("%s\n\n", lp.get("server string")); if (options['nbt'] != undefined) { show_nbt(); diff --git a/source/scripting/ejs/smbcalls_config.c b/source/scripting/ejs/smbcalls_config.c index 18bdd0547e6..7fc58f237da 100644 --- a/source/scripting/ejs/smbcalls_config.c +++ b/source/scripting/ejs/smbcalls_config.c @@ -139,11 +139,22 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv) return 0; } +/* + initialise loadparm ejs subsystem +*/ +static int ejs_loadparm_init(MprVarHandle eid, int argc, struct MprVar **argv) +{ + struct MprVar *obj = mprInitObject(eid, "loadparm", argc, argv); + + mprSetStringCFunction(obj, "get", ejs_lpGet); + mprSetStringCFunction(obj, "services", ejs_lpServices); + return 0; +} + /* setup C functions that be called from ejs */ void smb_setup_ejs_config(void) { - ejsDefineStringCFunction(-1, "lpGet", ejs_lpGet, NULL, MPR_VAR_SCRIPT_HANDLE); - ejsDefineStringCFunction(-1, "lpServices", ejs_lpServices, NULL, MPR_VAR_SCRIPT_HANDLE); + ejsDefineCFunction(-1, "loadparm_init", ejs_loadparm_init, NULL, MPR_VAR_SCRIPT_HANDLE); } diff --git a/source/scripting/libjs/auth.js b/source/scripting/libjs/auth.js index a973cb47539..73d86452182 100644 --- a/source/scripting/libjs/auth.js +++ b/source/scripting/libjs/auth.js @@ -11,7 +11,8 @@ function getDomainList() { var ret = new Array(2); + var lp = loadparm_init(); ret[0] = "System User"; - ret[1] = lpGet("workgroup"); + ret[1] = lp.get("workgroup"); return ret; } diff --git a/source/scripting/libjs/management.js b/source/scripting/libjs/management.js index 7130cdc5dd0..e1c68ca1de5 100644 --- a/source/scripting/libjs/management.js +++ b/source/scripting/libjs/management.js @@ -97,7 +97,8 @@ function nbtd_statistics() */ function service_enabled(name) { - var services = lpGet("server services"); + var lp = loadparm_init(); + var services = lp.get("server services"); var i; for (i=0;iAn attribute constrained search <% -var dbfile = lpGet("sam database"); +var lp = loadparm_init(); +var dbfile = lp.get("sam database"); var attrs = new Array("name", "dnsDomain", "objectSid", "dn"); var ldb = ldb_init(); var ok = ldb.connect(dbfile); diff --git a/swat/esptest/loadparm.esp b/swat/esptest/loadparm.esp index 9e6de480e23..9ea83b77bca 100644 --- a/swat/esptest/loadparm.esp +++ b/swat/esptest/loadparm.esp @@ -3,6 +3,8 @@

Samba4 loadparm test

<% +lp = loadparm_init(); + var f = FormObj("LoadparmTest", 2, 1); f.element[0].label = "Share"; f.element[1].label = "Parameter"; @@ -41,9 +43,9 @@ if (request['REQUEST_METHOD'] == "POST") { share = form['Share']; name = form['Parameter']; if (share && name) { - v = lpGet(share, name); + v = lp.get(share, name); } else if (name) { - v = lpGet(name); + v = lp.get(name); } showValue(name, v); @@ -53,11 +55,10 @@ if (request['REQUEST_METHOD'] == "POST") { Here are some commonly used parameters:

<% - -showValue("defined services", lpServices()); +showValue("defined services", lp.services()); function showParameter(name) { - showValue(name, lpGet(name)); + showValue(name, lp.get(name)); } showParameter("server services"); diff --git a/testprogs/ejs/loadparm.js b/testprogs/ejs/loadparm.js index 6c2a80bb73a..f56ca9f7fcc 100644 --- a/testprogs/ejs/loadparm.js +++ b/testprogs/ejs/loadparm.js @@ -2,9 +2,11 @@ demonstrate access to loadparm functions from ejs */ +loadparm_init(local); + function showParameter(name) { print(name + ": "); - printVars(lpGet(name)); + printVars(get(name)); } for (v in ARGV) { @@ -12,7 +14,7 @@ for (v in ARGV) { } print("defined services: "); -printVars(lpServices()); +printVars(services()); showParameter("server services"); showParameter("netbios name"); @@ -21,4 +23,3 @@ showParameter("workgroup"); showParameter("log level"); showParameter("server signing"); showParameter("interfaces"); -