[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha3-1752-g7ca4632

Jelmer Vernooij jelmer at samba.org
Fri May 23 13:21:32 GMT 2008


The branch, v4-0-test has been updated
       via  7ca46322f5aa650cfd89c4f887393da67ae9dc7b (commit)
       via  f71cb65a9057fb426748dd5fe45cf2962da42ae4 (commit)
       via  09c6b106ac144820b8c072bda4dad3d8e2145ff0 (commit)
       via  3f628f4dc9a57326442ebe2d2eaac9d279043aa6 (commit)
       via  f2d437d646d0694498c14bc951f9745c4ecd902d (commit)
       via  40652801fce937b37a43d37db9892821572cd6fd (commit)
       via  f7e350368b40f575b312d4e0045981d9b1dcadfe (commit)
       via  268c1de095411991ffb22ee835bfb88f8bce235a (commit)
       via  5c3d4fce06ae07663632cc50d9703ddbc728c737 (commit)
       via  480884c696c676bb978e9197271b99cc03bb66e6 (commit)
       via  57eec87b19428fd763033988d0ba671524d90c69 (commit)
       via  3a6b009d505503b2eb22acadeaac485151ed0173 (commit)
       via  88d473b202e82b462ef82ffdeb4f1710918ffda5 (commit)
       via  c7bc9321b38a360d2e8d5258fadb30790342d032 (commit)
      from  5c5c86683877337ff60526a40e7b689f604e40f8 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 7ca46322f5aa650cfd89c4f887393da67ae9dc7b
Merge: f71cb65a9057fb426748dd5fe45cf2962da42ae4 5c5c86683877337ff60526a40e7b689f604e40f8
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 15:20:57 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into docstrings2

commit f71cb65a9057fb426748dd5fe45cf2962da42ae4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 15:20:32 2008 +0200

    selftest: Use convenience function for prepending paths to environment variables.

commit 09c6b106ac144820b8c072bda4dad3d8e2145ff0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 15:10:35 2008 +0200

    Fix bugs in samr python tests.

commit 3f628f4dc9a57326442ebe2d2eaac9d279043aa6
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 15:09:51 2008 +0200

    Create new context in pytalloc to avoid problems with talloc_free() freeing the wrong parent of a pointer.

commit f2d437d646d0694498c14bc951f9745c4ecd902d
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 13:13:36 2008 +0200

    UFollow conventions for __repr__ contents for talloc python wrapper.

commit 40652801fce937b37a43d37db9892821572cd6fd
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 12:45:05 2008 +0200

    Fix syntax for return type in DCE/RPC interface python bindings.

commit f7e350368b40f575b312d4e0045981d9b1dcadfe
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 12:40:45 2008 +0200

    Self PYTHONPATH from selftest.

commit 268c1de095411991ffb22ee835bfb88f8bce235a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 23 04:31:10 2008 +0200

    Fix imports for provision-backend.
    
    This needs a blackbox test...

commit 5c3d4fce06ae07663632cc50d9703ddbc728c737
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 13:00:04 2008 +0200

    Fix indentation.

commit 480884c696c676bb978e9197271b99cc03bb66e6
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 12:21:26 2008 +0200

    Add another test toe the python samr testsuite.

commit 57eec87b19428fd763033988d0ba671524d90c69
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 05:24:59 2008 +0200

    Remove unused ejs library functions.

commit 3a6b009d505503b2eb22acadeaac485151ed0173
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 05:23:50 2008 +0200

    Remove unused echo ejs script.

commit 88d473b202e82b462ef82ffdeb4f1710918ffda5
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 05:13:31 2008 +0200

    Convert samr test to python.

commit c7bc9321b38a360d2e8d5258fadb30790342d032
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu May 22 04:23:23 2008 +0200

    Disable building of EJS DCE/RPC support.

-----------------------------------------------------------------------

Summary of changes:
 source/librpc/config.mk                           |  114 --------
 source/librpc/scripts/build_idl.sh                |    2 +-
 source/pidl/lib/Parse/Pidl/Samba4/Python.pm       |   27 ++-
 source/scripting/bin/samr.py                      |  114 ++++++++
 source/scripting/libjs/samr.js                    |  170 ------------
 source/scripting/libjs/winreg.js                  |  291 ---------------------
 source/scripting/python/pytalloc.c                |   11 +-
 source/scripting/python/samba/tests/dcerpc/sam.py |   22 ++-
 source/selftest/samba4_tests.sh                   |    3 +-
 source/selftest/selftest.pl                       |   16 +-
 source/setup/provision-backend                    |    9 +-
 testprogs/ejs/echo.js                             |  235 -----------------
 testprogs/ejs/samr.js                             |  126 ---------
 13 files changed, 179 insertions(+), 961 deletions(-)
 create mode 100755 source/scripting/bin/samr.py
 delete mode 100644 source/scripting/libjs/samr.js
 delete mode 100644 source/scripting/libjs/winreg.js
 delete mode 100755 testprogs/ejs/echo.js
 delete mode 100755 testprogs/ejs/samr.js


Changeset truncated at 500 lines:

diff --git a/source/librpc/config.mk b/source/librpc/config.mk
index cbb0d19..c7cbf27 100644
--- a/source/librpc/config.mk
+++ b/source/librpc/config.mk
@@ -607,120 +607,6 @@ PUBLIC_HEADERS += $(addprefix $(librpcsrcdir)/, rpc/dcerpc.h \
 			gen_ndr/epmapper.h gen_ndr/ndr_epmapper.h gen_ndr/ndr_epmapper_c.h)
 
 
-[MODULE::RPC_EJS_ECHO]
-INIT_FUNCTION = ejs_init_rpcecho
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_ECHO EJSRPC
-
-RPC_EJS_ECHO_OBJ_FILES = $(gen_ndrsrcdir)/ndr_echo_ejs.o
-
-[MODULE::RPC_EJS_MISC]
-INIT_FUNCTION = ejs_init_misc
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_MISC EJSRPC
-
-RPC_EJS_MISC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_misc_ejs.o
-
-[MODULE::RPC_EJS_SAMR]
-INIT_FUNCTION = ejs_init_samr
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_SAMR EJSRPC RPC_EJS_LSA RPC_EJS_SECURITY RPC_EJS_MISC
-
-RPC_EJS_SAMR_OBJ_FILES = $(gen_ndrsrcdir)/ndr_samr_ejs.o
-
-[MODULE::RPC_EJS_SECURITY]
-INIT_FUNCTION = ejs_init_security
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_SECURITY EJSRPC
-
-RPC_EJS_SECURITY_OBJ_FILES = $(gen_ndrsrcdir)/ndr_security_ejs.o
-
-[MODULE::RPC_EJS_LSA]
-INIT_FUNCTION = ejs_init_lsarpc
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_LSA EJSRPC RPC_EJS_SECURITY RPC_EJS_MISC
-
-RPC_EJS_LSA_OBJ_FILES = $(gen_ndrsrcdir)/ndr_lsa_ejs.o
-
-[MODULE::RPC_EJS_DFS]
-INIT_FUNCTION = ejs_init_netdfs
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_DFS EJSRPC
-
-RPC_EJS_DFS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dfs_ejs.o
-
-[MODULE::RPC_EJS_DRSUAPI]
-INIT_FUNCTION = ejs_init_drsuapi
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_DRSUAPI EJSRPC RPC_EJS_MISC RPC_EJS_SAMR
-
-RPC_EJS_DRSUAPI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_drsuapi_ejs.o
-
-[MODULE::RPC_EJS_SPOOLSS]
-INIT_FUNCTION = ejs_init_spoolss
-SUBSYSTEM = smbcalls
-ENABLE = NO
-PRIVATE_DEPENDENCIES = dcerpc NDR_SPOOLSS EJSRPC
-
-RPC_EJS_SPOOLSS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_spoolss_ejs.o
-
-[MODULE::RPC_EJS_WKSSVC]
-INIT_FUNCTION = ejs_init_wkssvc
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_WKSSVC EJSRPC RPC_EJS_SRVSVC RPC_EJS_MISC
-
-RPC_EJS_WKSSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wkssvc_ejs.o
-
-[MODULE::RPC_EJS_SRVSVC]
-INIT_FUNCTION = ejs_init_srvsvc
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_SRVSVC EJSRPC RPC_EJS_MISC RPC_EJS_SVCCTL RPC_EJS_SECURITY
-
-RPC_EJS_SRVSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_srvsvc_ejs.o
-
-[MODULE::RPC_EJS_EVENTLOG]
-INIT_FUNCTION = ejs_init_eventlog
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_EVENTLOG EJSRPC RPC_EJS_MISC
-
-RPC_EJS_EVENTLOG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_eventlog_ejs.o
-
-[MODULE::RPC_EJS_WINREG]
-INIT_FUNCTION = ejs_init_winreg
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_WINREG EJSRPC RPC_EJS_INITSHUTDOWN \
-					  RPC_EJS_MISC RPC_EJS_SECURITY
-
-RPC_EJS_WINREG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winreg_ejs.o
-
-[MODULE::RPC_EJS_INITSHUTDOWN]
-INIT_FUNCTION = ejs_init_initshutdown
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN EJSRPC
-
-RPC_EJS_INITSHUTDOWN_OBJ_FILES = $(gen_ndrsrcdir)/ndr_initshutdown_ejs.o
-
-[MODULE::RPC_EJS_NETLOGON]
-INIT_FUNCTION = ejs_init_netlogon
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_NETLOGON EJSRPC RPC_EJS_SAMR RPC_EJS_SECURITY RPC_EJS_MISC
-
-RPC_EJS_NETLOGON_OBJ_FILES = $(gen_ndrsrcdir)/ndr_netlogon_ejs.o
-
-[MODULE::RPC_EJS_SVCCTL]
-INIT_FUNCTION = ejs_init_svcctl
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_SVCCTL EJSRPC RPC_EJS_MISC
-
-RPC_EJS_SVCCTL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_svcctl_ejs.o
-
-[MODULE::RPC_EJS_IRPC]
-INIT_FUNCTION = ejs_init_irpc
-SUBSYSTEM = smbcalls
-PRIVATE_DEPENDENCIES = dcerpc NDR_IRPC EJSRPC
-
-RPC_EJS_IRPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_irpc_ejs.o
-
 [PYTHON::swig_dcerpc]
 LIBRARY_REALNAME = samba/dcerpc/_dcerpc.$(SHLIBEXT)
 PUBLIC_DEPENDENCIES = LIBCLI_SMB NDR_MISC LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG dcerpc_samr RPC_NDR_LSA DYNCONFIG
diff --git a/source/librpc/scripts/build_idl.sh b/source/librpc/scripts/build_idl.sh
index 5796f40..3f13b64 100755
--- a/source/librpc/scripts/build_idl.sh
+++ b/source/librpc/scripts/build_idl.sh
@@ -8,7 +8,7 @@ PIDL_EXTRA_ARGS="$*"
 
 [ -d $OUTDIR ] || mkdir -p $OUTDIR || exit 1
 
-PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --ejs --python $PIDL_EXTRA_ARGS"
+PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --python $PIDL_EXTRA_ARGS"
 
 if [ x$FULLBUILD = xFULL ]; then
       echo Rebuilding all idl files in $IDLDIR
diff --git a/source/pidl/lib/Parse/Pidl/Samba4/Python.pm b/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 884ee1d..440b1bf 100644
--- a/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -203,7 +203,7 @@ sub PythonStruct($$$$$$)
 			$self->pidl("return 0;");
 			$self->deindent;
 			$self->pidl("}");
-		$self->pidl("");
+			$self->pidl("");
 		}
 
 		$getsetters = "py_$name\_getsetters";
