diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-07-20 07:29:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:29:48 -0500 |
commit | d5ac1f9bf4062139054fa2b4677f6bde952bec13 (patch) | |
tree | 3446de75dba1c6bb6f37155481a44b273b131fe3 /source4 | |
parent | 86d628a292a22973597e0c06d4a36e20c58ae31c (diff) | |
download | samba-d5ac1f9bf4062139054fa2b4677f6bde952bec13.tar.gz samba-d5ac1f9bf4062139054fa2b4677f6bde952bec13.tar.bz2 samba-d5ac1f9bf4062139054fa2b4677f6bde952bec13.zip |
r8640: continue the trend by moving the ejs random calls into an object
(This used to be commit ed4fb68ef7c28e415408e923bd9eefcd2d60f355)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/scripting/ejs/smbcalls_rand.c | 19 | ||||
-rw-r--r-- | source4/scripting/libjs/provision.js | 2 |
2 files changed, 17 insertions, 4 deletions
diff --git a/source4/scripting/ejs/smbcalls_rand.c b/source4/scripting/ejs/smbcalls_rand.c index 81473ad737..043b9cca09 100644 --- a/source4/scripting/ejs/smbcalls_rand.c +++ b/source4/scripting/ejs/smbcalls_rand.c @@ -81,12 +81,23 @@ static int ejs_randsid(MprVarHandle eid, int argc, struct MprVar **argv) } /* + initialise random ejs subsystem +*/ +static int ejs_random_init(MprVarHandle eid, int argc, struct MprVar **argv) +{ + struct MprVar *obj = mprInitObject(eid, "random", argc, argv); + + mprSetCFunction(obj, "random", ejs_random); + mprSetCFunction(obj, "randpass", ejs_randpass); + mprSetCFunction(obj, "randguid", ejs_randguid); + mprSetCFunction(obj, "randsid", ejs_randsid); + return 0; +} + +/* setup C functions that be called from ejs */ void smb_setup_ejs_random(void) { - ejsDefineCFunction(-1, "random", ejs_random, NULL, MPR_VAR_SCRIPT_HANDLE); - ejsDefineCFunction(-1, "randpass", ejs_randpass, NULL, MPR_VAR_SCRIPT_HANDLE); - ejsDefineCFunction(-1, "randguid", ejs_randguid, NULL, MPR_VAR_SCRIPT_HANDLE); - ejsDefineCFunction(-1, "randsid", ejs_randsid, NULL, MPR_VAR_SCRIPT_HANDLE); + ejsDefineCFunction(-1, "random_init", ejs_random_init, NULL, MPR_VAR_SCRIPT_HANDLE); } diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js index e9a8aad0cc..58f0e18240 100644 --- a/source4/scripting/libjs/provision.js +++ b/source4/scripting/libjs/provision.js @@ -224,6 +224,7 @@ function provision_guess() var subobj = new Object(); var nss = nss_init(); var lp = loadparm_init(); + random_init(local); subobj.REALM = lp.get("realm"); subobj.DOMAIN = lp.get("workgroup"); @@ -277,6 +278,7 @@ function newuser(username, unixname, password, message) var lp = loadparm_init(); var samdb = lp.get("sam database"); var ldb = ldb_init(); + random_init(local); /* connect to the sam */ var ok = ldb.connect(samdb); |