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