@@ -253,6 +253,20 @@ sub PythonStruct($$$$$$)
 	return "&$typeobject";
 }
 
+sub get_metadata_var($)
+{
+	my ($e) = @_;
+	sub get_var($) { my $x = shift; $x =~ s/\*//g; return $x; }
+
+	 if (has_property($e, "length_is")) {
+		return get_var($e->{PROPERTIES}->{length_is});
+	 } elsif (has_property($e, "size_is")) {
+		return get_var($e->{PROPERTIES}->{size_is});
+	 }
+
+	 return undef;
+}
+
 sub PythonFunctionBody($$$)
 {
 	my ($self, $fn, $iface, $prettyname) = @_;
@@ -274,17 +288,10 @@ sub PythonFunctionBody($$$)
 
 	my $metadata_args = { in => {}, out => {} };
 
-	sub get_var($) { my $x = shift; $x =~ s/\*//g; return $x; }
-
 	# Determine arguments that are metadata for other arguments (size_is/length_is)
 	foreach my $e (@{$fn->{ELEMENTS}}) {
 		foreach my $dir (@{$e->{DIRECTION}}) {
-			 my $main = undef;
-			 if (has_property($e, "length_is")) {
-			 	$main = get_var($e->{PROPERTIES}->{length_is});
-			 } elsif (has_property($e, "size_is")) {
-			 	$main = get_var($e->{PROPERTIES}->{size_is});
-			 }
+			 my $main = get_metadata_var($e);
 			 if ($main) { 
 				 $metadata_args->{$dir}->{$main} = $e->{NAME}; 
 			 }
@@ -651,7 +658,7 @@ sub Interface($$$)
 		$self->pidl("");
 
 		my $signature = 
-"\"$interface->{NAME}(binding, lp_ctx=None, credentials=None) -> Connection to DCE/RPC interface.\\n\"
+"\"$interface->{NAME}(binding, lp_ctx=None, credentials=None) -> connection\\n\"
 \"\\n\"
 \"binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\\n\"
 \"lp_ctx should be a path to a smb.conf file or a param.LoadParm object\\n\"
diff --git a/source/scripting/bin/samr.py b/source/scripting/bin/samr.py
new file mode 100755
index 0000000..e91b5bc
--- /dev/null
+++ b/source/scripting/bin/samr.py
@@ -0,0 +1,114 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# Unix SMB/CIFS implementation.
+# Copyright © Jelmer Vernooij <jelmer at samba.org> 2008
+#
+# Based on samr.js © Andrew Tridgell <tridge at samba.org>
+#   
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#   
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#   
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+import sys
+
+sys.path.insert(0, "bin/python")
+
+from samba.dcerpc import samr, security, lsa
+
+def FillUserInfo(samr, dom_handle, users, level):
+    """fill a user array with user information from samrQueryUserInfo"""
+    for i in range(len(users)):
+        user_handle = samr.OpenUser(handle, security.SEC_FLAG_MAXIMUM_ALLOWED, users[i].idx)
+        info = samr.QueryUserInfo(user_handle, level)
+        info.name = users[i].name
+        info.idx  = users[i].idx
+        users[i] = info
+        samr.Close(user_handle)
+
+def toArray((handle, array, num_entries)):
+    ret = []
+    for x in range(num_entries):
+        ret.append((array.entries[x].idx, array.entries[x].name))
+    return ret
+    
+
+def test_Connect(samr):
+    """test the samr_Connect interface"""
+    print "Testing samr_Connect"
+    return samr.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED)
+
+def test_LookupDomain(samr, handle, domain):
+    """test the samr_LookupDomain interface"""
+    print "Testing samr_LookupDomain"
+    return samr.LookupDomain(handle, domain)
+
+def test_OpenDomain(samr, handle, sid):
+    """test the samr_OpenDomain interface"""
+    print "Testing samr_OpenDomain"
+    return samr.OpenDomain(handle, security.SEC_FLAG_MAXIMUM_ALLOWED, sid)
+
+def test_EnumDomainUsers(samr, dom_handle):
+    """test the samr_EnumDomainUsers interface"""
+    print "Testing samr_EnumDomainUsers"
+    users = toArray(samr.EnumDomainUsers(dom_handle, 0, 0, -1))
+    print "Found %d users" % len(users)
+    for idx, user in users:
+        print "\t%s\t(%d)" % (user, idx)
+
+def test_EnumDomainGroups(samr, dom_handle):
+    """test the samr_EnumDomainGroups interface"""
+    print "Testing samr_EnumDomainGroups"
+    groups = toArray(samr.EnumDomainGroups(dom_handle, 0, 0))
+    print "Found %d groups" % len(groups)
+    for idx, group in groups:
+        print "\t%s\t(%d)" % (group, idx)
+
+def test_domain_ops(samr, dom_handle):
+    """test domain specific ops"""
+    test_EnumDomainUsers(samr, dom_handle)
+    test_EnumDomainGroups(samr, dom_handle)
+
+def test_EnumDomains(samr, handle):
+    """test the samr_EnumDomains interface"""
+    print "Testing samr_EnumDomains"
+
+    domains = toArray(samr.EnumDomains(handle, 0, -1))
+    print "Found %d domains" % len(domains)
+    for idx, domain in domains:
+        print "\t%s (%d)" % (domain, idx)
+    for idx, domain in domains:
+        print "Testing domain %s" % domain
+        sid = samr.LookupDomain(handle, domain)
+        dom_handle = test_OpenDomain(samr, handle, sid)
+        test_domain_ops(samr, dom_handle)
+        samr.Close(dom_handle)
+
+if len(sys.argv) != 2:
+   print "Usage: samr.js <BINDING>"
+   sys.exit(1)
+
+binding = sys.argv[1]
+
+print "Connecting to " + binding
+try:
+    samr = samr.samr(binding)
+except Exception, e:
+    print "Failed to connect to %s: %s" % (binding, e.message)
+    sys.exit(1)
+
+handle = test_Connect(samr)
+test_EnumDomains(samr, handle)
+samr.Close(handle)
+
+print "All OK"
diff --git a/source/scripting/libjs/samr.js b/source/scripting/libjs/samr.js
deleted file mode 100644
index 6e8c70a..0000000
--- a/source/scripting/libjs/samr.js
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-	samr rpc utility functions 
-	Copyright Andrew Tridgell 2005
-	released under the GNU GPL version 3 or later
-*/	
-
-if (global["HAVE_SAMR_JS"] != undefined) {
-   return;
-}
-HAVE_SAMR_JS=1
-
-/*
-  return a list of names and indexes from a samArray
-*/
-function samArray(output)
-{
-	var list = new Array(output.num_entries);
-	if (output.sam == NULL) {
-		return list;
-	}
-	var i, entries = output.sam.entries;
-	for (i=0;i<output.num_entries;i++) {
-		list[i] = new Object();
-                list[i].name = entries[i].name;
-                list[i].idx  = entries[i].idx;
-	}
-	return list;
-}
-
-/*
-	connect to the sam database
-*/
-function samrConnect(conn)
-{
-	security_init(conn);
-	var io = irpcObj();
-	io.input.system_name = NULL;
-	io.input.access_mask = conn.SEC_FLAG_MAXIMUM_ALLOWED;
-	var status = conn.samr_Connect2(io);
-	check_status_ok(status);
-	return io.output.connect_handle;
-}
-
-/*
-	close a handle
-*/
-function samrClose(conn, handle)
-{
-	var io = irpcObj();
-	io.input.handle = handle;
-	var status = conn.samr_Close(io);
-	check_status_ok(status);
-}
-
-/*
-   get the sid for a domain
-*/
-function samrLookupDomain(conn, handle, domain)
-{
-	var io = irpcObj();
-	io.input.connect_handle = handle;
-	io.input.domain_name = domain;
-	var status = conn.samr_LookupDomain(io);
-	check_status_ok(status);
-	return io.output.sid;
-}
-
-/*
-  open a domain by sid
-*/
-function samrOpenDomain(conn, handle, sid)
-{
-	var io = irpcObj();
-	io.input.connect_handle = handle;
-	io.input.access_mask = conn.SEC_FLAG_MAXIMUM_ALLOWED;
-	io.input.sid = sid;
-	var status = conn.samr_OpenDomain(io);
-	check_status_ok(status);
-	return io.output.domain_handle;
-}
-
-/*
-  open a user by rid
-*/
-function samrOpenUser(conn, handle, rid)
-{
-	var io = irpcObj();
-	io.input.domain_handle = handle;
-	io.input.access_mask = conn.SEC_FLAG_MAXIMUM_ALLOWED;
-	io.input.rid = rid;
-	var status = conn.samr_OpenUser(io);
-	check_status_ok(status);
-	return io.output.user_handle;
-}
-
-/*
-  return a list of all users
-*/
-function samrEnumDomainUsers(conn, dom_handle)
-{
-	var io = irpcObj();
-	io.input.domain_handle = dom_handle;
-	io.input.resume_handle = 0;
-	io.input.acct_flags = 0;
-	io.input.max_size = -1;
-	var status = conn.samr_EnumDomainUsers(io);
-	check_status_ok(status);
-	return samArray(io.output);
-}
-
-/*
-  return a list of all groups
-*/
-function samrEnumDomainGroups(conn, dom_handle)
-{
-	var io = irpcObj();
-	io.input.domain_handle = dom_handle;
-	io.input.resume_handle = 0;
-	io.input.acct_flags = 0;
-	io.input.max_size = -1;
-	var status = conn.samr_EnumDomainGroups(io);
-	check_status_ok(status);
-	return samArray(io.output);
-}
-
-/*
-  return a list of domains
-*/
-function samrEnumDomains(conn, handle)
-{
-	var io = irpcObj();
-	io.input.connect_handle = handle;
-	io.input.resume_handle = 0;
-	io.input.buf_size = -1;
-	var status = conn.samr_EnumDomains(io);
-	check_status_ok(status);
-	return samArray(io.output);
-}
-
-/*
-  return information about a user
-*/
-function samrQueryUserInfo(conn, user_handle, level)
-{
-	var r, io = irpcObj();
-	io.input.user_handle = user_handle;
-	io.input.level = level;
-	var status = conn.samr_QueryUserInfo(io);
-	check_status_ok(status);
-	return io.output.info.info3;
-}
-
-
-/*
-  fill a user array with user information from samrQueryUserInfo
-*/
-function samrFillUserInfo(conn, dom_handle, users, level)
-{
-	var i;
-	for (i=0;i<users.length;i++) {
-		var r, user_handle, info;
-		user_handle = samrOpenUser(conn, dom_handle, users[i].idx);
-		info = samrQueryUserInfo(conn, user_handle, level);
-		info.name = users[i].name;
-		info.idx  = users[i].idx;
-		users[i] = info;
-		samrClose(conn, user_handle);
-	}
-}
-
diff --git a/source/scripting/libjs/winreg.js b/source/scripting/libjs/winreg.js
deleted file mode 100644
index 9db4156..0000000
--- a/source/scripting/libjs/winreg.js


-- 
Samba Shared Repository


More information about the samba-cvs mailing list