svn commit: samba r8561 - in branches/SAMBA_4_0/source/scripting:
ejs libjs
tridge at samba.org
tridge at samba.org
Tue Jul 19 00:16:43 GMT 2005
Author: tridge
Date: 2005-07-19 00:16:43 +0000 (Tue, 19 Jul 2005)
New Revision: 8561
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8561
Log:
as with the other ejs subsystems, make nss into a object
Modified:
branches/SAMBA_4_0/source/scripting/ejs/smbcalls_nss.c
branches/SAMBA_4_0/source/scripting/libjs/provision.js
Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/smbcalls_nss.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/smbcalls_nss.c 2005-07-19 00:08:00 UTC (rev 8560)
+++ branches/SAMBA_4_0/source/scripting/ejs/smbcalls_nss.c 2005-07-19 00:16:43 UTC (rev 8561)
@@ -68,7 +68,7 @@
/*
usage:
- var pw = getpwnam("root");
+ var pw = nss.getpwnam("root");
returns an object containing struct passwd entries
*/
@@ -86,7 +86,7 @@
/*
usage:
- var pw = getpwuid(0);
+ var pw = nss.getpwuid(0);
returns an object containing struct passwd entries
*/
@@ -103,7 +103,7 @@
/*
usage:
- var pw = getgrnam("users");
+ var pw = nss.getgrnam("users");
returns an object containing struct group entries
*/
@@ -120,7 +120,7 @@
/*
usage:
- var pw = getgrgid(0);
+ var pw = nss.getgrgid(0);
returns an object containing struct group entries
*/
@@ -137,12 +137,27 @@
/*
+ initialise nss ejs subsystem
+*/
+static int ejs_nss_init(MprVarHandle eid, int argc, struct MprVar **argv)
+{
+ struct MprVar *nss;
+ mpr_Return(eid, mprObject("nss"));
+
+ nss = ejsGetReturnValue(eid);
+
+ mprSetCFunction(nss, "getpwnam", ejs_getpwnam);
+ mprSetCFunction(nss, "getpwuid", ejs_getpwuid);
+ mprSetCFunction(nss, "getgrnam", ejs_getgrnam);
+ mprSetCFunction(nss, "getgrgid", ejs_getgrgid);
+
+ return 0;
+}
+
+/*
setup C functions that be called from ejs
*/
void smb_setup_ejs_nss(void)
{
- ejsDefineCFunction(-1, "getpwnam", ejs_getpwnam, NULL, MPR_VAR_SCRIPT_HANDLE);
- ejsDefineCFunction(-1, "getpwuid", ejs_getpwuid, NULL, MPR_VAR_SCRIPT_HANDLE);
- ejsDefineCFunction(-1, "getgrnam", ejs_getgrnam, NULL, MPR_VAR_SCRIPT_HANDLE);
- ejsDefineCFunction(-1, "getgrgid", ejs_getgrgid, NULL, MPR_VAR_SCRIPT_HANDLE);
+ ejsDefineCFunction(-1, "nss_init", ejs_nss_init, NULL, MPR_VAR_SCRIPT_HANDLE);
}
Modified: branches/SAMBA_4_0/source/scripting/libjs/provision.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/provision.js 2005-07-19 00:08:00 UTC (rev 8560)
+++ branches/SAMBA_4_0/source/scripting/libjs/provision.js 2005-07-19 00:16:43 UTC (rev 8561)
@@ -196,6 +196,8 @@
function provision_guess()
{
var subobj = new Object();
+ var nss = nss_init();
+
subobj.REALM = lpGet("realm");
subobj.DOMAIN = lpGet("workgroup");
subobj.HOSTNAME = hostname();
@@ -213,11 +215,11 @@
subobj.LDAPTIME = ldaptime;
subobj.DATESTRING = datestring;
subobj.USN = nextusn;
- subobj.ROOT = findnss(getpwnam, "root");
- subobj.NOBODY = findnss(getpwnam, "nobody");
- subobj.NOGROUP = findnss(getgrnam, "nogroup", "nobody");
- subobj.WHEEL = findnss(getgrnam, "wheel", "root");
- subobj.USERS = findnss(getgrnam, "users", "guest", "other");
+ subobj.ROOT = findnss(nss.getpwnam, "root");
+ subobj.NOBODY = findnss(nss.getpwnam, "nobody");
+ subobj.NOGROUP = findnss(nss.getgrnam, "nogroup", "nobody");
+ subobj.WHEEL = findnss(nss.getgrnam, "wheel", "root");
+ subobj.USERS = findnss(nss.getgrnam, "users", "guest", "other");
subobj.DNSDOMAIN = strlower(subobj.REALM);
subobj.DNSNAME = sprintf("%s.%s",
strlower(subobj.HOSTNAME),
More information about the samba-cvs
mailing list