svn commit: samba r6214 - in branches/SAMBA_4_0/source/scripting/swig: .

tpot at samba.org tpot at samba.org
Tue Apr 5 11:50:48 GMT 2005


Author: tpot
Date: 2005-04-05 11:50:47 +0000 (Tue, 05 Apr 2005)
New Revision: 6214

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6214

Log:
Fix typo in DomainHandle.OpenUser() function.

Implement DomainHandle.LookupNames() function.

UserHandle.DeleteUser() closes the handle so don't try and close it
when the GC destroys the class instance.

Modified:
   branches/SAMBA_4_0/source/scripting/swig/samr.py


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/swig/samr.py
===================================================================
--- branches/SAMBA_4_0/source/scripting/swig/samr.py	2005-04-05 11:48:16 UTC (rev 6213)
+++ branches/SAMBA_4_0/source/scripting/swig/samr.py	2005-04-05 11:50:47 UTC (rev 6214)
@@ -323,7 +323,7 @@
 
         call_fn(dcerpc.dcerpc_samr_OpenUser, self.pipe, r)
 
-        return UserHandle(pipe, r.data_out.user_handle)
+        return UserHandle(self.pipe, r.data_out.user_handle)
 
     def OpenGroup(self, rid, access_mask = 0x02000000):
 
@@ -363,16 +363,35 @@
         r.data_in.sid = sid
 
         call_fn(dcerpc.dcerpc_samr_RemoveMemberFromForeignDomain, self.pipe, r)
-    
 
+    def LookupNames(self, names):
+
+        r = dcerpc.samr_LookupNames()
+        r.data_in.domain_handle = self.handle
+        r.data_in.num_names = len(names)
+        r.data_in.names = dcerpc.new_samr_String_array(len(names))
+
+        for i in range(len(names)):
+            s = dcerpc.samr_String()
+            s.string = names[i]
+            dcerpc.samr_String_array_setitem(r.data_in.names, i, s)
+
+        call_fn(dcerpc.dcerpc_samr_LookupNames, self.pipe, r)
+
+        return ([dcerpc.uint32_array_getitem(r.data_out.rids.ids, i) for i in range(r.data_out.rids.count)],
+                [dcerpc.uint32_array_getitem(r.data_out.types.ids, i) for i in range(r.data_out.types.count)])
+
+
 class UserHandle(SamrHandle):
 
     def DeleteUser(self):
 
         r = dcerpc.samr_DeleteUser()
         r.data_in.user_handle = self.handle
+        
+        call_fn(dcerpc.dcerpc_samr_DeleteUser, self.pipe, r)
 
-        call_fn(dcerpc.dcerpc_samr_DeleteUser, self.pipe, r)
+        self.handle = None
     
 
 class GroupHandle(SamrHandle):



More information about the samba-cvs mailing list