1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

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

(This used to be commit a46aba43549e5221ec0c15d4133444d8ef77a4fb)
This commit is contained in:
Tim Potter 2004-11-07 00:41:43 +00:00 committed by Gerald (Jerry) Carter
parent 7c400a840b
commit 3503373ba5
2 changed files with 15 additions and 3 deletions

View File

@ -119,9 +119,9 @@ uint32 uint32_from_python(PyObject *obj, char *name)
}
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)

View File

@ -864,6 +864,18 @@ def test_LongInt(pipe):
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'