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

tpot at samba.org tpot at samba.org
Sun Nov 7 00:41:43 GMT 2004


Author: tpot
Date: 2004-11-07 00:41:43 +0000 (Sun, 07 Nov 2004)
New Revision: 3588

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

Log:
Fix bug in converting SIDs containing large unsigned integers from Python.

Modified:
   branches/SAMBA_4_0/source/scripting/swig/dcerpc.i
   branches/SAMBA_4_0/source/scripting/swig/torture/samr.py


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/swig/dcerpc.i
===================================================================
--- branches/SAMBA_4_0/source/scripting/swig/dcerpc.i	2004-11-07 00:40:41 UTC (rev 3587)
+++ branches/SAMBA_4_0/source/scripting/swig/dcerpc.i	2004-11-07 00:41:43 UTC (rev 3588)
@@ -119,9 +119,9 @@
 	}
 
 	if (PyLong_Check(obj))
-		return (uint32)PyLong_AsLong(obj);
-	else
-		return (uint32)PyInt_AsLong(obj);
+		return (uint32)PyLong_AsUnsignedLongMask(obj);
+
+	return (uint32)PyInt_AsLong(obj);
 }
 
 PyObject *uint32_to_python(uint32 obj)

Modified: branches/SAMBA_4_0/source/scripting/swig/torture/samr.py
===================================================================
--- branches/SAMBA_4_0/source/scripting/swig/torture/samr.py	2004-11-07 00:40:41 UTC (rev 3587)
+++ branches/SAMBA_4_0/source/scripting/swig/torture/samr.py	2004-11-07 00:41:43 UTC (rev 3588)
@@ -864,6 +864,18 @@
 
     result = dcerpc.samr_Connect(pipe, r)
 
+    # Test that we can parse a SID that contains a sub_auth that can't
+    # be held in a python int.
+
+    r = {}
+    r['connect_handle'] = result['connect_handle']
+    r['access_mask'] = 0x02000000
+    r['sid'] = {'sid_rev_num': 1, 'id_auth': [0, 0, 0, 0, 0, 5],
+                'num_auths': 4,
+                'sub_auths': [21, 737922324, 3002806791L, 1285293260]}
+
+    result = dcerpc.samr_OpenDomain(pipe, r)
+
 def runtests(binding, domain, username, password):
 
     print 'Testing SAMR pipe'



More information about the samba-cvs mailing list